(function($) {
	$.fn.FrontEnd = function(options) {
		var parameter = $.extend({}, defaults, options || {})
		var obj = this
		switch(parameter.jquery){
			case 'Autocomplete': //仿百度搜索，输入提示。提示内容为参数array中的内容
				ensure({js:parameter.href+'jquery-ui-1.8.15.custom.js', css:parameter.href+'jquery-ui-1.8.15.custom.css'}, function(){$(obj).autocomplete({source: parameter.array})}) //array
				break;
			case 'Boxy': //弹出框
				ensure({js:parameter.href+'jquery.boxy.js', css:parameter.href+'jquery.boxy.css'}, function(){
					Boxy.DEFAULTS.title = parameter.title
					switch(parameter.type){
						case 'alert': //title,type,array[内容,动作]
							Boxy.alert(parameter.array[0], parameter.array[1]);
							break;
						case 'ask': //title,type,array[内容,选项[值]或{名:值},动作]
							Boxy.ask(parameter.array[0], parameter.array[1], parameter.array[2]);
							break;
						case 'confirm': //title,type,array[内容,动作]
							Boxy.confirm(parameter.array[0], parameter.array[1]);
							break;
						case 'load': //title,href,backGround,behaviours,cache,filter,show,modal
							Boxy.load(parameter.href, {backGround: parameter.backGround, behaviours: parameter.behaviours, cache:parameter.cache, filter:parameter.filter, modal: parameter.modal, show: parameter.show})
							break;
						default: //title,html,backGround,behaviours,show,modal
							new Boxy(parameter.html, {backGround: parameter.backGround, behaviours: parameter.behaviours, modal: parameter.modal, show: parameter.show});
							break;
					}
				})
				break;
			case 'ColorTip': //文字信息提示，提示内容为对象title值
				ensure({js:parameter.href+'colortip-1.0-jquery.js', css:parameter.href+'colortip-1.0-jquery.css'}, function(){$(obj).colorTip({color:parameter.color, timeout:parameter.timeout})})
				break;
			case 'DisguisePage': //伪翻页
				_InfoDisguisePage(obj, parameter) //line
				break;
			case 'GetHeight': //底部对齐
				BottomAlign(obj, parameter)//obj, array[css, bignum, smallnum, count]
				break;
			case 'GradeMenu': //多级导航，重复取最后一个，必须跟在导航后面
				_GradeMenu(obj, parameter) //num
				break;
			case 'Menu': //导航，重复取第一个
				if($('li', $(obj)).length<=0){
					_Menu(obj, parameter) //type
				}
				break;
			case 'SmartMenu': //右键菜单
				ensure({js:parameter.href+'jquery-smartMenu.js', css:parameter.href+'jquery-smartMenu.css'}, function(){ //href,name,func,array
					$(obj).smartMenu(parameter.array,{
						name:parameter.name, 
						beforeShow: function(){
							$.smartMenu.remove();
							parameter.func
						}
					})
				})
				break;
			case 'Substr': //截取字符串，重复取最后一个
				_ExcSubStr(obj, parameter) //length,other
				break;
			case 'TextField': //文本域操作集
				ensure({js:parameter.href+'jquery.textField.js'}, function(){ //jquery-1.6.2目前不支持removeAttr("disabled")，改用jquery-1.6.1
					$(obj).textField({
						mini: parameter.array['mini'], //至少需要输入的字符个数，默认值50
						maxs: parameter.array['maxs'], //最多可以输入的字符个数，默认值500
						remindId: parameter.array['remindId'], //显示个数提示的标签的id
						buttonId: parameter.array['buttonId'], //内容提交相关的按钮id
						historyId: parameter.array['historyId'], //用来触发历史面板显示隐藏的元素的id
						autoSaveId: parameter.array['autoSaveId'], //用来显示自动保存提示的元素的id
						safeColor: parameter.array['safeColor'], //当输入字符个数在要求范围内的数字颜色(可以是颜色关键字、16进制颜色值或rgb值)，默认值green
						warnColor: parameter.array['warnColor'], //当输入字符个数溢出或不足时的文字警示颜色(可以是颜色关键字、16进制颜色值或rgb值)，默认值red
						historyNum: parameter.array['historyNum'], //历史面板显示的历史条目数，默认值5
						historyWord: parameter.array['historyWord'], //每条历史记录最多显示的字符数，默认值100
						ajaxUrl: parameter.array['ajaxUrl'], //Ajax自动保存输入内容的地址
						ajaxKey: parameter.array['ajaxKey'], //Ajax post过去的关键字(后面跟随文本域输入值)，默认值value
						autoSaveTime: parameter.array['autoSaveTime'], //Ajax自动保存的时间间隔(单位毫秒)，默认值30000 – 即30秒
						defaultText: parameter.array['defaultText'], //获取/失去焦点切换显示的文字
						focusClass: parameter.array['focusClass'], //获取/失去焦点切换改变的样式类名(class)
						disabledCall: parameter.array['disabledCall'], //当按钮禁用时的回调函数，默认值$.noop()
						enabledCall: parameter.array['enabledCall'] //当内容提交按钮可用时的回调函数，默认值$.noop()

					})
				})
				break;
			default:
				break;
		}
	}
	var defaults = {
		array: new Array(), //数组

		backGround: null, //BOXY背景色
		behaviours: null, //BOXY显示内容范围内动作
		cache: true, //缓存
		color: null,
		filter: null, //JQUERY格式范围
		func: null, //需要运行的方法
		html: null, //HTML代码
		href: null, //链接
		id: null,
		jquery: null, //JQUERY类型选择
		length: 0, //长度
		line: null, //分隔符
		modal: false,
		num: 0, //数量
		name: null,
		other: null, //其他
		show: true, //显示
		timeout: 0,
		title: null, //标题
		type: null, //类型选择
		url: window.location.href //当前URL地址
	}
})(jQuery);

