var toolbarstate = false;
var defaultfontsize = 1;
var colorstate = false;
var guidesstate = false;
var pagesize = 1;
var movesize = 3;
var classarray = new Array();
$(function(){
	var toolbar = '<div id="toolbar">'
		+'<span id="barstate">无障碍浏览</span>'
		+'<span>图文模式</span>'
		+'<span>纯文本模式</span>'
		+'<span>文字放大</span>'
		+'<span>文字缩小</span>'
		+'<span>高对比度</span>'
		+'<span>开启辅助线</span>'
		+'<span id="guidescolor"><div id="white"></div><div id="green"></div><div id="blue"></div><div id="red"></div><div id="black"></div></span>'
		+'<span>界面放大</span>'
		+'<span>界面缩小</span>'
		+'<span>隐藏</span>'
		+'<span>关闭</span>'
	+'</div>';
	$('body').prepend(toolbar);
	$('*[barstate=true]').click(function(){
		ToolBarStart();
	});
	$('div#toolbar span#barstate').click(function(){
		OpenToolBar();
	});
	$('div#toolbar span').eq(1).hide();
	$('div#toolbar span').eq(1).click(function(){
		DivClass(true);
	});
	$('div#toolbar span').eq(2).click(function(){
		DivClass(false);
	});
	$('div#toolbar span').eq(3).click(function(){
		FontSize('max');
	});
	$('div#toolbar span').eq(4).click(function(){
		FontSize('min');
	});
	$('div#toolbar span').eq(5).click(function(){
		PageColor($(this));
	});
	$('div#toolbar span').eq(6).click(function(){
		Guides($(this));
	});
	$('div#toolbar span').eq(7).hide();
	$('div#toolbar span').eq(8).click(function(){
		pagesize = pagesize+0.1;
		PageSize(pagesize);
	});
	$('div#toolbar span').eq(9).click(function(){
		pagesize = pagesize-0.1;
		PageSize(pagesize);
	});
	$('div#toolbar span').eq(10).click(function(){
		OpenToolBar();
	});
	$('div#toolbar span').eq(11).click(function(){
		CloseDiv();
	});
});
function ToolBarStart(){
	if(!toolbarstate){
		MoveDiv(movesize);
		toolbarstate = true;
	}else{
		CloseDiv();
	}
}
function OpenToolBar(){
	if(!toolbarstate){
		HideDiv(movesize);
		toolbarstate = true;
	}else{
		HideDiv(-movesize);
		toolbarstate = false;
	}
}
function DivClass(type){
	if(type){
		$('body').removeClass('none');
		$('body').children('[id!=toolbar]').find('*').each(function(i){
			$(this).addClass(classarray[i]);
		});
		classarray.length = 0;
		$('div#toolbar span').eq(1).hide();
		$('div#toolbar span').eq(2).show();
	}else{
		$('body').addClass('none');
		$('body').children('[id!=toolbar]').find('*').each(function(i){
			classarray[i] = $(this).attr('class');
			$(this).removeClass();
		});
		$('div#toolbar span').eq(1).show();
		$('div#toolbar span').eq(2).hide();
	}
}
function FontSize(type){
	if(defaultfontsize<5 && type=='max'){
		$('body').children('[id!=toolbar]').find('*').each(function(){
			$(this).css('font-size', parseInt($(this).css('font-size'))+2);
		});
		defaultfontsize++;
	}else if(defaultfontsize>0 && type=='min'){
		$('body').children('[id!=toolbar]').find('*').each(function(){
			$(this).css('font-size', parseInt($(this).css('font-size'))-2);
		});
		defaultfontsize--;
	}
}
function PageColor(obj){
	if(!colorstate){
		$(obj).text('还原对比度');
		$('body').children('[id!=toolbar]').find('*').each(function(){
			$(this).css({"color":"#ffffff", "background-color":"#000000"});
			colorstate = true;
		});
	}else{
		$(obj).text('高对比度');
		$('body').children('[id!=toolbar]').find('*').each(function(){
			$(this).css({"color":"", "background-color":""});
			colorstate = false;
		});
	}
}
function Guides(obj){
	if(!guidesstate){
		$(obj).text('关闭辅助线');
		$('div#toolbar').before('<div id="guides-x"></div><div id="guides-y"></div>');
		$('div#toolbar').addClass('toolbar');
		$('body').mousemove(function(e){
			$('div#guides-x').show();
			$('div#guides-x').width($('body').width());
			$('div#guides-x').css('top', e.pageY+8);
			$('div#guides-y').show();
			$('div#guides-y').height($('body').height());
			$('div#guides-y').css('left', e.pageX+8);
		});
		$('div#toolbar span').eq(7).show();
		$('div#toolbar span#guidescolor div').click(function(){
			$('div#guides-x').css('border-color', $(this).css('background-color'));
			$('div#guides-y').css('border-color', $(this).css('background-color'));
		});
		guidesstate = true;
	}else{
		$(obj).text('开启辅助线');
		$('div#toolbar').removeClass('toolbar');
		$('div').remove("#guides-x");
		$('div').remove("#guides-y");
		$('div#toolbar span').eq(7).hide();
		guidesstate = false;
	}
}
function PageSize(pagesize){
	$('body').children('[id!=toolbar]').css({'-webkit-transform':'scale('+pagesize+',1,1)', '-moz-transform':'scale('+pagesize+',1,1)'});
	$('body').children('[id!=toolbar]').css('zoom', pagesize);
}
function CloseDiv(){
	toolbarstate = false;
	MoveDiv(-movesize);
	defaultfontsize = 1;
	colorstate = false;
	guidesstate = false;
	pagesize = 1;
	$('body').children('[id!=toolbar]').css({'-webkit-transform':'scale('+pagesize+')', '-moz-transform':'scale('+pagesize+')'});
	$('body').children('[id!=toolbar]').css('zoom', pagesize);
	$('div').remove("#guides-x");
	$('div').remove("#guides-y");
	$('div#toolbar span').eq(5).text('高对比度');
	$('div#toolbar span').eq(6).text('开启辅助线');
	$('body').children('[id!=toolbar]').find('*').each(function(){
		$(this).css({"color":"", "background-color":"", "font-size":""});
	});
	if(classarray.length!=0){
		$('body').removeClass('none');
		$('body').children('[id!=toolbar]').find('*').each(function(i){
			$(this).addClass(classarray[i]);
		});
		classarray.length = 0;
		$('div#toolbar span').eq(1).hide();
		$('div#toolbar span').eq(2).show();
	}
	$('div#toolbar span').eq(7).hide();
}
function MoveDiv(i){
	if(parseInt($('div#toolbar').css('left'))<0 && i>0){
		$('div#toolbar').css('left', parseInt($('div#toolbar').css('left'))+i);
		setTimeout('MoveDiv('+i+')', 10);
	}else if(parseInt($('div#toolbar').css('left'))>-parseInt($('div#toolbar').width()) && i<0){
		$('div#toolbar').css('left', parseInt($('div#toolbar').css('left'))+i);
		setTimeout('MoveDiv('+i+')', 10);
	}
}
function HideDiv(i){
	if(parseInt($('div#toolbar').css('left'))<0 && i>0){
		$('div#toolbar').css('left', parseInt($('div#toolbar').css('left'))+i);
		setTimeout('HideDiv('+i+')', 10);
	}else if(parseInt($('div#toolbar').css('left'))>-121 && i<0){
		$('div#toolbar').css('left', parseInt($('div#toolbar').css('left'))+i);
		setTimeout('HideDiv('+i+')', 10);
	}
}