var app = {
	API:function(url){
		$('*[api]').each(function(){
			var obj = this
			switch($(this).attr('api')){
				case 'datepicker': /*** 日历 ***/
					ensure({js:url+'jquery-ui-1.8.15.custom.js', css:url+'jquery-ui-1.8.15.custom.css'}, function(){$(obj).datepicker({inline: true})})
					break;
				case 'lightbox': /*** 图片展示 ***/
					/***
						<link rel="stylesheet" type="text/css" href="jquery.lightbox-0.5.css" />
						<script src="jquery.lightbox-0.5.js" type=text/javascript></script>
						api=lightbox
					***/
					$('a' ,$(this)).lightBox({
						imageLoading:url+'lightbox-ico-loading.gif',
						imageBtnPrev:url+'lightbox-btn-prev.gif',
						imageBtnNext:url+'lightbox-btn-next.gif',
						imageBtnClose:url+'lightbox-btn-close.gif',
						imageBlank:url+'lightbox-blank.gif'
					})
					break;
				case 'draggable': /*** 拖动 ***/
					ensure({js:url+'jquery-ui-1.8.14.custom.js', css:url+'jquery-ui-1.8.14.custom.css'}, function(){$(obj).draggable().addClass('ui-widget-content')})
					break;
				case 'accordion': /*** 显示层 ***/
					/***
						<script src="jquery-ui-1.8.14.custom.js" type="text/javascript"></script>
						<link href="jquery-ui-1.8.14.custom.css" type="text/css" rel="stylesheet" />
						<div api=accordion header=a>  header=组件
							<div>
								<a href="#">First</a>
								<div>Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</div>
							</div>
						</div>
					***/
					$(this).accordion({header:$(this).attr('header')})
					break;
			}
		})
	},
	BackToTop:function(){ /*** 返回顶部 ***/
		var $backToTopTxt = "返回顶部", $backToTopEle = $('<div class="backToTop"></div>').appendTo($("body")).text($backToTopTxt).attr("title", $backToTopTxt).click(function(){$("html, body").animate({scrollTop:0}, 120)}), $backToTopFun = function() {
			var st = $(document).scrollTop(), winh = $(window).height()
			st > 0 ? $backToTopEle.show() : $backToTopEle.hide()
			//IE6下的定位
			if (!window.XMLHttpRequest) {
				$backToTopEle.css("top", st + winh - 166)
			}
		}
		$(window).bind("scroll", $backToTopFun)
		$(function(){$backToTopFun()})
	},
	Collect:function(){
		$("a#favorite").click(function(){_Addfavorite()}) /*** 运行“加入收藏” ***/
		$("a#sethome").click(function(){_SetHome(this)}) /*** 运行“设为首页” ***/
	},
	Corner:function(){ /*** 圆角 ***/
		$('*[corner]').each(function(){
			_Corner(this, $(this).attr('corner'))
		})
	},
	Fixed:function(){ /*** 固定背景 ***/
		$("body").css({'background-attachment':'fixed'})
	},
	Flip:function(){ /*** 翻转 ***/
		$('*[flip]').each(function(){
			$(this).addClass('flip'+$(this).attr('flip'))
		})
		$('*[mouse-flip]').each(function(){
			$(this).mouseover(function(){
				$(this).addClass('flip'+$(this).attr('mouse-flip'))
			}).mouseout(function(){
				$(this).removeClass('flip'+$(this).attr('mouse-flip'))
			})
		})
	},
	Link:function(){ /*** <a link=类型 href=帐号></a> ***/
		$('*[link]').each(function(){
			switch($(this).attr('link')){
				case 'qq':
					$(this).attr('href','http://wpasig.qq.com/msgrd?uin='+$(this).attr('href'))
					break;
				case 'msn':
					$(this).attr('href','msnim:chat?contact='+$(this).attr('href'))
					break;
				case 'taobao':
					$(this).attr('href','http://www.taobao.com/webww/?ver=1&siteid=cntaobao&touid=cntaobao'+$(this).attr('href'))
					break;
				case 'skype':
					$(this).attr('href','skype:'+$(this).attr('href')+'?call')
					break;
				case 'email':
					$(this).attr('href','mailto:'+$(this).attr('href'))
					break;
			}
		})
	},
	Placeholder:function(){ /*** HTML5 placeholder 默认值 ***/
		if(!(!'placeholder' in document.createElement('input'))){
			$('input[placeholder]').each(function(){
				$(this).val($(this).attr('placeholder'));
				$(this).blur(function(){
		  			if($(this).val()==$(this).attr('placeholder') || $(this).val()==''){
						$(this).val($(this).attr('placeholder'))
					}
		  		}).focus(function(){
		  			if($(this).val()==$(this).attr('placeholder')){
			  			$(this).val('')
					}
			  	})
			})
		}
	},
	Prohibit:function(){ /*** 禁止某些操作 ***/
		_Prohibit()
	},
	ScrollLoading:function(url){ /*** 滚动加载 ***/
		/***
			<script type="text/javascript" src="jquery.scrollLoading.js"></script>
			<div data-url="加载页面">加载中......</div>
			图片全部使用滚动加载功能
		***/
		$("img").each(function(){
			var width = parseInt($(this).width())+parseInt($(this).css('width'))>0?true:false
			var height = parseInt($(this).height())+parseInt($(this).css('height'))>0?true:false
			if(width==true || height==true){
				$(this).attr({'data-url':$(this).attr('src'), 'src':url+'pixel.gif'}).css('background','url('+url+'loading.gif) no-repeat center top')
			}else{
				$(this).attr({'data-url':$(this).attr('src'), 'src':url+'loading.gif'})
			}
		})
		$('*[data-url]').scrollLoading()
	},
	Shadow:function(){ /*** 影子 ***/
		$('*[shadow=true]').each(function(){
			$(this).addClass('shadow')
		})
	},
	ShowImg:function(url){ /*** 图片展示 showimg=类型 ***/
		$('*[showimg]').each(function(){
			switch($(this).attr('showimg')){
				case 'swf': /*** FLASH图片展示 ***/
					SWF_Img(this, url)
					break;
				case 'jquery':
					_JQUERY_Img(this)
					break;
			}
		})
	},
	Toolbar:function(version, color){ /*** 无障碍浏览 ***/
		switch(version){
			case '1.0':
				if(_AddToolBar()){
					$('div#toolbar').css('left', '-121px');
					$('div#toolbar').addClass(color);
				}
				break;
			case '1.1':
				if(_AddToolBar()){
					var barset = '<div id="barset"><div><span barstate="true">无障碍浏览</span></div></div>';
					$('body').prepend(barset);
					$('div#toolbar').css('top',$('div#barset').height());
					$('*[barstate=true]').click(function(){
						if(toolbarstate == true){
							_MoveDiv(147)
						}
					});
					$('div#toolbar').addClass(color);
				}
				break;
		}
	},
	Triangle:function(){ /*** 三角形DOT triangle=方向/类型 color=(#)颜色 ***/
		$('*[triangle]').each(function(){

			$(this).addClass('triangle-'+$(this).attr('triangle'))
			switch($(this).attr('triangle')){
				case 'up':
				case 'down':
					$(this).css('border-color', $(this).attr('color')+' transparent')
					break;
				case 'left':
				case 'right':
					$(this).css('border-color', 'transparent '+$(this).attr('color'))
					break;
				case 'square':/*** 正方形DOT ***/
					$(this).css({'border-color':$(this).attr('color'), 'border-width':$(this).attr('width')+'px'})
					break;
			}
		})
	},
	TurnPage:function(){ /*** 翻页特效 ***/
		$('*[control]').each(function(i){
			$('a', $(this)).each(function(i){
				$(this).attr({'title':$(this).attr('href'), 'href':'javascript:void(0)'})
			})
			_TurnPage($('a', $(this)), turnarray[$(this).attr('control')])
		})
	}
}

/*** 截取字符串开始 ***/
function _SubStr(str, parameter){
    if(!str || !parameter.length) { return ''; } 
    var a = 0; //预期计数：中文2字节，英文1字节 
    var i = 0; //循环计数 
    var temp = ''; //临时字串 
    for (i=0;i<str.length;i++){
		if (str.charCodeAt(i)>255) a+=2; else a++;
		if(a > parameter.length) return temp+parameter.other; //如果增加计数后长度大于限定长度，就直接返回临时字符串 
		temp += str.charAt(i); //将当前内容加到临时字符串 
    } 
    return str; //如果全部是单字节字符，就直接返回源字符串 
}
function _ExcSubStr(obj, parameter){
    $(obj).each(
        function(i, o) {
            this.title = $(this).text();//将所含字符串容器的title值设为完整字符串
            $(this).text(_SubStr($(this).text(), parameter))
        }
    );
}
/*** 截取字符串结束 ***/


function _Addfavorite(){ /*** 加入收藏 ***/
	if(document.all){
		window.external.Addfavorite(window.location, document.title);
	}else if(window.sidebar){
		window.sidebar.addPanel(document.title, window.location, "");
	}else{
		alert("加入收藏失败，请使用Ctrl+D进行添加");
	}
}
function _SetHome(obj){ /*** 设为首页 ***/
    try{
        obj.style.behavior='url(#default#homepage)';
        obj.setHomePage(window.location);
    }catch(e){
        if(window.netscape){
            try{
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            }catch(e){
                alert("抱歉，此操作被浏览器拒绝！\n\n请在浏览器地址栏输入“about:config”并回车然后将[signed.applets.codebase_principal_support]设置为'true'");
            }
        }else{
            alert("抱歉，您所使用的浏览器无法完成此操作。\n\n您需要手动将'"+window.location+"'设置为首页。");
        }
    }
}

/*** 禁止某些操作开始 ***/
function _Prohibit(){ /*** 禁止某些操作 ***/
	document.oncontextmenu=stop
}
function stop(){ /*** 屏蔽右键 ***/
	return false;
}
/*** 禁止某些操作结束 ***/

/***
导航条开始
<div menu=click-title>
	<a href="index.html?id=1"><span>页卡一</span></a>
	<a><span>页卡二</span></a>
	<span><a>页卡三</a></span>
	<span>页卡三</span>
</div>
***/
function _Menu(obj, parameter){
	$('span', obj).wrap('<li></li>').before('<span class="left"></span>').after('<span class="right"></span>').addClass('center')
	if($('a', obj).length>0){
		var mod = 0;
		$('a', obj).each(function(i){
			if(parameter.url.indexOf($(this).attr('href'))>-1){
				$('li', obj).eq(i).addClass('active')
				mod = i;
			}
		})
		$('li', obj).each(function(i){
			$(this).mouseover(function(){
				if(parameter.type=='move') $(this).addClass("active")
			}).mouseout(function(){
				if(parameter.type=='move' && mod!=i) $(this).removeClass("active")
			})
		})
	}else{
		$('li', obj).each(function(){
			$(this).click(function(){
				if(parameter.type=='click'){
					$('li', obj).removeClass('active')
					$(this).addClass("active")
				}
			}).mouseover(function(){
				if(parameter.type=='move'){
					$('li', obj).removeClass('active')
					$(this).addClass("active")
				}
			})
		})
	}
	if($('li.active', obj).length==0){
		$('li:first', obj).addClass('active');
	}
}
/*** 导航条结束 ***/

/***
圆角开始
<a corner=type>按钮</a>
<font corner=type><input type="button" value="按钮" ></font>
***/
function _Corner(obj, type){
	switch(type){
		case 'gradient':  /*** 圆角 ***/
			$(obj).wrapInner('<font class="corner_gradient"></font>').wrapInner('<font class="corner_inside"></font>').wrapInner('<font class="corner_outside"></font>').addClass('corner_link');
			break;
		case 'color':
			$(obj).wrapInner('<font class="corner_color"></font>').wrapInner('<font class="corner_inside"></font>').wrapInner('<font class="corner_outside"></font>').addClass('corner_link');
			break;
		case 'shadow':  /*** 圆角阴影 ***/
			$(obj).wrap('<div class="corner_shadow"></div>').before('<div class="shadow_l4"></div>').before('<div class="shadow_l2"></div>').before('<div class="shadow_l1"></div>').after('<div class="shadow_l3"></div>').after('<div class="shadow_l2"></div>').after('<div class="shadow_l1"></div>').wrap('<div class="shadow_body"></div>').before('<i class="shadow_vl"></i>').before('<i class="shadow_vr" flip=x></i>').addClass('shadow_main');
			app.Flip();
			break;
		case 'oval':  /*** 大圆角 ***/
			$(obj).wrap('<div class="oval"></div>').before('<b class="b1"></b>').before('<b class="b2"></b>').before('<b class="b3"></b>').before('<b class="b4"></b>').after('<b class="b8"></b>').after('<b class="b7"></b>').after('<b class="b6"></b>').after('<b class="b5"></b>').addClass('oval_main');
			$('.oval b').css({'background':$(obj).css('background'), 'border-color':$(obj).css('border-color')})
			$('.oval b.b1').css('background', $(obj).css('border-color'))
			$('.oval b.b8').css('background', $(obj).css('border-color'))
			break;
		case 'top-oval':
			$(obj).wrap('<div class="oval"></div>').before('<b class="b1"></b>').before('<b class="b2"></b>').before('<b class="b3"></b>').before('<b class="b4"></b>').addClass('oval_main');
			$('.oval b').css({'background':$(obj).css('background'), 'border-color':$(obj).css('border-color')})
			$('.oval b.b1').css('background', $(obj).css('border-color'))
			$('.oval b.b8').css('background', $(obj).css('border-color'))
			break;
		case 'bottom-oval':
			$(obj).wrap('<div class="oval"></div>').after('<b class="b8"></b>').after('<b class="b7"></b>').after('<b class="b6"></b>').after('<b class="b5"></b>').addClass('oval_main');
			$('.oval b').css({'background':$(obj).css('background'), 'border-color':$(obj).css('border-color')})
			$('.oval b.b1').css('background', $(obj).css('border-color'))
			$('.oval b.b8').css('background', $(obj).css('border-color'))
			break;
		case 'left-oval':
			$(obj).wrap('<div class="oval"></div>').before('<b class="b1"></b>').before('<b class="b2"></b>').before('<b class="b3"></b>').before('<b class="b4"></b>').after('<b class="b8"></b>').after('<b class="b7"></b>').after('<b class="b6"></b>').after('<b class="b5"></b>').addClass('oval_main');
			$('.oval b').css({'background':$(obj).css('background'), 'border-color':$(obj).css('border-color')})
			$('.oval b.b1').css('background', $(obj).css('border-color'))
			$('.oval b.b8').css('background', $(obj).css('border-color'))
			$('.oval b').css({'border-right-width':'0', 'margin-right':'0'})
			$('.oval div.oval_main').css({'border-right-width':'0', 'margin-right':'0', 'padding-right':'0'})
			break;
		case 'right-oval':
			$(obj).wrap('<div class="oval"></div>').before('<b class="b1"></b>').before('<b class="b2"></b>').before('<b class="b3"></b>').before('<b class="b4"></b>').after('<b class="b8"></b>').after('<b class="b7"></b>').after('<b class="b6"></b>').after('<b class="b5"></b>').addClass('oval_main');
			$('.oval b').css({'background':$(obj).css('background'), 'border-color':$(obj).css('border-color')})
			$('.oval b.b1').css('background', $(obj).css('border-color'))
			$('.oval b.b8').css('background', $(obj).css('border-color'))
			$('.oval b').css({'border-left-width':'0', 'margin-left':'0'})
			$('.oval div.oval_main').css({'border-left-width':'0', 'margin-left':'0', 'padding-left':'0'})
			break;
	}
}
/*** 圆角结束 ***/

/*** 无障碍浏览开始 ***/
var toolbarstate = true;
var pagesize = 1;
var font_size = 12;
var classarray = new Array();
var tags = '';
function _AddToolBar(){ /*** 运行“无障碍浏览” ***/
	if($('div#toolbar').length<1){
		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)
		tags = $('body').children('[id!=toolbar]:[id!=barset]:[id!=guides-x]:[id!=guides-y]')
		font_size = parseInt(tags.find('*').css('font-size'))
		$('div#toolbar span#barstate').click(function(){
			if(toolbarstate == true){
				_MoveDiv(121)
			}
		})
		$('div#toolbar span').eq(1).hide()
		$('div#toolbar span').eq(1).click(function(){
			if(toolbarstate == true){
				_DivClass(true)
			}
		})
		$('div#toolbar span').eq(2).click(function(){
			if(toolbarstate == true){
				_DivClass(false)
			}
		})
		$('div#toolbar span').eq(3).click(function(){
			if(toolbarstate == true){
				font_size = font_size+1
				_FontSize(font_size)
			}
		})
		$('div#toolbar span').eq(4).click(function(){
			if(toolbarstate == true){
				font_size = font_size-1
				_FontSize(font_size)
			}
		})
		$('div#toolbar span').eq(5).click(function(){
			if(toolbarstate == true){
				_PageColor($(this))
			}
		})
		$('div#toolbar span').eq(6).click(function(){
			if(toolbarstate == true){
				_Guides($(this))
			}
		})
		$('div#toolbar span').eq(7).hide()
		$('div#toolbar span').eq(8).click(function(){
			if(toolbarstate == true){
				pagesize = pagesize+0.1
				_PageSize(pagesize)
			}
		})
		$('div#toolbar span').eq(9).click(function(){
			if(toolbarstate == true){
				pagesize = pagesize-0.1
				_PageSize(pagesize)
			}
		})
		$('div#toolbar span').eq(10).click(function(){
			if(toolbarstate == true){
				_MoveDiv(121)
			}
		})
		$('div#toolbar span').eq(11).click(function(){
			if(toolbarstate == true){
				_MoveDiv(147)
			}
		})
		return true;
	}
}

function _DivClass(type){ /*** 纯文本切换 ***/
	if(type){
		$('body').removeClass('none')
		tags.find('*').removeClass('none')
	}else{
		$('body').addClass('none')
		tags.find('*').addClass('none')
	}
	tags.find('img').toggle()
	$('div#toolbar span').eq(1).toggle()
	$('div#toolbar span').eq(2).toggle()
}

function _FontSize(font_size){ /*** 字体缩放 ***/
	$('body').animate({fontSize: font_size})
	tags.find('*').animate({fontSize: font_size})
}

function _PageColor(obj){ /*** 对比度切换 ***/
	if($('body').attr('class') && $('body').attr('class').indexOf('black')>-1){
		$(obj).text('高对比度');
		$('body').removeClass('black')
		tags.find('*').removeClass('black')
	}else{
		$(obj).text('还原对比度');
		$('body').addClass('black')
		tags.find('*').addClass('black')
	}
}

function _Guides(obj){ /*** 辅助线 ***/
	if($('body div#guides-x').length==0){
		$(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#guidescolor div').click(function(){
			$('div#guides-x').css('border-color', $(this).css('background-color'));

			$('div#guides-y').css('border-color', $(this).css('background-color'));
		});
	}else{
		$(obj).text('开启辅助线');
		$('div#toolbar').removeClass('toolbar');
		$('div').remove("#guides-x");
		$('div').remove("#guides-y");
	}
	$('div#toolbar span').eq(7).toggle()
}

function _PageSize(pagesize){ /*** 界面缩放 ***/
	tags.find('*').css({'-webkit-transform':'scale('+pagesize+', 1.0, 1.0)', '-moz-transform':'scale('+pagesize+', 1.0, 1.0)', 'zoom':pagesize});
}

function _CloseDiv(){ /*** 关闭无障碍浏览控制界面 ***/
	pagesize = 1
	_PageSize(pagesize)
	$('body').removeClass('black')
	tags.find('*').removeClass('black')
	$('div').remove("#guides-x").remove("#guides-y")
	$('div#toolbar span').eq(5).text('高对比度')
	$('div#toolbar span').eq(6).text('开启辅助线')
	$('div#toolbar span').eq(7).hide()
}

function _MoveDiv(toolbarwidth){ /*** 隐藏无障碍浏览控制界面 ***/
	toolbarstate = false
	if(toolbarwidth == parseInt($('div#toolbar').width()) && parseInt($('div#toolbar').css('left')) == 0){
		_CloseDiv()
	}
	switch(parseInt($('div#toolbar').css('left'))){
		case 0:
			toolbarwidth = '-='+toolbarwidth
			break;
		case -parseInt($('div#toolbar').width()):
			toolbarwidth = '+='+toolbarwidth
			break;
		default:
			toolbarwidth = 0
			break;
	}
	$('div#toolbar').animate({
		left: toolbarwidth
	}, 2000, function(){
		toolbarstate = true
	})
}
/*** 无障碍浏览结束 ***/

/*** 伪翻页效果开始 ***/
function _InfoDisguisePage(obj, parameter){
	var content = $(obj).html().split(parameter.line)
	$(obj).html('')
	for(var i=0; i<content.length; i++){
		$(obj).append('<div '+(i!=0?'class="display">':'>')+content[i]+'</div>')
	}
	if(content.length>1){
		$(obj).append('<div class="disguise_page"></div>')
		$('div.disguise_page', $(obj)).append('<span class="first"></span><span>第一页</span><span>上一页</span>')
		for(var i=0; i<content.length; i++){
			$('div.disguise_page', $(obj)).append('<span class="display'+(i==0?' active':'')+'">'+(i+1)+'</span>')
		}
		$('div.disguise_page', $(obj)).append('<span>下一页</span><span>最后一页</span>')
		var length = $('div.disguise_page span', $(obj)).length
		$('div.disguise_page span:first', $(obj)).text('当前第1页/共'+(length-5)+'页')
		_ShowDisguisePage($('div.disguise_page span', $(obj)), 0, length)
		$('div.disguise_page span', $(obj)).each(function(i){
			switch(i){
				case 0:
					break;
				case 1:
					$(this).click(function(){
						_TurnDisguisePage(obj, 0, length)
					})
					break;
				case 2:
					var pre_num = 0
					$(this).click(function(){
						$('div', $(obj)).each(function(j){
							if($(this).attr('class')==''){
								pre_num = j
							}
						})
						if(pre_num>0){
							_TurnDisguisePage(obj, (pre_num-1), length)
						}
					})
					break;
				case parseInt(length-2):
					var next_num = 0
					$(this).click(function(){
						$('div', $(obj)).each(function(j){
							if($(this).attr('class')==''){
								next_num = j
							}
						})
						if(next_num<(length-6)){
							_TurnDisguisePage(obj, (next_num+1), length)
						}
					})
					break;
				case parseInt(length-1):
					$(this).click(function(){
						_TurnDisguisePage(obj, (length-6), length)
					})
					break;
				default:
					$(this).click(function(){
						_TurnDisguisePage(obj, (i-3), length)
					})
					break;
			}
		})
	}
}
function _ShowDisguisePage(obj, num, length){
	if(length>9){
		var startid = parseInt(num/5)
		var endid = parseInt((length-6)/5)
		$(obj).addClass('display')
		$(obj).eq(0).removeClass('display')
		$(obj).eq(1).removeClass('display')
		$(obj).eq(2).removeClass('display')
		$(obj).eq(length-2).removeClass('display')
		$(obj).eq(length-1).removeClass('display')
		switch(num){
			case length-6:
				for(var i=(endid*5); i<(length-5); i++){
					$(obj).eq(i+3).removeClass('display')
				}
				break;
			default:
				for(var i=(startid*5); i<(startid*5+5); i++){
					$(obj).eq(i+3).removeClass('display')
				}
				break;
		}
	}else{
		$(obj).removeClass('display')
	}
}
function _TurnDisguisePage(obj, num, length){
	$('div[class!=disguise_page]', $(obj)).addClass('display')
	$('div', $(obj)).eq(num).removeClass('display')
	$('div.disguise_page span', $(obj)).removeClass('active')
	$('div.disguise_page span', $(obj)).eq(num+3).addClass('active')
	$('div.disguise_page span:first', $(obj)).text('当前第'+(num+1)+'页/共'+(length-5)+'页')
	_ShowDisguisePage($('div.disguise_page span', $(obj)), num, length)
}
/*** 伪翻页效果结束 ***/

/*** FLASH图片展示开始 ***/
function SWF_Img(obj, url){
	var focus_width = parseInt($(obj).css('width'))
	var focus_height = parseInt($(obj).css('height'))
	var text_height = 20;
	var text_align = "center" //标题文字对齐方式(left、center、right)
	var swf_height = focus_height + text_height
	var pics=links=texts=swf=''
	$('.url', $(obj)).each(function(){
		if(pics==''){
			pics=$(this).text()
		}else{
			pics=pics+'|'+$(this).text()
		}
	})
	$('.title', $(obj)).each(function(){
		if(texts==''){
			texts=$(this).text()
		}else{
			texts=texts+'|'+$(this).text()
		}
	})
	$('.link', $(obj)).each(function(){
		if(links==''){
			links=$(this).text()
		}else{
			links=links+'|'+$(this).text()
		}
	})
	swf = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ focus_width +'" height="'+ swf_height +'">'+
		'<param name="allowScriptAccess" value="sameDomain">'+
		'<param name="movie" value="'+url+'focus.swf">'+
		'<param name="quality" value="high">'+
		'<param name="bgcolor" value="#F0F0F0">'+
		'<param name="menu" value="false">'+
		'<param name=wmode value="opaque">'+
		'<param name="FlashVars" value="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'">'+
		'<embed src="'+url+'focus.swf" wmode="opaque" FlashVars="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'" menu="false" bgcolor="#F0F0F0" quality="high" width="'+ focus_width +'" height="'+ swf_height +'" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'+
		'</object>'
	$(obj).html(swf)
}
/*** FLASH图片展示结束 ***/

/*** JQUERY图片展示开始 ***/
function _JQUERY_Img(obj){
	$('img', $(obj)).each(function(){
		$(this).animate({
			opacity: 0
		}, 0, function(){
		})
	})
	$('img', $(obj)).eq(0).animate({
		opacity: 1
	}, 0, function(){
		setTimeout(function(){_JQUERY_TurnImg(obj, 0)}, 4000)
	})
}
function _JQUERY_TurnImg(obj, id){
	$('img', $(obj)).eq(id).animate({
		opacity: 0
	}, 4000, function(){
	})
	var i = (id+1)==$('img', $(obj)).length?0:(id+1)
	$('img', $(obj)).eq(i).animate({
		opacity: 1
	}, 4000, function(){
		setTimeout(function(){_JQUERY_TurnImg(obj, i)}, 4000)
	})
}
/*** JQUERY图片展示结束 ***/

/***
翻页特效开始
//control=控制名（唯一）
turnarray[控制名] = new Array(方向, 范围, 需要加载的JS文件)
例：turnarray['one'] = new Array('height', 'div.right', '')
app.TurnPage(turnarray)
***/
var turnarray = new Array()
var turnstart = true
function _TurnPage(obj, turnarray){
	turnstart = true
	$(obj).each(function(i){
		$(this).click(function(){
			if(turnstart==true){
				turnstart = false
				$.ajax({
					type: "post",
					url: $(this).attr('title'),
					dataType: 'html',
					success: function(data){
						$(turnarray[1]).after($(turnarray[1], data))
						switch(turnarray[0]){
							case 'height':
								if(turnarray[2]){
									$.getScript(turnarray[2], function(){_AnimatePageHeight(turnarray[1])})
								}else{
									_AnimatePageHeight(turnarray[1])
								}
								break;
							case 'left':
							case 'right':
								if(turnarray[2]){
									$.getScript(turnarray[2], function(){_AnimatePageWidth(turnarray[1], turnarray[0])})
								}else{
									_AnimatePageWidth(turnarray[1], turnarray[0])
								}
								break;
						}
					}
				})
			}
		})
	})
}
function _AnimatePageHeight(obj){
	$(obj).eq(0).animate({
		height: 'toggle'
	}, 2000, function() {
		$(this).remove()
	})
	$(obj).eq(1).css('display', 'none').animate({
		height: 'toggle'
	}, 2000, function() {
		turnstart = true
	})
}
function _AnimatePageWidth(obj, direction){
	var left = $(obj).eq(0).position().left;
	var top = $(obj).eq(0).position().top;
	$(obj).eq(0).animate({
		height: $(obj).eq(1).height()
	}, 2000, function() {
		$(this).remove()
	})
	$(obj).eq(1).css({'position':'absolute', 'left':(direction=='left'?(left+$(obj).eq(0).width()):(left-$(obj).eq(0).width())), 'top':top}).animate({
		left: left
	}, 2000, function() {
		$(this).attr('style','')
		$(this).removeAttr('style')
		turnstart = true
	})
}
/*** 翻页特效结束 ***/

/***
表单验证 开始
$(function(){
	$('#submit').click(function(){   #submit 提交按钮ID
		var mod = 0;
		if(checkText(id)){   必填项验证
			mod++;
		}else{
			alert(str);
			$(id).focus();
			return false;
		}
		if($(id).val()!='' && !checkTel(id)){   可选项验证
			alert(str);
			return false;
		}
		if(mod==N){   N为必填项验证个数
			return true;
		}else{
			return false;
		}
	})
})
***/
function checkText(id){
	$("#"+id).val($("#"+id).val().replace(/<[^>]+>/g,""));
	var val = $("#"+id).val();
	var reg	= new RegExp(/^.{1,250}$/);
	if(!reg.test(val)){
		return false;
	}
	return true;
}

function checkLength(id){
	var val = $("#"+id).val();
	var reg	= new RegExp(/^.{6,15}$/);
	if(!reg.test(val)){
		return false;
	}
	return true;
}

function checkArrText(name){
  	var id = name.substr(0, name.length-2);
	var reg	= new RegExp(/^.{1,250}$/);
	var arrval = '';
	$('input[name='+name+']').each(function(){
		$(this).val($(this).val().replace(/<[^>]+>/g,""));
  		var val = $(this).val();
  		if(reg.test(val)){
			arrval = val;
		}
  	});
  	if(!reg.test(arrval)){
		return false;
	}
	return true;
}

function checkUrl(id){
	var val = $('#'+id).val();
	var reg	= new RegExp(/^[a-zA-Z0-9\.\-\/:]+[\.][a-zA-Z]{2,8}$/);
	if(!reg.test(val)){
		return false;
	}
	return true;
}

function checkZip(id){
	var val = $("#"+id).val();
	var reg	= new RegExp(/^([0-9]){6}$/);
	if(!reg.test(val)){
		return false;
	}
	return true;
}

function checkEmail(id){
	var val = $("#"+id).val();
	var reg	= new RegExp(/^[a-zA-Z0-9\.\-\_]+[@][a-zA-Z0-9\-\_\.]+[\.][a-zA-Z0-9\-\_\.]{2,10}$/);
	if(!reg.test(val)){
		return false;
	}
	return true;
}

function checkNum(id){
	var val = $("#"+id).val();
	var reg	= new RegExp(/^[0-9\.]+$/);
	if(!reg.test(val)){
		return false;
	}
	return true;
}

function checkTel(id){
	var val = $("#"+id).val();
	var reg	= new RegExp(/^((?:\d{7,8})|(?:\d{3,4}-\d{7,8})|(?:\d{2,4}-\d{3,4}-\d{7,8})|(((13)|(15)|(18))[0-9]{9}))$/);
	if(!reg.test(val)){
		return false;
	}
	return true;
}

function checkFile(id){	
	var val = $("#"+id).val();
	if(val==''){
		return false;
	}
	var reg	= new RegExp(/^((doc)|(docx))$/);
	arr = val.split(".");
	i=arr.length;
	if(!reg.test(arr[i-1])){
		return false;
	}
	return true;
}

function checkCheckbox(name){
  	var id = name.substr(0, name.length-2);
	if(!$('input[name='+name+']:checked').length){
		return false;
	}
	return true;
}

function checkSelect(id){	
	var val = $("#"+id).val();
	if(!val){
		return false;
	}
	return true;
}

function checkTextarea(id){
	$("#"+id).val($("#"+id).val().replace(/<[^>]+>/g,""));
	var val = $("#"+id).val();
	var reg	= new RegExp(/^.{1,200}$/);
	if(!reg.test(val)){
		return false;
	}
	return true;
}

function checkFCKLength(id,num){
  	if(GetMessageLength(id)<num){
		return false;
	}
	return true;
}
function GetMessageLength(id){//取fck内容长度
    var oEditor = FCKeditorAPI.GetInstance(id);
    var oDOM = oEditor.EditorDocument;
    var iLength;
    if(document.all){
        iLength = oDOM.body.innerText.length;
    }else{
        var r = oDOM.createRange();
        r.selectNodeContents(oDOM.body);
        iLength = r.toString().length;
    }
	return iLength
}
function GetMessageContent(str){//取fck内容
     var oEditor = FCKeditorAPI.GetInstance(str);
     return oEditor.GetXHTML();
}
/*** 表单验证 结束 ***/

/*** 多级菜单开始 ***/
function _GradeMenu(obj, parameter){
	$(obj).hide().each(function(n){
		if($('span.center', $(this)).attr('protype')>parameter.num){
			$('span.center', $(this)).attr('protype', parameter.num)
		}
	}).each(function(n){
		if($('span.center', $(this)).attr('protype')==0){
			$(this).show()
		}
		if(parameter.url.indexOf($(this).parent('a').attr('href'))>-1){
			$(this).addClass('active').show()
			_ShowMenu(n, obj)
		}else{
			$(this).removeClass('active')
		}
	})
}
function _ForMenu(obj, start, end, symbol, protype, action, order){
	switch(order){
		case 'desc':
			for(var i=start; i>end; i--){
				if(_SwitchMenu($('span.center', $(obj).eq(i)), symbol, protype)){
					if(action=='get'){
						return i
						break
					}else{
						$(obj).eq(i).show()
					}
				}
			}
			break;
		default:
			for(var i=start; i<end; i++){
				if(_SwitchMenu($('span.center', $(obj).eq(i)), symbol, protype)){
					if(action=='get'){
						return i
						break
					}else{
						$(obj).eq(i).show()
					}
				}
			}
			break;
	}
}
function _ShowMenu(n, obj){
	var tempupid = tempdownid = protype = parseInt($('span.center', $(obj).eq(n)).attr('protype'))
	var startid = 0
	startid = _ForMenu(obj, n, 0, '<', protype, 'get', 'desc')?_ForMenu(obj, n, 0, '<', protype, 'get', 'desc'):0
	endid = _ForMenu(obj, n+1, $(obj).length+1, '<', protype, 'get')?_ForMenu(obj, n+1, $(obj).length+1, '<', protype, 'get'):$(obj).length
	child_endid = _ForMenu(obj, n+1, $(obj).length+1, '==', protype, 'get')
	_ForMenu(obj, startid, n, '==', protype)
	_ForMenu(obj, n, endid, '==', protype)
	_ForMenu(obj, n+1, child_endid, '==', protype+1)
	for(var i=startid; i>0; i--){
		if($('span.center', $(obj).eq(i)).attr('protype')<=tempupid){
			if($('span.center', $(obj).eq(i)).attr('protype')<=$('span.center', $(obj).eq(i+1)).attr('protype')){
				$(obj).eq(i).show()
				tempupid = parseInt($('span.center', $(obj).eq(i)).attr('protype'))
			}
		}
	}
	for(var i=endid; i<$(obj).length; i++){
		if($('span.center', $(obj).eq(i)).attr('protype')<=tempdownid){
			if($('span.center', $(obj).eq(i)).attr('protype')<=$('span.center', $(obj).eq(i-1)).attr('protype')){
				$(obj).eq(i).show()
				tempdownid = parseInt($('span.center', $(obj).eq(i)).attr('protype'))
			}
		}
	}
}
function _SwitchMenu(obj, symbol, protype){
	switch(symbol){
		case '>':
			return $(obj).attr('protype')>protype
			break;
		case '>=':
			return $(obj).attr('protype')>=protype
			break;
		case '==':
			return $(obj).attr('protype')==protype
			break;
		case '<=':
			return $(obj).attr('protype')<=protype
			break;
		case '<':
			return $(obj).attr('protype')<protype
			break;
	}
}
/*** 多级菜单结束 ***/

/***
底部对齐开始
$(function(){
	var left = GetHeight($('div.mc_leftside div.container:last'))
	var right = GetHeight($('div.mc_rightside div.container:last'))
	var leftcount = $('div.mc_leftside:last div.container').length-1
	var rightcount = $('div.mc_rightside:last div.container').length-1
	if(left>=right){
		$('div.mc_rightside:last div.container:gt(0)').FrontEnd({jquery:'GetHeight', array:{css:'margin-top', bignum:left, smallnum:right, count:rightcount}})
	}else{
		$('div.mc_leftside:last div.container:gt(0)').FrontEnd({jquery:'GetHeight', array:{css:'margin-top', bignum:right, smallnum:left, count:leftcount}})
	}
})
***/
function GetHeight(obj){
	return $(obj).position().top + $(obj).height() + parseInt($(obj).css('padding-top')) + parseInt($(obj).css('padding-bottom')) + parseInt($(obj).css('margin-top'))
}
function BottomAlign(obj, parameter){
	var residue = (parameter.array['bignum']-parameter.array['smallnum'])%parameter.array['count']
	$(obj).each(function(){
		if(residue<=0){
			$(this).css(parameter.array['css'], parseInt($(this).css(parameter.array['css']))+parseInt((parameter.array['bignum']-parameter.array['smallnum'])/parameter.array['count']))
		}else{
			$(this).css(parameter.array['css'], parseInt($(this).css(parameter.array['css']))+parseInt((parameter.array['bignum']-parameter.array['smallnum'])/parameter.array['count'])+1)
			residue--
		}
	})
}
/*** 底部对齐结束 ***/
