/*
Copyright(C),2009-2100,易网科技.
FileName: squil.js
Author: 吕洋波	Version:1.0		Date:2010/05/10
Description:商企通界面类库专属版（基于jQuery JavaScript Library v1.4.2）
History: 2010/05/10
*/
var scrolltotop,swfobject;
	
	/*
	兼容性获取swf对象
	*******************************************************************************************
	*/
	function thisMovie(movieName){if(navigator.appName.indexOf("Microsoft")!=-1){return window[movieName];}else{return document[movieName];}}    
	/*
	ie6 png透明修正
	DD_belatedPNG.fix('.png_bg');
	DD_belatedPNG.fixPng( someNode );
	*******************************************************************************************
	*/
	if($.browser.msie&&($.browser.version<7)){
	var DD_belatedPNG={ns:"DD_belatedPNG",imgSize:{},delay:10,nodesFixed:0,createVmlNameSpace:function(){if(document.namespaces&&!document.namespaces[this.ns]){document.namespaces.add(this.ns,"urn:schemas-microsoft-com:vml")}},createVmlStyleSheet:function(){var b,a;b=document.createElement("style");b.setAttribute("media","screen");document.documentElement.firstChild.insertBefore(b,document.documentElement.firstChild.firstChild);if(b.styleSheet){b=b.styleSheet;b.addRule(this.ns+"\\:*","{behavior:url(#default#VML)}");b.addRule(this.ns+"\\:shape","position:absolute;");b.addRule("img."+this.ns+"_sizeFinder","behavior:none; border:none; position:absolute; z-index:-1; top:-10000px; visibility:hidden;");this.screenStyleSheet=b;a=document.createElement("style");a.setAttribute("media","print");document.documentElement.firstChild.insertBefore(a,document.documentElement.firstChild.firstChild);a=a.styleSheet;a.addRule(this.ns+"\\:*","{display: none !important;}");a.addRule("img."+this.ns+"_sizeFinder","{display: none !important;}")}},readPropertyChange:function(){var b,c,a;b=event.srcElement;if(!b.vmlInitiated){return}if(event.propertyName.search("background")!=-1||event.propertyName.search("border")!=-1){DD_belatedPNG.applyVML(b)}if(event.propertyName=="style.display"){c=(b.currentStyle.display=="none")?"none":"block";for(a in b.vml){if(b.vml.hasOwnProperty(a)){b.vml[a].shape.style.display=c}}}if(event.propertyName.search("filter")!=-1){DD_belatedPNG.vmlOpacity(b)}},vmlOpacity:function(b){if(b.currentStyle.filter.search("lpha")!=-1){var a=b.currentStyle.filter;a=parseInt(a.substring(a.lastIndexOf("=")+1,a.lastIndexOf(")")),10)/100;b.vml.color.shape.style.filter=b.currentStyle.filter;b.vml.image.fill.opacity=a}},handlePseudoHover:function(a){setTimeout(function(){DD_belatedPNG.applyVML(a)},1)},fix:function(a){if(this.screenStyleSheet){var c,b;c=a.split(",");for(b=0;b<c.length;b++){this.screenStyleSheet.addRule(c[b],"behavior:expression(DD_belatedPNG.fixPng(this))")}}},applyVML:function(a){a.runtimeStyle.cssText="";this.vmlFill(a);this.vmlOffsets(a);this.vmlOpacity(a);if(a.isImg){this.copyImageBorders(a)}},attachHandlers:function(i){var d,c,g,e,b,f;d=this;c={resize:"vmlOffsets",move:"vmlOffsets"};if(i.nodeName=="A"){e={mouseleave:"handlePseudoHover",mouseenter:"handlePseudoHover",focus:"handlePseudoHover",blur:"handlePseudoHover"};for(b in e){if(e.hasOwnProperty(b)){c[b]=e[b]}}}for(f in c){if(c.hasOwnProperty(f)){g=function(){d[c[f]](i)};i.attachEvent("on"+f,g)}}i.attachEvent("onpropertychange",this.readPropertyChange)},giveLayout:function(a){a.style.zoom=1;if(a.currentStyle.position=="static"){a.style.position="relative"}},copyImageBorders:function(b){var c,a;c={borderStyle:true,borderWidth:true,borderColor:true};for(a in c){if(c.hasOwnProperty(a)){b.vml.color.shape.style[a]=b.currentStyle[a]}}},vmlFill:function(e){if(!e.currentStyle){return}else{var d,f,g,b,a,c;d=e.currentStyle}for(b in e.vml){if(e.vml.hasOwnProperty(b)){e.vml[b].shape.style.zIndex=d.zIndex}}e.runtimeStyle.backgroundColor="";e.runtimeStyle.backgroundImage="";f=true;if(d.backgroundImage!="none"||e.isImg){if(!e.isImg){e.vmlBg=d.backgroundImage;e.vmlBg=e.vmlBg.substr(5,e.vmlBg.lastIndexOf('")')-5)}else{e.vmlBg=e.src}g=this;if(!g.imgSize[e.vmlBg]){a=document.createElement("img");g.imgSize[e.vmlBg]=a;a.className=g.ns+"_sizeFinder";a.runtimeStyle.cssText="behavior:none; position:absolute; left:-10000px; top:-10000px; border:none; margin:0; padding:0;";c=function(){this.width=this.offsetWidth;this.height=this.offsetHeight;g.vmlOffsets(e)};a.attachEvent("onload",c);a.src=e.vmlBg;a.removeAttribute("width");a.removeAttribute("height");document.body.insertBefore(a,document.body.firstChild)}e.vml.image.fill.src=e.vmlBg;f=false}e.vml.image.fill.on=!f;e.vml.image.fill.color="none";e.vml.color.shape.style.backgroundColor=d.backgroundColor;e.runtimeStyle.backgroundImage="none";e.runtimeStyle.backgroundColor="transparent"},vmlOffsets:function(d){var h,n,a,e,g,m,f,l,j,i,k;h=d.currentStyle;n={W:d.clientWidth+1,H:d.clientHeight+1,w:this.imgSize[d.vmlBg].width,h:this.imgSize[d.vmlBg].height,L:d.offsetLeft,T:d.offsetTop,bLW:d.clientLeft,bTW:d.clientTop};a=(n.L+n.bLW==1)?1:0;e=function(b,p,q,c,s,u){b.coordsize=c+","+s;b.coordorigin=u+","+u;b.path="m0,0l"+c+",0l"+c+","+s+"l0,"+s+" xe";b.style.width=c+"px";b.style.height=s+"px";b.style.left=p+"px";b.style.top=q+"px"};e(d.vml.color.shape,(n.L+(d.isImg?0:n.bLW)),(n.T+(d.isImg?0:n.bTW)),(n.W-1),(n.H-1),0);e(d.vml.image.shape,(n.L+n.bLW),(n.T+n.bTW),(n.W),(n.H),1);g={X:0,Y:0};if(d.isImg){g.X=parseInt(h.paddingLeft,10)+1;g.Y=parseInt(h.paddingTop,10)+1}else{for(j in g){if(g.hasOwnProperty(j)){this.figurePercentage(g,n,j,h["backgroundPosition"+j])}}}d.vml.image.fill.position=(g.X/n.W)+","+(g.Y/n.H);m=h.backgroundRepeat;f={T:1,R:n.W+a,B:n.H,L:1+a};l={X:{b1:"L",b2:"R",d:"W"},Y:{b1:"T",b2:"B",d:"H"}};if(m!="repeat"||d.isImg){i={T:(g.Y),R:(g.X+n.w),B:(g.Y+n.h),L:(g.X)};if(m.search("repeat-")!=-1){k=m.split("repeat-")[1].toUpperCase();i[l[k].b1]=1;i[l[k].b2]=n[l[k].d]}if(i.B>n.H){i.B=n.H}d.vml.image.shape.style.clip="rect("+i.T+"px "+(i.R+a)+"px "+i.B+"px "+(i.L+a)+"px)"}else{d.vml.image.shape.style.clip="rect("+f.T+"px "+f.R+"px "+f.B+"px "+f.L+"px)"}},figurePercentage:function(d,c,f,a){var b,e;e=true;b=(f=="X");switch(a){case"left":case"top":d[f]=0;break;case"center":d[f]=0.5;break;case"right":case"bottom":d[f]=1;break;default:if(a.search("%")!=-1){d[f]=parseInt(a,10)/100}else{e=false}}d[f]=Math.ceil(e?((c[b?"W":"H"]*d[f])-(c[b?"w":"h"]*d[f])):parseInt(a,10));if(d[f]%2===0){d[f]++}return d[f]},fixPng:function(c){c.style.behavior="none";var g,b,f,a,d;if(c.nodeName=="BODY"||c.nodeName=="TD"||c.nodeName=="TR"){return}c.isImg=false;if(c.nodeName=="IMG"){if(c.src.toLowerCase().search(/\.png$/)!=-1){c.isImg=true;c.style.visibility="hidden"}else{return}}else{if(c.currentStyle.backgroundImage.toLowerCase().search(".png")==-1){return}}g=DD_belatedPNG;c.vml={color:{},image:{}};b={shape:{},fill:{}};for(a in c.vml){if(c.vml.hasOwnProperty(a)){for(d in b){if(b.hasOwnProperty(d)){f=g.ns+":"+d;c.vml[a][d]=document.createElement(f)}}c.vml[a].shape.stroked=false;c.vml[a].shape.appendChild(c.vml[a].fill);c.parentNode.insertBefore(c.vml[a].shape,c)}}c.vml.image.shape.fillcolor="none";c.vml.image.fill.type="tile";c.vml.color.fill.on=false;g.attachHandlers(c);g.giveLayout(c);g.giveLayout(c.offsetParent);c.vmlInitiated=true;g.applyVML(c)}};try{document.execCommand("BackgroundImageCache",false,true)}catch(r){}DD_belatedPNG.createVmlNameSpace();DD_belatedPNG.createVmlStyleSheet();
	}

	/*
	定时器
	$("#close-button").oneTime(1000,function(){});
	$("#close-button").stopTime();
	1. everyTime(时间间隔, [计时器名称], 函式名称, [次数限制], [等待函式程序完成])
	2. oneTime(时间间隔, [计时器名称], 呼叫的函式)
	3. stopTime ([计时器名称], [函式名称])
	*******************************************************************************************
	*/
	jQuery.easing['jswing'] = jQuery.easing['swing'];
	jQuery.extend( jQuery.easing,
	{
		def: 'easeOutQuad',
		swing: function (x, t, b, c, d) {
			//alert(jQuery.easing.default);
			return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
		},
		easeInQuad: function (x, t, b, c, d) {
			return c*(t/=d)*t + b;
		},
		easeOutQuad: function (x, t, b, c, d) {
			return -c *(t/=d)*(t-2) + b;
		},
		easeInOutQuad: function (x, t, b, c, d) {
			if ((t/=d/2) < 1) return c/2*t*t + b;
			return -c/2 * ((--t)*(t-2) - 1) + b;
		},
		easeInCubic: function (x, t, b, c, d) {
			return c*(t/=d)*t*t + b;
		},
		easeOutCubic: function (x, t, b, c, d) {
			return c*((t=t/d-1)*t*t + 1) + b;
		},
		easeInOutCubic: function (x, t, b, c, d) {
			if ((t/=d/2) < 1) return c/2*t*t*t + b;
			return c/2*((t-=2)*t*t + 2) + b;
		},
		easeInQuart: function (x, t, b, c, d) {
			return c*(t/=d)*t*t*t + b;
		},
		easeOutQuart: function (x, t, b, c, d) {
			return -c * ((t=t/d-1)*t*t*t - 1) + b;
		},
		easeInOutQuart: function (x, t, b, c, d) {
			if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
			return -c/2 * ((t-=2)*t*t*t - 2) + b;
		},
		easeInQuint: function (x, t, b, c, d) {
			return c*(t/=d)*t*t*t*t + b;
		},
		easeOutQuint: function (x, t, b, c, d) {
			return c*((t=t/d-1)*t*t*t*t + 1) + b;
		},
		easeInOutQuint: function (x, t, b, c, d) {
			if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
			return c/2*((t-=2)*t*t*t*t + 2) + b;
		},
		easeInSine: function (x, t, b, c, d) {
			return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
		},
		easeOutSine: function (x, t, b, c, d) {
			return c * Math.sin(t/d * (Math.PI/2)) + b;
		},
		easeInOutSine: function (x, t, b, c, d) {
			return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
		},
		easeInExpo: function (x, t, b, c, d) {
			return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
		},
		easeOutExpo: function (x, t, b, c, d) {
			return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
		},
		easeInOutExpo: function (x, t, b, c, d) {
			if (t==0) return b;
			if (t==d) return b+c;
			if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
			return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
		},
		easeInCirc: function (x, t, b, c, d) {
			return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
		},
		easeOutCirc: function (x, t, b, c, d) {
			return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
		},
		easeInOutCirc: function (x, t, b, c, d) {
			if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
			return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
		},
		easeInElastic: function (x, t, b, c, d) {
			var s=1.70158;var p=0;var a=c;
			if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
			if (a < Math.abs(c)) { a=c; var s=p/4; }
			else var s = p/(2*Math.PI) * Math.asin (c/a);
			return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		},
		easeOutElastic: function (x, t, b, c, d) {
			var s=1.70158;var p=0;var a=c;
			if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
			if (a < Math.abs(c)) { a=c; var s=p/4; }
			else var s = p/(2*Math.PI) * Math.asin (c/a);
			return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
		},
		easeInOutElastic: function (x, t, b, c, d) {
			var s=1.70158;var p=0;var a=c;
			if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
			if (a < Math.abs(c)) { a=c; var s=p/4; }
			else var s = p/(2*Math.PI) * Math.asin (c/a);
			if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
			return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
		},
		easeInBack: function (x, t, b, c, d, s) {
			if (s == undefined) s = 1.70158;
			return c*(t/=d)*t*((s+1)*t - s) + b;
		},
		easeOutBack: function (x, t, b, c, d, s) {
			if (s == undefined) s = 1.70158;
			return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
		},
		easeInOutBack: function (x, t, b, c, d, s) {
			if (s == undefined) s = 1.70158; 
			if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
			return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
		},
		easeInBounce: function (x, t, b, c, d) {
			return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
		},
		easeOutBounce: function (x, t, b, c, d) {
			if ((t/=d) < (1/2.75)) {
				return c*(7.5625*t*t) + b;
			} else if (t < (2/2.75)) {
				return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
			} else if (t < (2.5/2.75)) {
				return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
			} else {
				return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
			}
		},
		easeInOutBounce: function (x, t, b, c, d) {
			if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
			return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
		}
	});
	
	/*
	动画效果
	jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
	*******************************************************************************************
	*/
	jQuery.easing['jswing'] = jQuery.easing['swing'];
	jQuery.fn.extend({
	everyTime: function(interval, label, fn, times, belay) {
		return this.each(function() {
			jQuery.timer.add(this, interval, label, fn, times, belay);
		});
	},
	oneTime: function(interval, label, fn) {
		return this.each(function() {
			jQuery.timer.add(this, interval, label, fn, 1);
		});
	},
	stopTime: function(label, fn) {
		return this.each(function() {
			jQuery.timer.remove(this, label, fn);
		});
	}
	});
	jQuery.extend({
		timer: {
			guid: 1,
			global: {},
			regex: /^([0-9]+)\s*(.*s)?$/,
			powers: {
				'ms': 1,
				'cs': 10,
				'ds': 100,
				's': 1000,
				'das': 10000,
				'hs': 100000,
				'ks': 1000000
			},
			timeParse: function(value) {
				if (value == undefined || value == null)
					return null;
				var result = this.regex.exec(jQuery.trim(value.toString()));
				if (result[2]) {
					var num = parseInt(result[1], 10);
					var mult = this.powers[result[2]] || 1;
					return num * mult;
				} else {
					return value;
				}
			},
			add: function(element, interval, label, fn, times, belay) {
				var counter = 0;
				if (jQuery.isFunction(label)) {
					if (!times) 
						times = fn;
					fn = label;
					label = interval;
				}
				interval = jQuery.timer.timeParse(interval);
				if (typeof interval != 'number' || isNaN(interval) || interval <= 0)
					return;
				if (times && times.constructor != Number) {
					belay = !!times;
					times = 0;
				}
				times = times || 0;
				belay = belay || false;
				if (!element.$timers) 
					element.$timers = {};
				if (!element.$timers[label])
					element.$timers[label] = {};
				fn.$timerID = fn.$timerID || this.guid++;
				var handler = function() {
					if (belay && this.inProgress) 
						return;
					this.inProgress = true;
					if ((++counter > times && times !== 0) || fn.call(element, counter) === false)
						jQuery.timer.remove(element, label, fn);
					this.inProgress = false;
				};
				handler.$timerID = fn.$timerID;
				if (!element.$timers[label][fn.$timerID]) 
					element.$timers[label][fn.$timerID] = window.setInterval(handler,interval);
				if ( !this.global[label] )
					this.global[label] = [];
				this.global[label].push( element );
			},
			remove: function(element, label, fn) {
				var timers = element.$timers, ret;
				if ( timers ) {
					if (!label) {
						for ( label in timers )
							this.remove(element, label, fn);
					} else if ( timers[label] ) {
						if ( fn ) {
							if ( fn.$timerID ) {
								window.clearInterval(timers[label][fn.$timerID]);
								delete timers[label][fn.$timerID];
							}
						} else {
							for ( var fn in timers[label] ) {
								window.clearInterval(timers[label][fn]);
								delete timers[label][fn];
							}
						}
						for ( ret in timers[label] ) break;
						if ( !ret ) {
							ret = null;
							delete timers[label];
						}
					}
					for ( ret in timers ) break;
					if ( !ret ) 
						element.$timers = null;
				}
			}
		}
	});
	if (jQuery.browser.msie)
		jQuery(window).one("unload", function() {
			var global = jQuery.timer.global;
			for ( var label in global ) {
				var els = global[label], i = els.length;
				while ( --i )
					jQuery.timer.remove(els[i], label);
			}
	});
	
	/*
	强制弹出窗口插件
	基于ForceWindow 1.0.2
	window.force.pop("URL");
	*******************************************************************************************
	*/
	function ForceWindow(){
		if(!(this.isMsie = (/MSIE/).test(navigator.appVersion))){
		this.f = document.createElement("FORM");
		this.f.target = "_blank";
		this.f.method = "post";
		document.documentElement.insertBefore(this.f,document.documentElement.childNodes[0]);
		}
	}
	ForceWindow.prototype.pop=function(sUrl){
  	if(this.isMsie){
    var dialogConent  = "about:";
    dialogConent += "<a href='" + sUrl + "' target='_blank' id='iecn' style='display:none;'>iecn</a>";
    dialogConent += "<script language='JavaScript' type='text/javascript'>";
    dialogConent += "document.getElementById('iecn').click();window.close();</script>";
    window.showModalDialog(dialogConent, "", "width:1px;height:1px;left:0px;top:0px;");
  	}else{
    this.f.action = sUrl;
    this.f.submit();
  	}
	}
	window.force = new ForceWindow();
	
	/*
	阴影插件
	基于Drop Shadow jQuery Plugin 1.6
	SYNTAX: $(selector).dropShadow(options);
    $(selector).redrawShadow();
    $(selector).removeShadow();
    $(selector).shadowId();
	*******************************************************************************************
	*/
	(function($){
	var dropShadowZindex = 1;
	$.fn.dropShadow = function(options){
    var opt = $.extend({left: 4,top: 4,blur: 2,opacity: .5,color: "black",swap: false},options);
    var jShadows = $([]);
    this.not(".dropShadow").each(function(){
      var jthis = $(this);
      var shadows = [];
      var blur = (opt.blur <= 0) ? 0 : opt.blur;
      var opacity = (blur == 0) ? opt.opacity : opt.opacity / (blur*8);
      var zOriginal = (opt.swap) ? dropShadowZindex : dropShadowZindex + 1;
      var zShadow = (opt.swap) ? dropShadowZindex + 1 : dropShadowZindex;
      var shadowId;
      if(this.id){shadowId = this.id + "_dropShadow";}else{shadowId = "ds" + (1 + Math.floor(9999 * Math.random()));}
      $.data(this, "shadowId", shadowId);
      $.data(this, "shadowOptions", options);
      jthis
        .attr("shadowId", shadowId)
        .css("zIndex", zOriginal);
      if (jthis.css("position") != "absolute") {
        jthis.css({
          position: "relative",
          zoom: 1
        });
      }
      bgColor = jthis.css("backgroundColor");
      if (bgColor == "rgba(0, 0, 0, 0)") bgColor = "transparent";
      if (bgColor != "transparent" || jthis.css("backgroundImage") != "none" 
          || this.nodeName == "SELECT" 
          || this.nodeName == "INPUT"
          || this.nodeName == "TEXTAREA") {   
        shadows[0] = $("<div></div>")
          .css("background", opt.color);                
      }
      else {
        shadows[0] = jthis
          .clone()
          .removeAttr("id")
          .removeAttr("name")
          .removeAttr("shadowId")
          .css("color", opt.color);
      }
      shadows[0]
        .addClass("dropShadow")
        .css({
          height: jthis.outerHeight(),
          left: blur,
          opacity: opacity,
          position: "absolute",
          top: blur,
          width: jthis.outerWidth(),
          zIndex: zShadow
        });
      var layers = (8 * blur) + 1;
      for (i = 1; i < layers; i++) {
        shadows[i] = shadows[0].clone();
      }
      var i = 1;      
      var j = blur;
      while (j > 0) {
        shadows[i].css({left: j * 2, top: 0});
        shadows[i + 1].css({left: j * 4, top: j * 2});
        shadows[i + 2].css({left: j * 2, top: j * 4});
        shadows[i + 3].css({left: 0, top: j * 2});
        shadows[i + 4].css({left: j * 3, top: j});
        shadows[i + 5].css({left: j * 3, top: j * 3});
        shadows[i + 6].css({left: j, top: j * 3});
        shadows[i + 7].css({left: j, top: j});
        i += 8;
        j--;
      }
      var divShadow = $("<div></div>")
        .attr("id", shadowId) 
        .addClass("dropShadow")
        .css({
          left: jthis.position().left + opt.left - blur,
          marginTop: jthis.css("marginTop"),
          marginRight: jthis.css("marginRight"),
          marginBottom: jthis.css("marginBottom"),
          marginLeft: jthis.css("marginLeft"),
          position: "absolute",
          top: jthis.position().top + opt.top - blur,
          zIndex: zShadow
        });
      for (i = 0; i < layers; i++){divShadow.append(shadows[i]);}
      jthis.after(divShadow);
      jShadows = jShadows.add(divShadow);
      $(window).resize(function(){
        try {
          divShadow.css({
            left: jthis.position().left + opt.left - blur,
            top: jthis.position().top + opt.top - blur
          });
        }
        catch(e){}
      });
      dropShadowZindex += 2;
    });
    return this.pushStack(jShadows);
  };
	  $.fn.redrawShadow = function(){
		this.removeShadow();
		return this.each(function(){
		  var shadowOptions = $.data(this, "shadowOptions");
		  $(this).dropShadow(shadowOptions);
		});
	  };
	  $.fn.removeShadow = function(){
		return this.each(function(){
		  var shadowId = $(this).shadowId();
		  $("div#" + shadowId).remove();
		});
	  };
	  $.fn.shadowId = function(){
		return $.data(this[0], "shadowId");
	  };
	  $(function(){
		var noPrint = "<style type='text/css' media='print'>";
		noPrint += ".dropShadow{visibility:hidden;}</style>";
		$("head").append(noPrint);
	  });
	})(jQuery);
	
	/*
	颜色效果
	基于color-animation
	$('#demodiv').animate({color: '#E4D8B8'})  
	$('#demodiv').animate({backgroundColor: '#400101'}) 
	$('#demodiv').animate({borderBottomColor: '#00346B'})
	$('#demodiv').animate({borderColor: '#F2E2CE'})
	*******************************************************************************************
	*/
	(function(d){function h(a,b,c){return"#"+g(a[0]+c*(b[0]-a[0]))+g(a[1]+c*(b[1]-a[1]))+g(a[2]+c*(b[2]-a[2]))}function g(a){a=parseInt(a).toString(16);return a.length==1?"0"+a:a}function e(a){var b,c;if(b=/#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})/.exec(a))c=[parseInt(b[1],16),parseInt(b[2],16),parseInt(b[3],16)];else if(b=/#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])/.exec(a))c=[parseInt(b[1],16)*17,parseInt(b[2],16)*17,parseInt(b[3],16)*17];else if(b=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(a))c=
[parseInt(b[1]),parseInt(b[2]),parseInt(b[3])];return c}var i=["color","backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","outlineColor"];d.each(i,function(a,b){d.fx.step[b]=function(c){if(!c.init){c.a=e(d(c.elem).css(b));c.end=e(c.end);c.init=true}c.elem.style[b]=h(c.a,c.end,c.pos)}});d.fx.step.borderColor=function(a){if(!a.init)a.end=e(a.end);var b=i.slice(2,6);d.each(b,function(c,f){a.init||(a[f]={a:e(d(a.elem).css(f))});a.elem.style[f]=h(a[f].a,a.end,a.pos)});
a.init=true}})(jQuery);
	
	/*
	滚动展示插件
	基于Easy Slider 1.7
	优化了位置偏移、控制按键自动定位、透明度等
	*******************************************************************************************
	*/
	$.fn.easySlider = function(options){
	var defaults={prevId:'prevBtn',prevText:'Previous',nextId:'nextBtn',nextText:'Next',controlsShow:true,controlsBefore:'',controlsAfter:'',controlsFade:true,firstId:'firstBtn',firstText:'First',firstShow:false,lastId:'lastBtn',lastText:'Last',lastShow:false,vertical:false,speed:800,auto:true,pause:2000,continuous:false,numeric:false,outOpacity:0.7,ovOpacity:1,yfix:0,numericId:'controls'}; 
	var options = $.extend(defaults, options);  
	this.each(function(){  
	var obj = $(this);                 
	var o=$("li",obj),s=o.length,w=o.width(),h=o.height(),clickable=true;
	obj.width(w);obj.height(h); 
	obj.css("overflow","hidden");
	var ts=s-1,t=0;
	$("ul", obj).css('width',s*w);            
	if(options.continuous){
	if(!options.vertical){$("ul", obj).prepend($("ul li:last-child", obj).clone().css("margin-left","-"+ w +"px"));}else{$("ul",obj).prepend($("ul li:last-child", obj).clone().css("margin-top",""));}
	$("ul", obj).append($("ul li:nth-child(2)", obj).clone());
	$("ul", obj).css('width',(s+1)*w);
	};                
	if(!options.vertical) $("li", obj).css('float','left');
	if(options.controlsShow){var html = options.controlsBefore;if(options.numeric){html += '<div id="'+ options.numericId +'box" style="position:relative"><ol id="'+ options.numericId +'"></ol></div>';
	}else{
	if(options.firstShow) html += '<span id="'+ options.firstId +'"><a href=\"javascript:void(0);\">'+ options.firstText +'</a></span>';
	html += ' <span id="'+ options.prevId +'"><a href=\"javascript:void(0);\">'+ options.prevText +'</a></span>';
	html += ' <span id="'+ options.nextId +'"><a href=\"javascript:void(0);\">'+ options.nextText +'</a></span>';
	if(options.lastShow) html += ' <span id="'+ options.lastId +'"><a href=\"javascript:void(0);\">'+ options.lastText +'</a></span>';                
	};
	html += options.controlsAfter;
	$(obj).after(html);                                        
	};
	if(options.numeric){                                    
	for(var i=0;i<s;i++){                        
	$(document.createElement("li"))
	.attr('id',options.numericId + (i+1))
	.html('<a rel='+ i +' href=\"javascript:void(0);\">'+ (i+1) +'</a>')
	.appendTo($("#"+ options.numericId))
	.click(function(){                            
	animate($("a",$(this)).attr('rel'),true);
	});                                                 
	};
	$("#"+options.numericId).css({top:(-1*$("#"+options.numericId).height()+options.yfix)+'px',left:(w-$("#"+options.numericId).width())+'px'}).animate({opacity:options.outOpacity},0).mouseover(function(){$(this).animate({opacity:options.ovOpacity},0);}).mouseout(function(){$(this).animate({opacity:options.outOpacity},0);});
	} else {
	$("a","#"+options.nextId).click(function(){animate("next",true);});
	$("a","#"+options.prevId).click(function(){animate("prev",true);});    
	$("a","#"+options.firstId).click(function(){animate("first",true);});                
	$("a","#"+options.lastId).click(function(){animate("last",true);});                
	};
	function setCurrent(i){i = parseInt(i)+1;$("li", "#" + options.numericId).removeClass("current");$("li#" + options.numericId + i).addClass("current");};
	function adjust(){if(t>ts) t=0;if(t<0) t=ts;if(!options.vertical){$("ul",obj).css("margin-left",(t*w*-1));}else{$("ul",obj).css("margin-top",(t*h*-1));}
	clickable = true;
	if(options.numeric) setCurrent(t);
	};
	function animate(dir,clicked){if(clickable){clickable=false;var ot=t;switch(dir){case "next":t = (ot>=ts) ? (options.continuous ? t+1 : ts) : t+1;break;case "prev":t = (t<=0) ? (options.continuous ? t-1 : 0) : t-1;break;case "first":t = 0;break;case "last":t = ts;break;default:
	t = dir;break;};    
	var diff = Math.abs(ot-t);var speed = diff*options.speed;if(!options.vertical){p = (t*w*-1);$("ul",obj).animate({ marginLeft: p },{ queue:false, duration:speed, complete:adjust});                
	}else{
	p = (t*h*-1);$("ul",obj).animate({ marginTop: p },{queue:false, duration:speed, complete:adjust});                    
	};
	if(!options.continuous && options.controlsFade){                    
	if(t==ts){$("a","#"+options.nextId).hide();$("a","#"+options.lastId).hide();}else{$("a","#"+options.nextId).show();$("a","#"+options.lastId).show();};
	if(t==0){$("a","#"+options.prevId).hide();$("a","#"+options.firstId).hide();} else {$("a","#"+options.prevId).show();$("a","#"+options.firstId).show();};                    
	};                
	if(clicked) clearTimeout(timeout);
	if(options.auto && dir=="next" && !clicked){timeout=setTimeout(function(){animate("next",false);},diff*options.speed+options.pause);};
	};
	};
	var timeout;
	if(options.auto){timeout = setTimeout(function(){animate("next",false);},options.pause);};        
	if(options.numeric) setCurrent(0);
	if(!options.continuous && options.controlsFade){                    
	$("a","#"+options.prevId).hide();
	$("a","#"+options.firstId).hide();                
	};                
	});
	};

	/*
	下拉菜单
	基于Navigational Menu (v1.4)
	增加了x、y偏移控制
	修正了鼠标触发效果和选中标识及阴影效果等
	增加了新的主菜单变色控制
	*******************************************************************************************
	*/
	var ddsmoothmenu={
	color:{ov:'#1e90f9',ot:'#000',mov:'#ff00',mot:'#fff'},arrowimages:{down:['downarrowclass','../../sqinc/jqplugs/ddsmoothmenu-down.gif',23], right:['rightarrowclass','../../sqinc/jqplugs/ddsmoothmenu-right.png']},transition:{overtime:0,outtime:100},xfix:0,yfix:0,shadow:{left:0,top:0,opacity:0.5,blur:2},showhidedelay:{showdelay:50,hidedelay:100},detectwebkit: navigator.userAgent.toLowerCase().indexOf("applewebkit")!=-1,
	detectie6: document.all && !window.XMLHttpRequest,
	getajaxmenu:function($,setting){
		var $menucontainer=$('#'+setting.contentsource[0])
		$menucontainer.html("菜单加载中...")
		$.ajax({
			url: setting.contentsource[1],
			async: true,
			error:function(ajaxrequest){
				$menucontainer.html('内容获取错误. 服务器响应: '+ajaxrequest.responseText);
			},
			success:function(content){
				$menucontainer.html(content);
				ddsmoothmenu.buildmenu($, setting);
			}
		})
	},
	buildmenu:function($,setting){
		var smoothmenu=ddsmoothmenu;
		var $mainmenu=$("#"+setting.mainmenuid+">ul");
		var $headers=$mainmenu.find("ul").parent();
		$("#"+setting.mainmenuid).find('.subli .menu').hover(function(e){$(this).addClass('touch')},function(e){$(this).removeClass('touch')});
		$("#"+setting.mainmenuid).find('li').click(function(){if($(this).attr('url')==undefined) return;if($(this).attr('target')=='_blank'){window.open($(this).attr('url'));}else{top.window.location.href=$(this).attr('url');}return false;});
		$("#"+setting.mainmenuid).find('[checked=checked]').find('.mtl').addClass("sel");
		$("#"+setting.mainmenuid).find('[selected=selected]').find('.icn').addClass("selected");
		$("#"+setting.mainmenuid).find('[selected=selected]').parents('.mli:eq(0)').attr('checked','checked').find('.mtl').addClass("sel");
		$("#"+setting.mainmenuid).find('[selected=selected]').parents('.mli:eq(0)').hover(function(e){$(this).find('.mtl').animate({color:ddsmoothmenu.color.mov})},function(e){$(this).find('.mtl').animate({color:ddsmoothmenu.color.mot})});
		$("#"+setting.mainmenuid).find('.mli[checked!=checked]').hover(function(e){$(this).find('.mtl').animate({color:ddsmoothmenu.color.ov})},function(e){$(this).find('.mtl').animate({color:ddsmoothmenu.color.ot})});
		if($.browser.msie&&($.browser.version<7)){DD_belatedPNG.fix('.selected');setting.xfix+=6;}
		$headers.each(function(i){
			var $curobj=$(this).css({zIndex:998-i});
			var $subul=$(this).find('ul:eq(0)');
			//$subul.css({display:'block'});
			$subul.data('timers', {});
			this._dimensions={w:$(this).width(),h:$(this).height(),subulw:$subul.width()+2,subulh:$subul.height()}
			this.istopheader=$curobj.parents("ul").length==1? true : false;
			$subul.css({top:this.istopheader && setting.orientation!='v'? (this._dimensions.h+setting.yfix)+"px" : setting.yfix})
			$curobj.children(".menu:eq(0)").css(this.istopheader? {paddingRight: smoothmenu.arrowimages.down[2]} : {}).append(
				'<div style="float:left;position:relative;width:0;height:0"><img src="'+ (this.istopheader && setting.orientation!='v'? smoothmenu.arrowimages.down[1] : smoothmenu.arrowimages.right[1])
				+'" class="' + (this.istopheader && setting.orientation!='v'? smoothmenu.arrowimages.down[0] : smoothmenu.arrowimages.right[0])
				+ '" style="border:0;" /></div>'
			)
			$curobj.hover(
				function(e){
					var $targetul=$subul;
					var header=$curobj.get(0);
					clearTimeout($targetul.data('timers').hidetimer);
					$targetul.data('timers').showtimer=setTimeout(function(){
						header._offsets={left:$curobj.offset().left, top:$curobj.offset().top}
						var menuleft=header.istopheader && setting.orientation!='v'? 0 : header._dimensions.w;
						menuleft=(header._offsets.left+menuleft+header._dimensions.subulw>$(window).width())? (header.istopheader && setting.orientation!='v'? -header._dimensions.subulw+header._dimensions.w : -header._dimensions.w) : menuleft;
						menuleft+=($targetul.attr('xfix')==undefined ? setting.xfix : parseInt($targetul.attr('xfix'),10));
						if ($targetul.queue().length<=1){			//$targetul.css({left:menuleft+"px",width:header._dimensions.subulw+'px'}).animate({height:'show',opacity:'show'},ddsmoothmenu.transition.overtime,'swing',function(){if($mainmenu.find(".dropShadow").length>0){$targetul.removeShadow();$targetul.redrawShadow();}else{$targetul.dropShadow({left:ddsmoothmenu.shadow.left,top:ddsmoothmenu.shadow.top,opacity:ddsmoothmenu.shadow.opacity,blur:ddsmoothmenu.shadow.blur});}$mainmenu.attr('isopen','1');});
						$targetul.css({left:menuleft+"px",width:header._dimensions.subulw+'px'}).show();
						}
					}, ddsmoothmenu.showhidedelay.showdelay);
				},
				function(e){
					var $targetul=$subul;
					var header=$curobj.get(0);
					clearTimeout($targetul.data('timers').showtimer);
					//$targetul.removeShadow();
					$targetul.data('timers').hidetimer=setTimeout(function(){
					//$targetul.animate({height:'hide', opacity:'hide'},ddsmoothmenu.transition.outtime,'swing',function(){if($mainmenu.attr('isopen')==undefined){$mainmenu.find(".subul").removeShadow();}else{$targetul.removeAttr('isopen');}})},ddsmoothmenu.showhidedelay.hidedelay);
					$targetul.hide()},ddsmoothmenu.showhidedelay.hidedelay);

				}
			)
		})
		.mouseleave(function(e){})
		if($.browser.msie&&($.browser.version<7)){DD_belatedPNG.fix('.'+(this.istopheader && setting.orientation!='v'? smoothmenu.arrowimages.down[0] : smoothmenu.arrowimages.right[0]))}
		//$mainmenu.find("ul").hide();
	},
	init:function(setting){
		if (typeof setting.customtheme=="object" && setting.customtheme.length==2){
			var mainmenuid='#'+setting.mainmenuid;
			var mainselector=(setting.orientation=="v")? mainmenuid : mainmenuid+', '+mainmenuid;
			document.write('<style type="text/css">\n'+mainselector+' ul li a {background:'+setting.customtheme[0]+';}\n'+mainmenuid+' ul li a:hover {background:'+setting.customtheme[1]+';}\n'+'</style>');
		}
		this.shadow.enable=(document.all && !window.XMLHttpRequest)? false : this.shadow.enable;
		jQuery(document).ready(function($){
			if (typeof setting.contentsource=="object"){
				ddsmoothmenu.getajaxmenu($,setting);
			}else{
				ddsmoothmenu.buildmenu($,setting);
			}
		})
	}
	}
	
	/*
	音乐播放器基于NiftyPlayer 1.7
	*******************************************************************************************
	*/
	var FlashHelper ={
		movieIsLoaded : function (theMovie){
		if (typeof(theMovie) != "undefined") return theMovie.PercentLoaded() == 100; else return false;
	  	},
		getMovie : function (movieName)	{
		if ($.browser.msie) return window[movieName];  else return document[movieName];
		}
	};
	function niftyplayer(name){
		this.obj = FlashHelper.getMovie(name);
		if (!FlashHelper.movieIsLoaded(this.obj)) return;
		this.play = function (){this.obj.TCallLabel('/','play');};
		this.stop = function (){this.obj.TCallLabel('/','stop');};
		this.pause = function (){this.obj.TCallLabel('/','pause');};
		this.playToggle = function (){this.obj.TCallLabel('/','playToggle');};
		this.reset = function (){this.obj.TCallLabel('/','reset');};
		this.load = function (url,msg){this.obj.SetVariable('currentSong',url);this.obj.SetVariable('currentSongMsg',msg);this.obj.TCallLabel('/','load');};
		this.loadAndPlay = function (url,msg){this.load(url,msg);this.play();};
		this.getState = function (){
			var ps = this.obj.GetVariable('playingState');
			var ls = this.obj.GetVariable('loadingState');
			if (ps == 'playing')
				if (ls == 'loaded') return ps;
				else return ls;
			if (ps == 'stopped')
				if (ls == 'empty') return ls;
				if (ls == 'error') return ls;
				else return ps;
			return ps;
		};
		this.getPlayingState = function (){return this.obj.GetVariable('playingState');};
		this.getLoadingState = function (){return this.obj.GetVariable('loadingState');};
		this.registerEvent = function (eventName, action){this.obj.SetVariable(eventName, action);};
		return this;
	}

(function($) {
		/*
		剪贴板复制、粘贴操作easyCopy
		*******************************************************************************************
		*/
		$.fn.easyCopy=function(options){
		var defaults={id:'',content:'',w:32,h:32,btn:'../../sqinc/jqplugs/easycopy.gif',url:'../../sqinc/jqplugs/easycopy.swf',expressInstallUrl:'../../sqinc/jqplugs/expressInstall.swf',fun:'easycopyFun',okfun:'',ovfun:'',otfun:''};
		var opts=$.extend(defaults,options);
		var flashvars={fun:opts.fun,okfun:opts.okfun,ovfun:opts.ovfun,otfun:opts.otfun,txt:encodeURIComponent(opts.content),uri:opts.btn,_w:opts.w,_h:opts.h},params ={allowScriptAccess:"always"},attributes = {id:'easycopyfor'+opts.id,name:'easycopyfor'+opts.id};  
		//wmode:"transparent",
		swfobject.embedSWF(opts.url,opts.id,opts.w,opts.h,"9.0.0",opts.expressInstallUrl,flashvars,params,attributes);
		//$('#'+opts.id).html('<embed src="'+opts.url+'"  width="100%" height="100%" wmode="transparent1"></embed>');
		//sqAlert('复制成功，直接按Ctrl+V键粘贴。');
		};
		
		/*
		打印jquery.PrintArea.js
		$("div#myPrintArea").printArea();
		*******************************************************************************************
		*/
		var printAreaCount = 0;
		$.fn.printArea = function(){
		var ele = $(this);
		var idPrefix = "printArea_";
		removePrintArea( idPrefix + printAreaCount );
		printAreaCount++;
		var iframeId = idPrefix + printAreaCount;
		var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
		iframe = document.createElement('IFRAME');
		$(iframe).attr({ style : iframeStyle,
		id    : iframeId
		});
		document.body.appendChild(iframe);
		var doc = iframe.contentWindow.document;
		$(document).find("link")
		.filter(function(){
		return $(this).attr("rel").toLowerCase() == "stylesheet";
		})
		.each(function(){
		doc.write('<link type="text/css" rel="stylesheet" href="' +
		$(this).attr("href") + '" >');
		});
		doc.write('<div class="' + $(ele).attr("class") + '">' + $(ele).html() + '</div>');
		doc.close();
		var frameWindow = iframe.contentWindow;
		frameWindow.close();
		frameWindow.focus();
		frameWindow.print();
		}
		var removePrintArea = function(id)
		{
		$( "iframe#" + id ).remove();
		};

		 /*
		货币格式化插件formatCurrency ，原创
		*******************************************************************************************
		*/
		$.fn.formatMoney = function() {
			$(this).css('text-align','right').focus(function(){$(this).select();}).keyup(function(){var tmptxt=$(this).val();$(this).val(tmptxt.replace(/[^0-9,\.]/g,''));}).bind("paste",function(){var tmptxt=$(this).val();$(this).val(tmptxt.replace(/[^0-9,\.]/g,''));}).css("ime-mode", "disabled").blur(function(){chkMoney($(this));});
			function chkMoney(obj){
				var min=parseFloat(obj.attr('min')),max=parseFloat(obj.attr('max')),val=obj.val();
				if(val==''){obj.val(fmoney(min,2));return;}
				if(parseFloat(val)<min){
				obj.val(fmoney(min,2));
				}else if(parseFloat(val)>max){
				obj.val(fmoney(max,2));
				}else{
				obj.val(fmoney(val,2));
				}
			}
		};
		
		 /*
		获取(设置)文本框(块)内光标位置插件，原创
		*******************************************************************************************
		*/
		$.fn.selectPos = function(start,end){   
			return this.each(function(){   
				if (this.setSelectionRange) {   
					this.focus();   
					this.setSelectionRange(start, end);   
				}   
				else    
					if (this.createTextRange) {   
						var range = this.createTextRange();   
						range.collapse(true);   
						range.moveEnd('character', end);   
						range.moveStart('character', start);   
						range.select();   
					}   
			});   
		};
		
		/*
		视频播放器基于jQuery Media Plugin0.92
		*******************************************************************************************
		*/
		$.fn.media = function(options, f1, f2) {
		if (options == 'undo') {
			return this.each(function() {
				var $this = $(this);
				var html = $this.data('media.origHTML');
				if (html)
					$this.replaceWith(html);
			});
		}
		return this.each(function() {
			if (typeof options == 'function') {
				f2 = f1;
				f1 = options;
				options = {};
			}
			var o = getSettings(this, options);
			if (typeof f1 == 'function') f1(this, o);
	
			var r = getTypesRegExp();
			var m = r.exec(o.src.toLowerCase()) || [''];
	
			o.type ? m[0] = o.type : m.shift();
			for (var i=0; i < m.length; i++) {
				fn = m[i].toLowerCase();
				if (isDigit(fn[0])) fn = 'fn' + fn;
				if (!$.fn.media[fn])
					continue;
				var player = $.fn.media[fn+'_player'];
				if (!o.params) o.params = {};
				if (player) {
					var num = player.autoplayAttr == 'autostart';
					o.params[player.autoplayAttr || 'autoplay'] = num ? (o.autoplay ? 1 : 0) : o.autoplay ? true : false;
				}
				var $div = $.fn.media[fn](this, o);
	
				$div.css('backgroundColor', o.bgColor).width(o.width);
				
				if (o.canUndo) {
					var $temp = $('<div></div>').append(this);
					$div.data('media.origHTML', $temp.html());
				}
				if (typeof f2 == 'function') f2(this, $div[0], o, player.name);
				break;
			}
		});
	};
	$.fn.media.mapFormat = function(format, player) {
		if (!format || !player || !$.fn.media.defaults.players[player]) return;
		format = format.toLowerCase();
		if (isDigit(format[0])) format = 'fn' + format;
		$.fn.media[format] = $.fn.media[player];
		$.fn.media[format+'_player'] = $.fn.media.defaults.players[player];
	};
	$.fn.media.defaults = {
		standards:  false,
		canUndo:    true,
		width:		300,
		height:		200,
		autoplay:	0,
		bgColor:	'#ffffff',
		params:		{wmode:'transparent',allowscriptaccess:'always',allowfullscreen:true},
		attrs:		{},
		flvKeyName: 'file',
		flashvars:	{skin:"../jqplugs/mediaplayer/stormtrooper/stormtrooper.xml",dock:true,stretching:"fill"},
		flashVersion:	'9',
		expressInstaller: "../../sqinc/jqplugs/expressInstall.swf",
		flvPlayer:	 '../../sqinc/jqplugs/mediaplayer/player.swf',
		mp3Player:	 '../../sqinc/jqplugs/mediaplayer/player.swf',
		silverlight: {
			inplaceInstallPrompt: 'true',
			isWindowless:		  'true',
			framerate:			  '24',
			version:			  '0.9',
			onError:			  null,
			onLoad:			      null,
			initParams:			  null,
			userContext:		  null
		}
	};
	$.fn.media.defaults.players = {
		flash: {
			name:		 'flash',
			title:		 'Flash',
			types:		 'flv,mp3,swf',
			mimetype:	 'application/x-shockwave-flash',
			pluginspage: 'http://www.adobe.com/go/getflashplayer',
			ieAttrs: {
				classid:  'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',
				type:	  'application/x-oleobject',
				codebase: 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + $.fn.media.defaults.flashVersion
			}
		},
		quicktime: {
			name:		 'quicktime',
			title:		 'QuickTime',
			mimetype:	 'video/quicktime',
			pluginspage: 'http://www.apple.com/quicktime/download/',
			types:		 'aif,aiff,aac,au,bmp,gsm,mov,mid,midi,mpg,mpeg,mp4,m4a,psd,qt,qtif,qif,qti,snd,tif,tiff,wav,3g2,3gp',
			ieAttrs: {
				classid:  'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
				codebase: 'http://www.apple.com/qtactivex/qtplugin.cab'
			}
		},
		realplayer: {
			name:		  'real',
			title:		  'RealPlayer',
			types:		  'ra,ram,rm,rpm,rv,smi,smil',
			mimetype:	  'audio/x-pn-realaudio-plugin',
			pluginspage:  'http://www.real.com/player/',
			autoplayAttr: 'autostart',
			ieAttrs: {
				classid: 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA'
			}
		},
		winmedia: {
			name:		  'winmedia',
			title:		  'Windows Media',
			types:		  'asx,asf,avi,wma,wmv',
			mimetype:	  $.browser.mozilla && isFirefoxWMPPluginInstalled() ? 'application/x-ms-wmp' : 'application/x-mplayer2',
			pluginspage:  'http://www.microsoft.com/Windows/MediaPlayer/',
			autoplayAttr: 'autostart',
			oUrl:		  'url',
			ieAttrs: {
				classid:  'clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6',
				type:	  'application/x-oleobject'
			}
		},
		iframe: {
			name:  'iframe',
			types: 'html,pdf'
		},
		silverlight: {
			name:  'silverlight',
			types: 'xaml'
		}
	};
	function isFirefoxWMPPluginInstalled() {
		var plugs = navigator.plugins;
		for (var i = 0; i < plugs.length; i++) {
			var plugin = plugs[i];
			if (plugin['filename'] == 'np-mswmp.dll')
				return true;
		}
		return false;
	}
	var counter = 1;
	for (var player in $.fn.media.defaults.players) {
		var types = $.fn.media.defaults.players[player].types;
		$.each(types.split(','), function(i,o) {
			if (isDigit(o[0])) o = 'fn' + o;
			$.fn.media[o] = $.fn.media[player] = getGenerator(player);
			$.fn.media[o+'_player'] = $.fn.media.defaults.players[player];
		});
	};
	function getTypesRegExp() {
		var types = '';
		for (var player in $.fn.media.defaults.players) {
			if (types.length) types += ',';
			types += $.fn.media.defaults.players[player].types;
		};
		return new RegExp('\\.(' + types.replace(/,/ig,'|') + ')\\b');
	};
	function getGenerator(player) {
		return function(el, options) {
			return generate(el, options, player);
		};
	};
	function isDigit(c) {
		return '0123456789'.indexOf(c) > -1;
	};
	function getSettings(el, options) {
		options = options || {};
		var $el = $(el);
		var cls = el.className || '';
		var meta = $.metadata ? $el.metadata() : $.meta ? $el.data() : {};
		meta = meta || {};
		var w = meta.width	 || parseInt(((cls.match(/w:(\d+)/)||[])[1]||0));
		var h = meta.height || parseInt(((cls.match(/h:(\d+)/)||[])[1]||0));
		if (w) meta.width	= w;
		if (h) meta.height = h;
		if (cls) meta.cls = cls;
		var a = $.fn.media.defaults;
		var b = options;
		var c = meta;
		var p = { params: { bgColor: options.bgColor || $.fn.media.defaults.bgColor } };
		var opts = $.extend({}, a, b, c);
		$.each(['attrs','params','flashvars','silverlight'], function(i,o) {
			opts[o] = $.extend({}, p[o] || {}, a[o] || {}, b[o] || {}, c[o] || {});
		});
		if (typeof opts.caption == 'undefined') opts.caption = $el.text();
		opts.src = opts.src || $el.attr('href') || $el.attr('src') || 'unknown';
		return opts;
	};
	$.fn.media.swf = function(el, opts) {
		if (!window.SWFObject && !window.swfobject) {
			if (opts.flashvars) {
				var a = [];
				for (var f in opts.flashvars)
					a.push(f + '=' + opts.flashvars[f]);
				if (!opts.params) opts.params = {};
				opts.params.flashvars = a.join('&');
			}
			return generate(el, opts, 'flash');
		}
		var id = el.id ? (' id="'+el.id+'"') : '';
		var cls = opts.cls ? (' class="' + opts.cls + '"') : '';
		var $div = $('<div' + id + cls + '>');
		if (window.swfobject) {
			$(el).after($div).appendTo($div);
			if (!el.id) el.id = 'movie_player_' + counter++;
			swfobject.embedSWF(opts.src, el.id, opts.width, opts.height, opts.flashVersion,
				opts.expressInstaller, opts.flashvars, opts.params, opts.attrs);
		}
		else {
			$(el).after($div).remove();
			var so = new SWFObject(opts.src, 'movie_player_' + counter++, opts.width, opts.height, opts.flashVersion, opts.bgColor);
			if (opts.expressInstaller) so.useExpressInstall(opts.expressInstaller);
	
			for (var p in opts.params)
				if (p != 'bgColor') so.addParam(p, opts.params[p]);
			for (var f in opts.flashvars)
				so.addVariable(f, opts.flashvars[f]);
			so.write($div[0]);
		}
		if (opts.caption) $('<div>').appendTo($div).html(opts.caption);
		return $div;
	};
	$.fn.media.flv = $.fn.media.mp3 = function(el, opts) {
		var src = opts.src;
		var player = /\.mp3\b/i.test(src) ? $.fn.media.defaults.mp3Player : $.fn.media.defaults.flvPlayer;
		var key = opts.flvKeyName;
		src = encodeURIComponent(src);
		opts.src = player;
		opts.src = opts.src + '?'+key+'=' + (src);
		var srcObj = {};
		srcObj[key] = src;
		opts.flashvars = $.extend({}, srcObj, opts.flashvars );
		return $.fn.media.swf(el, opts);
	};
	$.fn.media.xaml = function(el, opts) {
		if (!window.Sys || !window.Sys.Silverlight) {
			if ($.fn.media.xaml.warning) return;
			$.fn.media.xaml.warning = 1;
			alert('You must include the Silverlight.js script.');
			return;
		}
		var props = {
			width: opts.width,
			height: opts.height,
			background: opts.bgColor,
			inplaceInstallPrompt: opts.silverlight.inplaceInstallPrompt,
			isWindowless: opts.silverlight.isWindowless,
			framerate: opts.silverlight.framerate,
			version: opts.silverlight.version
		};
		var events = {
			onError: opts.silverlight.onError,
			onLoad: opts.silverlight.onLoad
		};
	
		var id1 = el.id ? (' id="'+el.id+'"') : '';
		var id2 = opts.id || 'AG' + counter++;
		var cls = opts.cls ? (' class="' + opts.cls + '"') : '';
		var $div = $('<div' + id1 + cls + '>');
		$(el).after($div).remove();
	
		Sys.Silverlight.createObjectEx({
			source: opts.src,
			initParams: opts.silverlight.initParams,
			userContext: opts.silverlight.userContext,
			id: id2,
			parentElement: $div[0],
			properties: props,
			events: events
		});
	
		if (opts.caption) $('<div>').appendTo($div).html(opts.caption);
		return $div;
	};
	function generate(el, opts, player) {
		var $el = $(el);
		var o = $.fn.media.defaults.players[player];
	
		if (player == 'iframe') {
			var o = $('<iframe' + ' width="' + opts.width + '" height="' + opts.height + '" >');
			o.attr('src', opts.src);
			o.css('backgroundColor', o.bgColor);
		}
		else if ($.browser.msie) {
			var a = ['<object width="' + opts.width + '" height="' + opts.height + '" '];
			for (var key in opts.attrs)
				a.push(key + '="'+opts.attrs[key]+'" ');
			for (var key in o.ieAttrs || {}) {
				var v = o.ieAttrs[key];
				if (key == 'codebase' && window.location.protocol == 'https:')
					v = v.replace('http','https');
				a.push(key + '="'+v+'" ');
			}
			a.push('></ob'+'ject'+'>');
			var p = ['<param name="' + (o.oUrl || 'src') +'" value="' + opts.src + '">'];
			for (var key in opts.params)
				p.push('<param name="'+ key +'" value="' + opts.params[key] + '">');
			var o = document.createElement(a.join(''));
			for (var i=0; i < p.length; i++)
				o.appendChild(document.createElement(p[i]));
		}
		else if (o.standards) {
			var a = ['<object type="' + o.mimetype +'" width="' + opts.width + '" height="' + opts.height +'"'];
			if (opts.src) a.push(' data="' + opts.src + '" ');
			a.push('>');
			a.push('<param name="' + (o.oUrl || 'src') +'" value="' + opts.src + '">');
			for (var key in opts.params) {
				if (key == 'wmode' && player != 'flash')
					continue;
				a.push('<param name="'+ key +'" value="' + opts.params[key] + '">');
			}
			a.push('<div><p><strong>'+o.title+' Required</strong></p><p>'+o.title+' is required to view this media. <a href="'+o.pluginspage+'">Download Here</a>.</p></div>');
			a.push('</ob'+'ject'+'>');
		}
		 else {
				var a = ['<embed width="' + opts.width + '" height="' + opts.height + '" style="display:block"'];
				if (opts.src) a.push(' src="' + opts.src + '" ');
				for (var key in opts.attrs)
					a.push(key + '="'+opts.attrs[key]+'" ');
				for (var key in o.eAttrs || {})
					a.push(key + '="'+o.eAttrs[key]+'" ');
				for (var key in opts.params) {
					if (key == 'wmode' && player != 'flash')
						continue;
					a.push(key + '="'+opts.params[key]+'" ');
				}
				a.push('></em'+'bed'+'>');
			}	
		var id = el.id ? (' id="'+el.id+'"') : '';
		var cls = opts.cls ? (' class="' + opts.cls + '"') : '';
		var $div = $('<div' + id + cls + '>');
		$el.after($div).remove();
		($.browser.msie || player == 'iframe') ? $div.append(o) : $div.html(a.join(''));
		if (opts.caption) $('<div>').appendTo($div).html(opts.caption);
		return $div;
	};
	//metadata扩展
	$.extend({
		metadata : {
			defaults : {
				type: 'class',
				name: 'metadata',
				cre: /({.*})/,
				single: 'metadata'
			},
			setType: function( type, name ){
				this.defaults.type = type;
				this.defaults.name = name;
			},
			get: function( elem, opts ){
				var settings = $.extend({},this.defaults,opts);
				if ( !settings.single.length ) settings.single = 'metadata';
				var data = $.data(elem, settings.single);
				if ( data ) return data;
				data = "{}";
				if ( settings.type == "class" ) {
					var m = settings.cre.exec( elem.className );
					if ( m )
						data = m[1];
				} else if ( settings.type == "elem" ) {
					if( !elem.getElementsByTagName ) return;
					var e = elem.getElementsByTagName(settings.name);
					if ( e.length )
						data = $.trim(e[0].innerHTML);
				} else if ( elem.getAttribute != undefined ) {
					var attr = elem.getAttribute( settings.name );
					if ( attr )
						data = attr;
				}
				if ( data.indexOf( '{' ) <0 )
				data = "{" + data + "}";
				data = eval("(" + data + ")");
				$.data( elem, settings.single, data );
				return data;
			}
		}
	});
	$.fn.metadata = function( opts ){
		return $.metadata.get( this[0], opts );
	};

	/*
	SWFObject v2.2
	*******************************************************************************************
	*/
	swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();

	/*
	工具提示tooltip
	指向参数：gravity:'n'; // nw | n | ne | w | e | sw | s | se
	隐显参数：fade:true	delayIn: 500, delayOut: 1000
	html支持参数：html:true
    $('.shelp').eq(0).tooltip({trigger: 'manual',classname:'paopaotip',corner:'10px',gravity:'s'});
    $('.shelp').eq(0).tooltip('show');
	*******************************************************************************************
	*/
    function fixTitle($ele){
        if ($ele.attr('title') || typeof($ele.attr('original-title')) != 'string') {
            $ele.attr('original-title', $ele.attr('title') || '').removeAttr('title');
        }
    }
    function Tooltip(element,options) {
        this.$element = $(element);
        this.options = options;
        this.enabled = true;
        fixTitle(this.$element);
    }
    Tooltip.prototype = {
        show: function() {
            var title = this.getTitle();
            if (title && this.enabled) {
                var $tip = this.tip();
                $tip.find('.'+this.options.classname+'-inner')[this.options.html ? 'html' : 'text'](title);
                $tip[0].className = this.options.classname;
                $tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).appendTo(document.body);
                var pos = $.extend({}, this.$element.offset(), {
                    width: this.$element[0].offsetWidth,
                    height: this.$element[0].offsetHeight
                });
                var actualWidth = $tip[0].offsetWidth, actualHeight = $tip[0].offsetHeight;
                var gravity = (typeof this.options.gravity == 'function')
                                ? this.options.gravity.call(this.$element[0])
                                : this.options.gravity;
                var tp;
                switch (gravity.charAt(0)) {
                    case 'n':
                        tp = {top: pos.top + pos.height + this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2};
                        break;
                    case 's':
                        tp = {top: pos.top - actualHeight - this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2};
                        break;
                    case 'e':
                        tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth - this.options.offset};
                        break;
                    case 'w':
                        tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width + this.options.offset};
                        break;
                }
                if (gravity.length == 2) {
                    if (gravity.charAt(1) == 'w') {
                        tp.left = pos.left + pos.width / 2 - 15;
                    } else {
                        tp.left = pos.left + pos.width / 2 - actualWidth + 15;
                    }
                }
                $tip.css(tp).addClass(this.options.classname+'-' + gravity);
                
                if (this.options.fade) {
                    $tip.stop().css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: this.options.opacity});
                } else {
                    $tip.css({visibility: 'visible', opacity: this.options.opacity});
                }
				$tip.find('.tooltip-cls').parent().css('left',actualWidth-22);
				$tip.find('.tooltip-cls').click(function(){$tip.hide();});
				//$tip.find('.'+this.options.classname+'-inner').corner(this.options.corner);
            }
        },
		hide: function() {
			if (this.options.fade) {
                this.tip().stop().fadeOut(function(){$(this).remove(); });
            } else {
                this.tip().remove();
            }
        },
        getTitle:function() {
            var title, $e = this.$element, o = this.options;
            fixTitle($e);
            var title, o = this.options;
            if (typeof o.title == 'string') {
                title = $e.attr(o.title == 'title' ? 'original-title' : o.title);
            } else if (typeof o.title == 'function') {
                title = o.title.call($e[0]);
            }
            title = ('' + title).replace(/(^\s*|\s*$)/, "");
            return title || o.fallback;
        },
        tip:function() {
            if (!this.$tip) {
                this.$tip = $('<div class="'+this.options.classname+'"></div>').html((this.options.showcls ? '<div style="position:relative;float:left"><span style="position:absolute;left:0;top:-5px;width:16px;height:16px"><span class="tooltip-cls"></span></span></div>' : '')+'<div class="'+this.options.classname+'-arrow"></div><div class="'+this.options.classname+'-inner"/></div>');
            }
            return this.$tip;
        },
        validate: function() {
            if (!this.$element[0].parentNode) {
                this.hide();
                this.$element = null;
                this.options = null;
            }
        },
        enable: function() { this.enabled = true; },
        disable: function() { this.enabled = false; },
        toggleEnabled: function() { this.enabled = !this.enabled; }
    };
    $.fn.tooltip = function(options) {
        if (options === true) {
            return this.data('tooltip');
        } else if (typeof options == 'string') {
            if(this.data('tooltip')!=undefined)	return this.data('tooltip')[options]();
        }
        options = $.extend({}, $.fn.tooltip.defaults, options);
        function get(ele) {
            var tooltip = $.data(ele,'tooltip');
			if (!tooltip) {
                tooltip = new Tooltip(ele,$.fn.tooltip.elementOptions(ele,options));
                $.data(ele,'tooltip',tooltip);
            }
            return tooltip;
        }
        function enter() {
            var tooltip = get(this);
            tooltip.hoverState = 'in';
            if (options.delayIn == 0) {
                tooltip.show();
            } else {
                setTimeout(function() { if (tooltip.hoverState == 'in') tooltip.show(); }, options.delayIn);
            }
        };
        function leave() {
            var tooltip = get(this);
            tooltip.hoverState = 'out';
            if (options.delayOut == 0) {
                tooltip.hide();
            } else {
                setTimeout(function() { if (tooltip.hoverState == 'out') tooltip.hide(); }, options.delayOut);
            }
        };
        if (!options.live) this.each(function() { get(this); });
        if (options.trigger != 'manual') {
            var binder   = options.live ? 'live' : 'bind',
                eventIn  = options.trigger == 'hover' ? 'mouseenter' : 'focus',
                eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur';
            this[binder](eventIn, enter)[binder](eventOut, leave);	
        }
        return this;
    };
    $.fn.tooltip.defaults = {
        delayIn: 0,delayOut: 0,fade: false,fallback: '',gravity: 'nw',html: true,live: false,
        offset: 0,opacity: 1,title: 'title',classname: 'tooltip',corner:'3px',trigger: 'hover',showcls:false
    };
    $.fn.tooltip.elementOptions = function(ele, options) {
        return $.metadata ? $.extend({}, options, $(ele).metadata()) : options;
    };
    $.fn.tooltip.autoNS = function() {
        return $(this).offset().top > ($(document).scrollTop() + $(window).height() / 2) ? 's' : 'n';
    };
    $.fn.tooltip.autoWE = function() {
        return $(this).offset().left > ($(document).scrollLeft() + $(window).width() / 2) ? 'e' : 'w';
    };

	/*
	输入框提示watertip
	设置limiter属性后，将拥有字数提示功能 limiter="1,20"
	$(":text[tip],textarea[tip],input[tip]").watertip();
	$('#tags').setWatertip({val:''});
	*******************************************************************************************
	*/
	$.fn.watertip = function(options){
	var defaults = {boxClass: 'limitertip',remText:'剩 %n',limitText:'限 %n',errorText1:'缺 %n',errorText2:'超 %n'};
	var opts = $.extend(defaults,options);
		$(this).each(function(i){  
		var _text = $(this), 
			_objid= _text.attr("id"), 
            _title = _text.attr("tip"), 
            _class = _text.attr("className") || "";
		if(_text.attr('type')=='password'){_text.css({'font-family':'Tahoma','font-size':'22px','font-weight':'800'});if($.browser.webkit){_text.attr('masktip',parseInt(_text.attr('masktip'),10)+1);}}
		if($('#'+_text.attr("id")+'watertip').length>1) return;
		var _showlimiter = $(this).attr("limiter")==undefined ? false : true;
		var _showmasktip = $(this).attr("masktip")==undefined ? false : true;
			_html='<div id="'+_text.attr("id")+'watertip" class="watertip"></div>'+(_showlimiter ? '<div style="float:left;position:relative;width:0;height:0;z-index:101"><div id="'+_text.attr("id")+'limitertip" class="'+opts.boxClass+'" style="display:none">&nbsp;</div></div>' : '');
			_text.css('float','left').wrap('<div id="'+_text.attr("id")+'watertipbox"></div>').before(_html);
            _water=$("#"+_objid+'watertip');
			var fontFamily=(parseInt(_text.css("fontSize"),10)>=16) ? '\5fae\8f6f\96c5\9ed1,\5b8b\4f53' : _text.css("font-family");
			if(_showmasktip){
			_water.after('<div style="float:left;position:relative;width:0;height:0;z-index:102"><div id="'+_text.attr("id")+'masktip" class="masktip" style="display:none"></div></div>');
			var logFunc1 = function(){chkMaskTip($(this));};_text.keyup(logFunc1).bind('text',logFunc1);
			}
			_water.css({ 
			color: "#c7c7c5",border:_text.css("border"),width:_text.css("width"),height:_text.css("height"),fontFamily:fontFamily,fontSize:_text.css("fontSize"),textIndent:_text.css("text-indent"),lineHeight: (_text.attr("type")=='text'||_text.attr("type")=='password' ?_text.css("height") : _text.css("lineHeight")),paddingTop:_text.css("paddingTop"),paddingBottom:_text.css("paddingBottom"),paddingLeft:_text.css("paddingLeft"),paddingRight:_text.css("paddingRight"),marginTop:_text.css("marginTop"),marginBottom:_text.css("marginBottom"),marginLeft:_text.css("marginLeft"),marginRight:_text.css("marginRight"),cursor:"text",overflow:"hidden"})
			.html(_title).click(function(){_text.trigger("focus");});
			_water.hover(function(){$(this).addClass("hover");},function(){$(this).removeClass("hover")}).focus(function(){$(this).removeClass("hover");$(this).addClass("focus")}).blur(function(){$(this).removeClass("focus")});
			_text.focus(function(){
			_water=$("#"+$(this).attr("id")+'watertip');_water.hide();$(this).show().select();
				if(_showlimiter){
				$("#"+_objid+'limitertip').css({
				'width': _text.innerWidth() + 'px',
				'left': '0',
				'top': 0 - $("#"+_objid+'limitertip').height() + 'px'
				}).html('<span>'+countLen($(this))+'</span>').fadeTo(0,1);
				$(this).everyTime(100,function(){$("#"+_objid+'limitertip')[0].innerHTML='<span>'+countLen($(this))+'</span>';});
				}
			}).blur(function(){if($(this).attr("noblur")!=undefined){$("#"+$(this).attr('id')+'limitertip').hide();o=$('[tabfocus="'+$(this).attr("noblur")+'"]');$(this).removeAttr("noblur");setTimeout(function(){o.focus().select()},50);return;};if($(this).val()==""){_water=$("#"+$(this).attr("id")+'watertip');_water.show();$(this).hide();}
				if(_showlimiter){$("#"+_objid+'limitertip').hide();$(this).stopTime();}
				if(_showmasktip){$("#"+_objid+'masktip').fadeOut(300);}
				$(this).removeClass("hover");$(this).removeClass("focus");
			});
			
			var logFunc2 = function(e){
				if(_showlimiter){
				//if($("#"+_objid+'limitertip')[0]!=undefined) $("#"+_objid+'limitertip')[0].innerHTML=countLen($(this));
				}
				if(e.keyCode==9){
				tindex=$(this).attr('tabfocus');
				$("#"+$(this).attr('id')+'limitertip').hide();
				if(tindex==undefined) return;
				arr=tindex.split(',');
				$(this).setWatertip({val:$(this).val()});
				o=$('[tabfocus="'+arr[0]+','+(parseInt(arr[1],10)+1)+'"]');
				if(o.length<1){o=$('[tabfocus="'+arr[0]+',1"]');}
				$(this).attr('noblur',o.attr('tabfocus'));
				o.focus().select();
				}
			};
			_text.keydown(logFunc2).bind('text',logFunc2);
			if(_text.val()==""){_text.hide();_water.show();}else{_text.show();_water.hide();}
		});
		function chkMaskTip(obj){
		var str=obj.val(),len=str.length,_mask=$("#"+obj.attr('id')+'masktip');
		if(len==0){
		_mask.html('').fadeOut(300);
		}else{
		l=len*parseInt(obj.attr("masktip"),10);
		_mask.css({top:(0-obj.height()-3)+'px',left:(l>obj.width() ? obj.width() : l)-15+'px'});
		_mask.html(str.substr(len-1,1)).show();obj.attr('using',true);
		obj.stopTime();
		obj.oneTime(1000,function(){_mask.html('').fadeOut(300);});
		}
		}
		function countLen(obj){
		var len=(obj.val()=='')?0:obj.val().replace(/[^\x00-\xff]/g,'xx').length;
		if(obj.attr('limiter')=='password'){
		return evaluatePswd(obj.val());
		}else{
		var arr=obj.attr('limiter').split(',');
			if(len<parseInt(arr[0],10)){
			var limitText = opts.limitText.replace(/\%n/g, arr[0]+'-'+arr[1]);var errorText = opts.errorText1.replace(/\%n/g,(arr[0]-len));var out= '<font color="red">'+errorText+'</font>&emsp;'+limitText;
			}else if(len>=parseInt(arr[1],10)){
			var limitText = opts.limitText.replace(/\%n/g, arr[0]+'-'+arr[1]);var errorText = opts.errorText2.replace(/\%n/g,(len-arr[1]));var out= '<font color="red">'+errorText+'</font>&emsp;'+limitText;
			}else{
			var limitText = opts.limitText.replace(/\%n/g, arr[0]+'-'+arr[1]);var remText = opts.remText.replace(/\%n/g,(arr[1]-len));var out= remText+'&emsp;'+limitText;
			}
		return out+'&emsp;';
		}
		}
		/*
		1. 密码长度小于或等于六位.或者密码只有一种组合
　		2. 密码长度大于六位, 且有两种组合.
　		3. 密码长度大于六位, 且有三种组合.
	　	4. 密码长度大于六位, 且有四种组合.
		*/
		function evaluatePswd(word){
		var arr=new Array('低','中','高','强');
		if(word==""){
		var grd=0;
		}else if(word.length<7){
		var grd=1;
		}else{
		var grd=word.match(/[a-z](?![^a-z]*[a-z])|[A-Z](?![^A-Z]*[A-Z])|\d(?![^\d]*\d)|[^a-zA-Z\d](?![a-zA-Z\d]*[^a-zA-Z\d])/g).length;
		}
		return (grd==0) ? '等待强度检测' : '密码强度：'+arr[grd-1];
		}
	};
	$.fn.setWatertip = function(options){
	var defaults = {val:""};
	var opts = $.extend(defaults, options);
	$(this).val(opts.val);
	_water=$("#"+$(this).attr("id")+'watertip');
	if($(this).val()==""){$(this).hide();_water.show();}else{$(this).show();_water.hide();} 
	};
	
	/*
	分页插cookie
	基于Cookie plugin
	$.cookie('the_cookie'); //读取Cookie值
	$.cookie(’the_cookie’, ‘the_value’); //设置cookie的值
	$.cookie(’the_cookie’, ‘the_value’, {expires: 7, path: ‘/’, domain: ‘jquery.com’, secure: true});
	*******************************************************************************************
	*/
	jQuery.cookie = function(name, value, options) {
		if (typeof value != 'undefined') {
			options = options || {};
			if (value === null) {
				value = '';
				options.expires = -1;
			}
			var expires = '';
			if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
				var date;
				if (typeof options.expires == 'number') {
					date = new Date();
					date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
				} else {
					date = options.expires;
				}
				expires = '; expires=' + date.toUTCString();
			}
			var path = options.path ? '; path=' + (options.path) : '';
			var domain = options.domain ? '; domain=' + (options.domain) : '';
			var secure = options.secure ? '; secure' : '';
			document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
		} else {
			var cookieValue = null;
			if (document.cookie && document.cookie != '') {
				var cookies = document.cookie.split(';');
				for (var i = 0; i < cookies.length; i++) {
					var cookie = jQuery.trim(cookies[i]);
					if (cookie.substring(0, name.length + 1) == (name + '=')) {
						cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
						break;
					}
				}
			}
			return cookieValue;
		}
	};	
	
	/*
	分页插件pagination
	基于Pagination 1.2
	修正了按钮圆角的问题，调用了corner插件
	*******************************************************************************************
	*/
	$.fn.pagination = function(maxentries, opts){
		opts = jQuery.extend({
			items_per_page:10,
			num_display_entries:5,
			current_page:0,
			num_edge_entries:1,
			link_to:"javascript:",
			prev_text:"<",
			next_text:">",
			ellipse_text:"...",
			prev_show_always:true,
			next_show_always:true,
			corner:'4px',
			callback:function(){return false;}
		},opts||{});
		
		return this.each(function(){
			$(this).attr("np",numPages());
			function numPages() {
				return Math.ceil(maxentries/opts.items_per_page);
			}
			function getInterval()  {
				var ne_half = Math.ceil(opts.num_display_entries/2);
				var np = numPages();
				var upper_limit = np-opts.num_display_entries;
				var start = current_page>ne_half?Math.max(Math.min(current_page-ne_half, upper_limit), 0):0;
				var end = current_page>ne_half?Math.min(current_page+ne_half, np):Math.min(opts.num_display_entries, np);
				return [start,end];
			}
			function pageSelected(page_id, evt){
				current_page = page_id;
				$('#do').attr('pid',current_page);
				drawLinks();
				var continuePropagation = opts.callback(page_id, panel);
				if (!continuePropagation) {
					if (evt.stopPropagation) {
						evt.stopPropagation();
					}
					else {
						evt.cancelBubble = true;
					}
				}
				setTimeout(setCorner,10);
				return continuePropagation;
			}
			function setCorner(){
			if(opts.corner==0) return;
			$(panel).find("span").corner(opts.corner).end().find("a").corner(opts.corner+" Hover").end();
			}
			function drawLinks() {
				panel.empty();
				var interval = getInterval();
				var np = numPages();
				var getClickHandler = function(page_id) {
					return function(evt){ return pageSelected(page_id,evt); }
				}
				var appendItem = function(page_id, appendopts){
					page_id = page_id<0?0:(page_id<np?page_id:np-1); // Normalize page id to sane value
					appendopts = jQuery.extend({text:page_id+1, classes:""}, appendopts||{});
					if(page_id == current_page){
						var lnk = $("<span class='current'>"+(appendopts.text)+"</span>");
					}
					else
					{
						var lnk = $("<a>"+(appendopts.text)+"</a>")
							.bind("click", getClickHandler(page_id))
							.attr('href', opts.link_to.replace(/__id__/,page_id));
					}
					if(appendopts.classes){lnk.addClass(appendopts.classes);}
					panel.append(lnk);
				}
				if(opts.prev_text && (current_page > 0 || opts.prev_show_always)){
					appendItem(current_page-1,{text:opts.prev_text, classes:"prev"});
				}
				if (interval[0] > 0 && opts.num_edge_entries > 0)
				{
					var end = Math.min(opts.num_edge_entries, interval[0]);
					for(var i=0; i<end; i++) {
						appendItem(i);
					}
					if(opts.num_edge_entries < interval[0] && opts.ellipse_text)
					{
						jQuery("<span>"+opts.ellipse_text+"</span>").appendTo(panel);
					}
				}
				for(var i=interval[0]; i<interval[1]; i++) {
					appendItem(i);
				}
				if (interval[1] < np && opts.num_edge_entries > 0)
				{
					if(np-opts.num_edge_entries > interval[1]&& opts.ellipse_text)
					{
						jQuery("<span>"+opts.ellipse_text+"</span>").appendTo(panel);
					}
					var begin = Math.max(np-opts.num_edge_entries, interval[1]);
					for(var i=begin; i<np; i++) {
						appendItem(i);
					}
				}
				if(opts.next_text && (current_page < np-1 || opts.next_show_always)){
					appendItem(current_page+1,{text:opts.next_text, classes:"next"});
				}
			setTimeout(setCorner,10);
			}
			opts.current_page=(opts.current_page<0) ? 0 : opts.current_page;
			var current_page = opts.current_page;
			$('#do').attr('pid',current_page);
			maxentries = (!maxentries || maxentries < 0)?1:maxentries;
			opts.items_per_page = (!opts.items_per_page || opts.items_per_page < 0)?1:opts.items_per_page;
			var panel = jQuery(this);
			this.selectPage = function(page_id){ pageSelected(page_id);}
			this.prevPage = function(){ 
				if (current_page > 0) {
					pageSelected(current_page - 1);
					return true;
				}
				else {
					return false;
				}
			}
			this.nextPage = function(){ 
				if(current_page < numPages()-1) {
					pageSelected(current_page+1);
					return true;
				}
				else {
					return false;
				}
			}
			drawLinks();
		});
	};
	
	/*
	置顶插件scrolltotop
	scrolltotop.controlHTML='<a href="#top" id="scrolltotop">返回顶部</a>';
	*******************************************************************************************
	*/
	scrolltotop={
	setting: {startline:100, scrollto: 0, scrollduration:500, fadeduration:[500, 100]},
	controlHTML: '<a href="#top" id="scrolltotop"></a>',
	controlattrs: {offsetx:5, offsety:5}, 
	anchorkeyword: '#top', 
	state: {isvisible:false, shouldvisible:false},
	scrollup:function(){
		if (!this.cssfixedsupport) {
			if(this.$control!=undefined) this.$control.css({opacity:0}) 
		};
		var dest=isNaN(this.setting.scrollto)? this.setting.scrollto : parseInt(this.setting.scrollto);
		if (typeof dest=="string" && jQuery('#'+dest).length==1) {
			dest=jQuery('#'+dest).offset().top;
		} else {
			dest=this.setting.scrollto;
		};
		if(this.$body!=undefined) this.$body.animate({scrollTop: dest}, this.setting.scrollduration);
	},
	keepfixed:function(){
		var $window=jQuery(window);
		var controlx=$window.scrollLeft() + $window.width() - this.$control.width() - this.controlattrs.offsetx;
		var controly=$window.scrollTop() + $window.height() - this.$control.height() - this.controlattrs.offsety;
		this.$control.css({left:controlx+'px', top:controly+'px'});
	},
	togglecontrol:function(){
		var scrolltop=jQuery(window).scrollTop();
		if (!this.cssfixedsupport) {
			this.keepfixed();
		};
		this.state.shouldvisible=(scrolltop>=this.setting.startline)? true : false;
		if (this.state.shouldvisible && !this.state.isvisible){
			this.$control.stop().animate({opacity:1}, this.setting.fadeduration[0]);
			this.state.isvisible=true;
		}
		else if (this.state.shouldvisible==false && this.state.isvisible){
			this.$control.stop().animate({opacity:0}, this.setting.fadeduration[1]);
			this.state.isvisible=false;
		}
	},
	init:function(){
		jQuery(document).ready(function($){
			if($("body").attr('scrolltotop')!='no'){
			scrolltotop.cssfixedsupport=!document.all || document.all && document.compatMode=="CSS1Compat" && window.XMLHttpRequest;
			scrolltotop.$body=(window.opera)? (document.compatMode=="CSS1Compat"? $('html') : $('body')) : $('html,body');
			scrolltotop.$control=$('<div id="topcontrol">'+scrolltotop.controlHTML+'</div>')
				.css({position:scrolltotop.cssfixedsupport? 'fixed' : 'absolute', bottom:scrolltotop.controlattrs.offsety, right:scrolltotop.controlattrs.offsetx, opacity:0, cursor:'pointer'})
				.click(function(){scrolltotop.scrollup(); return false;})
				.appendTo('body');
			if (document.all && !window.XMLHttpRequest && scrolltotop.$control.text()!='') {
				scrolltotop.$control.css({width:scrolltotop.$control.width()});
			};
			scrolltotop.togglecontrol();
			$('a[href="' + scrolltotop.anchorkeyword +'"]').click(function(){
				scrolltotop.scrollup();
				return false;
			});
			$(window).bind('scroll resize', function(e){
				scrolltotop.togglecontrol();
			});
			}
			});
		}
	};
	/*
	鼠标滚轮插件mousewheel
	基于mousewheel 3.0
	$(window).bind('mousewheel',function(){});
	*******************************************************************************************
	*/
	$.event.special.mousewheel = {
		setup: function() {
			var handler = $.event.special.mousewheel.handler;
			if ( $.browser.mozilla )
				$(this).bind('mousemove.mousewheel', function(event) {
					$.data(this, 'mwcursorposdata', {
						pageX: event.pageX,
						pageY: event.pageY,
						clientX: event.clientX,
						clientY: event.clientY
					});
				});
			if ( this.addEventListener )
				this.addEventListener( ($.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel'), handler, false);
			else
				this.onmousewheel = handler;
		},
		teardown: function() {
			var handler = $.event.special.mousewheel.handler;
			$(this).unbind('mousemove.mousewheel');
			if ( this.removeEventListener )
				this.removeEventListener( ($.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel'), handler, false);
			else
				this.onmousewheel = function(){};
			$.removeData(this, 'mwcursorposdata');
		},
		handler: function(event) {
			var args = Array.prototype.slice.call( arguments, 1 );
			event = $.event.fix(event || window.event);
			$.extend( event, $.data(this, 'mwcursorposdata') || {} );
			var delta = 0, returnValue = true;
			if ( event.wheelDelta ) delta = event.wheelDelta/120;
			if ( event.detail     ) delta = -event.detail/3;
			event.data  = event.data || {};
			event.type  = "mousewheel";
			args.unshift(delta);
			args.unshift(event);
			return $.event.handle.apply(this, args);
		}
	};
	$.fn.extend({
		mousewheel: function(fn) {
			return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
		},
		unmousewheel: function(fn) {
			return this.unbind("mousewheel", fn);
		}
	});
	
	/*
	滚动面板插件jScrollPane
	$('#listbox').jScrollPane();
	*******************************************************************************************
	*/
	$.jScrollPane={
	active:[]
	};
	$.fn.jScrollPane = function(settings){
		settings = $.extend({}, $.fn.jScrollPane.defaults, settings);
		var rf = function() { return false; };
		return this.each(
			function(){
				var $this = $(this);
				$this.css('overflow', 'hidden');
				var paneEle = this;
				if ($(this).parent().is('.jScrollPaneContainer')) {
					var currentScrollPosition = settings.maintainPosition ? $this.position().top : 0;
					var $c = $(this).parent();
					var paneWidth = $c.innerWidth();
					var paneHeight = $c.outerHeight();
					var trackHeight = paneHeight;
					$('>.jScrollPaneTrack, >.jScrollArrowUp, >.jScrollArrowDown', $c).remove();
					$this.css({'top':0});
				} else {
					var currentScrollPosition = 0;
					this.originalPadding = $this.css('paddingTop') + ' ' + $this.css('paddingRight') + ' ' + $this.css('paddingBottom') + ' ' + $this.css('paddingLeft');
					this.originalSidePaddingTotal = (parseInt($this.css('paddingLeft')) || 0) + (parseInt($this.css('paddingRight')) || 0);
					var paneWidth = $this.innerWidth();
					var paneHeight = $this.innerHeight();
					var trackHeight = paneHeight;
					$this.wrap(
						$('<div></div>').attr(
							{'className':'jScrollPaneContainer'}
						).css(
							{
								'height':paneHeight+'px', 
								'width':paneWidth+'px'
							}
						)
					);
				$(document).bind('emchange',function(e, cur, prev){$this.jScrollPane(settings);});
				}
				if (settings.reinitialiseOnImageLoad) {
					var $imagesToLoad = $.data(paneEle, 'jScrollPaneImagesToLoad') || $('img', $this);
					var loadedImages = [];
					if ($imagesToLoad.length) {
						$imagesToLoad.each(function(i, val)	{
							$(this).bind('load', function() {
								if($.inArray(i, loadedImages) == -1){
									loadedImages.push(val);
									$imagesToLoad = $.grep($imagesToLoad, function(n, i) {
										return n != val;
									});
									$.data(paneEle, 'jScrollPaneImagesToLoad', $imagesToLoad);
									settings.reinitialiseOnImageLoad = false;
									$this.jScrollPane(settings);
								}
							}).each(function(i, val) {
								if(this.complete || this.complete===undefined) { 
									this.src = this.src; 
								} 
							});
						});
					};
				}
				var p = this.originalSidePaddingTotal;
				var cssToApply = {
					'height':'auto',
					'width':paneWidth - settings.scrollbarWidth - settings.scrollbarMargin - p + 'px'
				}
				if(settings.scrollbarOnLeft) {
					cssToApply.paddingLeft = settings.scrollbarMargin + settings.scrollbarWidth + 'px';
				} else {
					cssToApply.paddingRight = settings.scrollbarMargin + 'px';
				}
				$this.css(cssToApply);
				var contentHeight = $this.outerHeight();
				var percentInView = paneHeight / contentHeight;
				if (percentInView < .99) {
					var $container = $this.parent();
					$container.append(
						$('<div></div>').attr({'className':'jScrollPaneTrack'}).css({'width':settings.scrollbarWidth+'px'}).append(
							$('<div></div>').attr({'className':'jScrollPaneDrag'}).css({'width':settings.scrollbarWidth+'px'}).append(
								$('<div></div>').attr({'className':'jScrollPaneDragTop'}).css({'width':settings.scrollbarWidth+'px'}),
								$('<div></div>').attr({'className':'jScrollPaneDragBottom'}).css({'width':settings.scrollbarWidth+'px'})
							)
						)
					);
					var $track = $('>.jScrollPaneTrack', $container);
					var $drag = $('>.jScrollPaneTrack .jScrollPaneDrag', $container);
					if (settings.showArrows) {
						var currentArrowButton;
						var currentArrowDirection;
						var currentArrowInterval;
						var currentArrowInc;
						var whileArrowButtonDown = function()
						{
							if (currentArrowInc > 4 || currentArrowInc%4==0) {
								positionDrag(dragPosition + currentArrowDirection * mouseWheelMultiplier);
							}
							currentArrowInc ++;
						};
						var onArrowMouseUp = function(event)
						{
							$('html').unbind('mouseup', onArrowMouseUp);
							currentArrowButton.removeClass('jScrollActiveArrowButton');
							clearInterval(currentArrowInterval);
						};
						var onArrowMouseDown = function() {
							$('html').bind('mouseup', onArrowMouseUp);
							currentArrowButton.addClass('jScrollActiveArrowButton');
							currentArrowInc = 0;
							whileArrowButtonDown();
							currentArrowInterval = setInterval(whileArrowButtonDown, 100);
						};
						$container
							.append(
								$('<a></a>')
									.attr({'href':'javascript:;', 'className':'jScrollArrowUp'})
									.css({'width':settings.scrollbarWidth+'px'})
									.html('Scroll up')
									.bind('mousedown', function()
									{
										currentArrowButton = $(this);
										currentArrowDirection = -1;
										onArrowMouseDown();
										this.blur();
										return false;
									})
									.bind('click', rf),
								$('<a></a>')
									.attr({'href':'javascript:;', 'className':'jScrollArrowDown'})
									.css({'width':settings.scrollbarWidth+'px'})
									.html('Scroll down')
									.bind('mousedown', function()
									{
										currentArrowButton = $(this);
										currentArrowDirection = 1;
										onArrowMouseDown();
										this.blur();
										return false;
									})
									.bind('click', rf)
							);
						var $upArrow = $('>.jScrollArrowUp', $container);
						var $downArrow = $('>.jScrollArrowDown', $container);
						if (settings.arrowSize) {
							trackHeight = paneHeight - settings.arrowSize - settings.arrowSize;
							$track
								.css({'height': trackHeight+'px', top:settings.arrowSize+'px'})
						} else {
							var topArrowHeight = $upArrow.height();
							settings.arrowSize = topArrowHeight;
							trackHeight = paneHeight - topArrowHeight - $downArrow.height();
							$track
								.css({'height': trackHeight+'px', top:topArrowHeight+'px'})
						}
					}
					
					var $pane = $(this).css({'position':'absolute', 'overflow':'visible'});
					
					var currentOffset;
					var maxY;
					var mouseWheelMultiplier;
					var dragPosition = 0;
					var dragMiddle = percentInView*paneHeight/2;
					var getPos = function (event, c) {
						var p = c == 'X' ? 'Left' : 'Top';
						return event['page' + c] || (event['client' + c] + (document.documentElement['scroll' + p] || document.body['scroll' + p])) || 0;
					};
					var ignoreNativeDrag = function() {	return false; };
					var initDrag = function()
					{
						ceaseAnimation();
						currentOffset = $drag.offset(false);
						currentOffset.top -= dragPosition;
						maxY = trackHeight - $drag[0].offsetHeight;
						mouseWheelMultiplier = 2 * settings.wheelSpeed * maxY / contentHeight;
					};
					var onStartDrag = function(event)
					{
						initDrag();
						dragMiddle = getPos(event, 'Y') - dragPosition - currentOffset.top;
						$('html').bind('mouseup', onStopDrag).bind('mousemove', updateScroll);
						if ($.browser.msie) {
							$('html').bind('dragstart', ignoreNativeDrag).bind('selectstart', ignoreNativeDrag);
						}
						return false;
					};
					var onStopDrag = function()
					{
						$('html').unbind('mouseup', onStopDrag).unbind('mousemove', updateScroll);
						dragMiddle = percentInView*paneHeight/2;
						if ($.browser.msie) {
							$('html').unbind('dragstart', ignoreNativeDrag).unbind('selectstart', ignoreNativeDrag);
						}
					};
					var positionDrag = function(destY)
					{
						destY = destY < 0 ? 0 : (destY > maxY ? maxY : destY);
						dragPosition = destY;
						$drag.css({'top':destY+'px'});
						var p = destY / maxY;
						$pane.css({'top':((paneHeight-contentHeight)*p) + 'px'});
						$this.trigger('scroll');
						if (settings.showArrows) {
							$upArrow[destY == 0 ? 'addClass' : 'removeClass']('disabled');
							$downArrow[destY == maxY ? 'addClass' : 'removeClass']('disabled');
						}
					};
					var updateScroll = function(e)
					{
						positionDrag(getPos(e, 'Y') - currentOffset.top - dragMiddle);
					};
					var dragH = Math.max(Math.min(percentInView*(paneHeight-settings.arrowSize*2), settings.dragMaxHeight), settings.dragMinHeight);
					$drag.css(
						{'height':dragH+'px'}
					).bind('mousedown', onStartDrag);
					
					var trackScrollInterval;
					var trackScrollInc;
					var trackScrollMousePos;
					var doTrackScroll = function()
					{
						if (trackScrollInc > 8 || trackScrollInc%4==0) {
							positionDrag((dragPosition - ((dragPosition - trackScrollMousePos) / 2)));
						}
						trackScrollInc ++;
					};
					var onStopTrackClick = function()
					{
						clearInterval(trackScrollInterval);
						$('html').unbind('mouseup', onStopTrackClick).unbind('mousemove', onTrackMouseMove);
					};
					var onTrackMouseMove = function(event)
					{
						trackScrollMousePos = getPos(event, 'Y') - currentOffset.top - dragMiddle;
					};
					var onTrackClick = function(event)
					{
						initDrag();
						onTrackMouseMove(event);
						trackScrollInc = 0;
						$('html').bind('mouseup', onStopTrackClick).bind('mousemove', onTrackMouseMove);
						trackScrollInterval = setInterval(doTrackScroll, 100);
						doTrackScroll();
					};
					
					$track.bind('mousedown', onTrackClick);
					
					$container.bind(
						'mousewheel',
						function (event, delta) {
							initDrag();
							ceaseAnimation();
							var d = dragPosition;
							positionDrag(dragPosition - delta * mouseWheelMultiplier);
							var dragOccured = d != dragPosition;
							return !dragOccured;
						}
					);
	
					var _animateToPosition;
					var _animateToInterval;
					function animateToPosition()
					{
						var diff = (_animateToPosition - dragPosition) / settings.animateStep;
						if (diff > 1 || diff < -1) {
							positionDrag(dragPosition + diff);
						} else {
							positionDrag(_animateToPosition);
							ceaseAnimation();
						}
					}
					var ceaseAnimation = function()
					{
						if (_animateToInterval) {
							clearInterval(_animateToInterval);
							delete _animateToPosition;
						}
					};
					var scrollTo = function(pos, preventAni)
					{
						if (typeof pos == "string") {
							$e = $(pos, $this);
							if (!$e.length) return;
							pos = $e.offset().top - $this.offset().top;
						}
						$container.scrollTop(0);
						ceaseAnimation();
						var destDragPosition = -pos/(paneHeight-contentHeight) * maxY;
						if (preventAni || !settings.animateTo) {
							positionDrag(destDragPosition);
						} else {
							_animateToPosition = destDragPosition;
							_animateToInterval = setInterval(animateToPosition, settings.animateInterval);
						}
					};
					$this[0].scrollTo = scrollTo;
					
					$this[0].scrollBy = function(delta)
					{
						var currentPos = -parseInt($pane.css('top')) || 0;
						scrollTo(currentPos + delta);
					};
					initDrag();
					scrollTo(-currentScrollPosition, true);
					$('*', this).bind(
						'focus',
						function(event)
						{
							var $e = $(this);
							var eleTop = 0;
							while ($e[0] != $this[0]) {
								eleTop += $e.position().top;
								$e = $e.offsetParent();
							}
							var viewportTop = -parseInt($pane.css('top')) || 0;
							var maxVisibleEleTop = viewportTop + paneHeight;
							var eleInView = eleTop > viewportTop && eleTop < maxVisibleEleTop;
							if (!eleInView) {
								var destPos = eleTop - settings.scrollbarMargin;
								if (eleTop > viewportTop) {
									destPos += $(this).height() + 15 + settings.scrollbarMargin - paneHeight;
								}
								scrollTo(destPos);
							}
						}
					)
					if (location.hash) {
						scrollTo(location.hash);
					}
					$(document).bind(
						'click',
						function(e)
						{
							$target = $(e.target);
							if ($target.is('a')) {
								var h = $target.attr('href');
								if(h==undefined) return;
								if (h.substr(0, 1) == '#') {
									scrollTo(h);
								}
							}
						}
					);
					
					$.jScrollPane.active.push($this[0]);
					
				} else {
					$this.css(
						{
							'height':paneHeight+'px',
							'width':paneWidth-this.originalSidePaddingTotal+'px',
							'padding':this.originalPadding
						}
					);
					$this.parent().unbind('mousewheel');
				}
				
			}
		)
	};
	$.fn.jScrollPane.defaults = {
		scrollbarWidth : 13,
		scrollbarMargin : 5,
		wheelSpeed : 18,
		showArrows : true,
		arrowSize : 0,
		animateTo : false,
		dragMinHeight : 1,
		dragMaxHeight : 99999,
		animateInterval : 100,
		animateStep: 3,
		maintainPosition: true,
		scrollbarOnLeft: false,
		reinitialiseOnImageLoad: false
	};
	$(window)
		.bind('unload', function() {
			var els = $.jScrollPane.active; 
			for (var i=0; i<els.length; i++) {
				els[i].scrollTo = els[i].scrollBy = null;
			}
		}
	);
	
	/*
	基于ui.core.js
	*******************************************************************************************
	*/
	jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.1",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);

	/*
	排序插件Sortable
	基于jQuery UI Sortable 1.7.1
	*******************************************************************************************
	*/
	(function(a){a.widget("ui.sortable",a.extend({},a.ui.mouse,{_init:function(){var b=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--){this.items[b].item.removeData("sortable-item")}},_mouseCapture:function(e,f){if(this.reverting){return false}if(this.options.disabled||this.options.type=="static"){return false}this._refreshItems(e);var d=null,c=this,b=a(e.target).parents().each(function(){if(a.data(this,"sortable-item")==c){d=a(this);return false}});if(a.data(e.target,"sortable-item")==c){d=a(e.target)}if(!d){return false}if(this.options.handle&&!f){var g=false;a(this.options.handle,d).find("*").andSelf().each(function(){if(this==e.target){g=true}});if(!g){return false}}this.currentItem=d;this._removeCurrentsFromItems();return true},_mouseStart:function(e,f,b){var g=this.options,c=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(e);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");a.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(e);this.originalPageX=e.pageX;this.originalPageY=e.pageY;if(g.cursorAt){this._adjustOffsetFromHelper(g.cursorAt)}this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!=this.currentItem[0]){this.currentItem.hide()}this._createPlaceholder();if(g.containment){this._setContainment()}if(g.cursor){if(a("body").css("cursor")){this._storedCursor=a("body").css("cursor")}a("body").css("cursor",g.cursor)}if(g.opacity){if(this.helper.css("opacity")){this._storedOpacity=this.helper.css("opacity")}this.helper.css("opacity",g.opacity)}if(g.zIndex){if(this.helper.css("zIndex")){this._storedZIndex=this.helper.css("zIndex")}this.helper.css("zIndex",g.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){this.overflowOffset=this.scrollParent.offset()}this._trigger("start",e,this._uiHash());if(!this._preserveHelperProportions){this._cacheHelperProportions()}if(!b){for(var d=this.containers.length-1;d>=0;d--){this.containers[d]._trigger("activate",e,c._uiHash(this))}}if(a.ui.ddmanager){a.ui.ddmanager.current=this}if(a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,e)}this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(e);return true},_mouseDrag:function(f){this.position=this._generatePosition(f);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs}if(this.options.scroll){var g=this.options,b=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-f.pageY<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop+g.scrollSpeed}else{if(f.pageY-this.overflowOffset.top<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop-g.scrollSpeed}}if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-f.pageX<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft+g.scrollSpeed}else{if(f.pageX-this.overflowOffset.left<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft-g.scrollSpeed}}}else{if(f.pageY-a(document).scrollTop()<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-g.scrollSpeed)}else{if(a(window).height()-(f.pageY-a(document).scrollTop())<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+g.scrollSpeed)}}if(f.pageX-a(document).scrollLeft()<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-g.scrollSpeed)}else{if(a(window).width()-(f.pageX-a(document).scrollLeft())<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+g.scrollSpeed)}}}if(b!==false&&a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,f)}}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d],c=e.item[0],h=this._intersectsWithPointer(e);if(!h){continue}if(c!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=c&&!a.ui.contains(this.placeholder[0],c)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],c):true)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(e)){this._rearrange(f,e)}else{break}this._trigger("change",f,this._uiHash());break}}this._contactContainers(f);if(a.ui.ddmanager){a.ui.ddmanager.drag(this,f)}this._trigger("sort",f,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(c,d){if(!c){return}if(a.ui.ddmanager&&!this.options.dropBehaviour){a.ui.ddmanager.drop(this,c)}if(this.options.revert){var b=this;var e=b.placeholder.offset();b.reverting=true;a(this.helper).animate({left:e.left-this.offset.parent.left-b.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-b.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){b._clear(c)})}else{this._clear(c,d)}return false},cancel:function(){var b=this;if(this.dragging){this._mouseUp();if(this.options.helper=="original"){this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}for(var c=this.containers.length-1;c>=0;c--){this.containers[c]._trigger("deactivate",null,b._uiHash(this));if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",null,b._uiHash(this));this.containers[c].containerCache.over=0}}}if(this.placeholder[0].parentNode){this.placeholder[0].parentNode.removeChild(this.placeholder[0])}if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode){this.helper.remove()}a.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){a(this.domPosition.prev).after(this.currentItem)}else{a(this.domPosition.parent).prepend(this.currentItem)}return true},serialize:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};a(b).each(function(){var e=(a(d.item||this).attr(d.attribute||"id")||"").match(d.expression||(/(.+)[-=_](.+)/));if(e){c.push((d.key||e[1]+"[]")+"="+(d.key&&d.expression?e[1]:e[2]))}});return c.join("&")},toArray:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};b.each(function(){c.push(a(d.item||this).attr(d.attribute||"id")||"")});return c},_intersectsWith:function(m){var e=this.positionAbs.left,d=e+this.helperProportions.width,k=this.positionAbs.top,j=k+this.helperProportions.height;var f=m.left,c=f+m.width,n=m.top,i=n+m.height;var o=this.offset.click.top,h=this.offset.click.left;var g=(k+o)>n&&(k+o)<i&&(e+h)>f&&(e+h)<c;if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>m[this.floating?"width":"height"])){return g}else{return(f<e+(this.helperProportions.width/2)&&d-(this.helperProportions.width/2)<c&&n<k+(this.helperProportions.height/2)&&j-(this.helperProportions.height/2)<i)}},_intersectsWithPointer:function(d){var e=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,d.top,d.height),c=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,d.left,d.width),g=e&&c,b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(!g){return false}return this.floating?(((f&&f=="right")||b=="down")?2:1):(b&&(b=="down"?2:1))},_intersectsWithSides:function(e){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+(e.height/2),e.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+(e.width/2),e.width),b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(this.floating&&f){return((f=="right"&&d)||(f=="left"&&!d))}else{return b&&((b=="down"&&c)||(b=="up"&&!c))}},_getDragVerticalDirection:function(){var b=this.positionAbs.top-this.lastPositionAbs.top;return b!=0&&(b>0?"down":"up")},_getDragHorizontalDirection:function(){var b=this.positionAbs.left-this.lastPositionAbs.left;return b!=0&&(b>0?"right":"left")},refresh:function(b){this._refreshItems(b);this.refreshPositions()},_connectWith:function(){var b=this.options;return b.connectWith.constructor==String?[b.connectWith]:b.connectWith},_getItemsAsjQuery:function(b){var l=this;var g=[];var e=[];var h=this._connectWith();if(h&&b){for(var d=h.length-1;d>=0;d--){var k=a(h[d]);for(var c=k.length-1;c>=0;c--){var f=a.data(k[c],"sortable");if(f&&f!=this&&!f.options.disabled){e.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper"),f])}}}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper"),this]);for(var d=e.length-1;d>=0;d--){e[d][0].each(function(){g.push(this)})}return a(g)},_removeCurrentsFromItems:function(){var d=this.currentItem.find(":data(sortable-item)");for(var c=0;c<this.items.length;c++){for(var b=0;b<d.length;b++){if(d[b]==this.items[c].item[0]){this.items.splice(c,1)}}}},_refreshItems:function(b){this.items=[];this.containers=[this];var h=this.items;var p=this;var f=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]];var l=this._connectWith();if(l){for(var e=l.length-1;e>=0;e--){var m=a(l[e]);for(var d=m.length-1;d>=0;d--){var g=a.data(m[d],"sortable");if(g&&g!=this&&!g.options.disabled){f.push([a.isFunction(g.options.items)?g.options.items.call(g.element[0],b,{item:this.currentItem}):a(g.options.items,g.element),g]);this.containers.push(g)}}}}for(var e=f.length-1;e>=0;e--){var k=f[e][1];var c=f[e][0];for(var d=0,n=c.length;d<n;d++){var o=a(c[d]);o.data("sortable-item",k);h.push({item:o,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset()}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d];if(e.instance!=this.currentContainer&&this.currentContainer&&e.item[0]!=this.currentItem[0]){continue}var c=this.options.toleranceElement?a(this.options.toleranceElement,e.item):e.item;if(!b){e.width=c.outerWidth();e.height=c.outerHeight()}var f=c.offset();e.left=f.left;e.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this)}else{for(var d=this.containers.length-1;d>=0;d--){var f=this.containers[d].element.offset();this.containers[d].containerCache.left=f.left;this.containers[d].containerCache.top=f.top;this.containers[d].containerCache.width=this.containers[d].element.outerWidth();this.containers[d].containerCache.height=this.containers[d].element.outerHeight()}}},_createPlaceholder:function(d){var b=d||this,e=b.options;if(!e.placeholder||e.placeholder.constructor==String){var c=e.placeholder;e.placeholder={element:function(){var f=a(document.createElement(b.currentItem[0].nodeName)).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!c){f.style.visibility="hidden"}return f},update:function(f,g){if(c&&!e.forcePlaceholderSize){return}if(!g.height()){g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10))}if(!g.width()){g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=a(e.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);e.placeholder.update(b,b.placeholder)},_contactContainers:function(d){for(var c=this.containers.length-1;c>=0;c--){if(this._intersectsWith(this.containers[c].containerCache)){if(!this.containers[c].containerCache.over){if(this.currentContainer!=this.containers[c]){var h=10000;var g=null;var e=this.positionAbs[this.containers[c].floating?"left":"top"];for(var b=this.items.length-1;b>=0;b--){if(!a.ui.contains(this.containers[c].element[0],this.items[b].item[0])){continue}var f=this.items[b][this.containers[c].floating?"left":"top"];if(Math.abs(f-e)<h){h=Math.abs(f-e);g=this.items[b]}}if(!g&&!this.options.dropOnEmpty){continue}this.currentContainer=this.containers[c];g?this._rearrange(d,g,null,true):this._rearrange(d,null,this.containers[c].element,true);this._trigger("change",d,this._uiHash());this.containers[c]._trigger("change",d,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder)}this.containers[c]._trigger("over",d,this._uiHash(this));this.containers[c].containerCache.over=1}}else{if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",d,this._uiHash(this));this.containers[c].containerCache.over=0}}}},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c,this.currentItem])):(d.helper=="clone"?this.currentItem.clone():this.currentItem);if(!b.parents("body").length){a(d.appendTo!="parent"?d.appendTo:this.currentItem[0].parentNode)[0].appendChild(b[0])}if(b[0]==this.currentItem[0]){this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}}if(b[0].style.width==""||d.forceHelperSize){b.width(this.currentItem.width())}if(b[0].style.height==""||d.forceHelperSize){b.height(this.currentItem.height())}return b},_adjustOffsetFromHelper:function(b){if(b.left!=undefined){this.offset.click.left=b.left+this.margins.left}if(b.right!=undefined){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if(b.top!=undefined){this.offset.click.top=b.top+this.margins.top}if(b.bottom!=undefined){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.currentItem.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.currentItem.css("marginLeft"),10)||0),top:(parseInt(this.currentItem.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)){var c=a(e.containment)[0];var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_rearrange:function(g,f,c,e){c?c[0].appendChild(this.placeholder[0]):f.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=="down"?f.item[0]:f.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var d=this,b=this.counter;window.setTimeout(function(){if(b==d.counter){d.refreshPositions(!e)}},0)},_clear:function(d,e){this.reverting=false;var f=[],b=this;if(!this._noFinalSort&&this.currentItem[0].parentNode){this.placeholder.before(this.currentItem)}this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var c in this._storedCSS){if(this._storedCSS[c]=="auto"||this._storedCSS[c]=="static"){this._storedCSS[c]=""}}this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}if(this.fromOutside&&!e){f.push(function(g){this._trigger("receive",g,this._uiHash(this.fromOutside))})}if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!e){f.push(function(g){this._trigger("update",g,this._uiHash())})}if(!a.ui.contains(this.element[0],this.currentItem[0])){if(!e){f.push(function(g){this._trigger("remove",g,this._uiHash())})}for(var c=this.containers.length-1;c>=0;c--){if(a.ui.contains(this.containers[c].element[0],this.currentItem[0])&&!e){f.push((function(g){return function(h){g._trigger("receive",h,this._uiHash(this))}}).call(this,this.containers[c]));f.push((function(g){return function(h){g._trigger("update",h,this._uiHash(this))}}).call(this,this.containers[c]))}}}for(var c=this.containers.length-1;c>=0;c--){if(!e){f.push((function(g){return function(h){g._trigger("deactivate",h,this._uiHash(this))}}).call(this,this.containers[c]))}if(this.containers[c].containerCache.over){f.push((function(g){return function(h){g._trigger("out",h,this._uiHash(this))}}).call(this,this.containers[c]));this.containers[c].containerCache.over=0}}if(this._storedCursor){a("body").css("cursor",this._storedCursor)}if(this._storedOpacity){this.helper.css("opacity",this._storedOpacity)}if(this._storedZIndex){this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex)}this.dragging=false;if(this.cancelHelperRemoval){if(!e){this._trigger("beforeStop",d,this._uiHash());for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}return false}if(!e){this._trigger("beforeStop",d,this._uiHash())}this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.helper[0]!=this.currentItem[0]){this.helper.remove()}this.helper=null;if(!e){for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){if(a.widget.prototype._trigger.apply(this,arguments)===false){this.cancel()}},_uiHash:function(c){var b=c||this;return{helper:b.helper,placeholder:b.placeholder||a([]),position:b.position,absolutePosition:b.positionAbs,offset:b.positionAbs,item:b.currentItem,sender:c?c.element:null}}}));a.extend(a.ui.sortable,{getter:"serialize toArray",version:"1.7.1",eventPrefix:"sort",defaults:{appendTo:"parent",axis:false,cancel:":input,option",connectWith:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1000}})})(jQuery);
	
	/*
	拖放插件drag
	基于jQuery UI Draggable 1.7.1
	*******************************************************************************************
	*/
	(function(a){a.widget("ui.draggable",a.extend({},a.ui.mouse,{_init:function(){if(this.options.helper=="original"&&!(/^(?:r|a|f)/).test(this.element.css("position"))){this.element[0].style.position="relative"}(this.options.addClasses&&this.element.addClass("ui-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit()},destroy:function(){if(!this.element.data("draggable")){return}this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy()},_mouseCapture:function(b){var c=this.options;if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")){return false}this.handle=this._getHandle(b);if(!this.handle){return false}return true},_mouseStart:function(b){var c=this.options;this.helper=this._createHelper(b);this._cacheHelperProportions();if(a.ui.ddmanager){a.ui.ddmanager.current=this}this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(b);this.originalPageX=b.pageX;this.originalPageY=b.pageY;if(c.cursorAt){this._adjustOffsetFromHelper(c.cursorAt)}if(c.containment){this._setContainment()}this._trigger("start",b);this._cacheHelperProportions();if(a.ui.ddmanager&&!c.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,b)}this.helper.addClass("ui-draggable-dragging");this._mouseDrag(b,true);return true},_mouseDrag:function(b,d){this.position=this._generatePosition(b);this.positionAbs=this._convertPositionTo("absolute");if(!d){var c=this._uiHash();this._trigger("drag",b,c);this.position=c.position}if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}if(a.ui.ddmanager){a.ui.ddmanager.drag(this,b)}return false},_mouseStop:function(c){var d=false;if(a.ui.ddmanager&&!this.options.dropBehaviour){d=a.ui.ddmanager.drop(this,c)}if(this.dropped){d=this.dropped;this.dropped=false}if((this.options.revert=="invalid"&&!d)||(this.options.revert=="valid"&&d)||this.options.revert===true||(a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d))){var b=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){b._trigger("stop",c);b._clear()})}else{this._trigger("stop",c);this._clear()}return false},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?true:false;a(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==b.target){c=true}});return c},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c])):(d.helper=="clone"?this.element.clone():this.element);if(!b.parents("body").length){b.appendTo((d.appendTo=="parent"?this.element[0].parentNode:d.appendTo))}if(b[0]!=this.element[0]&&!(/(fixed|absolute)/).test(b.css("position"))){b.css("position","absolute")}return b},_adjustOffsetFromHelper:function(b){if(b.left!=undefined){this.offset.click.left=b.left+this.margins.left}if(b.right!=undefined){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if(b.top!=undefined){this.offset.click.top=b.top+this.margins.top}if(b.bottom!=undefined){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.element.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)&&e.containment.constructor!=Array){var c=a(e.containment)[0];if(!c){return}var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}else{if(e.containment.constructor==Array){this.containment=e.containment}}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval){this.helper.remove()}this.helper=null;this.cancelHelperRemoval=false},_trigger:function(b,c,d){d=d||this._uiHash();a.ui.plugin.call(this,b,[c,d]);if(b=="drag"){this.positionAbs=this._convertPositionTo("absolute")}return a.widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(b){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,offset:this.positionAbs}}}));a.extend(a.ui.draggable,{version:"1.7.1",eventPrefix:"drag",defaults:{addClasses:true,appendTo:"parent",axis:false,cancel:":input,option",connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false}});a.ui.plugin.add("draggable","connectToSortable",{start:function(c,e){var d=a(this).data("draggable"),f=d.options,b=a.extend({},e,{item:d.element});d.sortables=[];a(f.connectToSortable).each(function(){var g=a.data(this,"sortable");if(g&&!g.options.disabled){d.sortables.push({instance:g,shouldRevert:g.options.revert});g._refreshItems();g._trigger("activate",c,b)}})},stop:function(c,e){var d=a(this).data("draggable"),b=a.extend({},e,{item:d.element});a.each(d.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;d.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert){this.instance.options.revert=true}this.instance._mouseStop(c);this.instance.options.helper=this.instance.options._helper;if(d.options.helper=="original"){this.instance.currentItem.css({top:"auto",left:"auto"})}}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",c,b)}})},drag:function(c,f){var e=a(this).data("draggable"),b=this;var d=function(i){var n=this.offset.click.top,m=this.offset.click.left;var g=this.positionAbs.top,k=this.positionAbs.left;var j=i.height,l=i.width;var p=i.top,h=i.left;return a.ui.isOver(g+n,k+m,p,h,j,l)};a.each(e.sortables,function(g){this.instance.positionAbs=e.positionAbs;this.instance.helperProportions=e.helperProportions;this.instance.offset.click=e.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=a(b).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return f.helper[0]};c.target=this.instance.currentItem[0];this.instance._mouseCapture(c,true);this.instance._mouseStart(c,true,true);this.instance.offset.click.top=e.offset.click.top;this.instance.offset.click.left=e.offset.click.left;this.instance.offset.parent.left-=e.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=e.offset.parent.top-this.instance.offset.parent.top;e._trigger("toSortable",c);e.dropped=this.instance.element;e.currentItem=e.element;this.instance.fromOutside=e}if(this.instance.currentItem){this.instance._mouseDrag(c)}}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",c,this.instance._uiHash(this.instance));this.instance._mouseStop(c,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder){this.instance.placeholder.remove()}e._trigger("fromSortable",c);e.dropped=false}}})}});a.ui.plugin.add("draggable","cursor",{start:function(c,d){var b=a("body"),e=a(this).data("draggable").options;if(b.css("cursor")){e._cursor=b.css("cursor")}b.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._cursor){a("body").css("cursor",d._cursor)}}});a.ui.plugin.add("draggable","iframeFix",{start:function(b,c){var d=a(this).data("draggable").options;a(d.iframeFix===true?"iframe":d.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css(a(this).offset()).appendTo("body")})},stop:function(b,c){a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});a.ui.plugin.add("draggable","opacity",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("opacity")){e._opacity=b.css("opacity")}b.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._opacity){a(c.helper).css("opacity",d._opacity)}}});a.ui.plugin.add("draggable","scroll",{start:function(c,d){var b=a(this).data("draggable");if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){b.overflowOffset=b.scrollParent.offset()}},drag:function(d,e){var c=a(this).data("draggable"),f=c.options,b=false;if(c.scrollParent[0]!=document&&c.scrollParent[0].tagName!="HTML"){if(!f.axis||f.axis!="x"){if((c.overflowOffset.top+c.scrollParent[0].offsetHeight)-d.pageY<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop+f.scrollSpeed}else{if(d.pageY-c.overflowOffset.top<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop-f.scrollSpeed}}}if(!f.axis||f.axis!="y"){if((c.overflowOffset.left+c.scrollParent[0].offsetWidth)-d.pageX<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft+f.scrollSpeed}else{if(d.pageX-c.overflowOffset.left<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft-f.scrollSpeed}}}}else{if(!f.axis||f.axis!="x"){if(d.pageY-a(document).scrollTop()<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-f.scrollSpeed)}else{if(a(window).height()-(d.pageY-a(document).scrollTop())<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+f.scrollSpeed)}}}if(!f.axis||f.axis!="y"){if(d.pageX-a(document).scrollLeft()<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-f.scrollSpeed)}else{if(a(window).width()-(d.pageX-a(document).scrollLeft())<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+f.scrollSpeed)}}}}if(b!==false&&a.ui.ddmanager&&!f.dropBehaviour){a.ui.ddmanager.prepareOffsets(c,d)}}});a.ui.plugin.add("draggable","snap",{start:function(c,d){var b=a(this).data("draggable"),e=b.options;b.snapElements=[];a(e.snap.constructor!=String?(e.snap.items||":data(draggable)"):e.snap).each(function(){var g=a(this);var f=g.offset();if(this!=b.element[0]){b.snapElements.push({item:this,width:g.outerWidth(),height:g.outerHeight(),top:f.top,left:f.left})}})},drag:function(u,p){var g=a(this).data("draggable"),q=g.options;var y=q.snapTolerance;var x=p.offset.left,w=x+g.helperProportions.width,f=p.offset.top,e=f+g.helperProportions.height;for(var v=g.snapElements.length-1;v>=0;v--){var s=g.snapElements[v].left,n=s+g.snapElements[v].width,m=g.snapElements[v].top,A=m+g.snapElements[v].height;if(!((s-y<x&&x<n+y&&m-y<f&&f<A+y)||(s-y<x&&x<n+y&&m-y<e&&e<A+y)||(s-y<w&&w<n+y&&m-y<f&&f<A+y)||(s-y<w&&w<n+y&&m-y<e&&e<A+y))){if(g.snapElements[v].snapping){(g.options.snap.release&&g.options.snap.release.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=false;continue}if(q.snapMode!="inner"){var c=Math.abs(m-e)<=y;var z=Math.abs(A-f)<=y;var j=Math.abs(s-w)<=y;var k=Math.abs(n-x)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m-g.helperProportions.height,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s-g.helperProportions.width}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n}).left-g.margins.left}}var h=(c||z||j||k);if(q.snapMode!="outer"){var c=Math.abs(m-f)<=y;var z=Math.abs(A-e)<=y;var j=Math.abs(s-x)<=y;var k=Math.abs(n-w)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A-g.helperProportions.height,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n-g.helperProportions.width}).left-g.margins.left}}if(!g.snapElements[v].snapping&&(c||z||j||k||h)){(g.options.snap.snap&&g.options.snap.snap.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=(c||z||j||k||h)}}});a.ui.plugin.add("draggable","stack",{start:function(b,c){var e=a(this).data("draggable").options;var d=a.makeArray(a(e.stack.group)).sort(function(g,f){return(parseInt(a(g).css("zIndex"),10)||e.stack.min)-(parseInt(a(f).css("zIndex"),10)||e.stack.min)});a(d).each(function(f){this.style.zIndex=e.stack.min+f});this[0].style.zIndex=e.stack.min+d.length}});a.ui.plugin.add("draggable","zIndex",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("zIndex")){e._zIndex=b.css("zIndex")}b.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._zIndex){a(c.helper).css("zIndex",d._zIndex)}}})})(jQuery);

	/*
	多输入框插件multiInput
	*******************************************************************************************
	*/
	$.fn.multiInput = function(options){
	var defaults={id:'',num:5,tip:'最多设置5个访问地址。'};
	var opts = $.extend(defaults, options);
	var className=$(this).eq(0).attr('class');
	$('.'+className).eq(0).hide();
	$('#addfor'+opts.id).click(function(){mi_addList();});
	mi_resetList();
	$('.'+className).find('a:first').click(function(){mi_delList($(this).attr('no'));});
	$('.'+className).find('input:first').blur(function(){mi_update();});
		function mi_update(){
		var str='';	
			$('.'+className+' input:not(#'+opts.id+')').each(function(){
			str=addStr(str,$(this).val(),file_split);
			});
		$('#'+opts.id).val(str);
		}
		function mi_delList(id){
		var o=$('#'+opts.id);
		if(o.val()==undefined||o.val()=='') return;
		var arr=o.val().split(file_split);
		arr.remove(id);
		o.val(arr.join(file_split));
		mi_resetList();
		}
		function mi_resetList(){
		var o=$('#'+opts.id);
		if(o.val()==undefined) o.val('');
		var arr=o.val().split(file_split),arrLen=arr.length;
		if(arrLen>opts.num){arr.length=opts.num;o.val(arr.join(file_split));arrLen=opts.num;sqOverAlert(opts.tip);}
		$('.'+className).not('.'+className+':first').remove();
		var tip=$('.'+className).eq(0).find('input').attr('distip');
			for(i=0;i<arrLen;i++){
			$('.'+className).eq(0).clone(true).insertAfter($('.'+className).eq(i));
			$('.'+className).eq(i+1).show();
			$('.'+className).eq(i+1).find('span:first').html((i+1)+'.').end().find('input:first').attr('id',opts.id+'_'+i).attr('name',opts.id+'_'+i).attr('tip',tip).end();
			$('.'+className).eq(i+1).find('input[tip]').val(arr[i]).watertip();
			$('.'+className).eq(i+1).find('a:first').attr('no',i);
			}
		if(arrLen==1) $('.'+className).eq(1).find('a:first').hide();
		}
		function mi_addList(){
		var o=$('#'+opts.id);o.val(o.val()+file_split+'');mi_resetList();
		}
	};
	
	/*
	上传插件multiUpload
	*******************************************************************************************
	*/
	$.fn.multiUpload = function(options){
	var defaults ={
	mode:'list',objid:'',id:'addfilelist',itemlistid:'',tp: 'img',w: 500,h: 92,simgw: 80,simgh: 80,title: '插入图片',num: 5,path: '../../sqinc/swfupload/index.php',noimgurl:'../../sqinc/jqplugs/noimg.jpg',fun:'uploadOk()',tip:'温馨提示：<br>标准尺寸宽：200像素 高度：200像素。<br>编号区高亮绿色代表默认首选项。',minwin:0};
	var opts = $.extend(defaults, options);
	if(opts.mode=='list'){
	$(this).html('<table border="0" cellspacing="0" cellpadding="0"><tr><td height="20"><a href="#add" id="btn'+opts.id+'formu" class="multiuploadbtn">上 传</a><span style="float:right"><span class="sbtntip">操作</span><a href="#up" id="btn'+opts.id+'forup" class="sbtn" title="升序">升</a><a href="#down" id="btn'+opts.id+'fordown" class="sbtn" title="降序">降</a><a href="#title" id="btn'+opts.id+'fortitle" class="sbtn" title="描述">注</a><a href="#del" id="btn'+opts.id+'fordel" class="sbtn" title="删除">删</a><a href="#seek" id="btn'+opts.id+'forseek" class="sbtn" title="查看">查</a></span></td></tr><tr><td style="border:1px solid #d6dfe7"><div id="boxfor'+opts.id+'" class="multiuploadlist" style="width:'+opts.w+'px;height:'+opts.h+'px"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="checkboxtable" id="listtbfor'+opts.id+'"><tr><td style="background-color:#FFF"><div style="text-align:center;width:100%;line-height:'+(opts.h-2)+'px;color:#CCC">文件列表</div></td></tr></table></div></td></tr><tr><td style="padding:5px;border:1px solid #d6dfe7;border-top:0"><div class="tipbox2"><span style="float:left;padding:0 0 0 5px">排序第一的自动作为默认首选项。您上传<font id="fnumfor'+opts.id+'">0</font>个文件总容量为<font id="fsizefor'+opts.id+'"></font>。</span><span class="fright" style="padding:0 10px 0 0"><a href="../help/index.php?q=upload" target="_blank">上传帮助</a></span></div></td></tr></table><div id="resultfor'+opts.id+'" class="hiddendiv" file="'+$('#'+opts.objid).val()+'"><input id="idfor'+opts.id+'" name="idfor'+opts.id+'" type="hidden" value="0" /><input id="selidfor'+opts.id+'" name="selidfor'+opts.id+'" type="hidden" value="0" /></div>');
	var _w=315,_h=242;
	$('#btn'+opts.id+'formu').click(function(){if(parseInt($('#fnumfor'+opts.id).html(),10)>=opts.num){sqOverAlert('上传项已经超出最大限制'+opts.num+'，请先删除部分文件。');return;};sqBox(createUpload('parent.resultfor'+opts.id,opts.fun,'',false,'',opts.path,_w,_h,opts.tp,opts.num,'','',opts.simgw,opts.simgh,opts.minwin),opts.title,_w,_h+40);});
	$('#boxfor'+opts.id).jScrollPane();
	$(this).find("[title]").tooltip({gravity:$.fn.tooltip.autoNS,fade:true,html:true});
	$('#listtbfor'+opts.id).custCheckBoxTable({returnobj:'idfor'+opts.id});
	$('#btn'+opts.id+'fordel').click(function(){mu_removeListTb(opts.objid,opts.id);});
	$('#btn'+opts.id+'forup').click(function(){mu_sortListTb(opts.objid,opts.id,'up');});
	$('#btn'+opts.id+'fordown').click(function(){mu_sortListTb(opts.objid,opts.id,'down');});
	$('#btn'+opts.id+'fortitle').click(function(){mu_titleListTb(opts.objid,opts.id);});
	$('#btn'+opts.id+'forseek').click(function(){mu_seekListTb(opts.objid,opts.id);});
	//$('#btn'+opts.id+'forsel').click(function(){mu_selListTb(opts.id);});
	}else if(opts.mode=='img'){
	$('#'+opts.objid).attr('optsfun',opts.fun).attr('optstp',opts.tp).attr('optspath',opts.path).attr('optsnum',opts.num).attr('optssimgw',opts.simgw).attr('optssimgh',opts.simgh).attr('optstitle',opts.title);
	n=opts.num/5|0;
	$(this).html('<table border="0" cellspacing="0" cellpadding="0"><tr><td height="20"><span style="float:right"><span class="sbtntip">操作</span><a href="#up" id="btn'+opts.id+'forup" class="sbtn" title="升序">升</a><a href="#down" id="btn'+opts.id+'fordown" class="sbtn" title="降序">降</a><a href="#title" id="btn'+opts.id+'fortitle" class="sbtn" title="描述">注</a><a href="#del" id="btn'+opts.id+'fordel" class="sbtn" title="删除">删</a><a href="#seek" id="btn'+opts.id+'forseek" class="sbtn" title="查看">查</a></span></td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td  style="border:1px solid #d6dfe7"><div id="boxfor'+opts.id+'" class="multiuploadlist" style="width:'+(opts.w)+'px;height:'+(opts.num<=5 ? 137 : 130*n)+'px"><span style="position:relative;width:0;top:0;left:0"><div class="defaicn" style="top:0;left:0"></div></span><table width="100%" border="0" cellpadding="0" cellspacing="1" class="checkboxtable" id="listtbfor'+opts.id+'"><tr><td style="background-color:#FFF"></td></tr></table></div></td></tr><tr><td style="padding:5px;border:1px solid #d6dfe7;border-top:0"><div class="tipbox2"><span style="float:left;padding:0 0 0 5px">排序第一的自动作为默认首选图片。您上传的图片总容量为 <font id="fsizefor'+opts.id+'"></font>。</span><span class="fright" style="padding:0 10px 0 0"><a href="../help/index.php?q=upload" target="_blank">上传帮助</a></span></div></td></tr></table><div id="resultfor'+opts.id+'" class="hiddendiv" file="'+$('#'+opts.objid).val()+'"><input id="idfor'+opts.id+'" name="idfor'+opts.id+'" type="hidden" value="0" /><input id="selidfor'+opts.id+'" name="selidfor'+opts.id+'" type="hidden" value="'+opts.selid+'" /></div>');
	$('#boxfor'+opts.id).jScrollPane();
	//$(this).find("[title]").tooltip({gravity:$.fn.tooltip.autoNS,fade:true,html:true});
	$('#btn'+opts.id+'fordel').click(function(){mu_removeListTb(opts.objid,opts.id);});
	$('#btn'+opts.id+'forup').click(function(){mu_sortListTb(opts.objid,opts.id,'up');});
	$('#btn'+opts.id+'fordown').click(function(){mu_sortListTb(opts.objid,opts.id,'down');});
	$('#btn'+opts.id+'fortitle').click(function(){mu_titleListTb(opts.objid,opts.id);});
	$('#btn'+opts.id+'forseek').click(function(){$.fn.multiUpload.seekPerImg(opts.id);});
	$('#btn'+opts.id+'forsel').click(function(){mu_selListTb(opts.id);});
	}
	$.fn.multiUpload.resetImgList=function(id,tag) {
	var dom=mu_getListTb(id);
	var str='<tr>',size=0,strTitle='',strImg='',optsNum=parseInt($('#'+id).attr('optsnum'),10);
		for(i=0;i<optsNum;i++){
		dom[i]=(dom[i]==undefined) ? '' : dom[i];
		arrDom=dom[i].split(file_subsplit);
		strTitle=(arrDom[0]=='') ? '' : arrDom[3]+' ('+fileSize(arrDom[4])+' '+arrDom[5]+'×'+arrDom[5]+')';
		strImg=(arrDom[0]=='') ? '<img src="'+opts.noimgurl+'" style="margin:0 auto;border:0" />' : '<a href="#seek" onclick="$.fn.multiUpload.seekPerImg(\''+tag+'\','+i+')" style="text-align:center"><img src="'+getFileInfo(arrDom[0],'simg')+'" alt="'+arrDom[3]+'" style="margin:0 auto;border:0" /></a>';
		str+='<td no="'+i+'" id="itemfor'+tag+i+'" height="80" style="padding:7px 5px 7px 10px"><div style="float:left;width:100%"><span class="noimgbox" id="itemimgfor'+tag+i+'" file="'+arrDom[0]+'" tip="'+arrDom[3]+'" w="'+arrDom[5]+'" h="'+arrDom[6]+'" title="'+strTitle+'">'+strImg+'</span></div><div style="float:left;width:100%;height:35px"><span style="float:left;padding:10px 0 0 10px"><a href="#sel" id="btn'+tag+'forsel'+i+'" class="multiuploadbtn" style="padding:0;float:left">上 传</a></span></div></td>';		
		arrDom[4]=(arrDom[4]==''||arrDom[4]==undefined) ? 0 : arrDom[4];
		size+=parseInt(arrDom[4],10);
		if((i+1) % 5==0) str+='</tr><tr>';
		}
		$('#listtbfor'+tag).html(str+'</tr>');
		$('#fsizefor'+tag).html(fileSize(size));
		var _w=315,_h=242;
		$('#listtbfor'+tag).find('.multiuploadbtn').click(function(){sqBox(createUpload('parent.resultfor'+tag,$('#'+id).attr('optsfun'),'',false,'',$('#'+id).attr('optspath'),_w,_h,$('#'+id).attr('optstp'),1,'','',$('#'+id).attr('optssimgw'),$('#'+id).attr('optssimgh')),$('#'+id).attr('optstitle'),_w,_h+40);});
		$('#listtbfor'+tag).find('[no]').mouseover(function(){$(this).addClass('touch_row');}).mouseout(function(){$(this).removeClass('touch_row');}).click(function(){$('#itemfor'+tag+$('#idfor'+tag).val()).removeClass('hover_row');$('#idfor'+tag).val($(this).attr('no'));$('#itemfor'+tag+$('#idfor'+tag).val()).addClass('hover_row');});
		$('#itemfor'+tag+$('#idfor'+tag).val()).click();
		$('#listtbfor'+tag+' .noimgbox img').zoom({width:80,height:80});
	}
		$.fn.multiUpload.seekPerImg=function(tag,id){
			id=(arguments.length>=2) ? arguments[1] : $('#idfor'+tag).val();
			var obj=$('#itemimgfor'+tag+id);
			var f=obj.attr('file');
			if(f==''||f==undefined){sqOverAlert('该操作项缺少图片，请先上传文件。');return false;}
			var w=obj.attr('w'),h=obj.attr('h');
			openShadowbox(f,'img',obj.attr('tip'),obj.attr('w'),obj.attr('h'));
		}
		function  mu_getListTb(objid){
		var strFile=$('#'+objid).val();
		return (strFile==undefined||strFile=='') ? new Array() : strFile.split(file_split);
		}
		function  mu_chkListTb(dom){
		if(dom.length<1){sqOverAlert('列表中无可操作项，请先上传文件。');return false;}else{return true;}
		}
		function  mu_chkImgListTb(dom,id){
		if(opts.mode=='img' && (dom[id]=='' || dom[id]==undefined)){sqOverAlert('该操作项缺少图片，请先上传文件。');return false;}else{return true;}	
		}
		function mu_selListTb(tag){
		$('#itemfor'+tag+$('#selidfor'+tag).val()).prev('td').removeClass('sel');
		$('#selidfor'+tag).val($('#idfor'+tag).val());
		$('#itemfor'+tag+$('#selidfor'+tag).val()).prev('td').addClass('sel');
		}
		function mu_removeListTb(objid,tag,id) {
		id=(arguments.length>=3) ? arguments[2] : $('#idfor'+tag).val();
		if(id=='') return;
		id=parseInt(id,10);
		var dom=mu_getListTb(objid);
		if(!mu_chkListTb(dom)) return;
		if(!mu_chkImgListTb(dom,id)) return;
		arrDom=dom[id].split(file_subsplit);
		if(opts.mode=='list'){dom.remove(id);if(parseInt($('#selidfor'+tag).val())==id) $('#selidfor'+tag).val(0);$('#idfor'+tag).val(0);}else if(opts.mode=='img'){dom[id]='';}
		$('#resultfor'+tag).attr('file',dom.join(file_split));
		$('#'+objid).val($('#resultfor'+tag).attr('file'));
		if(dom.length<1)  $('#idfor'+tag).val('');
		if(opts.mode=='list'){$.fn.multiUpload.resetList(objid,tag);}else if(opts.mode=='img'){$.fn.multiUpload.resetImgList(objid,tag);}
		}
		function mu_sortListTb(objid,tag,tp,id){
		id=(arguments.length>=4) ? arguments[3] : $('#idfor'+tag).val();
		if(id=='') return;
		id=parseInt(id,10);
		var dom=mu_getListTb(objid);
		if(!mu_chkListTb(dom)) return;
			if(tp=="up"){
				if(id==0){
				return;
				}else{
				var tmp=dom[id];dom[id]=dom[id-1];dom[id-1]=tmp;$('#resultfor'+tag).attr('file',dom.join(file_split));$('#'+objid).val($('#resultfor'+tag).attr('file'));$('#idfor'+tag).val(id-1);if(opts.mode=='list'){$.fn.multiUpload.resetList(objid,tag);}else if(opts.mode=='img'){$.fn.multiUpload.resetImgList(objid,tag);}
				}
			}else{
				if(id==dom.length-1){
				return;
				}else{
				var tmp=dom[id];dom[id]=dom[id+1];dom[id+1]=tmp;$('#resultfor'+tag).attr('file',dom.join(file_split));$('#'+objid).val($('#resultfor'+tag).attr('file'));$('#idfor'+tag).val(id+1);if(opts.mode=='list'){$.fn.multiUpload.resetList(objid,tag);}else if(opts.mode=='img'){$.fn.multiUpload.resetImgList(objid,tag);}
				}
			}
		}
		function mu_titleListTb(objid,tag,id){
		id=(arguments.length>=3) ? arguments[2] : $('#idfor'+tag).val();
		if(id=='') return;
		var dom=mu_getListTb(objid);
		if(!mu_chkListTb(dom)) return;
		if(mu_chkImgListTb(dom,id)){
		arrDom=dom[id].split(file_subsplit);
			sqPrompt('<b>可以对文件项进行描述：</b>',arrDom[7].ToQuote(false),'描述',function(r) {
			if(r){
			arrDom[7]=r.ToQuote(true);
			dom[id]=arrDom.join(file_subsplit);
			$('#resultfor'+tag).attr('file',dom.join(file_split));
			$('#'+objid).val($('#resultfor'+tag).attr('file'));
			if(opts.mode=='list'){$.fn.multiUpload.resetList(objid,tag);}else if(opts.mode=='img'){$.fn.multiUpload.resetImgList(objid,tag);} 
			}
			});
		}
		}
		function mu_seekListTb(objid,tag,id){
		id=(arguments.length>=3) ? arguments[2] : $('#idfor'+tag).val();
		if(id=='') return;
		var dom=mu_getListTb(objid);
		if(!mu_chkListTb(dom)) return;
		var f=$('#itemfor'+tag+id).attr('file');
		var obj=$('#itemfor'+tag+id);
		var w=obj.attr('w'),h=obj.attr('h');
		var ext=getFileInfo(f,'ext');	
			if(ext=='swf'){
			var flashvars={};
			var params={allowScriptAccess:'always',wmode:'transparent'};
			var attributes={};
			openShadowbox('<div style="width:'+w+'px;height:'+h+'px" id="shadowboxforswf"></div>','html',obj.attr('tip'),w,h);
			swfobject.embedSWF(f,"sb-body-inner",w,h,"9.0.0","../../sqinc/jqplugs/expressInstall.swf",flashvars,params,attributes);
			}else if(g_imgextlist.indexOf('*.'+ext)>=0){
			openShadowbox(f,'img',obj.attr('tip'),obj.attr('w'),obj.attr('h'));
			}else{
			openShadowbox('../../sqinc/swfupload/filetype/'+ext+'.gif','img','',16,16);
			}
		}
		$.fn.multiUpload.resetList=function(id,tag) {
		var dom=mu_getListTb(id);
		arr=new Array();
		var i=0,str='',size=0,strDefa='',overNum=false,strItem='';
		arrFile=new Array();
		if(dom.length>opts.num){dom.length=opts.num;$('#resultfor'+tag).attr('file',dom.join(file_split));$('#'+id).val($('#resultfor'+tag).attr('file'));overNum=true;}
			for(i=0;i<dom.length;i++){
			arrDom=dom[i].split(file_subsplit);
			strDefa=(i==0) ? '<span style="float:right;position:relative"><div class="defaicn" style="top:0;left:-10px"></div></span>' : '';
			arr[i]='<tr no="'+i+'"><td width="20" class="aligncenter">'+(i+1)+'</td><td width="'+(opts.w-35)+'" id="itemfor'+tag+i+'" file="'+arrDom[0]+'" tip="'+arrDom[3]+'" w="'+arrDom[5]+'" h="'+arrDom[6]+'"><span style="float:left;width:'+(opts.w-100)+'px"><div style="position:relative;top:0;left:0;width:'+(opts.w-100)+'px;line-height:22px;overflow:hidden;text-align:left;white-space:nowrap" title="'+arrDom[3]+' ('+fileSize(arrDom[4])+' '+arrDom[5]+'×'+arrDom[5]+')"><img src="../../sqinc/swfupload/filetype/'+getFileInfo(arrDom[3],'ext')+'.gif" style="border:0" align="absmiddle" /> '+arrDom[3]+'</div></span>'+strDefa+'</td></tr>';
			arrFile[i]=dom[i];
			size+=parseInt(arrDom[4],10);
			if(opts.itemlistid!=''){strItem+='<table width="100%" border="0" cellspacing="5" cellpadding="0" class="itemlisttbfor'+tag+'" id="itemlistfor'+tag+i+'"><tr><td rowspan="2" width="100"><img src="'+getFileInfo(arrDom[0],'simg')+'" class="simg" /></td><td><span style="float:left;width:350px;overflow:hidden"><img src="../../sqinc/swfupload/filetype/'+getFileInfo(arrDom[3],'ext')+'.gif" style="border:0" align="absmiddle" /> '+arrDom[3]+'</span><a href="#del" class="del" no="'+i+'" style="float:right">删除</a></td></tr><tr><td><textarea id="intrfor'+tag+i+'" name="intrfor'+tag+i+'" no="'+i+'" style="width:390px;height:40px" maxlength="200" tip="请输入图片描述" limiter="0,200">'+arrDom[7]+'</textarea></td></tr></table>';}
			}
		$('#fnumfor'+tag).html(i);
		$('#fsizefor'+tag).html(fileSize(size));
		if(opts.itemlistid!=''){$('#'+opts.itemlistid).html(strItem);
		$('.itemlisttbfor'+tag).find('.simg').zoom({width:100,height:80});
		$('.itemlisttbfor'+tag).find(':input[tip]').watertip();$('.itemlisttbfor'+tag).find(':input').blur(function(){mu_titlePerItem(opts.objid,opts.id,this);}).focus(function(){$('#listtbfor'+tag+' [no="'+$(this).attr('no')+'"]').click();});$('.itemlisttbfor'+tag).find('.del').click(function(){mu_removePerItem(opts.objid,opts.id,this);});}
		var strFileList=arrFile.join(file_split);
		if(strFileList==''){
		$('#resultfor'+tag).attr('file','');
		$('#idfor'+tag).val('');
		$('#listtbfor'+tag).html('<tr><td style="background-color:#fff"><div style="text-align:center;width:100%;line-height:'+(opts.h-2)+'px;color:#CCC">文件列表</div></td></tr>');
		$('#listtbfor'+tag).custCheckBoxTable({returnobj:'idfor'+tag});
		}else{
		if($('#idfor'+tag).val()=='') $('#idfor'+tag).val(0);
		$('#listtbfor'+tag).html(arr.join(''));
		$('#listtbfor'+tag).custCheckBoxTable({returnobj:'idfor'+tag});
		$('#listtbfor'+tag).find('tbody tr').click(function(){if(opts.itemlistid!=''){$('.itemlisttbfor'+tag).removeClass('hc');$('#itemlistfor'+tag+$(this).attr('no')).addClass('hc');}$('#idfor'+tag).val($(this).attr('no'));});
		$('#itemfor'+tag+$('#idfor'+tag).val()).parent('tr').click();
		//$('#itemfor'+tag+$('#selidfor'+tag).val()).prev('td').addClass('sel');
		}
		if(overNum) sqOverAlert('上传项超出最大限制'+opts.num+'，系统将忽略超出部分。');
		$('#boxfor'+tag).jScrollPane();
		Shadowbox.init({handleOversize:"drag",players:['img','html','iframe']});
		};
		function mu_titlePerItem(objid,tag,o){
		var strFile=$('#'+objid).val(),id=parseInt($(o).attr('no'),10);
		var dom=(strFile==undefined||strFile=='') ? new Array() : strFile.split(file_split);
		arrDom=dom[id].split(file_subsplit);
		arrDom[7]=$(o).val().ToQuote(true);
		dom[id]=arrDom.join(file_subsplit);
		$('#resultfor'+tag).attr('file',dom.join(file_split));
		$('#'+objid).val($('#resultfor'+tag).attr('file'));
		}
		function mu_removePerItem(objid,tag,o) {
		var strFile=$('#'+objid).val(),id=parseInt($(o).attr('no'),10);
		var dom=(strFile==undefined||strFile=='') ? new Array() : strFile.split(file_split);
		arrDom=dom[id].split(file_subsplit);
		if(opts.mode=='list'){dom.remove(id);if(parseInt($('#selidfor'+tag).val())==id) $('#selidfor'+tag).val(0);$('#idfor'+tag).val(0);}else if(opts.mode=='img'){dom[id]='';}
		$('#resultfor'+tag).attr('file',dom.join(file_split));
		$('#'+objid).val($('#resultfor'+tag).attr('file'));
		if(dom.length<1)  $('#idfor'+tag).val('');
		if(opts.mode=='list'){$.fn.multiUpload.resetList(objid,tag);}else if(opts.mode=='img'){$.fn.multiUpload.resetImgList(objid,tag);}
		}
	};
	
	/*
	面包屑插件jbreadcrumb
	$('div[class=breadCrumb module]').jBreadCrumb();
	*******************************************************************************************
	*/
	$.fn.jBreadCrumb = function(){
	$(this).find('li:first').addClass("first");
	$(this).find('li:last').addClass("last");
	};
	
	/*
	快捷菜单插件clickmenu
	$('.clickmenu').clickMenu({menuAlign:	"right",xFixed: -32});
	*******************************************************************************************
	*/
	$.fn.clickMenu = function(options){
		var defaults = {
			minWidth: 100,
			xFixed: 0,
			yFixed: 0,
			menuClassName: "clicksubmenu",
			menuAlign:	"left"
			};
		var opts = $.extend(defaults, options);
		n=0;
		$(".clickmenu").each(function(){
		$(this).parent().css("z-index",$(".clickmenu").length-n);
		n++;
		$(this).find("li").eq(0).children("ul").css("position","absolute");
		$(this).find("li").eq(0).children("ul").addClass(opts.menuClassName);
		if(opts.menuAlign=="right"){
		$(this).find("li").eq(0).children("ul").css("left",-1*(opts.minWidth+opts.xFixed)+"px");
		}else if(opts.menuAlign=="center"){
		$(this).find("li").eq(0).children("ul").css("left",-1*(opts.minWidth/2+opts.xFixed)+"px");
		}else{
		$(this).find("li").eq(0).children("ul").css("left",opts.xFixed+"px");	
		}
		$(this).find("li").eq(0).children("ul").css("top",opts.yFixed+"px");	
		if($(this).find("li").eq(0).children("ul").width()<opts.minWidth) $(this).find("li").eq(0).children("ul").css("width",opts.minWidth+"px");
		$(this).find("li").eq(0).children("ul").hide();
		$(this).find("li").eq(0).click(function(){
		$(this).children("ul").fadeIn(300);
		$(this).children("ul").css("z-index",document.getElementsByTagName("div").length+1);
		});
		$(this).bind("mouseout",function(){if(isMouseLeaveOrEnter(getEvent(),this)){$(this).find("li").eq(0).children("ul").hide();}});
		$(this).bind("mouseleave",function(){if($.browser.msie){$(this).find("li").eq(0).children("ul").hide();}});
		})					  
	function isMouseLeaveOrEnter(e, handler) {   
		if (e.type != 'mouseout' && e.type != 'mouseover') return false;   
		var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement;   
		while (reltg && reltg != handler)   
			reltg = reltg.parentNode;   
		return (reltg != handler);   
	}
	function getEvent(){  
       if(document.all)    return window.event;           
       func=getEvent.caller;               
       while(func!=null){       
           var arg0=func.arguments[0];   
           if(arg0){   
               if((arg0.constructor==Event || arg0.constructor ==MouseEvent)   
                   || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){       
                   return arg0;   
               }   
           }   
           func=func.caller;   
       }   
      return null;   
	}
	};
	
	/*
	微调按钮插件spinner
	*******************************************************************************************
	*/
	$.fn.easySpinner = function(options){
		var defaults = {id:"",w:60,val:0,interval:200,readonly:false,step:1,min:0,max:999999999,fun:''};
		var opts = $.extend(defaults,options);
		if(parseInt(opts.val,10)<opts.min) opts.val=opts.min;
		if(parseInt(opts.val,10)>opts.max) opts.val=opts.max;
		$(this).html('<table border="0" cellspacing="0" cellpadding="0" class="spinner"><tr><td><input type="text" id="'+opts.id+'" name="'+opts.id+'" value="'+opts.val+'" style="float:right;width:'+opts.w+'px;text-align:right"'+((opts.readonly ? ' readonly="readonly"' : ''))+' /></td><td><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td id="spinnerupfor'+opts.id+'" class="spinner-btn"></td></tr><tr><td  id="spinnerdownfor'+opts.id+'" class="spinner-btn"></td></tr></table></td></tr></table>');
		$('#spinnerupfor'+opts.id).mouseover(function(){$(this).addClass('spinner-up');}).mouseout(function(){$(this).removeClass('spinner-up');}).click(function(){setSpinner(true);}).mousedown(function(e){(function(){var tk=setInterval(function(){setSpinner(true)},opts.interval);$(document).one('mouseup',function(){clearInterval(tk);});})();});
		$('#spinnerdownfor'+opts.id).mouseover(function(){$(this).addClass('spinner-down');}).mouseout(function(){$(this).removeClass('spinner-down');}).click(function(){setSpinner(false);}).mousedown(function(e){(function(){var tk=setInterval(function(){setSpinner(false)},opts.interval);$(document).one('mouseup',function(){clearInterval(tk);});})();});
		if(opts.readonly){
		$('#'+opts.id).focus(function(){$(this).blur();});
		}else{
		$('#'+opts.id).hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")}).focus(function(){$(this).removeClass("hover");$(this).addClass("focus");}).blur(function(){validateSpinner();$(this).removeClass("hover");$(this).removeClass("focus");}).bind("paste",function(){validateSpinner();}).css("ime-mode", "disabled");  
		}
		$(this).find('table').hover(function(){$('#'+opts.id).addClass("hover")},function(){$('#'+opts.id).removeClass("hover")}).focus(function(){$('#'+opts.id).removeClass("hover");$('#'+opts.id).addClass("focus");}).blur(function(){$('#'+opts.id).removeClass("hover");$('#'+opts.id).removeClass("focus");});
		function setSpinner(tp){
		if(tp){var val=parseInt($('#'+opts.id).val(),10)+opts.step;if(val>opts.max){$('#'+opts.id).val(opts.max);}else{$('#'+opts.id).val(val);}}else{var val=parseInt($('#'+opts.id).val(),10)-opts.step;if(val<opts.min){$('#'+opts.id).val(opts.min);}else{$('#'+opts.id).val(val);}}
		if(opts.fun!=''){eval(opts.fun);}
		}
		function validateSpinner(){
		var val=$('#'+opts.id).val(),re=/^(-?[1-9][0-9]*|0)$/;
		if(!re.test(val)){val=opts.min<0 ? 0 : opts.min;}
		val=parseInt(val,10);
		if(val>opts.max){val=opts.max;}
		if(val<opts.min){val=opts.min;}
		$('#'+opts.id).val(val);
		}
	};
	
	/*
	快速媒体插件easyMedia商企专属
	*******************************************************************************************
	*/
	$.fn.easyMedia = function(options){
	var defaults= {};
	var opts=$.extend(defaults,options);
		$(this).each(function(i,row){
		arr=$(this).val().split(file_subsplit);
		ext=getFileInfo(arr[0],'ext');
		objid=$(this).attr('id')+'box';
		$(this).after('<div id="'+objid+'"></div>');	
			if(ext=='swf'){
			var flashvars={},params={allowFullScreen:'true',allowScriptAccess:'always',quality:'high'},attributes={};  
			swfobject.embedSWF(arr[0],objid,arr[5],arr[6],"9.0.0","../jqplugs/expressInstall.swf",flashvars,params,attributes);
			}else if(g_imgextlist.indexOf('*.'+ext)>=0){
			var str=(arr[5]==0||arr[6]==0) ? str='' : str=' width="'+arr[5]+'" height="'+arr[6]+'"';
			$('#'+objid).html('<img src="'+arr[0]+'"'+str+' />');
			}
		})
	}
	
	/*
	快速颜色列表插件easyClrList
	*******************************************************************************************
	*/
	$.fn.easyClrList = function(options){
	var defaults = {className:"easyclrlist",val:'全部',objId:'',sign:'、',tip:'全部#all、红色#f00、橙色#ffa500、黄色#ff0、绿色#008000、蓝色#00f、紫色#800080、黑色#000、白色#fff、灰色#808080、其它#other',callback:function(){return false;}};
	var objId=$(this).attr('id'),opts=$.extend(defaults,options),str='',arr=opts.tip.split(opts.sign),arrLen=arr.length;
	for(var i=0;i<arrLen;i++){
	arrsub=arr[i].split('#')
	if(arrsub[1]=='all'){
	style=' class="all"';
	}else if(arrsub[1]=='other'){
	style=' class="other"';
	}else{
	style=' style="color:#'+arrsub[1]+';background-color:#'+arrsub[1]+'"';
	}
	str=addStr(str,'<div class="'+opts.className+'" val="'+arrsub[0]+'"><em'+style+'></em><br /><a href="#selclr">'+arrsub[0]+'</a></div>','');
	}
	$(this).html(str);
	$(this).find('.'+opts.className).mouseover(function(){$(this).addClass(opts.className+'_hvr');}).mouseout(function(){$(this).removeClass(opts.className+'_hvr');}).click(function(){$('#'+opts.objId).val($(this).attr('val'));opts.callback($(this).attr('val'));$('#'+objId).find('.'+opts.className+'_sel').removeClass(opts.className+'_sel');$(this).addClass(opts.className+'_sel')});
	$(this).find('[val='+opts.val+']').addClass(opts.className+'_sel');
	}
	
	/*
	快速开关插件easyCheck
	*******************************************************************************************
	*/
	$.fn.easyCheck = function(options){
	var defaults = {className:"easycheck",objId:'',tip:'关闭,开通',callback:function(){return false;}};
	if($(this).length<1){alert('容器对象不存在。');return;}
	var val=$(this).attr('val'),opts=$.extend(defaults,options);
	if($('#'+opts.objId).length>0){alert('错误，对象id有重复。');return;}
	$(this).html('<table border="0" cellspacing="0" cellpadding="0" class="'+opts.className+'"><tr><td no="1"></td><td no="0"></td></tr></table><input id="'+opts.objId+'" name="'+opts.objId+'" type="hidden" value="'+val+'" tip="'+opts.tip+'" classname="'+opts.className+'" />');
	$(this).setEasyCheck({objId:opts.objId,init:true});
	$(this).click(function(){opts.callback($(this).attr('id'),opts.objId);});
	};
	$.fn.setEasyCheck = function(options){
	var defaults = {objId:'',init:false};
	var opts=$.extend(defaults,options),arrTip=$('#'+opts.objId).attr('tip').split(','),val=$('#'+opts.objId).val();
		if(!opts.init){
			if(parseInt(val,10)>=1||val=='true'){
			$('#'+opts.objId).val(0);
			}else{
			$('#'+opts.objId).val(1);
			}
		}
		if(parseInt($('#'+opts.objId).val(),10)>=1||$('#'+opts.objId).val()=='true'){
		$(this).find('.'+$('#'+opts.objId).attr('classname')).css('background-position','right 0');
		$(this).find('[no=1]').css('width','45px').html('<span>'+arrTip[1]+'</span>');
		$(this).find('[no=0]').css('width','25px').html('');
		}else{
		$(this).find('.'+$('#'+opts.objId).attr('classname')).css('background-position','right -20px');
		$(this).find('[no=1]').css('width','25px').html('');
		$(this).find('[no=0]').css('width','45px').html('<span>'+arrTip[0]+'</span>');
		}
	}
	
	/*
	下拉列表插件easySelect
	如果需要重置只需要设置isreset属性
	*******************************************************************************************
	*/
	$.fn.easySelect = function(options){
		var defaults = {className:'easyselect',selitem:'',showSize:5,w:'',h:'',maxh:0,openMode:false,id:'',overtime:300,outtime:1000,zindex:0};
		var opts = $.extend(defaults,options);
		if($(this).length<1) return;
		var id=$(this).attr("id");
		if(id==undefined) return;
		var selNoId=$(this).find('option:selected').index();
		if(opts.openMode){
		if($('#'+opts.id).length<1){
			$(this).html('<span id="'+opts.id+'" class="'+opts.className+'" style="float:left;background-position:right -44px;height:22px;padding:0 35px 0 5px">'+$(this).html()+'</span>');
			$(this).mouseout(function(){$("#"+opts.id).css('background-position','right -44px');}).mouseover(function(){$("#"+opts.id).css('background-position','right -66px');});
			}
		}else{
			if($('#easyselectbox_box_'+id).length>0){
			if($('#'+id).attr('isreset')!=undefined){$('#easyselectbox_list_'+id).find('table').html(setEasySelectTb(id));$('#'+id).removeAttr('isreset');addEvent(id);}
			//opts.showSize=($(this).find("option").length<opts.showSize) ? $(this).find("option").length : opts.showSize;
			//$("#"+id).attr("size",opts.showSize);
			if($('#'+id).attr('multiple')){resetMlist(id);}else{$("#easyselect_"+id).val($('#'+id).attr('value'));$("#easyselect_"+id).attr('selid',selNoId);setSval(id,selNoId,'');}
			}else{
			opts.showSize=($(this).find("option").length<opts.showSize) ? $(this).find("option").length : opts.showSize;
			$(this).wrap('<div style="display:none" id="easyselectbox_el_'+id+'" easyselectbox="'+id+'"></div>');
			$('[easyselectbox='+id+']').wrap('<div style="position:absolute;'+(opts.zindex==0 ? '' : 'z-index:'+opts.zindex)+'" id="easyselectbox_box_'+id+'"></div>');
			var h=(opts.h=='' ? '22px' : $(this).css("height")),w=(opts.w!='') ? opts.w : $(this).css("width");
			if($(this).attr('listw')==undefined){var listw=w;}else{var listw=$(this).attr('listw');}
			$('#easyselectbox_el_'+id).before('<div style="position:relative;z-index:98"><span id="easyselectbox_val_'+id+'" class="'+opts.className+'" style="float:left;width:'+w+';height:'+h+'"><input id="easyselect_txt_'+id+'" style="float:left;border:0;width:'+(parseInt(w,10)-22)+'px;line-height:'+h+';cursor:default;background:transparent" type="text" value="'+($('#'+id).attr('selvalue')!=undefined ? $('#'+id).attr('selvalue') : $(this).find("option:selected").text())+'" readonly="readonly" onfocus="this.blur()" /></span><span id="easyselectbox_list_'+id+'" class="easyselect_listbox" style="float:left;clear:both;width:'+listw+';display:none;overflow-x:hidden;overflow-y:auto"><table width="100%" border="0" cellpadding="0" cellspacing="0">'+setEasySelectTb(id)+'</table></span><input id="easyselect_'+id+'" name="easyselect_'+id+'" type="hidden" value="'+$('#'+id).val()+'" selid="" /></div>');
			addEvent(id);
			}
		}
		function setEasySelectTb(id){
		var str='',i=0;
			$('#'+id).find('option').each(function(){
			str=addStr(str,'<tr no="'+i+'" id="easyselectbox_list_item'+id+'_'+i+'"><td class="icn"></td><td class="item">'+$(this).html()+'</td></tr>','');
			i++;
			})
		return str;
		}
		function addEvent(id){
		if($('#'+id).attr('multiple')){resetMlist(id);}else{$("#easyselect_"+id).val($('#'+id).attr('value'));$("#easyselect_"+id).attr('selid',selNoId);setSval(id,selNoId,'');}
		$("#easyselectbox_val_"+id).click(function(){$("#easyselectbox_val_"+id).addClass('easyselect-hvr');if(opts.maxh>0&&$('#easyselectbox_list_'+id).height()>opts.maxh){$('#easyselectbox_list_'+id).css('height',opts.maxh+'px');}
		//$("#easyselectbox_list_"+id).slideDown(opts.overtime);
		ctrlSlid($("#easyselectbox_list_"+id),opts.overtime,'show');
		});
		//if($('#easyselectbox_list_'+id).height()==0) alert($('#easyselectbox_list_'+id).html());
		if(opts.maxh>0&&$('#easyselectbox_list_'+id).height()>opts.maxh){$('#easyselectbox_list_'+id).css('height',opts.maxh+'px');}
		$("#easyselectbox_box_"+id).mouseout(function(){if(isMouseLeaveOrEnter(getEvent(),this)){$("#easyselectbox_list_"+id).oneTime(10,function(){
		//$("#easyselectbox_list_"+id).slideUp(opts.overtime);
		ctrlSlid($("#easyselectbox_list_"+id),opts.overtime,'hide');
		$("#easyselectbox_val_"+id).removeClass('easyselect-hvr');});}}).mouseleave(function(){if($.browser.msie){$("#easyselectbox_list_"+id).oneTime(opts.outtime,function(){
		//$("#easyselectbox_list_"+id).slideUp(opts.overtime);
		ctrlSlid($("#easyselectbox_list_"+id),opts.overtime,'hide');
		});$("#easyselectbox_val_"+id).removeClass('easyselect-hvr');}});
		$("#easyselectbox_box_"+id).find('tr').mouseover(function(){$(this).addClass("itemhvr");}).mouseout(function(){$(this).removeClass("itemhvr");}).click(function(){if($('#'+id).attr('multiple')){setMval(id,$(this).attr('no'));}else{setSval(id,$(this).attr('no'),'');
		//setTimeout(function(){$("#easyselectbox_list_"+id).hide()},opts.overtime);
		$("#easyselectbox_list_"+id).hide();
		}});
		$("#easyselectbox_list_"+id).mouseover(function(){$("#easyselectbox_list_"+id).stopTime();});
		}
		function ctrlSlid(o,tm,val){
		//o.stop().animate({height:'toggle',opacity:val},{queue:false,duration:tm,easing:"easeOutQuad"});
		if(val=='show'){o.show();}else{o.hide();}
		}
		//设置多选下拉
		function setMval(id,noId){
		var op=$('#'+id+' option');
		if($("#easyselectbox_box_"+id).find("[no="+noId+"]").attr('checked')){
		$("#easyselectbox_box_"+id).find("[no="+noId+"]").removeAttr('checked');
		op.get(parseInt(noId,10)).selected='';
		}else{
		$("#easyselectbox_box_"+id).find("[no="+noId+"]").attr('checked',true);
		op.get(parseInt(noId,10)).selected='selected';
		}
		$("#easyselect_"+id).val($('#'+id).val().join(','));
		resetMlist(id);
		}
		function resetMlist(id){
		var val='';
			$('#'+id+' option').each(function(){
				if($(this).attr('selected')){
				val=addStr(val,$(this).html(),',');
				$("#easyselectbox_box_"+id).find("[no="+$(this).index()+"]").find('.icn').removeClass('chk').addClass('chked');
				$("#easyselectbox_box_"+id).find("[no="+$(this).index()+"]").attr('checked',true);
				}else{
				$("#easyselectbox_box_"+id).find("[no="+$(this).index()+"]").find('.icn').removeClass('chked').addClass('chk');
				$("#easyselectbox_box_"+id).find("[no="+$(this).index()+"]").removeAttr('checked');
				}
			})
		
		$("#easyselect_txt_"+id).val(val);
		}
		//设置单选下拉
		function setSval(id,noId,tp){
		if($('#'+id).find('option').get(parseInt(noId,10))==undefined) return;
		$('#'+id).attr('value',$('#'+id).find('option').get(parseInt(noId,10)).value);
		if(opts.selitem==''){$("#easyselect_txt_"+id).val($('#'+id).find("option:selected").text());}
		$("#easyselect_"+id).attr('selid',noId).val($('#'+id).attr('value'));
		$("#easyselectbox_box_"+id).find("[no!="+noId+"]").find('td').removeClass('sel');
		$("#easyselectbox_box_"+id).find("[no="+noId+"]").find('td').eq(0).addClass('sel');
		$('#'+id).change();
		}
	};
	//让ff支持鼠标的leave or enter事件
	function isMouseLeaveOrEnter(e, handler) {   
		if (e.type != 'mouseout' && e.type != 'mouseover') return false;   
		var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement;   
		while (reltg && reltg != handler)   
			reltg = reltg.parentNode;   
		return (reltg != handler);   
	}
	function getEvent(){     //同时兼容ie和ff的写法   
       if(document.all)    return window.event;           
       func=getEvent.caller;               
       while(func!=null){       
           var arg0=func.arguments[0];   
           if(arg0){   
               if((arg0.constructor==Event || arg0.constructor ==MouseEvent)   
                   || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){       
                   return arg0;   
               }   
           }   
           func=func.caller;   
       }   
      return null;   
	}
	$.fn.setEasySelect = function(options){
	var defaults = {val:""};
	var opts = $.extend(defaults, options);
	$(this).val(opts.val);
	$("#easyselect_txt_"+$(this).attr("id")).val($(this).find("option:selected").text());
	};
	
	/*
	清空按钮easyClear
	*******************************************************************************************
	*/
	$.fn.easyClear = function(options){
		var defaults={title:"清空",left:0,top:0,callback:function(){return false;}};
		var opts = $.extend(defaults, options);
		var id=$(this).attr('id');
		$(this).before('<div id="easyclear_'+id+'" class="easyclear" title="'+opts.title+'"><span style="left:'+opts.left+'px;top:'+opts.top+'px;height:17px"></span></div>');
		$('#easyclear_'+id).mouseover(function(){$(this).find('span').addClass('hvr');}).mouseout(function(){$(this).find('span').removeClass('hvr');}).click(function(){opts.callback();});
	};
	
	/*
	等级评价easyGrade
	*******************************************************************************************
	mode:0默认代表用户评分，1代表推荐后台设置，2代表推荐级别显示
	function toGrade(objid,id,grd){
	$.ajax({ 
    type:'POST', 
    url:'themes.ajax.php', 
    data:'do=grade&id='+id+'&grd='+grd, 
     success:function(msg){
	 arr=msg.split(str_split);
	 $('#'+objid).attr('num',arr[3]).attr('gpa',arr[4]);
	 $.fn.easyGradeMsg(objid);
	  }
    }); 
	}
	*/
	$.fn.easyGrade = function(options){
	var defaults = {title:'星级',mode:0,objid:'',tip:'很差,较差,一般,推荐,力荐',callback:function(){return false;}};
	var opts = $.extend(defaults, options);
	var id='',gr=0,arrTip=opts.tip.split(',');
		$(this).each(function(i,row){
		id=$(this).attr('id');
		grd=parseInt($(this).attr('grade'),10);
		if(opts.mode==0){
		$(this).html('<table width="100%" border="0" cellspacing="0" cellpadding="0" class="easygradebox" id="easygradebox_'+id+'" style="background-position:0 '+(grd==0 ? '-15' : (-32*grd-15))+'px"><tr><td no="1"></td><td no="2"></td><td no="3"></td><td no="4"></td><td no="5"></td></tr></table><div class="easygrade-tipbox"><div class="easygrade-gpa" id="easygradegpa_'+id+'"></div><div class="easygrade-tip" id="easygradetip_'+id+'"></div></div><input id="easygrade_'+id+'" name="easygrade_'+id+'" type="hidden" value="'+grd+'" />');
		if($('#'+opts.objid).length<1) $(this).append('<input id="'+opts.objid+'" name="'+opts.objid+'" type="hidden" value="'+$(this).attr('grade')+'" />');
		$(this).find('td').mouseout(function(){$(this).removeClass("hvr");}).mouseover(function(){if(parseInt($(this).parents('[markid]').attr('marked'),10)==1){return;}else{$(this).addClass("hvr");}}).click(function(){if(parseInt($(this).parents('[markid]').attr('marked'),10)==1){return;}else{var id=$(this).parents('.easygradebox').attr('id'),grd=parseInt($(this).attr('no'),10);opts.callback($(this).parents('[markid]').attr('id'),$(this).parents('[markid]').attr('markid'),grd);$('#'+opts.objid).val(grd);$('#easygrade_'+id).val(grd);$('#'+id).css('background-position','0 '+(grd==0 ? '-15' : (-32*grd-15))+'px');$(this).parents('[markid]').attr('marked','1');}});
		$.fn.easyGradeMsg(id);
		$('#easygradegpa_'+id).show();
		}else if(opts.mode==1){
		$(this).html('<table width="100%" border="0" cellspacing="0" cellpadding="0" class="easygradebox" id="easygradebox_'+id+'" style="background-position:0 '+(grd==0 ? '-15' : (-32*grd-15))+'px"><tr><td no="1"></td><td no="2"></td><td no="3"></td><td no="4"></td><td no="5"></td></tr></table><div class="easygrade-tipbox"><div class="easygrade-gpa" id="easygradegpa_'+id+'"></div><div class="easygrade-tip" id="easygradetip_'+id+'"></div></div><input id="easygrade_'+id+'" name="easygrade_'+id+'" type="hidden" value="'+grd+'" />');
		if($('#'+opts.objid).length<1) $(this).append('<input id="'+opts.objid+'" name="'+opts.objid+'" type="hidden" value="'+$(this).attr('grade')+'" />');
		$(this).find('td').mouseout(function(){$('#easygradetip_'+id).html('').hide();$(this).removeClass("hvr");}).mouseover(function(){$('#easygradetip_'+id).html(arrTip[parseInt($(this).attr('no'),10)-1]).show();$(this).addClass("hvr");}).click(function(){var id=$(this).parents('.easygradebox').attr('id'),grd=parseInt($(this).attr('no'),10);$('#'+opts.objid).val(grd);$('#easygrade_'+id).val(grd);$('#'+id).css('background-position','0 '+(grd==0 ? '-15' : (-32*grd-15))+'px');});
		}else if(opts.mode==2){
		$(this).html('<div class="easygradebox" title="'+arrTip[grd-1]+'" id="easygradebox_'+id+'" style="width:60px;height:20px;background-position:-100px '+(grd==0 ? '-15' : (-32*(grd+1)))+'px"></div>');
		}
		})
	};
	$.fn.easyGradeMsg=function(id){
	var gpa=Number($('#'+id).attr('gpa')),num=Number($('#'+id).attr('num'));
	$('#easygradegpa_'+id).html('<table width="200px" border="0" cellspacing="0" cellpadding="0"><tr><td style="font-family:sans-serif;font-style:italic;font-size:14px;color:#2abe7d">'+(isNaN(gpa) ? '0.0' : gpa.toFixed(1))+'</td><td style="width:150px;font-size:12px;color:#666666">('+(isNaN(num) ? 0 : num)+'人评价)</td></tr></table>');
	}
	
	/*
	单选复选表格插件custCheckBoxTable
	*******************************************************************************************
	*/
	$.fn.custCheckBoxTable = function(options){
		var defaults={issingle:true,oc:"oc",ec:"ec",rc:"rc",hc:"hc",tc:"tc",returnobj:""};	
		var opts = $.extend(defaults, options);
		opts.returnobj=(opts.returnobj=="") ?  $(this).attr("id")+"val" : opts.returnobj;
		$(this).find('tbody tr:even').addClass(opts.ec).end().find('tbody tr:odd').addClass(opts.oc).end().find('tbody tr[readonly=true]').addClass(opts.rc);
		$(this).find('tbody tr').each(function(i,row){
		if($(row).attr("readonly")=="true"){
		}else{
		$(row).mouseover(function(){$(this).addClass(opts.tc);})
		.mouseout(function(){$(this).removeClass(opts.tc);})
		.click(function(){
		$(this).parent().parent().find("."+opts.hc).removeClass(opts.hc);
			if(opts.issingle){
			$(this).parent().parent().find(".cust_checkbox").removeClass("cust_checkbox_on").addClass("cust_checkbox_off");
			$(this).parent().parent().find("input[type=checkbox]").removeAttr("checked");
			}
			if($(row).find("input[type=checkbox]").attr("checked")){
			$(row).find("input[type=checkbox]").removeAttr("checked");
			$(row).find(".cust_checkbox").removeClass("cust_checkbox_on").addClass("cust_checkbox_off");
			}else{
			$(row).addClass(opts.hc);
			$(row).find("input[type=checkbox]").attr("checked","checked");
			$(row).find(".cust_checkbox").removeClass("cust_checkbox_off").addClass("cust_checkbox_on");
			}
			$("#"+opts.returnobj).attr("selid",$(row).find("input[type=checkbox]").attr("id"));
			$("#"+opts.returnobj).val($(row).find("input[type=checkbox]").attr("value"));
		});
		}
		})					  
	};
	$.fn.setCheckBoxTable = function(options){
		var defaults={oc:"oc",ec:"ec",hc:"hc",tc:"tc"};
		var opts = $.extend(defaults, options);
		$(this).find(".cust_checkbox").removeClass("cust_checkbox_on").addClass("cust_checkbox_off");
		$(this).find("input[type=checkbox]").removeAttr("checked");
		if($(this).attr("selid")!=undefined && $(this).attr("selid")!=""){
		$("#"+$(this).attr("selid")).attr("checked",true);
		$("#"+$(this).attr("selid")).parent().find(".cust_checkbox").removeClass("cust_checkbox_off").addClass("cust_checkbox_on");
		$(this).val($("#"+$(this).attr("selid")).attr("value"));
		$("#"+$(this).attr("selid")).parent("td").parent("tr").addClass(opts.hc);
		}
	};
	
	/*
	单选复选插件custCheckBox
	*******************************************************************************************
	*/
	$.fn.custCheckBox = function(options){
		var defaults = {
			disable_all:false,
			callback:function(){}
		};
	var opts = $.extend(defaults, options);
		$(this).each(function(){						  
			var id=$(this).attr('id');
			if($('#custcheckbox_box_'+id).length<1){
			var isChecked = $(this).attr("checked"),boxType = $(this).attr("type"),disabled = $(this).attr("disabled");	
			$(this).wrap('<div style="display:none" id="custcheckbox_el_'+id+'" custcheckbox="'+id+'"></div>');
			var lblTxt=($('label[for='+id+']').length>0) ? $('label[for='+id+']').html() : '';
			$('label[for='+id+']').remove();
			$('[custcheckbox='+id+']').wrap('<div style="float:left;display:inline-block;padding:0 '+(lblTxt=='' ? '0' : '10px')+' 0 0" id="custcheckbox_box_'+id+'"></div>');
			//$('#custcheckbox_lbl_'+id).wrap(document.getElementById('#custcheckbox_box_'+id));
			$('#custcheckbox_el_'+id).before('<span class="cust_checkbox" id="custcheckbox_icn_'+id+'" custcheckbox="'+id+'"></span>'+(lblTxt=='' ? '' : '<label for="'+id+'" style="float:left;display:inline-block;height:20px;line-height:20px">'+lblTxt+'</label>'));
			var boxObj=$('#custcheckbox_box_'+id),icnObj=$('#custcheckbox_icn_'+id),lblObj=$('#custcheckbox_lbl_'+id);
			if(opts.disable_all) $(this).attr("disabled",true);
			if(disabled||opts.disable_all){
			if(isChecked){icnObj.addClass("cust_"+boxType+"_disabled_on");}else{icnObj.addClass("cust_"+boxType+"_disabled_off");}
			}else{
			if(isChecked){icnObj.addClass("cust_"+boxType+"_on");}else{icnObj.addClass("cust_"+boxType+"_off");}
			}
			boxObj.mouseover(function(){
			var objId=$(this).attr('id').replace(/custcheckbox_box_/g, ""),obj=$('#'+objId),boxType=obj.attr("type");
			if(opts.disable_all||obj.attr("disabled")) return false;
			$(this).addClass('cust_checkbox_box_hvr');
			if(boxType === "checkbox"){
				if(obj.attr('checked')){$('#custcheckbox_icn_'+id).addClass('cust_'+boxType+'_on_hvr');}else{$('#custcheckbox_icn_'+id).addClass('cust_'+boxType+'_off_hvr');};
			}else{
				if($('input:radio[name='+obj.attr('name')+'][checked]').val()==obj.attr('value')){$('#custcheckbox_icn_'+id).addClass('cust_'+boxType+'_on_hvr');}else{$('#custcheckbox_icn_'+id).addClass('cust_'+boxType+'_off_hvr');};
			}
			})
			.mouseout(function(){
			var objId=$(this).attr('id').replace(/custcheckbox_box_/g, ""),obj=$('#'+objId),boxType=obj.attr("type");
			if(opts.disable_all||obj.attr("disabled")) return false;
			$(this).removeClass('cust_checkbox_box_hvr');
			if(obj.attr('checked')){$('#custcheckbox_icn_'+id).removeClass('cust_'+boxType+'_on_hvr');}else{$('#custcheckbox_icn_'+id).removeClass('cust_'+boxType+'_off_hvr');};
			})
			.click(function(){
			var objId=$(this).attr('id').replace(/custcheckbox_box_/g, ""),obj=$('#'+objId),boxType=obj.attr("type"),checkObj=$("input[name='"+obj.attr('name')+"']");
				if(opts.disable_all||obj.attr('disabled')) return false;
				if(boxType=='checkbox'){
				if(obj.is(':checked')){removeAttrChecked(objId);}else{attrChecked(objId);}
				//setTimeout(function(){removeAttrChecked(objId)},50);setTimeout(function(){attrChecked(objId)},50);
				}else{
				var selId=checkObj.index(obj);
				$('input:radio[name='+obj.attr('name')+']').get(selId).checked = true;
					$('input:radio[name='+obj.attr('name')+']').each(function(){
					if(checkObj.index($(this))==selId){$('#custcheckbox_icn_'+$(this).attr('id')).removeClass('cust_'+boxType+'_off').removeClass('cust_'+boxType+'_off_hvr').addClass('cust_'+boxType+'_on').addClass('cust_'+boxType+'_on_hvr');}else{$(this).removeAttr('checked');$('#custcheckbox_icn_'+$(this).attr('id')).removeClass('cust_'+boxType+'_on').removeClass('cust_'+boxType+'_on_hvr').addClass('cust_'+boxType+'_off');}
					})
				}
			return false;
			})
			function attrChecked(objId){
			var obj=$('#'+objId),boxType=obj.attr("type");
			obj.attr('checked',true);$('#custcheckbox_icn_'+objId).removeClass('cust_'+boxType+'_off').removeClass('cust_'+boxType+'_off_hvr').addClass('cust_'+boxType+'_on').addClass('cust_'+boxType+'_on_hvr');
			}
			function removeAttrChecked(objId){
			var obj=$('#'+objId),boxType=obj.attr("type");
			obj.removeAttr('checked');$('#custcheckbox_icn_'+objId).removeClass('cust_'+boxType+'_on').removeClass('cust_'+boxType+'_on_hvr').addClass('cust_'+boxType+'_off').addClass('cust_'+boxType+'_off_hvr');
			}
		}
		});
	};
	$.fn.setCheckBox = function(options){
	var defaults = {val:""};
	var opts = $.extend(defaults, options);
	var boxType=$(this).attr("type");
		if(boxType === "checkbox"){
		var obj=$(this),id=obj.attr('id');
			if(opts.val=="on"||opts.val=="1"||opts.val==true){
			obj.attr('checked',true);
			$('#custcheckbox_icn_'+id).removeClass('cust_'+boxType+'_off').removeClass('cust_'+boxType+'_off_hvr').addClass('cust_'+boxType+'_on');
			}else{
			obj.removeAttr('checked');
			$('#custcheckbox_icn_'+id).removeClass('cust_'+boxType+'_on').removeClass('cust_'+boxType+'_on_hvr').addClass('cust_'+boxType+'_off');
			}
		}else{
			$(this).each(function(){
			if($(this).attr("value")==opts.val){$('input:radio[name='+$(this).attr('name')+']').get($("input[name='"+$(this).attr('name')+"']").index($(this))).checked = true;$('#custcheckbox_icn_'+$(this).attr('id')).removeClass('cust_'+boxType+'_off').removeClass('cust_'+boxType+'_off_hvr').removeClass('cust_'+boxType+'_on_hvr').addClass('cust_'+boxType+'_on');}else{$(this).removeAttr('checked');$('#custcheckbox_icn_'+$(this).attr('id')).removeClass('cust_'+boxType+'_on').removeClass('cust_'+boxType+'_on_hvr').removeClass('cust_'+boxType+'_off_hvr').addClass('cust_'+boxType+'_off');}
			})		   
		}
	};	
	
	/*
	tab插件idTabs
	基于idTabs v3.0
	$("#usual ul").idTabs();
	idTabs("tab2");
	*******************************************************************************************
	*/
	var idTabs,undefined,href = function(e){ return $(e).attr("href"); },
	type = function(o){
	  return o===null && "Null"
		  || o===undefined && "Undefined"
		  || ({}).toString.call(o).slice(8,-1);
	};
	$.fn.idTabs = function(){
	  var s = idTabs.args.apply(this,arguments),
	  action = s.update&&"update" || s.remove&&"remove" || "bind";
	  s.area = this;
	  idTabs[action](s);
	  return this;
	};
	idTabs = $.idTabs = function(tabarea,options,data){
	  var e, tabs, items, test=$(), meta = $.metadata?$(tabarea).metadata():{}, //metadata
	  s = {tab:idTabs.tab,item:idTabs.item};
	  s = $.extend(s,idTabs.settings,meta,options||{}); 
	  s.tabarea = $(tabarea); 
	  s.data = data||"idTabs"+ +new Date;
	  $.each({selected:'.',event:'!',start:'#'},function(n,c){
		if(type(s[n])=="String" && s[n].indexOf(c)==0)
		  s[n] = s[n].substr(1); });
	  if(s.start===null) s.start=-1; 
	  items = [];
	  s.tabs = tabs = $("a[href^=#]",tabarea);
	  tabs.each(function(){
		test = s.item(href(this));
		if(test.length) items=items.concat(test.get());
	  });
	  s.items = $(items).hide();
	  e="idTabs."+s.event;
	  data=s.tabarea.data("idTabs")||{};
	  data[e]=s;
	  s.tabarea.data("idTabs",data);
	  tabs.trigger(e).data(s.data,s)
		  .bind(e,{s:s},function(){
			return idTabs.unbind.apply(this,arguments); })
		  .bind(s.event,{s:s},idTabs.find);
		 type(s.start) == "Number" && (s.start<0 || (test=tabs.eq(s.start)).length)
	  || type(s.start) == "String" && (test=tabs.filter("a[href=#"+s.start+"]")).length
	  || (test=tabs.filter('.'+s.selected).removeClass(s.selected)).length
	  || (s.start===undefined && (test=tabs.eq(0)).length);
	  if(test.length) test.trigger(s.event);
	
	  return s;
	};
	idTabs.args = function(){
	  var a,i=0,s={},args=arguments,
	  str = function(_,a){
		if(a.indexOf('.')==0) s.selected = a;
		else if(a.indexOf('!')==0)
		  if(/^!(true|false)$/i.test(a)) s.toggle = /^!true$/i.test(a);
		  else s.event = a;
		else if(a.indexOf(':')==0) {
		  a=a.substr(1).toLowerCase();
		  if(a.indexOf('!')==0) s[a.substr(1)]=false;
		  else s[a]=true;
		} else if(a) s.start = a;
	  };
	  while(i<args.length) {
		a=args[i++];
		switch(type(a)){
		  case "Object"   : $.extend(s,a); break;
		  case "Boolean"  : s.change = a;  break;
		  case "Number"   : s.start = a;   break;
		  case "Function" : s.click = a;   break;
		  case "Null"     : s.start = a;   break;
		  case "String"   : $.each(a.split(/\s+/g),str);
		  default: break;
		}
	  }
	  return s;
	};
	idTabs.bind = function(s){
	  if(!s) return;
	  var data = "idTabs"+ +new Date; //instance expando
	  if(s.grouped) $.idTabs(s.area,s,data);
	  else s.area.each(function(){ $.idTabs(this,s,data); });
	};
	idTabs.update = function(s){
	  if(!s) return;
	  s.update=false;
	  var self,data,n,e = s.event;
	  e = (e+"").indexOf('!')==0 && e.substr(1) || e;
	  e = e?"idTabs."+e:"";
	  return s.area.each(function(){
		self = $(this);
		data = self.data("idTabs");
		if(!data) return;
		if(e) {
		  n=$.extend({},data[e],s);
		  idTabs.remove(data[e])
		  idTabs(n.tabarea,n,n.data);
		} else for(e in data) {
		  if(!Object.hasOwnProperty.call(data, e)) continue;
		  n=$.extend({},data[e],s);
		  idTabs.remove(data[e]);
		  idTabs(n.tabarea,n,n.data);
		}
	  });
	};
	idTabs.remove = function(s){
	  if(!s) return;
	  var data,tabs,e = s.event;
	  e = (e+"").indexOf('!')==0 && e.substr(1) || e;
	  e = "idTabs"+(e?"."+e:"");
	  return s.area.each(function(){
		data=$(this).data("idTabs");
		delete data["idTabs."+s.event];
		$(this).data("idTabs",data);
		tabs = s.tabs || $("a[href^=#]",this);
		if(!tabs.length && $(this).is("a[href^=#]")) tabs = $(this);
		tabs.trigger(e);
	  });
	};
	idTabs.find = function(e){
	  var self=this, ret=false, s=e.data.s;
	  $("a[href="+href(this)+"]:first",s.area).each(function(){
		var t = $(this).data(s.data);
		if(t) ret=idTabs.showtab.call(t.tabarea==s.tabarea?self:this,t,e)||ret;
	  });
	  return ret;
	};
	idTabs.showtab = function(s,e){
	  if(!s || !s.toggle && $(this).is('.'+s.selected))
		return s&&s.change;
	  var id = href(this);
	  if(s.click && s.click.call(this,id,s,e)==false) return s.change;
	  if(s.toggle && $(this).is('.'+s.selected)) id=null;
	  return idTabs.show.call(this,id,s,e);
	};
	idTabs.show = function(id,s){
	  s.tabs.removeClass(s.selected);
	  s.tab(id).addClass(s.selected);
	  s.items.hide();
	  s.item(id).show();
	  return s.change;
	};
	idTabs.unbind = function(e){
	  var s = e.data.s;
	  $(this).removeData(s.data)
	  .unbind("idTabs."+s.event);
	  return false;
	};
	idTabs.extend = function(){
	  var args = arguments;
	  return function(){
		[].push.apply(args,arguments);
		this.idTabs.apply(this,args);
	  };
	};
	idTabs.tab = function(id){
	  if(!id) return $([]);
	  return $("a[href="+id+"]",this.tabarea);
	};
	idTabs.item = function(id){
	  if(!id) return $([]);
	  var item = $(id);
	  return item.length?item:$('.'+id.substr(1));
	};
	idTabs.settings = {
	  start:undefined,
	  change:false,
	  click:null,
	  selected:".selected",
	  event:"!click",
	  toggle:false,
	  grouped:false
	};
	$(function(){ $(".idTabs").idTabs(); });
	
	/*
	树形表格插件treeview原创
	$("#navigation").treeview({});
	*******************************************************************************************
	*/
	$.fn.treeview = function(options){
		var defaults={
		rowtouchclass:"touch_row"
		};
		var opts = $.extend(defaults, options);
		var objid = $(this).attr('id');
		$('#treeviewctrl1').click(function(){_clsAll();})
		$('#treeviewctrl2').click(function(){_opnAll();})
		$(this).find('li').each(function(i,row){
		$(row).find('.kindtreetags').first().before('<span class="treeviewempty" style="width:'+(($(row).attr('level'))*30)+'px">&nbsp;</span><span class="uncheck">&nbsp;</span>');
		if(_chkStat($(row))){
		$(row).find('.treeviewempty').after('<span class="treeviewctrl cls"></span>');
		}else{
		$(row).find('.treeviewempty').after('<span class="treeviewctrl none"></span>');
		}
		$(row).find('.treeviewctrl').click(function(){_ctrlStat($(this));});
		$(row).mouseover(function(){
		$(this).addClass(opts.rowtouchclass);					  
		});	
		$(row).mouseout(function(){
		$(this).removeClass(opts.rowtouchclass);					  
		});
		});
		function _opnAll(){
			$('#'+objid).find("li[level='0']").each(function(i,row){
			if(_chkStat($(row))){
			$(row).find('.treeviewctrl').removeClass('none').removeClass('opn').addClass('cls');
			}else{
			$(row).find('.treeviewctrl').removeClass('cls').removeClass('opn').addClass('none');;
			}
			});
			$('#'+objid).find("li[level!='0']").each(function(i,row){
			if(_chkStat($(row))){
			$(row).find('.treeviewctrl').removeClass('none').removeClass('opn').addClass('cls');
			}else{
			$(row).find('.treeviewctrl').removeClass('cls').removeClass('opn').addClass('none');;
			}
			$(row).fadeIn(300);
			});															
		}
		function _clsAll(){
			$('#'+objid).find("li[level='0']").each(function(i,row){
			if(_chkStat($(row))){
			$(row).find('.treeviewctrl').removeClass('none').removeClass('cls').addClass('opn');
			}else{
			$(row).find('.treeviewctrl').removeClass('cls').removeClass('opn').addClass('none');;
			}
			});	
		$('#'+objid).find("li[level!='0']").fadeOut(200);
		}
		function _chkStat(obj){
		if(parseInt(obj.next().attr('level'),10)>parseInt(obj.attr('level'),10)){return true;}else{return false;}
		}
		function _ctrlStat(obj){
		var liobj=obj.parent('li:first');	
		if(obj.attr('class')=='treeviewctrl none') return;
			if(obj.attr('class')=='treeviewctrl opn'){
			obj.removeClass('opn').addClass('cls');
			$('#'+objid).find('li:gt('+liobj.index()+')').each(function(i,row){
			if(parseInt($(row).attr('level'),10)>parseInt(liobj.attr('level'),10)){
				if(_chkStat($(row))){
				$(row).find('.treeviewctrl').removeClass('opn').addClass('cls');
				}else{
				$(row).find('.treeviewctrl').removeClass('opn').addClass('none');;
				}
			$(row).show();
			}else{
			return false;
			}
			});
			}else{
			obj.removeClass('cls').addClass('opn');	
			$('#'+objid).find('li:gt('+liobj.index()+')').each(function(i,row){
			if(parseInt($(row).attr('level'),10)>parseInt(liobj.attr('level'),10)){
			$(row).hide();
			}else{
			return false;
			}
			});
			}
		}
	};
	

	/*
	加载遮罩框插件loadmask
	基于jquery-loadmask-0.3
	$("body").mask("数据加载中...");
	$("body").unmask();
	*******************************************************************************************
	*/
	$.fn.mask = function(label,pos,showmask){
		showmask=(showmask=='') ? true : showmask;
		//alert(this.css("display"));
		this.find(".loadmask-msg,.loadmask").remove();
		if(this.css("position") == "static") {
			this.addClass("masked-relative");
		}
		if(showmask){
		this.addClass("masked");
		var maskDiv = $('<div class="loadmask"></div>');
			if(navigator.userAgent.toLowerCase().indexOf("msie") > -1){
				maskDiv.height(this.height() + parseInt(this.css("padding-top")) + parseInt(this.css("padding-bottom")));
				maskDiv.width(this.width() + parseInt(this.css("padding-left")) + parseInt(this.css("padding-right")));
			}
			if(navigator.userAgent.toLowerCase().indexOf("msie 6") > -1){
				this.find("select").addClass("masked-hidden");
			}
		this.append(maskDiv);
		}
		if(typeof label == "string") {
			var maskMsgDiv = $('<div class="loadmask-msg" style="display:none;"></div>');
			maskMsgDiv.append('<div>' + label + '</div>');
			this.append(maskMsgDiv);
			switch(pos){
			case '':
			maskMsgDiv.css("top",Math.round(this.height() / 2 - (maskMsgDiv.height() - parseInt(maskMsgDiv.css("padding-top")) - parseInt(maskMsgDiv.css("padding-bottom"))) / 2)+"px");
			break;
			case 'T':
			maskMsgDiv.css("top",$(document).scrollTop()+10+"px");
			break;
			case 'C':
			maskMsgDiv.css("top",$(document).scrollTop()+Math.round(this.height() / 2 - (maskMsgDiv.height() - parseInt(maskMsgDiv.css("padding-top")) - parseInt(maskMsgDiv.css("padding-bottom"))) / 2)+"px");
			break;
			default:
			maskMsgDiv.css("top",$(document).scrollTop()+pos+"px");
			break;
			}
			maskMsgDiv.css("left", Math.round(this.width() / 2 - (maskMsgDiv.width() - parseInt(maskMsgDiv.css("padding-left")) - parseInt(maskMsgDiv.css("padding-right"))) / 2)+"px");
			maskMsgDiv.show();
		}
	};
	$.fn.unmask = function(){
		this.find(".loadmask-msg,.loadmask").remove();
		this.removeClass("masked");
		this.removeClass("masked-relative");
		this.find("select").removeClass("masked-hidden");
	};
	
	/*
	表单ajax插件
	基于 jQuery Form Plugin 2.36
	修正了自动增加输出层
	*******************************************************************************************
	*/
	;(function($) {
	$.fn.ajaxSubmit = function(options) {
		if (!this.length) {
			log('ajaxSubmit: skipping submit process - no element selected');
			return this;
		}
		if (typeof options == 'function')
			options = { success: options };
		var url = $.trim(this.attr('action'));
		if (url) {
			url = (url.match(/^([^#]+)/)||[])[1];
		}
		url = url || window.location.href || '';
		options = $.extend({
			beforeSubmit:	showRequest,
			success:	showResponse,
			url:  url,
			type: this.attr('method') || 'GET',
			iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'
		}, options || {});
		var veto = {};
		this.trigger('form-pre-serialize', [this, options, veto]);
		if (veto.veto) {
			log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
			return this;
		}
		if (options.beforeSerialize && options.beforeSerialize(this, options) === false) {
			log('ajaxSubmit: submit aborted via beforeSerialize callback');
			return this;
		}
		var a = this.formToArray(options.semantic);
		if (options.data) {
			options.extraData = options.data;
			for (var n in options.data) {
			  if(options.data[n] instanceof Array) {
				for (var k in options.data[n])
				  a.push( { name: n, value: options.data[n][k] } );
			  }
			  else
				 a.push( { name: n, value: options.data[n] } );
			}
		}
		if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
			log('ajaxSubmit: submit aborted via beforeSubmit callback');
			return this;
		}
		this.trigger('form-submit-validate', [a, this, options, veto]);
		if (veto.veto) {
			log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
			return this;
		}
		var q = $.param(a);
		if (options.type.toUpperCase() == 'GET') {
			options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
			options.data = null;
		}
		else
			options.data = q;
		var $form = this, callbacks = [];
		if (options.resetForm) callbacks.push(function() { $form.resetForm(); });
		if (options.clearForm) callbacks.push(function() { $form.clearForm(); });
		if (!options.dataType && options.target) {
			var oldSuccess = options.success || function(){};
			callbacks.push(function(data) {
				//if($(options.target).length<1)  $('body').append('<div id="'+options.target.replace('#','')+'" style="display:none"></div>');
				$(options.target).html(data).each(oldSuccess, arguments);
			});
		}
		else if (options.success)
			callbacks.push(options.success);
		options.success = function(data, status) {
			for (var i=0, max=callbacks.length; i < max; i++)
				callbacks[i].apply(options, [data, status, $form]);
		};
		var files = $('input:file', this).fieldValue();
		var found = false;
		for (var j=0; j < files.length; j++)
			if (files[j])
				found = true;
		var multipart = false;
	   if ((files.length && options.iframe !== false) || options.iframe || found || multipart) {
		   if (options.closeKeepAlive)
			   $.get(options.closeKeepAlive, fileUpload);
		   else
			   fileUpload();
		   }
	   else
		   $.ajax(options);
		this.trigger('form-submit-notify', [this, options]);
		return this;
		function fileUpload() {
			var form = $form[0];
			if ($(':input[name=submit]', form).length) {
				alert('Error: Form elements must not be named "submit".');
				return;
			}
			var opts = $.extend({}, $.ajaxSettings, options);
			var s = $.extend(true, {}, $.extend(true, {}, $.ajaxSettings), opts);
			var id = 'jqFormIO' + (new Date().getTime());
			var $io = $('<iframe id="' + id + '" name="' + id + '" src="'+ opts.iframeSrc +'" />');
			var io = $io[0];
			$io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
			var xhr = {
				aborted: 0,
				responseText: null,
				responseXML: null,
				status: 0,
				statusText: 'n/a',
				getAllResponseHeaders: function() {},
				getResponseHeader: function() {},
				setRequestHeader: function() {},
				abort: function() {
					this.aborted = 1;
					$io.attr('src', opts.iframeSrc);
				}
			};
			var g = opts.global;
			if (g && ! $.active++) $.event.trigger("ajaxStart");
			if (g) $.event.trigger("ajaxSend", [xhr, opts]);
			if (s.beforeSend && s.beforeSend(xhr, s) === false) {
				s.global && $.active--;
				return;
			}
			if (xhr.aborted)
				return;
			var cbInvoked = 0;
			var timedOut = 0;
			var sub = form.clk;
			if (sub) {
				var n = sub.name;
				if (n && !sub.disabled) {
					options.extraData = options.extraData || {};
					options.extraData[n] = sub.value;
					if (sub.type == "image") {
						options.extraData[name+'.x'] = form.clk_x;
						options.extraData[name+'.y'] = form.clk_y;
					}
				}
			}
			setTimeout(function() {
				var t = $form.attr('target'), a = $form.attr('action');
				form.setAttribute('target',id);
				if (form.getAttribute('method') != 'POST')
					form.setAttribute('method', 'POST');
				if (form.getAttribute('action') != opts.url)
					form.setAttribute('action', opts.url);
				if (! options.skipEncodingOverride) {
					$form.attr({
						encoding: 'multipart/form-data',
						enctype:  'multipart/form-data'
					});
				}
				if (opts.timeout)
					setTimeout(function() { timedOut = true; cb(); }, opts.timeout);
				var extraInputs = [];
				try {
					if (options.extraData)
						for (var n in options.extraData)
							extraInputs.push(
								$('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />')
									.appendTo(form)[0]);
					$io.appendTo('body');
					io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false);
					form.submit();
				}
				finally {
					form.setAttribute('action',a);
					t ? form.setAttribute('target', t) : $form.removeAttr('target');
					$(extraInputs).remove();
				}
			}, 10);
			var domCheckCount = 50;
			function cb() {
				if (cbInvoked++) return;
				io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false);
				var ok = true;
				try {
					if (timedOut) throw 'timeout';
					var data, doc;
					doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document;
					var isXml = opts.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc);
					log('isXml='+isXml);
					if (!isXml && (doc.body == null || doc.body.innerHTML == '')) {
						if (--domCheckCount) {
							cbInvoked = 0;
							setTimeout(cb, 100);
							return;
						}
						log('Could not access iframe DOM after 50 tries.');
						return;
					}
					xhr.responseText = doc.body ? doc.body.innerHTML : null;
					xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
					xhr.getResponseHeader = function(header){
						var headers = {'content-type': opts.dataType};
						return headers[header];
					};
					if (opts.dataType == 'json' || opts.dataType == 'script') {
						var ta = doc.getElementsByTagName('textarea')[0];
						if (ta)
							xhr.responseText = ta.value;
						else {
							var pre = doc.getElementsByTagName('pre')[0];
							if (pre)
								xhr.responseText = pre.innerHTML;
						}			  
					}
					else if (opts.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
						xhr.responseXML = toXml(xhr.responseText);
					}
					data = $.httpData(xhr, opts.dataType);
				}
				catch(e){
					ok = false;
					$.handleError(opts, xhr, 'error', e);
				}
				if (ok) {
					opts.success(data, 'success');
					if (g) $.event.trigger("ajaxSuccess", [xhr, opts]);
				}
				if (g) $.event.trigger("ajaxComplete", [xhr, opts]);
				if (g && ! --$.active) $.event.trigger("ajaxStop");
				if (opts.complete) opts.complete(xhr, ok ? 'success' : 'error');
				setTimeout(function() {
					$io.remove();
					xhr.responseXML = null;
				}, 100);
			};
			function toXml(s, doc) {
				if (window.ActiveXObject) {
					doc = new ActiveXObject('Microsoft.XMLDOM');
					doc.async = 'false';
					doc.loadXML(s);
				}
				else
					doc = (new DOMParser()).parseFromString(s, 'text/xml');
				return (doc && doc.documentElement && doc.documentElement.tagName != 'parsererror') ? doc : null;
			};
		};
	};
	$.fn.ajaxForm = function(options) {
		return this.ajaxFormUnbind().bind('submit.form-plugin', function() {
			$(this).ajaxSubmit(options);
			return false;
		}).bind('click.form-plugin', function(e) {
			var target = e.target;
			var $el = $(target);
			if (!($el.is(":submit,input:image"))) {
				var t = $el.closest(':submit');
				if (t.length == 0)
					return;
				target = t[0];
			}
			var form = this;
			form.clk = target;
			if (target.type == 'image') {
				if (e.offsetX != undefined) {
					form.clk_x = e.offsetX;
					form.clk_y = e.offsetY;
				} else if (typeof $.fn.offset == 'function') {
					var offset = $el.offset();
					form.clk_x = e.pageX - offset.left;
					form.clk_y = e.pageY - offset.top;
				} else {
					form.clk_x = e.pageX - target.offsetLeft;
					form.clk_y = e.pageY - target.offsetTop;
				}
			}
			setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 100);
		});
	};
	$.fn.ajaxFormUnbind = function() {
		return this.unbind('submit.form-plugin click.form-plugin');
	};
	$.fn.formToArray = function(semantic) {
		var a = [];
		if (this.length == 0) return a;
	
		var form = this[0];
		var els = semantic ? form.getElementsByTagName('*') : form.elements;
		if (!els) return a;
		for(var i=0, max=els.length; i < max; i++) {
			var el = els[i];
			var n = el.name;
			if (!n) continue;
			if (semantic && form.clk && el.type == "image") {
				if(!el.disabled && form.clk == el) {
					a.push({name: n, value: $(el).val()});
					a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
				}
				continue;
			}
			var v = $.fieldValue(el, true);
			if (v && v.constructor == Array) {
				for(var j=0, jmax=v.length; j < jmax; j++)
					a.push({name: n, value: v[j]});
			}
			else if (v !== null && typeof v != 'undefined')
				a.push({name: n, value: v});
		}
		if (!semantic && form.clk) {
			var $input = $(form.clk), input = $input[0], n = input.name;
			if (n && !input.disabled && input.type == 'image') {
				a.push({name: n, value: $input.val()});
				a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
			}
		}
		return a;
	};
	$.fn.formSerialize = function(semantic) {
		return $.param(this.formToArray(semantic));
	};
	$.fn.fieldSerialize = function(successful) {
		var a = [];
		this.each(function() {
			var n = this.name;
			if (!n) return;
			var v = $.fieldValue(this, successful);
			if (v && v.constructor == Array) {
				for (var i=0,max=v.length; i < max; i++)
					a.push({name: n, value: v[i]});
			}
			else if (v !== null && typeof v != 'undefined')
				a.push({name: this.name, value: v});
		});
		return $.param(a);
	};
	$.fn.fieldValue = function(successful) {
		for (var val=[], i=0, max=this.length; i < max; i++) {
			var el = this[i];
			var v = $.fieldValue(el, successful);
			if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length))
				continue;
			v.constructor == Array ? $.merge(val, v) : val.push(v);
		}
		return val;
	};
	$.fieldValue = function(el, successful) {
		var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
		if (typeof successful == 'undefined') successful = true;
		if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
			(t == 'checkbox' || t == 'radio') && !el.checked ||
			(t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
			tag == 'select' && el.selectedIndex == -1))
				return null;
	
		if (tag == 'select') {
			var index = el.selectedIndex;
			if (index < 0) return null;
			var a = [], ops = el.options;
			var one = (t == 'select-one');
			var max = (one ? index+1 : ops.length);
			for(var i=(one ? index : 0); i < max; i++) {
				var op = ops[i];
				if (op.selected) {
					var v = op.value;
					if (!v)
						v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value;
					if (one) return v;
					a.push(v);
				}
			}
			return a;
		}
		return el.value;
	};
	$.fn.clearForm = function() {
		return this.each(function() {
			$('input,select,textarea', this).clearFields();
		});
	};
	$.fn.clearFields = $.fn.clearInputs = function() {
		return this.each(function() {
			var t = this.type, tag = this.tagName.toLowerCase();
			if (t == 'text' || t == 'password' || tag == 'textarea')
				this.value = '';
			else if (t == 'checkbox' || t == 'radio')
				this.checked = false;
			else if (tag == 'select')
				this.selectedIndex = -1;
		});
	};
	$.fn.resetForm = function() {
		return this.each(function() {
			if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType))
				this.reset();
		});
	};
	$.fn.enable = function(b) {
		if (b == undefined) b = true;
		return this.each(function() {
			this.disabled = !b;
		});
	};
	$.fn.selected = function(select) {
		if (select == undefined) select = true;
		return this.each(function() {
			var t = this.type;
			if (t == 'checkbox' || t == 'radio')
				this.checked = select;
			else if (this.tagName.toLowerCase() == 'option') {
				var $sel = $(this).parent('select');
				if (select && $sel[0] && $sel[0].type == 'select-one') {
					$sel.find('option').selected(false);
				}
				this.selected = select;
			}
	
		});
	};
	function log() {
		if ($.fn.ajaxSubmit.debug && window.console && window.console.log)
			window.console.log('[jquery.form] ' + Array.prototype.join.call(arguments,''));
	};
	})(jQuery);
	
	/*
	表单验证插件 formValidator
	基于jQuery formValidator
	修正了部分bug，增加了empty验证
	*******************************************************************************************
	*/
	var jQuery_formValidator_initConfig;
	(function($) {
	$.formValidator = 
	{
		sustainType : function(id,setting)
		{
			var elem = $("#"+id).get(0);
			var srcTag = elem.tagName;
			var stype = elem.type;
			switch(setting.validatetype)
			{
				case "InitValidator":
					return true;
				case "InputValidator":
					if (srcTag == "INPUT" || srcTag == "TEXTAREA" || srcTag == "SELECT"){
						return true;
					}else{
						return false;
					}
				case "CompareValidator":
					if (srcTag == "INPUT" || srcTag == "TEXTAREA")
					{
						if (stype == "checkbox" || stype == "radio"){
							return false;
						}else{
							return true;
						}
					}
					return false;
				case "AjaxValidator":
					if (stype == "text" || stype == "textarea" || stype == "file" || stype == "password" || stype == "select-one"){
						return true;
					}else{
						return false;
					}
				case "RegexValidator":
					if (srcTag == "INPUT" || srcTag == "TEXTAREA")
					{
						if (stype == "checkbox" || stype == "radio"){
							return false;
						}else{
							return true;
						}
					}
					return false;
				case "FunctionValidator":
					return true;
			}
		},
		initConfig : function(controlOptions)
		{
			var settings = 
			{
				debug:false,
				validatorgroup : "1",
				alertmessage:false,
				validobjectids:"",
				forcevalid:false,
				onsuccess: function() {return true;},
				onerror:function(msg) {sqOverAlert((msg=='<font class="sign">×</font>'?'输入错误':msg))},
				submitonce:false,
				formid:"frmdata",
				autotip: false,
				tidymode:false,
				errorfocus:true,
				wideword:true
			};
			controlOptions = controlOptions || {};
			$.extend(settings, controlOptions);
			if(settings.tidymode){settings.errorfocus=false};
			if(settings.formid!=""){$("#"+settings.formid).submit(function(){return $.formValidator.pageIsValid("1");})};
			if (jQuery_formValidator_initConfig == null ){jQuery_formValidator_initConfig = new Array();}
			jQuery_formValidator_initConfig.push( settings );
		},
		appendValid : function(id, setting )
		{
			if(!$.formValidator.sustainType(id,setting)) return -1;
			var srcjo = $("#"+id).get(0);   
			if (setting.validatetype=="InitValidator" || srcjo.settings == undefined ){srcjo.settings = new Array();}   
			var len = srcjo.settings.push( setting );
			srcjo.settings[len - 1].index = len - 1;
			return len - 1;
		},
		getInitConfig : function( validatorgroup )
		{
			if(jQuery_formValidator_initConfig!=null)
			{
				for(i=0;i<jQuery_formValidator_initConfig.length;i++)
				{
					if(validatorgroup==jQuery_formValidator_initConfig[i].validatorgroup)
					{
						return jQuery_formValidator_initConfig[i];
					}
				}
			}
			return null;
		},
		triggerValidate : function(returnObj)
		{
			switch(returnObj.setting.validatetype)
			{
				case "InputValidator":
					$.formValidator.inputValid(returnObj);
					break;
				case "CompareValidator":
					$.formValidator.compareValid(returnObj);
					break;
				case "AjaxValidator":
					$.formValidator.ajaxValid(returnObj);
					break;
				case "RegexValidator":
					$.formValidator.regexValid(returnObj);
					break;
				case "FunctionValidator":
					$.formValidator.functionValid(returnObj);
					break;
			}
		},
		setTipState : function(elem,showclass,showmsg)
		{
			var setting0 = elem.settings[0];
			var initConfig = $.formValidator.getInitConfig(setting0.validatorgroup);
			var tip = $("#"+setting0.tipid);
			if(showmsg==null || showmsg=="")
			{
				tip.hide();
			}
			else
			{
				tip.show();
				if(initConfig.tidymode)
				{
					$("#fv_content").html(showmsg);
					elem.Tooltip = showmsg;
					if(showclass!="onError"){tip.hide();}
				}
				tip.removeClass();
				tip.addClass( showclass );
				tip.html( showmsg );
			}
		},
		resetTipState : function(validatorgroup)
		{
			var initConfig = $.formValidator.getInitConfig(validatorgroup);
			$(initConfig.validobjectids).each(function(){
				$.formValidator.setTipState(this,"onShow",this.settings[0].onshow);	
			});
		},
		setFailState : function(tipid,showmsg)
		{
			var tip = $("#"+tipid);
			tip.removeClass();
			tip.addClass("onError");
			tip.html(showmsg);
		},
		showMessage : function(returnObj)
		{
			var id = returnObj.id;
			var elem = $("#"+id).get(0);
			var isvalid = returnObj.isvalid;
			var setting = returnObj.setting;
			var showmsg = "",showclass = "";
			var settings = $("#"+id).get(0).settings;
			var intiConfig = $.formValidator.getInitConfig(settings[0].validatorgroup);
			if (!isvalid)
			{		
				showclass = "onError";
				if(setting.validatetype=="AjaxValidator")
				{
					if(setting.lastValid=="")
					{
						showclass = "onLoad";
						showmsg = setting.onwait;
					}
					else
					{
						showmsg = setting.onerror;
					}
				}
				else
				{
					showmsg = (returnObj.errormsg==""? setting.onerror : returnObj.errormsg);
					
				}
				if(intiConfig.alertmessage)		
				{
					var elem = $("#"+id).get(0);
					if(elem.validoldvalue!=$(elem).val()){sqAlert(showmsg);}   
				}
				else
				{
					$.formValidator.setTipState(elem,showclass,showmsg);
				}
			}
			else
			{		
				showmsg = $.formValidator.isEmpty(id) ? setting.onempty : setting.oncorrect;
				$.formValidator.setTipState(elem,"onCorrect",showmsg);
			}
			return showmsg;
		},
		showAjaxMessage : function(returnObj)
		{
			var setting = returnObj.setting;
			var elem = $("#"+returnObj.id).get(0);
			if(elem.validoldvalue!=$(elem).val())
			{
				$.formValidator.ajaxValid(returnObj);
			}
			else
			{
				if(setting.isvalid!=undefined && !setting.isvalid){
					elem.lastshowclass = "onError"; 
					elem.lastshowmsg = setting.onerror;
				}
				$.formValidator.setTipState(elem,elem.lastshowclass,elem.lastshowmsg);
			}
		},
		getLength : function(id)
		{
			var srcjo = $("#"+id);
			var elem = srcjo.get(0);
			sType = elem.type;
			var len = 0;
			switch(sType)
			{
				case "text":
				case "hidden":
				case "password":
				case "textarea":
				case "file":
					var val = srcjo.val();
					var initConfig = $.formValidator.getInitConfig(elem.settings[0].validatorgroup);
					if (initConfig.wideword)
					{
						for (var i = 0; i < val.length; i++) 
						{
							if (val.charCodeAt(i) >= 0x4e00 && val.charCodeAt(i) <= 0x9fa5){ 
								len += 2;
							}else {
								len++;
							}
						}
					}
					else{
						len = val.length;
					}
					break;
				case "checkbox":
				case "radio": 
					len = $("input[type='"+sType+"'][name='"+srcjo.attr("name")+"']:checked").length;
					break;
				case "select-one":
					len = elem.options ? elem.options.selectedIndex : -1;
					break;
				case "select-multiple":
					len = $("select[name="+elem.name+"] option:selected").length;
					break;
			}
			return len;
		},
		isEmpty : function(id)
		{
			if($("#"+id).get(0).settings[0].empty && $.formValidator.getLength(id)==0){
				return true;
			}else{
				return false;
			}
		},
		isOneValid : function(id)
		{
			return $.formValidator.oneIsValid(id,1).isvalid;
		},
		oneIsValid : function (id,index)
		{
			var returnObj = new Object();
			returnObj.id = id;
			returnObj.ajax = -1;
			returnObj.errormsg = "";       //自定义错误信息
			var elem = $("#"+id).get(0);
			var settings = elem.settings;
			var settingslen = settings.length;
			//只有一个formValidator的时候不检验
			if (settingslen==1){settings[0].bind=false;}
			if(!settings[0].bind){return null;}
			for ( var i = 0 ; i < settingslen ; i ++ )
			{   
				if(i==0){
					if($.formValidator.isEmpty(id)){
						returnObj.isvalid = true;
						returnObj.setting = settings[0];
						break;
					}
					continue;
				}
				returnObj.setting = settings[i];
				if(settings[i].validatetype!="AjaxValidator") {
					$.formValidator.triggerValidate(returnObj);
				}else{
					returnObj.ajax = i;
				}
				if(!settings[i].isvalid) {
					returnObj.isvalid = false;
					returnObj.setting = settings[i];
					break;
				}else{
					returnObj.isvalid = true;
					returnObj.setting = settings[0];
					if(settings[i].validatetype=="AjaxValidator") break;
				}
			}
			return returnObj;
		},
		pageIsValid : function (validatorgroup)
		{
			if(validatorgroup == null || validatorgroup == undefined){validatorgroup = "1"};
			var isvalid = true;
			var thefirstid = "",thefirsterrmsg;
			var returnObj,setting;
			var error_tip = "^"; 	
	
			var initConfig = $.formValidator.getInitConfig(validatorgroup);
			var jqObjs = $(initConfig.validobjectids);
			jqObjs.each(function(i,elem)
			{
				if(elem.settings[0].bind){
					returnObj = $.formValidator.oneIsValid(elem.id,1);
					if(returnObj)
					{
						var tipid = elem.settings[0].tipid;
						if (!returnObj.isvalid) {
							isvalid = false;
							if (thefirstid == ""){
								thefirstid = returnObj.id;
								thefirsterrmsg = (returnObj.errormsg==""?returnObj.setting.onerror:returnObj.errormsg)
							}
						}
						if (!initConfig.alertmessage){
							if (error_tip.indexOf("^" + tipid + "^") == -1) {
								if (!returnObj.isvalid) {
									error_tip = error_tip + tipid + "^";
								}
								$.formValidator.showMessage(returnObj);
							}
						}
					}
				}
			});
			if(isvalid)
			{
				isvalid = initConfig.onsuccess();
				if(initConfig.submitonce){$(":submit").attr("disabled",true);}
			}
			else
			{
				var obj = $("#"+thefirstid).get(0);
				initConfig.onerror(thefirsterrmsg,obj);
				if(thefirstid!="" && initConfig.errorfocus){$("#"+thefirstid).focus();}
			}
			return !initConfig.debug && isvalid;
		},
		ajaxValid : function(returnObj)
		{
			var id = returnObj.id;
			var srcjo = $("#"+id);
			var elem = srcjo.get(0);
			var settings = elem.settings;
			var setting = settings[returnObj.ajax];
			var ls_url = setting.url;
			if (srcjo.size() == 0 && settings[0].empty) {
				returnObj.setting = settings[0];
				returnObj.isvalid = true;
				$.formValidator.showMessage(returnObj);
				setting.isvalid = true;
				return;
			}
			if(setting.addidvalue)
			{
				var parm = "clientid="+id+"&"+id+"="+encodeURIComponent(srcjo.val());
				ls_url = ls_url + (ls_url.indexOf("?")>0?("&"+ parm) : ("?"+parm));
			}
			$.ajax(
			{	
				mode : "abort",
				type : setting.type, 
				url : ls_url, 
				cache : setting.cache,
				data : setting.data, 
				async : setting.async, 
				dataType : setting.datatype, 
				success : function(data){
					if(setting.success(data))
					{
						$.formValidator.setTipState(elem,"onCorrect",settings[0].oncorrect);
						setting.isvalid = true;
					}
					else
					{
						$.formValidator.setTipState(elem,"onError",setting.onerror);
						setting.isvalid = false;
					}
				},
				complete : function(){
					if(setting.buttons && setting.buttons.length > 0){setting.buttons.attr({"disabled":false})};
					setting.complete;
				}, 
				beforeSend : function(xhr){
					if(setting.buttons && setting.buttons.length > 0){setting.buttons.attr({"disabled":true})};
					var isvalid = setting.beforesend(xhr);
					if(isvalid)
					{
						setting.isvalid = false;
						$.formValidator.setTipState(elem,"onLoad",settings[returnObj.ajax].onwait);
					}
					setting.lastValid = "-1";
					return isvalid;
				}, 
				error : function(){
					$.formValidator.setTipState(elem,"onError",setting.onerror);
					setting.isvalid = false;
					setting.error();
				},
				processData : setting.processdata 
			});
		},
		regexValid : function(returnObj)
		{
			var id = returnObj.id;
			var setting = returnObj.setting;
			var srcTag = $("#"+id).get(0).tagName;
			var elem = $("#"+id).get(0);
			if(elem.settings[0].empty && elem.value==""){
				setting.isvalid = true;
			}
			else 
			{
				var regexpress = setting.regexp;
				if(setting.datatype=="enum"){regexpress = eval("regexEnum."+regexpress);}
				if(regexpress==undefined || regexpress==""){
					setting.isvalid = false;
					return;
				}
				setting.isvalid = (new RegExp(regexpress, setting.param)).test($("#"+id).val());
			}
		},
		functionValid : function(returnObj)
		{
			var id = returnObj.id;
			var setting = returnObj.setting;
			var srcjo = $("#"+id);
			var lb_ret = setting.fun(srcjo.val(),srcjo.get(0));
			if(lb_ret != undefined) 
			{
				if(typeof lb_ret == "string"){
					setting.isvalid = false;
					returnObj.errormsg = lb_ret;
				}else{
					setting.isvalid = lb_ret;
				}
			}
		},
		inputValid : function(returnObj)
		{
			var id = returnObj.id;
			var setting = returnObj.setting;
			var srcjo = $("#"+id);
			var elem = srcjo.get(0);
			var val = srcjo.val();
			var sType = elem.type;
			var len = $.formValidator.getLength(id);
			var empty = setting.empty,emptyerror = false;
			switch(sType)
			{
				case "text":
				case "hidden":
				case "password":
				case "textarea":
				case "file":
					if (setting.type == "size") {
						empty = setting.empty;
						if(!empty.leftempty){
							emptyerror = (val.replace(/^[ \s]+/, '').length != val.length);
						}
						if(!emptyerror && !empty.rightempty){
							emptyerror = (val.replace(/[ \s]+$/, '').length != val.length);
						}
						if(emptyerror && empty.emptyerror){returnObj.errormsg= empty.emptyerror}
					}
				case "checkbox":
				case "select-one":
				case "select-multiple":
				case "radio":
					var lb_go_on = false;
					if(sType=="select-one" || sType=="select-multiple"){setting.type = "size";}
					var type = setting.type;
					if (type == "size") {
						if(!emptyerror){lb_go_on = true}
						if(lb_go_on){val = len}
					}
					else if (type =="date" || type =="datetime")
					{
						var isok = false;
						if(type=="date"){lb_go_on = isDate(val)};
						if(type=="datetime"){lb_go_on = isDate(val)};
						if(lb_go_on){val = new Date(val);setting.min=new Date(setting.min);setting.max=new Date(setting.max);};
					}else{
						stype = (typeof setting.min);
						if(stype =="number")
						{
							val = (new Number(val)).valueOf();
							if(!isNaN(val)){lb_go_on = true;}
						}
						if(stype =="string"){lb_go_on = true;}
					}
					setting.isvalid = false;
					if(lb_go_on)
					{
						if(val < setting.min || val > setting.max){
							if(val < setting.min && setting.onerrormin){
								returnObj.errormsg= setting.onerrormin;
							}
							if(val > setting.min && setting.onerrormax){
								returnObj.errormsg= setting.onerrormax;
							}
						}
						else{
							setting.isvalid = true;
						}
					}
					break;
			}
		},
		compareValid : function(returnObj)
		{
			var id = returnObj.id;
			var setting = returnObj.setting;
			var srcjo = $("#"+id);
			var desjo = $("#"+setting.desid );
			var ls_datatype = setting.datatype;
			setting.isvalid = false;
			curvalue = srcjo.val();
			ls_data = desjo.val();
			if(ls_datatype=="number")
			{
				if(!isNaN(curvalue) && !isNaN(ls_data)){
					curvalue = parseFloat(curvalue);
					ls_data = parseFloat(ls_data);
				}
				else{
					return;
				}
			}
			if(ls_datatype=="date" || ls_datatype=="datetime")
			{
				var isok = false;
				if(ls_datatype=="date"){isok = (isDate(curvalue) && isDate(ls_data))};
				if(ls_datatype=="datetime"){isok = (isDateTime(curvalue) && isDateTime(ls_data))};
				if(isok){
					curvalue = new Date(curvalue);
					ls_data = new Date(ls_data)
				}
				else{
					return;
				}
			}
			switch(setting.operateor)
			{
				case "=":
					if(curvalue == ls_data){setting.isvalid = true;}
					break;
				case "!=":
					if(curvalue != ls_data){setting.isvalid = true;}
					break;
				case ">":
					if(curvalue > ls_data){setting.isvalid = true;}
					break;
				case ">=":
					if(curvalue >= ls_data){setting.isvalid = true;}
					break;
				case "<": 
					if(curvalue < ls_data){setting.isvalid = true;}
					break;
				case "<=":
					if(curvalue <= ls_data){setting.isvalid = true;}
					break;
			}
		},
		localTooltip : function(e)
		{
			e = e || window.event;
			var mouseX = e.pageX || (e.clientX ? e.clientX + document.body.scrollLeft : 0);
			var mouseY = e.pageY || (e.clientY ? e.clientY + document.body.scrollTop : 0);
			$("#fvtt").css({"top":(mouseY+2)+"px","left":(mouseX-40)+"px"});
		}
	};
	$.fn.formValidator = function(cs) 
	{
		var setting = 
		{
			validatorgroup : "1",
			empty :false,
			submitonce : false,
			automodify : false,
			onshow :"",
			onfocus: "确认内容及格式！",
			oncorrect: "",
			onempty: "输入内容为空！",
			defaultvalue : null,
			bind : true,
			validatetype : "InitValidator",
			tipcss : 
			{
				"left" : "10px",
				"top" : "1px",
				"height" : "20px",
				"width":"250px"
			},
			triggerevent:"blur",
			forcevalid : false
		};
		cs = cs || {};
		if(cs.validatorgroup == undefined){cs.validatorgroup = "1"};
		var initConfig = $.formValidator.getInitConfig(cs.validatorgroup);
		if(initConfig.tidymode){setting.tipcss = {"left" : "2px","width":"22px","height":"22px","display":"none"}};
		$.extend(true,setting, cs);
		return this.each(function(e)
		{
			var jqobj = $(this);
			var setting_temp = {};
			$.extend(true,setting_temp, setting);
			var tip = setting_temp.tipid ? setting_temp.tipid : this.id+"tip";
			if(initConfig.autotip)
			{
				if($("body [id="+tip+"]").length==0)
				{
					aftertip = setting_temp.relativeid ? setting_temp.relativeid : this.id;
					var obj = getTopLeft(aftertip);
					var y = obj.top;
					var x = getElementWidth(aftertip) + obj.left;
					$("<div class='formValidateTip'></div>").appendTo($("body")).css({left: x+"px", top: y+"px"}).prepend($('<div id="'+tip+'"></div>').css(setting_temp.tipcss));
				}
				if(initConfig.tidymode){jqobj.showTooltips()};
			}
			setting.tipid = tip;
			$.formValidator.appendValid(this.id,setting);
			var validobjectids = initConfig.validobjectids;
			if(validobjectids.indexOf("#"+this.id+" ")==-1){
				initConfig.validobjectids = (validobjectids=="" ? "#"+this.id : validobjectids + ",#" + this.id);
			}
			if(!initConfig.alertmessage){
				$.formValidator.setTipState(this,"onShow",setting.onshow);
			}
			var srcTag = this.tagName.toLowerCase();
			var stype = this.type;
			var defaultval = setting.defaultvalue;
			if(defaultval){
				jqobj.val(defaultval);
			}
			if(srcTag == "input" || srcTag=="textarea")
			{
				jqobj.focus(function()
				{	
					if(!initConfig.alertmessage){
						var tipjq = $("#"+tip);
						this.lastshowclass = tipjq.attr("class");
						this.lastshowmsg = tipjq.html();
						$.formValidator.setTipState(this,"onFocus",setting.onfocus);
					}
					if (stype == "password" || stype == "text" || stype == "textarea" || stype == "file") {
						this.validoldvalue = jqobj.val();
					}
				});
				jqobj.bind(setting.triggerevent, function(){
					var settings = this.settings;
					var returnObj = $.formValidator.oneIsValid(this.id,1);
					if(returnObj==null){return;}
					if(returnObj.ajax >= 0) 
					{
						$.formValidator.showAjaxMessage(returnObj);
					}
					else
					{
						var showmsg = $.formValidator.showMessage(returnObj);
						if(!returnObj.isvalid)
						{
							var auto = setting.automodify && (this.type=="text" || this.type=="textarea" || this.type=="file");
							if(auto && !initConfig.alertmessage)
							{
								sqAlert(showmsg);
								$.formValidator.setTipState(this,"onShow",setting.onshow);
							}
							else
							{
								if(initConfig.forcevalid || setting.forcevalid){
									sqAlert(showmsg);this.focus();
								}
							}
						}
					}
				});
			} 
			else if (srcTag == "select")
			{
				jqobj.bind("focus", function(){	
					if(!initConfig.alertmessage){
						$.formValidator.setTipState(this,"onFocus",setting.onfocus);
					}
				});
				jqobj.bind("blur",function(){jqobj.trigger("change")});
				jqobj.bind("change",function()
				{
					var returnObj = $.formValidator.oneIsValid(this.id,1);	
					if(returnObj==null){return;}
					if ( returnObj.ajax >= 0){
						$.formValidator.showAjaxMessage(returnObj);
					}else{
						$.formValidator.showMessage(returnObj); 
					}
				});
			}
		});
	}; 
	
	$.fn.inputValidator = function(controlOptions){
		var settings = 
		{
			isvalid : false,
			min : 0,
			max : 99999999999999,
			type : "size",
			onerror:'<font class="sign">×</font>',
			validatetype:"InputValidator",
			empty:{leftempty:true,rightempty:true,leftemptyerror:null,rightemptyerror:null},
			wideword:true
		};
		controlOptions = controlOptions || {};
		$.extend(true, settings, controlOptions);
		return this.each(function(){
			$.formValidator.appendValid(this.id,settings);
		});
	};
	$.fn.compareValidator = function(controlOptions)
	{
		var settings = 
		{
			isvalid : false,
			desid : "",
			operateor :"=",
			onerror:'<font class="sign">×</font>',
			validatetype:"CompareValidator"
		};
		controlOptions = controlOptions || {};
		$.extend(true, settings, controlOptions);
		return this.each(function(){
			$.formValidator.appendValid(this.id,settings);
		});
	};
	$.fn.regexValidator = function(controlOptions)
	{
		var settings = 
		{
			isvalid : false,
			regexp : "",
			param : "i",
			datatype : "string",
			onerror:"输入的格式不正确",
			validatetype:"RegexValidator"
		};
		controlOptions = controlOptions || {};
		$.extend(true, settings, controlOptions);
		return this.each(function(){
			$.formValidator.appendValid(this.id,settings);
		});
	};
	$.fn.functionValidator = function(controlOptions)
	{
		var settings = 
		{
			isvalid : false,
			fun : function(){this.isvalid = true;},
			validatetype:"FunctionValidator",
			onerror:'<font color="red">×</font>'
		};
		controlOptions = controlOptions || {};
		$.extend(true, settings, controlOptions);
		return this.each(function(){
			$.formValidator.appendValid(this.id,settings);
		});
	};
	$.fn.ajaxValidator = function(controlOptions)
	{
		var settings = 
		{
			isvalid : false,
			lastValid : "",
			type : "GET",
			url : "",
			addidvalue : true,
			datatype : "html",
			data : "",
			async : true,
			cache : false,
			beforesend : function(){return true;},
			success : function(){return true;},
			complete : function(){},
			processdata : false,
			error : function(){},
			buttons : null,
			onerror:"服务器校验没有通过",
			onwait:"正在等待服务器返回数据",
			validatetype:"AjaxValidator"
		};
		controlOptions = controlOptions || {};
		$.extend(true, settings, controlOptions);
		return this.each(function()
		{
			$.formValidator.appendValid(this.id,settings);
		});
	};
	$.fn.defaultPassed = function(onshow)
	{
		return this.each(function()
		{
			var settings = this.settings;
			for ( var i = 1 ; i < settings.length ; i ++ )
			{   
				settings[i].isvalid = true;
				if(!$.formValidator.getInitConfig(settings[0].validatorgroup).alertmessage){
					var ls_style = onshow ? "onShow" : "onCorrect";
					$.formValidator.setTipState(this,ls_style,settings[0].oncorrect);
				}
			}
		});
	};
	$.fn.unFormValidator = function(unbind)
	{
		return this.each(function()
		{
			this.settings[0].bind = !unbind;
			if(unbind){
				$("#"+this.settings[0].tipid).hide();
			}else{
				$("#"+this.settings[0].tipid).show();
			}
		});
	};
	$.fn.showTooltips = function()
	{
		if($("body [id=fvtt]").length==0){
			fvtt = $("<div id='fvtt' style='position:absolute;z-index:56002'></div>");
			$("body").append(fvtt);
			fvtt.before("<iframe src='about:blank' class='fv_iframe' scrolling='no' frameborder='0'></iframe>");
		}
		return this.each(function()
		{
			jqobj = $(this);
			s = $("<span class='top' id=fv_content style='display:block'></span>");
			b = $("<b class='bottom' style='display:block' />");
			this.tooltip = $("<span class='fv_tooltip' style='display:block'></span>").append(s).append(b).css({"filter":"alpha(opacity:95)","KHTMLOpacity":"0.95","MozOpacity":"0.95","opacity":"0.95"});
			jqobj.mouseover(function(e){
				$("#fvtt").append(this.tooltip);
				$("#fv_content").html(this.Tooltip);
				$.formValidator.localTooltip(e);
			});
			jqobj.mouseout(function(){
				$("#fvtt").empty();
			});
			jqobj.mousemove(function(e){
				$("#fv_content").html(this.Tooltip);
				$.formValidator.localTooltip(e);
			});
		});
	}
	function getElementWidth(objectId) {
		x = document.getElementById(objectId);
		return x.offsetWidth;
	}
	function getTopLeft(objectId) {
		obj = new Object();
		o = document.getElementById(objectId);
		oLeft = o.offsetLeft;
		oTop = o.offsetTop;
		while(o.offsetParent!=null) {
			oParent = o.offsetParent;
			oLeft += oParent.offsetLeft;
			oTop += oParent.offsetTop;
			o = oParent;
		}
		obj.top = oTop;
		obj.left = oLeft;
		return obj;
	}
	})(jQuery);
	/*
	验证正则
	*******************************************************************************************
	*/
	var regexEnum = 
	{
		intege:"^-?[1-9]\\d*$",					//整数
		intege1:"^[1-9]\\d*$",					//正整数
		intege2:"^-[1-9]\\d*$",					//负整数
		num:"^([+-]?)\\d*\\.?\\d+$",			//数字
		num1:"^[1-9]\\d*|0$",					//正数（正整数 + 0）
		num2:"^-[1-9]\\d*|0$",					//负数（负整数 + 0）
		decmal:"^([+-]?)\\d*\\.\\d+$",			//浮点数
		decmal1:"^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$",　　	//正浮点数
		decmal2:"^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$",　 //负浮点数
		decmal3:"^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$",　 //浮点数
		decmal4:"^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$",　　 //非负浮点数（正浮点数 + 0）
		decmal5:"^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$",　　//非正浮点数（负浮点数 + 0）
		email:"^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$", //邮件
		color:"^[a-fA-F0-9]{6}$",				//颜色
		url:"^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$",	//url
		chinese:"^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$",					//仅中文
		ascii:"^[\\x00-\\xFF]+$",				//仅ACSII字符
		zipcode:"^\\d{6}$",						//邮编
		mobile:"^(13|15|18)[0-9]{9}$",		//手机^(13|15)[0-9]{9}$
		tel:"^[[0-9]{3}-|\[0-9]{4}-]?(\[0-9]{8}|[0-9]{7})?$",				//固话
		ip4:"^(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)$",	//ip地址
		notempty:"^\\S+$",						//非空
		picture:"(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$",	//图片
		rar:"(.*)\\.(rar|zip|7zip|tgz)$",								//压缩文件
		date:"^\\d{4}(\\-|\\/|\.)\\d{1,2}\\1\\d{1,2}$",					//日期
		qq:"^[1-9]*[1-9][0-9]*$",				//QQ号码
		tel:"^(([0\\+]\\d{2,3}-)?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{3,}))?$",	//电话号码的函数(包括验证国内区号,国际区号,分机号)
		//domain:"^[\u4E00-\u9FA5\uF900-\uFA2D-\w]+$",
		username:"^[a-zA-Z][a-zA-Z0-9|_]{2,19}$",						//用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串
		password:"^[a-zA-Z0-9~!@#$%^&*()_+]+$",
		letter:"^[A-Za-z]+$",					//字母
		letter_u:"^[A-Z]+$",					//大写字母
		letter_l:"^[a-z]+$",					//小写字母
		idcard:"^[1-9]([0-9]{14}|[0-9]{17})$"	//身份证
	}
	var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"} 
	function isCardID(sId){ 
		var iSum=0 ;
		var info="" ;
		if(!/^\d{17}(\d|x)$/i.test(sId)) return "你输入的身份证长度或格式错误"; 
		sId=sId.replace(/x$/i,"a"); 
		if(aCity[parseInt(sId.substr(0,2))]==null) return "你的身份证地区非法"; 
		sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2)); 
		var d=new Date(sBirthday.replace(/-/g,"/")) ;
		if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "身份证上的出生日期非法"; 
		for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) ;
		if(iSum%11!=1) return "你输入的身份证号非法"; 
		return true;//aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女") 
	} 
	//短时间，形如 (13:04:06)
	function isTime(str)
	{
		var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
		if (a == null) {return false}
		if (a[1]>24 || a[3]>60 || a[4]>60)
		{
			return false;
		}
		return true;
	}
	//短日期，形如 (2003-12-05)
	function isDate(str)
	{
		var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
		if(r==null)return false; 
		var d= new Date(r[1], r[3]-1, r[4]); 
		return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
	}
	//长时间，形如 (2003-12-05 13:04:06)
	function isDateTime(str)
	{
		var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
		var r = str.match(reg); 
		if(r==null) return false; 
		var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
		return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
	}
	
	/*
	对话框插件alert
	基于hiAlerts
	sqBox(_html,'删除分类信息',450,275);
	sqAlert(msg,'',function(r){if(r){}});
	sqConfirm(out,'系统信息',function(r){}});
	*******************************************************************************************
	*/
	(function(a){a.alerts={zindex:null,verticalOffset:0,horizontalOffset:0,repositionOnResize:true,overlayOpacity:0.30,overlayColor:"#003",draggable:true,okButton:"确 定",cancelButton:"取 消",dialogClass:null,alert:function(b,c,d){if(c==null){c="\u63d0\u793a"}a.alerts._show(c,b,null,"alert",function(e){if(d){d(e)}},null,null,null,null)},confirm:function(b,c,d){if(c==null){c="\u8bf7\u786e\u8ba4"}a.alerts._show(c,b,null,"confirm",function(e){if(d){d(e)}},null,null,null,null)},prompt:function(b,c,d,e){if(d==null){d="\u8bf7\u586b\u5199"}a.alerts._show(d,b,c,"prompt",function(f){if(e){e(f)}},null,null,null,null)},pswd:function(b,c,d,e){if(d==null){d="\u8bf7\u586b\u5199"}a.alerts._show(d,b,c,"pswd",function(f){if(e){e(f)}},null,null,null,null)},openBox:function(f,g,b,c,e,d,i){if(g==null){g="\u63d0\u793a"}a.alerts._show(g,f,null,"openBox",function(h){if(i){i(h);}},b,c,e,d)},overAlert:function(c,b){a.alerts._overShow(c,b)},_overShow:function(d,c){if(c==null){c=3000}var b=c+600;a("body").append('<div id="over_container" style="display:none"><div id="over_message"></div></div>');a("#over_message").text(d).html(a("#over_message").text().replace(/\n/g,"<br />"));if(a.alerts.dialogClass){a("#over_container").addClass(a.alerts.dialogClass)}var e=(a.browser.msie&&parseInt(a.browser.version)<=6)?"absolute":"fixed";a("#over_container").css({position:e,zIndex:a.alerts.zindex+2,width:230,padding:0,margin:0}).show();a("#over_container").css({minWidth:a("#over_container").outerWidth(),maxWidth:a("#over_container").outerWidth()});a.alerts._overReposition();setTimeout(function(){a("#over_container").hide()},c);setTimeout(function(){a("#over_container").remove()},b)},_overReposition:function(){var c=$(window).height()/2-(a("#over_container").outerHeight()/2);var b=((a(window).width()/2)-(a("#over_container").outerWidth()/2))+a.alerts.horizontalOffset;if(c<0){c=0}if(b<0){b=0}if(a.browser.msie&&parseInt(a.browser.version)<=6){c=c+a(window).scrollTop()}if(a.browser.msie&&parseInt(a.browser.version)<=6){b=b-175}a("#over_container").css({top:c+"px",left:b+"px"});a("#popup_overlay").height(a(document).height())},_show:function(j,b,k,g,m,l,c,f,n){a.alerts._hide();a.alerts._overlay("show");a("body").append('<div id="popup_container" style="display:none"><h1 id="popup_title"></h1><em id="ctl"></em><em id="cbl"></em><em id="ctr"></em><em id="cbr"></em><span id="popup_close"></span><div id="popup_content"><div id="popup_message"></div></div></div>');if(a.alerts.dialogClass){a("#popup_container").addClass(a.alerts.dialogClass)}var i=(a.browser.msie&&parseInt(a.browser.version)<=6)?"absolute":"fixed";a("#popup_container").css({position:i,zIndex:a.alerts.zindex+2,padding:0,margin:0}).show();j=(j=='') ? '系统提示' : j;a("#popup_title").text(j);if(g!="openBox"){a("#popup_message").text('<table border="0" cellspacing="10" cellpadding="0"><tr><td class="'+g+'"></td><td>'+b+'</td></tr></talbe>').html(a("#popup_message").text().replace(/\n/g,"<br />"));}a("#popup_container").css({});a.alerts._reposition();a.alerts._maintainPosition(true);switch(g){case"alert":a("#popup_message").after('<div id="popup_panel"><a href="#ok" id="popup_ok" class="dialogbutton">'+a.alerts.okButton+'</a></div>');a("#popup_panel").css('width',a("#popup_message").width()-10);a("#popup_ok").click(function(){a.alerts._hide();m(true)});a("#popup_ok").focus().keypress(function(h){if(h.keyCode==13||h.keyCode==27){a("#popup_ok").trigger("click")}});break;case"confirm":a("#popup_message").after('<div id="popup_panel"><a href="#cancel" id="popup_cancel" class="dialogbutton">'+a.alerts.cancelButton+'</a><a href="#ok" id="popup_ok" class="dialogbutton">'+a.alerts.okButton+'</a></div>');a("#popup_panel").css('width',a("#popup_message").width());a("#popup_ok").click(function(){a.alerts._hide();if(m){m(true)}});a("#popup_cancel").click(function(){a.alerts._hide();if(m){m(false)}});a("#popup_ok").focus();a("#popup_ok, #popup_cancel").keypress(function(h){if(h.keyCodex==13){a("#popup_ok").trigger("click")}if(h.keyCode==27){a("#popup_cancel").trigger("click")}});break;case"prompt":a("#popup_message").append('<table border="0" cellspacing="0" cellpadding="0"><tr><td style="padding:0 10px"><input type="text" id="popup_prompt" name="popup_prompt" value="" tip="请输入内容" /></td></tr></talbe>').after('<div id="popup_panel"><a href="#cancel" id="popup_cancel" class="dialogbutton">'+a.alerts.cancelButton+'</a><a href="#ok" id="popup_ok" class="dialogbutton">'+a.alerts.okButton+'</a></div>');a("#popup_panel").css('width',a("#popup_message").width()+10);a("#popup_prompt").width(a("#popup_message").width());a("#popup_ok").click(function(){var e=a("#popup_prompt").val();a.alerts._hide();if(m){m(e)}});a("#popup_cancel").click(function(){a.alerts._hide();if(m){m(null)}});a("#popup_prompt, #popup_ok, #popup_cancel").keypress(function(h){if(h.keyCode==13){a("#popup_ok").trigger("click")}if(h.keyCode==27){a("#popup_cancel").trigger("click")}});if(k){a("#popup_prompt").val(k);}resetWaterInput($("#popup_prompt"));a("#popup_prompt").focus().select();break;case"pswd":a("#popup_message").append('<table border="0" cellspacing="0" cellpadding="0"><tr><td style="padding:0 20px"><input type="password" id="popup_prompt" name="popup_prompt" value="" style="height:26px;line-height:26px;font-size:20px;ime-mode:disabled" tip="请输入密码" masktip="20" /></td></tr></talbe>').after('<div id="popup_panel"><a href="#ok" id="popup_ok" class="dialogbutton">'+a.alerts.okButton+'</a><a href="#cancel" id="popup_cancel" class="dialogbutton">'+a.alerts.cancelButton+'</a></div>');resetWaterInput($("#popup_prompt"));a("#popup_panel").css('width',a("#popup_message").width()-10);a("#popup_ok").click(function(){var e=a("#popup_prompt").val();a.alerts._hide();if(m){m(e)}});a("#popup_cancel").click(function(){a.alerts._hide();if(m){m(null)}});a("#popup_prompt, #popup_ok, #popup_cancel").keypress(function(h){if(h.keyCode==13){a("#popup_ok").trigger("click")}if(h.keyCode==27){a("#popup_cancel").trigger("click")}});if(k){a("#popup_prompt").val(k)}a("#popup_prompt").focus().select();break;case"openBox":a("#popup_message").append(a(b).html());if(l){a("#popup_container").css({width:l+"px"})}if(c){a("#popup_container").css({height:(c)+"px"});a("#popup_message").css({height:(c-24)+"px"})}a.alerts._reposition();if(f){a(f).click(function(){a.alerts._hide();if(m){m(true)}})}if(n){a(n).click(function(){a.alerts._hide();return false;if(m){m(false)}})}break}a("#popup_close").click(function(){a.alerts._hide();if(m){m(false)}});if(a.alerts.draggable){}},_hide:function(){a("#popup_container").remove();a.alerts._overlay("hide");a.alerts._maintainPosition(false);},_overlay:function(b){switch(b){case"show":a.alerts._overlay("hide");if(a.alerts.zindex==null){a.alerts.zindex=$.maxZIndex();}a("BODY").append('<div id="popup_overlay"></div>');a("#popup_overlay").css({position:"absolute",zIndex:a.alerts.zindex+1,top:"0",left:"0",width:"100%",height:a(document).height()});break;case"hide":a("#popup_overlay").remove();break}},_reposition:function(){var c=((a(window).height()/2)-(a("#popup_container").height()/2))+a.alerts.verticalOffset;var b=((a(window).width()/2)-(a("#popup_container").width()/2))+a.alerts.horizontalOffset;if(c<0){c=0;}if(b<0){b=0;}if(a.browser.msie&&parseInt(a.browser.version)<=6){c=c+a(window).scrollTop();};a("#popup_container").css({top:c+"px",left:(b-5)+"px"});a("#popup_overlay").height(a(document).height());},_maintainPosition:function(b){if(a.alerts.repositionOnResize){if(b){a(window).bind("resize",a.alerts._reposition);}else{a(window).unbind("resize",a.alerts._reposition);}}}};clsAlert=function(){a.alerts._hide();return;};sqAlert=function(b,c,d){a.alerts.alert(b,c,d)};sqConfirm=function(b,c,d){a.alerts.confirm(b,c,d)};sqPrompt=function(b,c,d,e){a.alerts.prompt(b,c,d,e)};sqPswd=function(b,c,d,e){a.alerts.pswd(b,c,d,e)};sqBox=function(f,g,b,c,e,d,i){a.alerts.openBox(f,g,b,c,e,d,i);};sqOverAlert=function(c,b){$.alerts.dialogClass = "over_3";a.alerts.overAlert(c,b);$.alerts.dialogClass = null;}})(jQuery);

	/*
	层级控制插件
	*******************************************************************************************
	*/
	$.maxZIndex = $.fn.maxZIndex = function(opt) {
		var def = { inc: 10, group:"*"};
		$.extend(def, opt);    
		var zmax = 0;
		$(def.group).each(function() {
			var cur = parseInt($(this).css('z-index'));
			zmax = cur > zmax ? cur : zmax;
		});
		if (!this.jquery)
			return zmax;
		return this.each(function() {
			zmax += def.inc;
			$(this).css("z-index", zmax);
		});
	}
	/*
	圆角插件corner
	基于jquery.corner.js
	修正了按钮圆角的问题，调用了corner插件
	$('.qmenu').corner("5px");
	*******************************************************************************************
	*/
	if(!document.createElement('canvas').getContext){(function(){var m=Math;var y=m.round;var z=m.sin;var A=m.cos;var Z=10;var B=Z/2;function getContext(){if(this.context_){return this.context_}return this.context_=new CanvasRenderingContext2D_(this)}var C=Array.prototype.slice;function bind(f,b,c){var a=C.call(arguments,2);return function(){return f.apply(b,a.concat(C.call(arguments)))}}var D={init:function(a){if(/MSIE/.test(navigator.userAgent)&&!window.opera){var b=a||document;b.createElement('canvas');b.attachEvent('onreadystatechange',bind(this.init_,this,b))}},init_:function(a){if(!a.namespaces['g_vml_']){a.namespaces.add('g_vml_','urn:schemas-microsoft-com:vml')}if(!a.styleSheets['ex_canvas_']){var b=a.createStyleSheet();b.owningElement.id='ex_canvas_';b.cssText='canvas{display:inline-block;overflow:hidden;'+'text-align:left;width:300px;height:150px}'+'g_vml_\\:*{behavior:url(#default#VML)}'}},i:function(a){if(!a.getContext){a.getContext=getContext;a.attachEvent('onpropertychange',onPropertyChange);a.attachEvent('onresize',onResize);var b=a.attributes;if(b.width&&b.width.specified){a.style.width=b.width.nodeValue+'px'}else{a.width=a.clientWidth}if(b.height&&b.height.specified){a.style.height=b.height.nodeValue+'px'}else{a.height=a.clientHeight}}return a}};function onPropertyChange(e){var a=e.srcElement;switch(e.propertyName){case'width':a.style.width=a.attributes.width.nodeValue+'px';a.getContext().clearRect();break;case'height':a.style.height=a.attributes.height.nodeValue+'px';a.getContext().clearRect();break}}function onResize(e){var a=e.srcElement;if(a.firstChild){a.firstChild.style.width=a.clientWidth+'px';a.firstChild.style.height=a.clientHeight+'px'}}D.init();var E=[];for(var i=0;i<16;i++){for(var j=0;j<16;j++){E[i*16+j]=i.toString(16)+j.toString(16)}}function createMatrixIdentity(){return[[1,0,0],[0,1,0],[0,0,1]]}function processStyle(a){var b,alpha=1;a=String(a);if(a.substring(0,3)=='rgb'){var c=a.indexOf('(',3);var d=a.indexOf(')',c+1);var e=a.substring(c+1,d).split(',');b='#';for(var i=0;i<3;i++){b+=E[Number(e[i])]}if(e.length==4&&a.substr(3,1)=='a'){alpha=e[3]}}else{b=a}return[b,alpha]}function processLineCap(a){switch(a){case'butt':return'flat';case'round':return'round';case'square':default:return'square'}}function CanvasRenderingContext2D_(a){this.m_=createMatrixIdentity();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle='#000';this.fillStyle='#000';this.lineWidth=1;this.lineJoin='miter';this.lineCap='butt';this.miterLimit=Z*1;this.globalAlpha=1;this.canvas=a;var b=a.ownerDocument.createElement('div');b.style.width=a.clientWidth+'px';b.style.height=a.clientHeight+'px';b.style.overflow='hidden';b.style.position='absolute';a.appendChild(b);this.element_=b;this.arcScaleX_=1;this.arcScaleY_=1}var F=CanvasRenderingContext2D_.prototype;F.clearRect=function(){this.element_.innerHTML='';this.currentPath_=[]};F.beginPath=function(){this.currentPath_=[]};F.moveTo=function(a,b){var p=this.getCoords_(a,b);this.currentPath_.push({type:'moveTo',x:p.x,y:p.y});this.currentX_=p.x;this.currentY_=p.y};F.lineTo=function(a,b){var p=this.getCoords_(a,b);this.currentPath_.push({type:'lineTo',x:p.x,y:p.y});this.currentX_=p.x;this.currentY_=p.y};F.bezierCurveTo=function(a,b,c,d,e,f){var p=this.getCoords_(e,f);var g=this.getCoords_(a,b);var h=this.getCoords_(c,d);this.currentPath_.push({type:'bezierCurveTo',cp1x:g.x,cp1y:g.y,cp2x:h.x,cp2y:h.y,x:p.x,y:p.y});this.currentX_=p.x;this.currentY_=p.y};F.fillRect=function(a,b,c,d){this.beginPath();this.moveTo(a,b);this.lineTo(a+c,b);this.lineTo(a+c,b+d);this.lineTo(a,b+d);this.closePath();this.fill();this.currentPath_=[]};F.createLinearGradient=function(a,b,c,d){return new CanvasGradient_('gradient')};F.createRadialGradient=function(a,b,c,d,e,f){var g=new CanvasGradient_('gradientradial');g.radius1_=c;g.radius2_=f;g.focus_.x=a;g.focus_.y=b;return g};F.stroke=function(d){var e=[];var f=false;var a=processStyle(d?this.fillStyle:this.strokeStyle);var g=a[0];var h=a[1]*this.globalAlpha;var W=10;var H=10;e.push('<g_vml_:shape',' fillcolor="',g,'"',' filled="',Boolean(d),'"',' style="position:absolute;width:',W,';height:',H,';"',' coordorigin="0 0" coordsize="',Z*W,' ',Z*H,'"',' stroked="',!d,'"',' strokeweight="',this.lineWidth,'"',' strokecolor="',g,'"',' path="');var j=false;var k={x:null,y:null};var l={x:null,y:null};for(var i=0;i<this.currentPath_.length;i++){var p=this.currentPath_[i];var c;switch(p.type){case'moveTo':e.push(' m ');c=p;e.push(y(p.x),',',y(p.y));break;case'lineTo':e.push(' l ');e.push(y(p.x),',',y(p.y));break;case'close':e.push(' x ');p=null;break;case'bezierCurveTo':e.push(' c ');e.push(y(p.cp1x),',',y(p.cp1y),',',y(p.cp2x),',',y(p.cp2y),',',y(p.x),',',y(p.y));break;case'at':case'wa':e.push(' ',p.type,' ');e.push(y(p.x-this.arcScaleX_*p.radius),',',y(p.y-this.arcScaleY_*p.radius),' ',y(p.x+this.arcScaleX_*p.radius),',',y(p.y+this.arcScaleY_*p.radius),' ',y(p.xStart),',',y(p.yStart),' ',y(p.xEnd),',',y(p.yEnd));break}if(p){if(k.x==null||p.x<k.x){k.x=p.x}if(l.x==null||p.x>l.x){l.x=p.x}if(k.y==null||p.y<k.y){k.y=p.y}if(l.y==null||p.y>l.y){l.y=p.y}}}e.push(' ">');if(typeof this.fillStyle=='object'){var m={x:'50%',y:'50%'};var n=l.x-k.x;var o=l.y-k.y;var q=n>o?n:o;m.x=y(this.fillStyle.focus_.x/n*100+50)+'%';m.y=y(this.fillStyle.focus_.y/o*100+50)+'%';var r=[];if(this.fillStyle.type_=='gradientradial'){var s=this.fillStyle.radius1_/q*100;var t=this.fillStyle.radius2_/q*100-s}else{var s=0;var t=100}var u={offset:null,color:null};var v={offset:null,color:null};this.fillStyle.colors_.sort(function(a,b){return a.offset-b.offset});for(var i=0;i<this.fillStyle.colors_.length;i++){var w=this.fillStyle.colors_[i];r.push(w.offset*t+s,'% ',w.color,',');if(w.offset>u.offset||u.offset==null){u.offset=w.offset;u.color=w.color}if(w.offset<v.offset||v.offset==null){v.offset=w.offset;v.color=w.color}}r.pop();e.push('<g_vml_:fill',' color="',v.color,'"',' color2="',u.color,'"',' type="',this.fillStyle.type_,'"',' focusposition="',m.x,', ',m.y,'"',' colors="',r.join(''),'"',' opacity="',h,'" />')}else if(d){e.push('<g_vml_:fill color="',g,'" opacity="',h,'" />')}else{var x=Math.max(this.arcScaleX_,this.arcScaleY_)*this.lineWidth;e.push('<g_vml_:stroke',' opacity="',h,'"',' joinstyle="',this.lineJoin,'"',' miterlimit="',this.miterLimit,'"',' endcap="',processLineCap(this.lineCap),'"',' weight="',x,'px"',' color="',g,'" />')}e.push('</g_vml_:shape>');this.element_.insertAdjacentHTML('beforeEnd',e.join(''))};F.fill=function(){this.stroke(true)};F.closePath=function(){this.currentPath_.push({type:'close'})};F.getCoords_=function(a,b){return{x:Z*(a*this.m_[0][0]+b*this.m_[1][0]+this.m_[2][0])-B,y:Z*(a*this.m_[0][1]+b*this.m_[1][1]+this.m_[2][1])-B}};function CanvasPattern_(){}G_vmlCMjrc=D})()}if(jQuery.browser.msie){document.execCommand("BackgroundImageCache",false,true)}(function($){var N=$.browser.msie;var O=N&&!window.XMLHttpRequest;var P=$.browser.opera;var Q=typeof document.createElement('canvas').getContext=="function";var R=function(i){return parseInt(i,10)||0};var S=function(a,b,c){var x=a,y;if(x.currentStyle){y=x.currentStyle[b]}else if(window.getComputedStyle){if(typeof arguments[2]=="string")b=c;y=document.defaultView.getComputedStyle(x,null).getPropertyValue(b)}return y};var T=function(a,p){return S(a,'border'+p+'Color','border-'+p.toLowerCase()+'-color')};var U=function(a,p){if(a.currentStyle&&!P){w=a.currentStyle['border'+p+'Width'];if(w=='thin')w=2;if(w=='medium'&&!(a.currentStyle['border'+p+'Style']=='none'))w=4;if(w=='thick')w=6}else{p=p.toLowerCase();w=document.defaultView.getComputedStyle(a,null).getPropertyValue('border-'+p+'-width')}return R(w)};var V=function(a,i){return a.tagName.toLowerCase()==i};var W=function(e,a,b,c,d){if(e=='tl')return a;if(e=='tr')return b;if(e=='bl')return c;if(e=='br')return d};var X=function(a,b,c,d,e,f,g){var h,curve_to;if(d.indexOf('rgba')!=-1){var i=/^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/;var j=i.exec(d);if(j){var k=[R(j[1]),R(j[2]),R(j[3])];d='rgb('+k[0]+', '+k[1]+', '+k[2]+')'}}var l=a.getContext('2d');if(b==1||g=='notch'){if(e>0&&b>1){l.fillStyle=f;l.fillRect(0,0,b,b);l.fillStyle=d;h=W(c,[0-e,0-e],[e,0-e],[0-e,e],[e,e]);l.fillRect(h[0],h[1],b,b)}else{l.fillStyle=d;l.fillRect(0,0,b,b)}return a}else if(g=='bevel'){h=W(c,[0,0,0,b,b,0,0,0],[0,0,b,b,b,0,0,0],[0,0,b,b,0,b,0,0],[b,b,b,0,0,b,b,b]);l.fillStyle=d;l.beginPath();l.moveTo(h[0],h[1]);l.lineTo(h[2],h[3]);l.lineTo(h[4],h[5]);l.lineTo(h[6],h[7]);l.fill();if(e>0&&e<b){l.strokeStyle=f;l.lineWidth=e;l.beginPath();h=W(c,[0,b,b,0],[0,0,b,b],[b,b,0,0],[0,b,b,0]);l.moveTo(h[0],h[1]);l.lineTo(h[2],h[3]);l.stroke()}return a}h=W(c,[0,0,b,0,b,0,0,b,0,0],[b,0,b,b,b,0,0,0,0,0],[0,b,b,b,0,b,0,0,0,b],[b,b,b,0,b,0,0,b,b,b]);l.fillStyle=d;l.beginPath();l.moveTo(h[0],h[1]);l.lineTo(h[2],h[3]);if(c=='br')l.bezierCurveTo(h[4],h[5],b,b,h[6],h[7]);else l.bezierCurveTo(h[4],h[5],0,0,h[6],h[7]);l.lineTo(h[8],h[9]);l.fill();if(e>0&&e<b){var m=e/2;var n=b-m;h=W(c,[n,m,n,m,m,n],[n,n,n,m,m,m],[n,n,m,n,m,m,m,n],[n,m,n,m,m,n,n,n]);curve_to=W(c,[0,0],[0,0],[0,0],[b,b]);l.strokeStyle=f;l.lineWidth=e;l.beginPath();l.moveTo(h[0],h[1]);l.bezierCurveTo(h[2],h[3],curve_to[0],curve_to[1],h[4],h[5]);l.stroke()}return a};var Y=function(p,a){var b=document.createElement('canvas');b.setAttribute("height",a);b.setAttribute("width",a);b.style.display="block";b.style.position="absolute";b.className="jrCorner";Z(p,b);if(!Q&&N){if(typeof G_vmlCanvasManager=="object"){b=G_vmlCanvasManager.initElement(b)}else if(typeof G_vmlCMjrc=="object"){b=G_vmlCMjrc.i(b)}else{throw Error('Could not find excanvas');}}return b};var Z=function(p,a){if(p.is("table")){p.children("tbody").children("tr:first").children("td:first").append(a);p.css('display','block')}else if(p.is("td")){if(p.children(".JrcTdContainer").length===0){p.html('<div class="JrcTdContainer" style="padding:0px;position:relative;margin:-1px;zoom:1;">'+p.html()+'</div>');p.css('zoom','1');if(O){p.children(".JrcTdContainer").get(0).style.setExpression("height","this.parentNode.offsetHeight")}}p.children(".JrcTdContainer").append(a)}else{p.append(a)}};if(N){var ba=document.createStyleSheet();ba.media='print';ba.cssText='.jrcIECanvasDiv { display:none !important; }'}var bb=function(D){if(this.length==0||!(Q||N)){return this}if(D=="destroy"){return this.each(function(){var p,elm=$(this);if(elm.is(".jrcRounded")){if(typeof elm.data("ie6tmr.jrc")=='number')window.clearInterval(elm.data("ie6tmr.jrc"));if(elm.is("table"))p=elm.children("tbody").children("tr:first").children("td:first");else if(elm.is("td"))p=elm.children(".JrcTdContainer");else p=elm;p.children(".jrCorner").remove();elm.unbind('mouseleave.jrc').unbind('mouseenter.jrc').removeClass('jrcRounded').removeData('ie6tmr.jrc');if(elm.is("td"))elm.html(elm.children(".JrcTdContainer").html())}})}var o=(D||"").toLowerCase();var E=R((o.match(/(\d+)px/)||[])[1])||"auto";var F=((o.match(/(#[0-9a-f]+)/)||[])[1])||"auto";var G=/round|bevel|notch/;var H=((o.match(G)||['round'])[0]);var I=/hover/.test(o);var J=/oversized/.test(o);var K=o.match("hiddenparent");if(N){var G=/ie6nofix|ie6fixinit|ie6fixexpr|ie6fixonload|ie6fixwidthint|ie6fixheightint|ie6fixbothint/;var L=((o.match(G)||['ie6fixinit'])[0])}var M={tl:/top|left|tl/.test(o),tr:/top|right|tr/.test(o),bl:/bottom|left|bl/.test(o),br:/bottom|right|br/.test(o)};if(!M.tl&&!M.tr&&!M.bl&&!M.br)M={tl:1,tr:1,bl:1,br:1};this.each(function(){var d=$(this),rbg=null,bg,s,b,pr;var a=this;var e=S(this,'display');var f=S(this,'position');var g=S(this,'lineHeight','line-height');if(F=="auto"){s=d.siblings(".jrcRounded:eq(0)");if(s.length>0){b=s.data("rbg.jrc");if(typeof b=="string"){rbg=b}}}if(K||rbg===null){var h=this.parentNode,hidden_parents=new Array(),a=0;while((typeof h=='object')&&!V(h,'html')){if(K&&S(h,'display')=='none'){hidden_parents.push({originalvisibility:S(h,'visibility'),elm:h});h.style.display='block';h.style.visibility='hidden'}var j=S(h,'backgroundColor','background-color');if(rbg===null&&j!="transparent"&&j!="rgba(0, 0, 0, 0)"){rbg=j}h=h.parentNode}if(rbg===null)rbg="#ffffff"}if(F=="auto"){bg=rbg;d.data("rbg.jrc",rbg)}else{bg=F}if(e=='none'){var k=S(this,'visibility');this.style.display='block';this.style.visibility='hidden';var l=true}else{var m=false}var n=d.height();var p=d.width();if(I){var q=o.replace(/hover|ie6nofix|ie6fixinit|ie6fixexpr|ie6fixonload|ie6fixwidthint|ie6fixheightint|ie6fixbothint/g,"");if(L!='ie6nofix')q="ie6fixinit "+q;d.bind("mouseenter.jrc",function(){d.addClass(d.attr("hoverclass"))});d.bind("mouseleave.jrc",function(){d.removeClass(d.attr("hoverclass"))})}if(O&&L!='ie6nofix'){this.style.zoom=1;if(L!='ie6fixexpr'){if(d.width()%2!=0)d.width(d.width()+1);if(d.height()%2!=0)d.height(d.height()+1)}$(window).load(function(){if(L=='ie6fixonload'){if(d.css('height')=='auto')d.height(d.css('height'));if(d.width()%2!=0)d.width(d.width()+1);if(d.height()%2!=0)d.height(d.height()+1)}else if(L=='ie6fixwidthint'||L=='ie6fixheightint'||L=='ie6fixbothint'){var c,ie6FixFunction;if(L=='ie6fixheightint'){ie6FixFunction=function(){d.height('auto');var a=d.height();if(a%2!=0)a=a+1;d.css({height:a})}}else if(L=='ie6fixwidthint'){ie6FixFunction=function(){d.width('auto');var a=d.width();if(a%2!=0)a=a+1;d.css({width:a});d.data('lastWidth.jrc',d.get(0).offsetWidth)}}else if(L=='ie6fixbothint'){ie6FixFunction=function(){d.width('auto');d.height('auto');var a=d.width();var b=d.height();if(b%2!=0)b=b+1;if(a%2!=0)a=a+1;d.css({width:a,height:b})}}c=window.setInterval(ie6FixFunction,100);d.data("ie6tmr.jrc",c)}})}var r=n<p?this.offsetHeight:this.offsetWidth;if(E=="auto"){E=r/2;if(E>10)E=r/4}if(E>r/2&&!J){E=r/2}E=Math.floor(E);var t=U(this,'Top');var u=U(this,'Right');var v=U(this,'Bottom');var w=U(this,'Left');if(f=='static'&&!V(this,'td')){this.style.position='relative'}else if(f=='fixed'&&N&&!(document.compatMode=='CSS1Compat'&&!O)){this.style.position='absolute'}if(t+u+v+w>0){this.style.overflow='visible'}if(l)d.css({display:'none',visibility:k});if(typeof hidden_parents!="undefined"){for(var i=0;i<hidden_parents.length;i++){hidden_parents[i].elm.style.display='none';hidden_parents[i].elm.style.visibility=hidden_parents[i].originalvisibility}}var x=0-t,p_right=0-u,p_bottom=0-v,p_left=0-w;var y=(d.find("canvas").length>0);if(y){if(V(this,'table'))pr=d.children("tbody").children("tr:first").children("td:first");else if(V(this,'td'))pr=d.children(".JrcTdContainer");else pr=d}if(M.tl){bordersWidth=t<w?t:w;if(y)pr.children("canvas.jrcTL").remove();var z=X(Y(d,E),E,'tl',bg,bordersWidth,T(this,'Top'),H);$(z).css({left:p_left,top:x}).addClass('jrcTL')}if(M.tr){bordersWidth=t<u?t:u;if(y)pr.children("canvas.jrcTR").remove();var A=X(Y(d,E),E,'tr',bg,bordersWidth,T(this,'Top'),H);$(A).css({right:p_right,top:x}).addClass('jrcTR')}if(M.bl){bordersWidth=v<w?v:w;if(y)pr.children("canvas.jrcBL").remove();var B=X(Y(d,E),E,'bl',bg,bordersWidth,T(this,'Bottom'),H);$(B).css({left:p_left,bottom:p_bottom}).addClass('jrcBL')}if(M.br){bordersWidth=v<u?v:u;if(y)pr.children("canvas.jrcBR").remove();var C=X(Y(d,E),E,'br',bg,bordersWidth,T(this,'Bottom'),H);$(C).css({right:p_right,bottom:p_bottom}).addClass('jrcBR')}if(N)d.children('canvas.jrCorner').children('div').addClass('jrcIECanvasDiv');if(O&&L=='ie6fixexpr'){if(M.bl){B.style.setExpression("bottom","this.parentNode.offsetHeight % 2 == 0 || this.parentNode.offsetWidth % 2 == 0 ? 0-(parseInt(this.parentNode.currentStyle['borderBottomWidth'])) : 0-(parseInt(this.parentNode.currentStyle['borderBottomWidth'])+1)")}if(M.br){C.style.setExpression("right","this.parentNode.offsetWidth  % 2 == 0 || this.parentNode.offsetWidth % 2 == 0 ? 0-(parseInt(this.parentNode.currentStyle['borderRightWidth']))  : 0-(parseInt(this.parentNode.currentStyle['borderRightWidth'])+1)");C.style.setExpression("bottom","this.parentNode.offsetHeight % 2 == 0 || this.parentNode.offsetWidth % 2 == 0 ? 0-(parseInt(this.parentNode.currentStyle['borderBottomWidth'])) : 0-(parseInt(this.parentNode.currentStyle['borderBottomWidth'])+1)")}if(M.tr){A.style.setExpression("right","this.parentNode.offsetWidth   % 2 == 0 || this.parentNode.offsetWidth % 2 == 0 ? 0-(parseInt(this.parentNode.currentStyle['borderRightWidth']))  : 0-(parseInt(this.parentNode.currentStyle['borderRightWidth'])+1)")}}d.addClass('jrcRounded')});if(typeof arguments[1]=="function")arguments[1](this);return this};$.fn.corner=bb})(jQuery);
	
	/*
	幻灯片插件
	Shadowbox.js, version 3.0.3
	http://shadowbox-js.com/
 	*******************************************************************************************
	*/
(function(au,k){var Q={version:"3.0.3"};var J=navigator.userAgent.toLowerCase();if(J.indexOf("windows")>-1||J.indexOf("win32")>-1){Q.isWindows=true}else{if(J.indexOf("macintosh")>-1||J.indexOf("mac os x")>-1){Q.isMac=true}else{if(J.indexOf("linux")>-1){Q.isLinux=true}}}Q.isIE=J.indexOf("msie")>-1;Q.isIE6=J.indexOf("msie 6")>-1;Q.isIE7=J.indexOf("msie 7")>-1;Q.isGecko=J.indexOf("gecko")>-1&&J.indexOf("safari")==-1;Q.isWebKit=J.indexOf("applewebkit/")>-1;var ab=/#(.+)$/,af=/^(light|shadow)box\[(.*?)\]/i,az=/\s*([a-z_]*?)\s*=\s*(.+)\s*/,f=/[0-9a-z]+$/i,aD=/(.+\/)shadowbox\.js/i;var A=false,a=false,l={},z=0,R,ap;Q.current=-1;Q.dimensions=null;Q.ease=function(K){return 1+Math.pow(K-1,3)};Q.errorInfo={fla:{name:"Flash",url:"http://www.adobe.com/products/flashplayer/"},qt:{name:"QuickTime",url:"http://www.apple.com/quicktime/download/"},wmp:{name:"Windows Media Player",url:"http://www.microsoft.com/windows/windowsmedia/"},f4m:{name:"Flip4Mac",url:"http://www.flip4mac.com/wmv_download.htm"}};Q.gallery=[];Q.onReady=aj;Q.path=null;Q.player=null;Q.playerId="sb-player";Q.options={animate:true,animateFade:true,autoplayMovies:true,continuous:false,enableKeys:true,flashParams:{bgcolor:"#000000",allowfullscreen:true},flashVars:{},flashVersion:"9.0.115",handleOversize:"resize",handleUnsupported:"link",onChange:aj,onClose:aj,onFinish:aj,onOpen:aj,showMovieControls:true,skipSetup:false,slideshowDelay:0,viewportPadding:20};Q.getCurrent=function(){return Q.current>-1?Q.gallery[Q.current]:null};Q.hasNext=function(){return Q.gallery.length>1&&(Q.current!=Q.gallery.length-1||Q.options.continuous)};Q.isOpen=function(){return A};Q.isPaused=function(){return ap=="pause"};Q.applyOptions=function(K){l=aC({},Q.options);aC(Q.options,K)};Q.revertOptions=function(){aC(Q.options,l)};Q.init=function(aG,aJ){if(a){return}a=true;if(Q.skin.options){aC(Q.options,Q.skin.options)}if(aG){aC(Q.options,aG)}if(!Q.path){var aI,S=document.getElementsByTagName("script");for(var aH=0,K=S.length;aH<K;++aH){aI=aD.exec(S[aH].src);if(aI){Q.path=aI[1];break}}}if(aJ){Q.onReady=aJ}P()};Q.open=function(S){if(A){return}var K=Q.makeGallery(S);Q.gallery=K[0];Q.current=K[1];S=Q.getCurrent();if(S==null){return}Q.applyOptions(S.options||{});G();if(Q.gallery.length){S=Q.getCurrent();if(Q.options.onOpen(S)===false){return}A=true;Q.skin.onOpen(S,c)}};Q.close=function(){if(!A){return}A=false;if(Q.player){Q.player.remove();Q.player=null}if(typeof ap=="number"){clearTimeout(ap);ap=null}z=0;aq(false);Q.options.onClose(Q.getCurrent());Q.skin.onClose();Q.revertOptions()};Q.play=function(){if(!Q.hasNext()){return}if(!z){z=Q.options.slideshowDelay*1000}if(z){R=aw();ap=setTimeout(function(){z=R=0;Q.next()},z);if(Q.skin.onPlay){Q.skin.onPlay()}}};Q.pause=function(){if(typeof ap!="number"){return}z=Math.max(0,z-(aw()-R));if(z){clearTimeout(ap);ap="pause";if(Q.skin.onPause){Q.skin.onPause()}}};Q.change=function(K){if(!(K in Q.gallery)){if(Q.options.continuous){K=(K<0?Q.gallery.length+K:0);if(!(K in Q.gallery)){return}}else{return}}Q.current=K;if(typeof ap=="number"){clearTimeout(ap);ap=null;z=R=0}Q.options.onChange(Q.getCurrent());c(true)};Q.next=function(){Q.change(Q.current+1)};Q.previous=function(){Q.change(Q.current-1)};Q.setDimensions=function(aS,aJ,aQ,aR,aI,K,aO,aL){var aN=aS,aH=aJ;var aM=2*aO+aI;if(aS+aM>aQ){aS=aQ-aM}var aG=2*aO+K;if(aJ+aG>aR){aJ=aR-aG}var S=(aN-aS)/aN,aP=(aH-aJ)/aH,aK=(S>0||aP>0);if(aL&&aK){if(S>aP){aJ=Math.round((aH/aN)*aS)}else{if(aP>S){aS=Math.round((aN/aH)*aJ)}}}Q.dimensions={height:aS+aI,width:aJ+K,innerHeight:aS,innerWidth:aJ,top:Math.floor((aQ-(aS+aM))/2+aO),left:Math.floor((aR-(aJ+aG))/2+aO),oversized:aK};return Q.dimensions};Q.makeGallery=function(aI){var K=[],aH=-1;if(typeof aI=="string"){aI=[aI]}if(typeof aI.length=="number"){aF(aI,function(aK,aL){if(aL.content){K[aK]=aL}else{K[aK]={content:aL}}});aH=0}else{if(aI.tagName){var S=Q.getCache(aI);aI=S?S:Q.makeObject(aI)}if(aI.gallery){K=[];var aJ;for(var aG in Q.cache){aJ=Q.cache[aG];if(aJ.gallery&&aJ.gallery==aI.gallery){if(aH==-1&&aJ.content==aI.content){aH=K.length}K.push(aJ)}}if(aH==-1){K.unshift(aI);aH=0}}else{K=[aI];aH=0}}aF(K,function(aK,aL){K[aK]=aC({},aL)});return[K,aH]};Q.makeObject=function(aH,aG){var aI={content:aH.href,title:aH.getAttribute("title")||"",link:aH};if(aG){aG=aC({},aG);aF(["player","title","height","width","gallery"],function(aJ,aK){if(typeof aG[aK]!="undefined"){aI[aK]=aG[aK];delete aG[aK]}});aI.options=aG}else{aI.options={}}if(!aI.player){aI.player=Q.getPlayer(aI.content)}var K=aH.getAttribute("rel");if(K){var S=K.match(af);if(S){aI.gallery=escape(S[2])}aF(K.split(";"),function(aJ,aK){S=aK.match(az);if(S){aI[S[1]]=S[2]}})}return aI};Q.getPlayer=function(aG){if(aG.indexOf("#")>-1&&aG.indexOf(document.location.href)==0){return"inline"}var aH=aG.indexOf("?");if(aH>-1){aG=aG.substring(0,aH)}var S,K=aG.match(f);if(K){S=K[0].toLowerCase()}if(S){if(Q.img&&Q.img.ext.indexOf(S)>-1){return"img"}if(Q.swf&&Q.swf.ext.indexOf(S)>-1){return"swf"}if(Q.flv&&Q.flv.ext.indexOf(S)>-1){return"flv"}if(Q.qt&&Q.qt.ext.indexOf(S)>-1){if(Q.wmp&&Q.wmp.ext.indexOf(S)>-1){return"qtwmp"}else{return"qt"}}if(Q.wmp&&Q.wmp.ext.indexOf(S)>-1){return"wmp"}}return"iframe"};function G(){var aH=Q.errorInfo,aI=Q.plugins,aK,aL,aO,aG,aN,S,aM,K;for(var aJ=0;aJ<Q.gallery.length;++aJ){aK=Q.gallery[aJ];aL=false;aO=null;switch(aK.player){case"flv":case"swf":if(!aI.fla){aO="fla"}break;case"qt":if(!aI.qt){aO="qt"}break;case"wmp":if(Q.isMac){if(aI.qt&&aI.f4m){aK.player="qt"}else{aO="qtf4m"}}else{if(!aI.wmp){aO="wmp"}}break;case"qtwmp":if(aI.qt){aK.player="qt"}else{if(aI.wmp){aK.player="wmp"}else{aO="qtwmp"}}break}if(aO){if(Q.options.handleUnsupported=="link"){switch(aO){case"qtf4m":aN="shared";S=[aH.qt.url,aH.qt.name,aH.f4m.url,aH.f4m.name];break;case"qtwmp":aN="either";S=[aH.qt.url,aH.qt.name,aH.wmp.url,aH.wmp.name];break;default:aN="single";S=[aH[aO].url,aH[aO].name]}aK.player="html";aK.content='<div class="sb-message">'+s(Q.lang.errors[aN],S)+"</div>"}else{aL=true}}else{if(aK.player=="inline"){aG=ab.exec(aK.content);if(aG){aM=ad(aG[1]);if(aM){aK.content=aM.innerHTML}else{aL=true}}else{aL=true}}else{if(aK.player=="swf"||aK.player=="flv"){K=(aK.options&&aK.options.flashVersion)||Q.options.flashVersion;if(Q.flash&&!Q.flash.hasFlashPlayerVersion(K)){aK.width=310;aK.height=177}}}}if(aL){Q.gallery.splice(aJ,1);if(aJ<Q.current){--Q.current}else{if(aJ==Q.current){Q.current=aJ>0?aJ-1:aJ}}--aJ}}}function aq(K){if(!Q.options.enableKeys){return}(K?F:M)(document,"keydown",an)}function an(aG){if(aG.metaKey||aG.shiftKey||aG.altKey||aG.ctrlKey){return}var S=v(aG),K;switch(S){case 81:case 88:case 27:K=Q.close;break;case 37:K=Q.previous;break;case 39:K=Q.next;break;case 32:K=typeof ap=="number"?Q.pause:Q.play;break}if(K){n(aG);K()}}function c(aK){aq(false);var aJ=Q.getCurrent();var aG=(aJ.player=="inline"?"html":aJ.player);if(typeof Q[aG]!="function"){throw"unknown player "+aG}if(aK){Q.player.remove();Q.revertOptions();Q.applyOptions(aJ.options||{})}Q.player=new Q[aG](aJ,Q.playerId);if(Q.gallery.length>1){var aH=Q.gallery[Q.current+1]||Q.gallery[0];if(aH.player=="img"){var S=new Image();S.src=aH.content}var aI=Q.gallery[Q.current-1]||Q.gallery[Q.gallery.length-1];if(aI.player=="img"){var K=new Image();K.src=aI.content}}Q.skin.onLoad(aK,W)}function W(){if(!A){return}if(typeof Q.player.ready!="undefined"){var K=setInterval(function(){if(A){if(Q.player.ready){clearInterval(K);K=null;Q.skin.onReady(e)}}else{clearInterval(K);K=null}},10)}else{Q.skin.onReady(e)}}function e(){if(!A){return}Q.player.append(Q.skin.body,Q.dimensions);Q.skin.onShow(I)}function I(){if(!A){return}if(Q.player.onLoad){Q.player.onLoad()}Q.options.onFinish(Q.getCurrent());if(!Q.isPaused()){Q.play()}aq(true)}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(S,aG){var K=this.length>>>0;aG=aG||0;if(aG<0){aG+=K}for(;aG<K;++aG){if(aG in this&&this[aG]===S){return aG}}return -1}}function aw(){return(new Date).getTime()}function aC(K,aG){for(var S in aG){K[S]=aG[S]}return K}function aF(aH,aI){var S=0,K=aH.length;for(var aG=aH[0];S<K&&aI.call(aG,S,aG)!==false;aG=aH[++S]){}}function s(S,K){return S.replace(/\{(\w+?)\}/g,function(aG,aH){return K[aH]})}function aj(){}function ad(K){return document.getElementById(K)}function C(K){K.parentNode.removeChild(K)}var h=true,x=true;function d(){var K=document.body,S=document.createElement("div");h=typeof S.style.opacity==="string";S.style.position="fixed";S.style.margin=0;S.style.top="20px";K.appendChild(S,K.firstChild);x=S.offsetTop==20;K.removeChild(S)}Q.getStyle=(function(){var K=/opacity=([^)]*)/,S=document.defaultView&&document.defaultView.getComputedStyle;return function(aJ,aI){var aH;if(!h&&aI=="opacity"&&aJ.currentStyle){aH=K.test(aJ.currentStyle.filter||"")?(parseFloat(RegExp.$1)/100)+"":"";return aH===""?"1":aH}if(S){var aG=S(aJ,null);if(aG){aH=aG[aI]}if(aI=="opacity"&&aH==""){aH="1"}}else{aH=aJ.currentStyle[aI]}return aH}})();Q.appendHTML=function(aG,S){if(aG.insertAdjacentHTML){aG.insertAdjacentHTML("BeforeEnd",S)}else{if(aG.lastChild){var K=aG.ownerDocument.createRange();K.setStartAfter(aG.lastChild);var aH=K.createContextualFragment(S);aG.appendChild(aH)}else{aG.innerHTML=S}}};Q.getWindowSize=function(K){if(document.compatMode==="CSS1Compat"){return document.documentElement["client"+K]}return document.body["client"+K]};Q.setOpacity=function(aG,K){var S=aG.style;if(h){S.opacity=(K==1?"":K)}else{S.zoom=1;if(K==1){if(typeof S.filter=="string"&&(/alpha/i).test(S.filter)){S.filter=S.filter.replace(/\s*[\w\.]*alpha\([^\)]*\);?/gi,"")}}else{S.filter=(S.filter||"").replace(/\s*[\w\.]*alpha\([^\)]*\)/gi,"")+" alpha(opacity="+(K*100)+")"}}};Q.clearOpacity=function(K){Q.setOpacity(K,1)};function o(K){return K.target}function V(K){return[K.pageX,K.pageY]}function n(K){K.preventDefault()}function v(K){return K.keyCode}function F(aG,S,K){jQuery(aG).bind(S,K)}function M(aG,S,K){jQuery(aG).unbind(S,K)}jQuery.fn.shadowbox=function(K){return this.each(function(){var aG=jQuery(this);var aH=jQuery.extend({},K||{},jQuery.metadata?aG.metadata():jQuery.meta?aG.data():{});var S=this.className||"";aH.width=parseInt((S.match(/w:(\d+)/)||[])[1])||aH.width;aH.height=parseInt((S.match(/h:(\d+)/)||[])[1])||aH.height;Shadowbox.setup(aG,aH)})};var y=false,al;if(document.addEventListener){al=function(){document.removeEventListener("DOMContentLoaded",al,false);Q.load()}}else{if(document.attachEvent){al=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",al);Q.load()}}}}function g(){if(y){return}try{document.documentElement.doScroll("left")}catch(K){setTimeout(g,1);return}Q.load()}function P(){if(document.readyState==="complete"){return Q.load()}if(document.addEventListener){document.addEventListener("DOMContentLoaded",al,false);au.addEventListener("load",Q.load,false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",al);au.attachEvent("onload",Q.load);var K=false;try{K=au.frameElement===null}catch(S){}if(document.documentElement.doScroll&&K){g()}}}}Q.load=function(){if(y){return}if(!document.body){return setTimeout(Q.load,13)}y=true;d();Q.onReady();if(!Q.options.skipSetup){Q.setup()}Q.skin.init()};Q.plugins={};if(navigator.plugins&&navigator.plugins.length){var w=[];aF(navigator.plugins,function(K,S){w.push(S.name)});w=w.join(",");var ai=w.indexOf("Flip4Mac")>-1;Q.plugins={fla:w.indexOf("Shockwave Flash")>-1,qt:w.indexOf("QuickTime")>-1,wmp:!ai&&w.indexOf("Windows Media")>-1,f4m:ai}}else{var p=function(K){var S;try{S=new ActiveXObject(K)}catch(aG){}return !!S};Q.plugins={fla:p("ShockwaveFlash.ShockwaveFlash"),qt:p("QuickTime.QuickTime"),wmp:p("wmplayer.ocx"),f4m:false}}var X=/^(light|shadow)box/i,am="shadowboxCacheKey",b=1;Q.cache={};Q.select=function(S){var aG=[];if(!S){var K;aF(document.getElementsByTagName("a"),function(aJ,aK){K=aK.getAttribute("rel");if(K&&X.test(K)){aG.push(aK)}})}else{var aI=S.length;if(aI){if(typeof S=="string"){if(Q.find){aG=Q.find(S)}}else{if(aI==2&&typeof S[0]=="string"&&S[1].nodeType){if(Q.find){aG=Q.find(S[0],S[1])}}else{for(var aH=0;aH<aI;++aH){aG[aH]=S[aH]}}}}else{aG.push(S)}}return aG};Q.setup=function(K,S){aF(Q.select(K),function(aG,aH){Q.addCache(aH,S)})};Q.teardown=function(K){aF(Q.select(K),function(S,aG){Q.removeCache(aG)})};Q.addCache=function(aG,K){var S=aG[am];if(S==k){S=b++;aG[am]=S;F(aG,"click",u)}Q.cache[S]=Q.makeObject(aG,K)};Q.removeCache=function(K){M(K,"click",u);delete Q.cache[K[am]];K[am]=null};Q.getCache=function(S){var K=S[am];return(K in Q.cache&&Q.cache[K])};Q.clearCache=function(){for(var K in Q.cache){Q.removeCache(Q.cache[K].link)}Q.cache={}};function u(K){Q.open(this);if(Q.gallery.length){n(K)}}
/*
 * Modified for inclusion in Shadowbox.js 3.0.3
 */
Q.find=(function(){var aP=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,aQ=0,aS=Object.prototype.toString,aK=false,aJ=true;[0,0].sort(function(){aJ=false;return 0});var aG=function(a1,aW,a4,a5){a4=a4||[];var a7=aW=aW||document;if(aW.nodeType!==1&&aW.nodeType!==9){return[]}if(!a1||typeof a1!=="string"){return a4}var a2=[],aY,a9,bc,aX,a0=true,aZ=aH(aW),a6=a1;while((aP.exec(""),aY=aP.exec(a6))!==null){a6=aY[3];a2.push(aY[1]);if(aY[2]){aX=aY[3];break}}if(a2.length>1&&aL.exec(a1)){if(a2.length===2&&aM.relative[a2[0]]){a9=aT(a2[0]+a2[1],aW)}else{a9=aM.relative[a2[0]]?[aW]:aG(a2.shift(),aW);while(a2.length){a1=a2.shift();if(aM.relative[a1]){a1+=a2.shift()}a9=aT(a1,a9)}}}else{if(!a5&&a2.length>1&&aW.nodeType===9&&!aZ&&aM.match.ID.test(a2[0])&&!aM.match.ID.test(a2[a2.length-1])){var a8=aG.find(a2.shift(),aW,aZ);aW=a8.expr?aG.filter(a8.expr,a8.set)[0]:a8.set[0]}if(aW){var a8=a5?{expr:a2.pop(),set:aO(a5)}:aG.find(a2.pop(),a2.length===1&&(a2[0]==="~"||a2[0]==="+")&&aW.parentNode?aW.parentNode:aW,aZ);a9=a8.expr?aG.filter(a8.expr,a8.set):a8.set;if(a2.length>0){bc=aO(a9)}else{a0=false}while(a2.length){var bb=a2.pop(),ba=bb;if(!aM.relative[bb]){bb=""}else{ba=a2.pop()}if(ba==null){ba=aW}aM.relative[bb](bc,ba,aZ)}}else{bc=a2=[]}}if(!bc){bc=a9}if(!bc){throw"Syntax error, unrecognized expression: "+(bb||a1)}if(aS.call(bc)==="[object Array]"){if(!a0){a4.push.apply(a4,bc)}else{if(aW&&aW.nodeType===1){for(var a3=0;bc[a3]!=null;a3++){if(bc[a3]&&(bc[a3]===true||bc[a3].nodeType===1&&aN(aW,bc[a3]))){a4.push(a9[a3])}}}else{for(var a3=0;bc[a3]!=null;a3++){if(bc[a3]&&bc[a3].nodeType===1){a4.push(a9[a3])}}}}}else{aO(bc,a4)}if(aX){aG(aX,a7,a4,a5);aG.uniqueSort(a4)}return a4};aG.uniqueSort=function(aX){if(aR){aK=aJ;aX.sort(aR);if(aK){for(var aW=1;aW<aX.length;aW++){if(aX[aW]===aX[aW-1]){aX.splice(aW--,1)}}}}return aX};aG.matches=function(aW,aX){return aG(aW,null,null,aX)};aG.find=function(a3,aW,a4){var a2,a0;if(!a3){return[]}for(var aZ=0,aY=aM.order.length;aZ<aY;aZ++){var a1=aM.order[aZ],a0;if((a0=aM.leftMatch[a1].exec(a3))){var aX=a0[1];a0.splice(1,1);if(aX.substr(aX.length-1)!=="\\"){a0[1]=(a0[1]||"").replace(/\\/g,"");a2=aM.find[a1](a0,aW,a4);if(a2!=null){a3=a3.replace(aM.match[a1],"");break}}}}if(!a2){a2=aW.getElementsByTagName("*")}return{set:a2,expr:a3}};aG.filter=function(a6,a5,a9,aZ){var aY=a6,bb=[],a3=a5,a1,aW,a2=a5&&a5[0]&&aH(a5[0]);while(a6&&a5.length){for(var a4 in aM.filter){if((a1=aM.match[a4].exec(a6))!=null){var aX=aM.filter[a4],ba,a8;aW=false;if(a3===bb){bb=[]}if(aM.preFilter[a4]){a1=aM.preFilter[a4](a1,a3,a9,bb,aZ,a2);if(!a1){aW=ba=true}else{if(a1===true){continue}}}if(a1){for(var a0=0;(a8=a3[a0])!=null;a0++){if(a8){ba=aX(a8,a1,a0,a3);var a7=aZ^!!ba;if(a9&&ba!=null){if(a7){aW=true}else{a3[a0]=false}}else{if(a7){bb.push(a8);aW=true}}}}}if(ba!==k){if(!a9){a3=bb}a6=a6.replace(aM.match[a4],"");if(!aW){return[]}break}}}if(a6===aY){if(aW==null){throw"Syntax error, unrecognized expression: "+a6}else{break}}aY=a6}return a3};var aM=aG.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(aW){return aW.getAttribute("href")}},relative:{"+":function(a2,aX){var aZ=typeof aX==="string",a1=aZ&&!/\W/.test(aX),a3=aZ&&!a1;if(a1){aX=aX.toLowerCase()}for(var aY=0,aW=a2.length,a0;aY<aW;aY++){if((a0=a2[aY])){while((a0=a0.previousSibling)&&a0.nodeType!==1){}a2[aY]=a3||a0&&a0.nodeName.toLowerCase()===aX?a0||false:a0===aX}}if(a3){aG.filter(aX,a2,true)}},">":function(a2,aX){var a0=typeof aX==="string";if(a0&&!/\W/.test(aX)){aX=aX.toLowerCase();for(var aY=0,aW=a2.length;aY<aW;aY++){var a1=a2[aY];if(a1){var aZ=a1.parentNode;a2[aY]=aZ.nodeName.toLowerCase()===aX?aZ:false}}}else{for(var aY=0,aW=a2.length;aY<aW;aY++){var a1=a2[aY];if(a1){a2[aY]=a0?a1.parentNode:a1.parentNode===aX}}if(a0){aG.filter(aX,a2,true)}}},"":function(aZ,aX,a1){var aY=aQ++,aW=aU;if(typeof aX==="string"&&!/\W/.test(aX)){var a0=aX=aX.toLowerCase();aW=K}aW("parentNode",aX,aY,aZ,a0,a1)},"~":function(aZ,aX,a1){var aY=aQ++,aW=aU;if(typeof aX==="string"&&!/\W/.test(aX)){var a0=aX=aX.toLowerCase();aW=K}aW("previousSibling",aX,aY,aZ,a0,a1)}},find:{ID:function(aX,aY,aZ){if(typeof aY.getElementById!=="undefined"&&!aZ){var aW=aY.getElementById(aX[1]);return aW?[aW]:[]}},NAME:function(aY,a1){if(typeof a1.getElementsByName!=="undefined"){var aX=[],a0=a1.getElementsByName(aY[1]);for(var aZ=0,aW=a0.length;aZ<aW;aZ++){if(a0[aZ].getAttribute("name")===aY[1]){aX.push(a0[aZ])}}return aX.length===0?null:aX}},TAG:function(aW,aX){return aX.getElementsByTagName(aW[1])}},preFilter:{CLASS:function(aZ,aX,aY,aW,a2,a3){aZ=" "+aZ[1].replace(/\\/g,"")+" ";if(a3){return aZ}for(var a0=0,a1;(a1=aX[a0])!=null;a0++){if(a1){if(a2^(a1.className&&(" "+a1.className+" ").replace(/[\t\n]/g," ").indexOf(aZ)>=0)){if(!aY){aW.push(a1)}}else{if(aY){aX[a0]=false}}}}return false},ID:function(aW){return aW[1].replace(/\\/g,"")},TAG:function(aX,aW){return aX[1].toLowerCase()},CHILD:function(aW){if(aW[1]==="nth"){var aX=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(aW[2]==="even"&&"2n"||aW[2]==="odd"&&"2n+1"||!/\D/.test(aW[2])&&"0n+"+aW[2]||aW[2]);aW[2]=(aX[1]+(aX[2]||1))-0;aW[3]=aX[3]-0}aW[0]=aQ++;return aW},ATTR:function(a0,aX,aY,aW,a1,a2){var aZ=a0[1].replace(/\\/g,"");if(!a2&&aM.attrMap[aZ]){a0[1]=aM.attrMap[aZ]}if(a0[2]==="~="){a0[4]=" "+a0[4]+" "}return a0},PSEUDO:function(a0,aX,aY,aW,a1){if(a0[1]==="not"){if((aP.exec(a0[3])||"").length>1||/^\w/.test(a0[3])){a0[3]=aG(a0[3],null,null,aX)}else{var aZ=aG.filter(a0[3],aX,aY,true^a1);if(!aY){aW.push.apply(aW,aZ)}return false}}else{if(aM.match.POS.test(a0[0])||aM.match.CHILD.test(a0[0])){return true}}return a0},POS:function(aW){aW.unshift(true);return aW}},filters:{enabled:function(aW){return aW.disabled===false&&aW.type!=="hidden"},disabled:function(aW){return aW.disabled===true},checked:function(aW){return aW.checked===true},selected:function(aW){aW.parentNode.selectedIndex;return aW.selected===true},parent:function(aW){return !!aW.firstChild},empty:function(aW){return !aW.firstChild},has:function(aY,aX,aW){return !!aG(aW[3],aY).length},header:function(aW){return/h\d/i.test(aW.nodeName)},text:function(aW){return"text"===aW.type},radio:function(aW){return"radio"===aW.type},checkbox:function(aW){return"checkbox"===aW.type},file:function(aW){return"file"===aW.type},password:function(aW){return"password"===aW.type},submit:function(aW){return"submit"===aW.type},image:function(aW){return"image"===aW.type},reset:function(aW){return"reset"===aW.type},button:function(aW){return"button"===aW.type||aW.nodeName.toLowerCase()==="button"},input:function(aW){return/input|select|textarea|button/i.test(aW.nodeName)}},setFilters:{first:function(aX,aW){return aW===0},last:function(aY,aX,aW,aZ){return aX===aZ.length-1},even:function(aX,aW){return aW%2===0},odd:function(aX,aW){return aW%2===1},lt:function(aY,aX,aW){return aX<aW[3]-0},gt:function(aY,aX,aW){return aX>aW[3]-0},nth:function(aY,aX,aW){return aW[3]-0===aX},eq:function(aY,aX,aW){return aW[3]-0===aX}},filter:{PSEUDO:function(a2,aY,aZ,a3){var aX=aY[1],a0=aM.filters[aX];if(a0){return a0(a2,aZ,aY,a3)}else{if(aX==="contains"){return(a2.textContent||a2.innerText||S([a2])||"").indexOf(aY[3])>=0}else{if(aX==="not"){var a1=aY[3];for(var aZ=0,aW=a1.length;aZ<aW;aZ++){if(a1[aZ]===a2){return false}}return true}else{throw"Syntax error, unrecognized expression: "+aX}}}},CHILD:function(aW,aZ){var a2=aZ[1],aX=aW;switch(a2){case"only":case"first":while((aX=aX.previousSibling)){if(aX.nodeType===1){return false}}if(a2==="first"){return true}aX=aW;case"last":while((aX=aX.nextSibling)){if(aX.nodeType===1){return false}}return true;case"nth":var aY=aZ[2],a5=aZ[3];if(aY===1&&a5===0){return true}var a1=aZ[0],a4=aW.parentNode;if(a4&&(a4.sizcache!==a1||!aW.nodeIndex)){var a0=0;for(aX=a4.firstChild;aX;aX=aX.nextSibling){if(aX.nodeType===1){aX.nodeIndex=++a0}}a4.sizcache=a1}var a3=aW.nodeIndex-a5;if(aY===0){return a3===0}else{return(a3%aY===0&&a3/aY>=0)}}},ID:function(aX,aW){return aX.nodeType===1&&aX.getAttribute("id")===aW},TAG:function(aX,aW){return(aW==="*"&&aX.nodeType===1)||aX.nodeName.toLowerCase()===aW},CLASS:function(aX,aW){return(" "+(aX.className||aX.getAttribute("class"))+" ").indexOf(aW)>-1},ATTR:function(a1,aZ){var aY=aZ[1],aW=aM.attrHandle[aY]?aM.attrHandle[aY](a1):a1[aY]!=null?a1[aY]:a1.getAttribute(aY),a2=aW+"",a0=aZ[2],aX=aZ[4];return aW==null?a0==="!=":a0==="="?a2===aX:a0==="*="?a2.indexOf(aX)>=0:a0==="~="?(" "+a2+" ").indexOf(aX)>=0:!aX?a2&&aW!==false:a0==="!="?a2!==aX:a0==="^="?a2.indexOf(aX)===0:a0==="$="?a2.substr(a2.length-aX.length)===aX:a0==="|="?a2===aX||a2.substr(0,aX.length+1)===aX+"-":false},POS:function(a0,aX,aY,a1){var aW=aX[2],aZ=aM.setFilters[aW];if(aZ){return aZ(a0,aY,aX,a1)}}}};var aL=aM.match.POS;for(var aI in aM.match){aM.match[aI]=new RegExp(aM.match[aI].source+/(?![^\[]*\])(?![^\(]*\))/.source);aM.leftMatch[aI]=new RegExp(/(^(?:.|\r|\n)*?)/.source+aM.match[aI].source)}var aO=function(aX,aW){aX=Array.prototype.slice.call(aX,0);if(aW){aW.push.apply(aW,aX);return aW}return aX};try{Array.prototype.slice.call(document.documentElement.childNodes,0)}catch(aV){aO=function(a0,aZ){var aX=aZ||[];if(aS.call(a0)==="[object Array]"){Array.prototype.push.apply(aX,a0)}else{if(typeof a0.length==="number"){for(var aY=0,aW=a0.length;aY<aW;aY++){aX.push(a0[aY])}}else{for(var aY=0;a0[aY];aY++){aX.push(a0[aY])}}}return aX}}var aR;if(document.documentElement.compareDocumentPosition){aR=function(aX,aW){if(!aX.compareDocumentPosition||!aW.compareDocumentPosition){if(aX==aW){aK=true}return aX.compareDocumentPosition?-1:1}var aY=aX.compareDocumentPosition(aW)&4?-1:aX===aW?0:1;if(aY===0){aK=true}return aY}}else{if("sourceIndex" in document.documentElement){aR=function(aX,aW){if(!aX.sourceIndex||!aW.sourceIndex){if(aX==aW){aK=true}return aX.sourceIndex?-1:1}var aY=aX.sourceIndex-aW.sourceIndex;if(aY===0){aK=true}return aY}}else{if(document.createRange){aR=function(aZ,aX){if(!aZ.ownerDocument||!aX.ownerDocument){if(aZ==aX){aK=true}return aZ.ownerDocument?-1:1}var aY=aZ.ownerDocument.createRange(),aW=aX.ownerDocument.createRange();aY.setStart(aZ,0);aY.setEnd(aZ,0);aW.setStart(aX,0);aW.setEnd(aX,0);var a0=aY.compareBoundaryPoints(Range.START_TO_END,aW);if(a0===0){aK=true}return a0}}}}function S(aW){var aX="",aZ;for(var aY=0;aW[aY];aY++){aZ=aW[aY];if(aZ.nodeType===3||aZ.nodeType===4){aX+=aZ.nodeValue}else{if(aZ.nodeType!==8){aX+=S(aZ.childNodes)}}}return aX}(function(){var aX=document.createElement("div"),aY="script"+(new Date).getTime();aX.innerHTML="<a name='"+aY+"'/>";var aW=document.documentElement;aW.insertBefore(aX,aW.firstChild);if(document.getElementById(aY)){aM.find.ID=function(a0,a1,a2){if(typeof a1.getElementById!=="undefined"&&!a2){var aZ=a1.getElementById(a0[1]);return aZ?aZ.id===a0[1]||typeof aZ.getAttributeNode!=="undefined"&&aZ.getAttributeNode("id").nodeValue===a0[1]?[aZ]:k:[]}};aM.filter.ID=function(a1,aZ){var a0=typeof a1.getAttributeNode!=="undefined"&&a1.getAttributeNode("id");return a1.nodeType===1&&a0&&a0.nodeValue===aZ}}aW.removeChild(aX);aW=aX=null})();(function(){var aW=document.createElement("div");aW.appendChild(document.createComment(""));if(aW.getElementsByTagName("*").length>0){aM.find.TAG=function(aX,a1){var a0=a1.getElementsByTagName(aX[1]);if(aX[1]==="*"){var aZ=[];for(var aY=0;a0[aY];aY++){if(a0[aY].nodeType===1){aZ.push(a0[aY])}}a0=aZ}return a0}}aW.innerHTML="<a href='#'></a>";if(aW.firstChild&&typeof aW.firstChild.getAttribute!=="undefined"&&aW.firstChild.getAttribute("href")!=="#"){aM.attrHandle.href=function(aX){return aX.getAttribute("href",2)}}aW=null})();if(document.querySelectorAll){(function(){var aW=aG,aY=document.createElement("div");aY.innerHTML="<p class='TEST'></p>";if(aY.querySelectorAll&&aY.querySelectorAll(".TEST").length===0){return}aG=function(a2,a1,aZ,a0){a1=a1||document;if(!a0&&a1.nodeType===9&&!aH(a1)){try{return aO(a1.querySelectorAll(a2),aZ)}catch(a3){}}return aW(a2,a1,aZ,a0)};for(var aX in aW){aG[aX]=aW[aX]}aY=null})()}(function(){var aW=document.createElement("div");aW.innerHTML="<div class='test e'></div><div class='test'></div>";if(!aW.getElementsByClassName||aW.getElementsByClassName("e").length===0){return}aW.lastChild.className="e";if(aW.getElementsByClassName("e").length===1){return}aM.order.splice(1,0,"CLASS");aM.find.CLASS=function(aX,aY,aZ){if(typeof aY.getElementsByClassName!=="undefined"&&!aZ){return aY.getElementsByClassName(aX[1])}};aW=null})();function K(aX,a2,a1,a5,a3,a4){for(var aZ=0,aY=a5.length;aZ<aY;aZ++){var aW=a5[aZ];if(aW){aW=aW[aX];var a0=false;while(aW){if(aW.sizcache===a1){a0=a5[aW.sizset];break}if(aW.nodeType===1&&!a4){aW.sizcache=a1;aW.sizset=aZ}if(aW.nodeName.toLowerCase()===a2){a0=aW;break}aW=aW[aX]}a5[aZ]=a0}}}function aU(aX,a2,a1,a5,a3,a4){for(var aZ=0,aY=a5.length;aZ<aY;aZ++){var aW=a5[aZ];if(aW){aW=aW[aX];var a0=false;while(aW){if(aW.sizcache===a1){a0=a5[aW.sizset];break}if(aW.nodeType===1){if(!a4){aW.sizcache=a1;aW.sizset=aZ}if(typeof a2!=="string"){if(aW===a2){a0=true;break}}else{if(aG.filter(a2,[aW]).length>0){a0=aW;break}}}aW=aW[aX]}a5[aZ]=a0}}}var aN=document.compareDocumentPosition?function(aX,aW){return aX.compareDocumentPosition(aW)&16}:function(aX,aW){return aX!==aW&&(aX.contains?aX.contains(aW):true)};var aH=function(aW){var aX=(aW?aW.ownerDocument||aW:0).documentElement;return aX?aX.nodeName!=="HTML":false};var aT=function(aW,a3){var aZ=[],a0="",a1,aY=a3.nodeType?[a3]:a3;while((a1=aM.match.PSEUDO.exec(aW))){a0+=a1[0];aW=aW.replace(aM.match.PSEUDO,"")}aW=aM.relative[aW]?aW+"*":aW;for(var a2=0,aX=aY.length;a2<aX;a2++){aG(aW,aY[a2],aZ)}return aG.filter(a0,aZ)};return aG})();Q.lang={code:"zh-CN",of:'/',loading:"读取中",cancel:"取消",next:"下一页",previous:"上一页",play:"执行",pause:"暂停",close:"关闭",errors:{single:'您必须安装 <a href="{0}">{1}</a> 这个浏览外挂程式才能检视这里的内容。',shared:'您必须安装 <a href="{0}">{1}</a> 和 <a href="{2}">{3}</a> 这两个浏览外挂程式才能检视这里的内容。',either:'您必须安装 <a href="{0}">{1}</a> 或者是 the <a href="{2}">{3}</a> 这两个其中一个浏览外挂程式才能检视这里的内容。'}};var D,at="sb-drag-proxy",E,j,ag;function ax(){E={x:0,y:0,startX:null,startY:null}}function aA(){var K=Q.dimensions;aC(j.style,{height:K.innerHeight+"px",width:K.innerWidth+"px"})}function O(){ax();var K=["position:absolute","cursor:"+(Q.isGecko?"-moz-grab":"move"),"background-color:"+(Q.isIE?"#fff;filter:alpha(opacity=0)":"transparent")].join(";");Q.appendHTML(Q.skin.body,'<div id="'+at+'" style="'+K+'"></div>');j=ad(at);aA();F(j,"mousedown",L)}function B(){if(j){M(j,"mousedown",L);C(j);j=null}ag=null}function L(S){n(S);var K=V(S);E.startX=K[0];E.startY=K[1];ag=ad(Q.player.id);F(document,"mousemove",H);F(document,"mouseup",i);if(Q.isGecko){j.style.cursor="-moz-grabbing"}}function H(aI){var K=Q.player,aJ=Q.dimensions,aH=V(aI);var aG=aH[0]-E.startX;E.startX+=aG;E.x=Math.max(Math.min(0,E.x+aG),aJ.innerWidth-K.width);var S=aH[1]-E.startY;E.startY+=S;E.y=Math.max(Math.min(0,E.y+S),aJ.innerHeight-K.height);aC(ag.style,{left:E.x+"px",top:E.y+"px"})}function i(){M(document,"mousemove",H);M(document,"mouseup",i);if(Q.isGecko){j.style.cursor="-moz-grab"}}Q.img=function(S,aG){this.obj=S;this.id=aG;this.ready=false;var K=this;D=new Image();D.onload=function(){K.height=S.height?parseInt(S.height,10):D.height;K.width=S.width?parseInt(S.width,10):D.width;K.ready=true;D.onload=null;D=null};D.src=S.content};Q.img.ext=["bmp","gif","jpg","jpeg","png"];Q.img.prototype={append:function(S,aI){var aG=document.createElement("img");aG.id=this.id;aG.src=this.obj.content;aG.style.position="absolute";var K,aH;if(aI.oversized&&Q.options.handleOversize=="resize"){K=aI.innerHeight;aH=aI.innerWidth}else{K=this.height;aH=this.width}aG.setAttribute("height",K);aG.setAttribute("width",aH);S.appendChild(aG)},remove:function(){var K=ad(this.id);if(K){C(K)}B();if(D){D.onload=null;D=null}},onLoad:function(){var K=Q.dimensions;if(K.oversized&&Q.options.handleOversize=="drag"){O()}},onWindowResize:function(){var aH=Q.dimensions;switch(Q.options.handleOversize){case"resize":var K=ad(this.id);K.height=aH.innerHeight;K.width=aH.innerWidth;break;case"drag":if(ag){var aG=parseInt(Q.getStyle(ag,"top")),S=parseInt(Q.getStyle(ag,"left"));if(aG+this.height<aH.innerHeight){ag.style.top=aH.innerHeight-this.height+"px"}if(S+this.width<aH.innerWidth){ag.style.left=aH.innerWidth-this.width+"px"}aA()}break}}};Q.iframe=function(S,aG){this.obj=S;this.id=aG;var K=ad("sb-overlay");this.height=S.height?parseInt(S.height,10):K.offsetHeight;this.width=S.width?parseInt(S.width,10):K.offsetWidth};Q.iframe.prototype={append:function(K,aG){var S='<iframe id="'+this.id+'" name="'+this.id+'" height="100%" width="100%" frameborder="0" marginwidth="0" marginheight="0" style="visibility:hidden" onload="this.style.visibility=\'visible\'" scrolling="auto"';if(Q.isIE){S+=' allowtransparency="true"';if(Q.isIE6){S+=" src=\"javascript:false;document.write('');\""}}S+="></iframe>";K.innerHTML=S},remove:function(){var K=ad(this.id);if(K){C(K);if(Q.isGecko){delete au.frames[this.id]}}},onLoad:function(){var K=Q.isIE?ad(this.id).contentWindow:au.frames[this.id];K.location.href=this.obj.content}};Q.html=function(K,S){this.obj=K;this.id=S;this.height=K.height?parseInt(K.height,10):300;this.width=K.width?parseInt(K.width,10):500};Q.html.prototype={append:function(K,S){var aG=document.createElement("div");aG.id=this.id;aG.className="html";aG.innerHTML=this.obj.content;K.appendChild(aG)},remove:function(){var K=ad(this.id);if(K){C(K)}}};var ao=false,Y=[],q=["sb-nav-close","sb-nav-next","sb-nav-play","sb-nav-pause","sb-nav-previous"],aa,ae,Z,m=true;function N(aG,aQ,aN,aL,aR){var K=(aQ=="opacity"),aM=K?Q.setOpacity:function(aS,aT){aS.style[aQ]=""+aT+"px"};if(aL==0||(!K&&!Q.options.animate)||(K&&!Q.options.animateFade)){aM(aG,aN);if(aR){aR()}return}var aO=parseFloat(Q.getStyle(aG,aQ))||0;var aP=aN-aO;if(aP==0){if(aR){aR()}return}aL*=1000;var aH=aw(),aK=Q.ease,aJ=aH+aL,aI;var S=setInterval(function(){aI=aw();if(aI>=aJ){clearInterval(S);S=null;aM(aG,aN);if(aR){aR()}}else{aM(aG,aO+aK((aI-aH)/aL)*aP)}},10)}function aB(){aa.style.height=Q.getWindowSize("Height")+"px";aa.style.width=Q.getWindowSize("Width")+"px"}function aE(){aa.style.top=document.documentElement.scrollTop+"px";aa.style.left=document.documentElement.scrollLeft+"px"}function ay(K){if(K){aF(Y,function(S,aG){aG[0].style.visibility=aG[1]||""})}else{Y=[];aF(Q.options.troubleElements,function(aG,S){aF(document.getElementsByTagName(S),function(aH,aI){Y.push([aI,aI.style.visibility]);aI.style.visibility="hidden"})})}}function r(aG,K){var S=ad("sb-nav-"+aG);if(S){S.style.display=K?"":"none"}}function ah(K,aJ){var aI=ad("sb-loading"),aG=Q.getCurrent().player,aH=(aG=="img"||aG=="html");if(K){Q.setOpacity(aI,0);aI.style.display="block";var S=function(){Q.clearOpacity(aI);if(aJ){aJ()}};if(aH){N(aI,"opacity",1,Q.options.fadeDuration,S)}else{S()}}else{var S=function(){aI.style.display="none";Q.clearOpacity(aI);if(aJ){aJ()}};if(aH){N(aI,"opacity",0,Q.options.fadeDuration,S)}else{S()}}}function t(aO){var aJ=Q.getCurrent();ad("sb-title-inner").innerHTML=aJ.title||"";var aP,aL,S,aQ,aM;if(Q.options.displayNav){aP=true;var aN=Q.gallery.length;if(aN>1){if(Q.options.continuous){aL=aM=true}else{aL=(aN-1)>Q.current;aM=Q.current>0}}if(Q.options.slideshowDelay>0&&Q.hasNext()){aQ=!Q.isPaused();S=!aQ}}else{aP=aL=S=aQ=aM=false}r("close",aP);r("next",aL);r("play",S);r("pause",aQ);r("previous",aM);var K="";if(Q.options.displayCounter&&Q.gallery.length>1){var aN=Q.gallery.length;if(Q.options.counterType=="skip"){var aI=0,aH=aN,aG=parseInt(Q.options.counterLimit)||0;if(aG<aN&&aG>2){var aK=Math.floor(aG/2);aI=Q.current-aK;if(aI<0){aI+=aN}aH=Q.current+(aG-aK);if(aH>aN){aH-=aN}}while(aI!=aH){if(aI==aN){aI=0}K+='<a onclick="Shadowbox.change('+aI+');"';if(aI==Q.current){K+=' class="sb-counter-current"'}K+=">"+(++aI)+"</a>"}}else{K=[Q.current+1,Q.lang.of,aN].join(" ")}}ad("sb-counter").innerHTML=K;aO()}function U(aH){var K=ad("sb-title-inner"),aG=ad("sb-info-inner"),S=0.35;K.style.visibility=aG.style.visibility="";if(K.innerHTML!=""){N(K,"marginTop",0,S)}N(aG,"marginTop",0,S,aH)}function av(aG,aM){var aK=ad("sb-title"),K=ad("sb-info"),aH=aK.offsetHeight,aI=K.offsetHeight,aJ=ad("sb-title-inner"),aL=ad("sb-info-inner"),S=(aG?0.35:0);N(aJ,"marginTop",aH,S);N(aL,"marginTop",aI*-1,S,function(){aJ.style.visibility=aL.style.visibility="hidden";aM()})}function ac(K,aH,S,aJ){var aI=ad("sb-wrapper-inner"),aG=(S?Q.options.resizeDuration:0);N(Z,"top",aH,aG);N(aI,"height",K,aG,aJ)}function ar(K,aH,S,aI){var aG=(S?Q.options.resizeDuration:0);N(Z,"left",aH,aG);N(Z,"width",K,aG,aI)}function ak(aM,aG){var aI=ad("sb-body-inner"),aM=parseInt(aM),aG=parseInt(aG),S=Z.offsetHeight-aI.offsetHeight,K=Z.offsetWidth-aI.offsetWidth,aK=ae.offsetHeight,aL=ae.offsetWidth,aJ=parseInt(Q.options.viewportPadding)||20,aH=(Q.player&&Q.options.handleOversize!="drag");return Q.setDimensions(aM,aG,aK,aL,S,K,aJ,aH)}var T={};T.markup='<div id="sb-container"><div id="sb-overlay"></div><div id="sb-wrapper"><div id="sb-title"><div id="sb-title-inner"></div></div><div id="sb-wrapper-inner"><div id="sb-body"><div id="sb-body-inner"></div><div id="sb-loading"><div id="sb-loading-inner"><span>{loading}</span></div></div></div></div><div id="sb-info"><div id="sb-info-inner"><div id="sb-counter"></div><div id="sb-nav"><a id="sb-nav-close" title="{close}" onclick="Shadowbox.close()"></a><a id="sb-nav-next" title="{next}" onclick="Shadowbox.next()"></a><a id="sb-nav-play" title="{play}" onclick="Shadowbox.play()"></a><a id="sb-nav-pause" title="{pause}" onclick="Shadowbox.pause()"></a><a id="sb-nav-previous" title="{previous}" onclick="Shadowbox.previous()"></a></div></div></div></div></div>';T.options={animSequence:"sync",counterLimit:10,counterType:"default",displayCounter:true,displayNav:true,fadeDuration:0.35,initialHeight:160,initialWidth:320,modal:false,overlayColor:"#000",overlayOpacity:0.5,resizeDuration:0.35,showOverlay:true,troubleElements:["select","object","embed","canvas"]};T.init=function(){Q.appendHTML(document.body,s(T.markup,Q.lang));T.body=ad("sb-body-inner");aa=ad("sb-container");ae=ad("sb-overlay");Z=ad("sb-wrapper");if(!x){aa.style.position="absolute"}if(!h){var aG,K,S=/url\("(.*\.png)"\)/;aF(q,function(aI,aJ){aG=ad(aJ);if(aG){K=Q.getStyle(aG,"backgroundImage").match(S);if(K){aG.style.backgroundImage="none";aG.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src="+K[1]+",sizingMethod=scale);"}}})}var aH;F(au,"resize",function(){if(aH){clearTimeout(aH);aH=null}if(A){aH=setTimeout(T.onWindowResize,10)}})};T.onOpen=function(K,aG){m=false;aa.style.display="block";aB();var S=ak(Q.options.initialHeight,Q.options.initialWidth);ac(S.innerHeight,S.top);ar(S.width,S.left);if(Q.options.showOverlay){ae.style.backgroundColor=Q.options.overlayColor;Q.setOpacity(ae,0);if(!Q.options.modal){F(ae,"click",Q.close)}ao=true}if(!x){aE();F(au,"scroll",aE)}ay();aa.style.visibility="visible";if(ao){N(ae,"opacity",Q.options.overlayOpacity,Q.options.fadeDuration,aG)}else{aG()}};T.onLoad=function(S,K){ah(true);while(T.body.firstChild){C(T.body.firstChild)}av(S,function(){if(!A){return}if(!S){Z.style.visibility="visible"}t(K)})};T.onReady=function(aH){if(!A){return}var S=Q.player,aG=ak(S.height,S.width);var K=function(){U(aH)};switch(Q.options.animSequence){case"hw":ac(aG.innerHeight,aG.top,true,function(){ar(aG.width,aG.left,true,K)});break;case"wh":ar(aG.width,aG.left,true,function(){ac(aG.innerHeight,aG.top,true,K)});break;default:ar(aG.width,aG.left,true);ac(aG.innerHeight,aG.top,true,K)}};T.onShow=function(K){ah(false,K);m=true};T.onClose=function(){if(!x){M(au,"scroll",aE)}M(ae,"click",Q.close);Z.style.visibility="hidden";var K=function(){aa.style.visibility="hidden";aa.style.display="none";ay(true)};if(ao){N(ae,"opacity",0,Q.options.fadeDuration,K)}else{K()}};T.onPlay=function(){r("play",false);r("pause",true)};T.onPause=function(){r("pause",false);r("play",true)};T.onWindowResize=function(){if(!m){return}aB();var K=Q.player,S=ak(K.height,K.width);ar(S.width,S.left);ac(S.innerHeight,S.top);if(K.onWindowResize){K.onWindowResize()}};Q.skin=T;au.Shadowbox=Q})(window);	

	/*
	图片放大镜插件
	cloud-zoom, version 1.0.2
	http://www.professorcloud.com/mainsite/cloud-zoom.htm
	$('.cloud-zoom, .cloud-zoom-gallery').CloudZoom()
 	*******************************************************************************************
	*/
	(function($){function format(str){for(var i=1;i<arguments.length;i++){str=str.replace('%'+(i-1),arguments[i])}return str}function CloudZoom(jWin,opts){var sImg=$('img',jWin);var img1;var img2;var zoomDiv=null;var $mouseTrap=null;var lens=null;var $tint=null;var softFocus=null;var $ie6Fix=null;var zoomImage;var controlTimer=0;var cw,ch;var destU=0;var destV=0;var currV=0;var currU=0;var filesLoaded=0;var mx,my;var ctx=this,zw;setTimeout(function(){if($mouseTrap===null){var w=jWin.width();jWin.parent().append(format('<div style="width:%0px;position:absolute;top:75%;left:%1px;text-align:center" class="cloud-zoom-loading" >加载中...</div>',w/3,(w/2)-(w/6))).find(':last').css('opacity',0.5)}},200);var ie6FixRemove=function(){if($ie6Fix!==null){$ie6Fix.remove();$ie6Fix=null}};this.removeBits=function(){if(lens){lens.remove();lens=null}if($tint){$tint.remove();$tint=null}if(softFocus){softFocus.remove();softFocus=null}ie6FixRemove();$('.cloud-zoom-loading',jWin.parent()).remove()};this.destroy=function(){jWin.data('zoom',null);if($mouseTrap){$mouseTrap.unbind();$mouseTrap.remove();$mouseTrap=null}if(zoomDiv){zoomDiv.remove();zoomDiv=null}this.removeBits()};this.fadedOut=function(){if(zoomDiv){zoomDiv.remove();zoomDiv=null}this.removeBits()};this.controlLoop=function(){if(lens){var x=(mx-sImg.offset().left-(cw*0.5))>>0;var y=(my-sImg.offset().top-(ch*0.5))>>0;if(x<0){x=0}else if(x>(sImg.outerWidth()-cw)){x=(sImg.outerWidth()-cw)}if(y<0){y=0}else if(y>(sImg.outerHeight()-ch)){y=(sImg.outerHeight()-ch)}lens.css({left:x,top:y});lens.css('background-position',(-x)+'px '+(-y)+'px');destU=(((x)/sImg.outerWidth())*zoomImage.width)>>0;destV=(((y)/sImg.outerHeight())*zoomImage.height)>>0;currU+=(destU-currU)/opts.smoothMove;currV+=(destV-currV)/opts.smoothMove;zoomDiv.css('background-position',(-(currU>>0)+'px ')+(-(currV>>0)+'px'))}controlTimer=setTimeout(function(){ctx.controlLoop()},30)};this.init2=function(img,id){filesLoaded++;if(id===1){zoomImage=img}if(filesLoaded===2){this.init()}};this.init=function(){$('.cloud-zoom-loading',jWin.parent()).remove();$mouseTrap=jWin.parent().append(format("<div class='mousetrap' style='background-image:url(\".\");z-index:999;position:absolute;width:%0px;height:%1px;left:%2px;top:%3px;\'></div>",sImg.outerWidth(),sImg.outerHeight(),0,0)).find(':last');$mouseTrap.bind('mousemove',this,function(event){mx=event.pageX;my=event.pageY});$mouseTrap.bind('mouseleave',this,function(event){clearTimeout(controlTimer);if(lens){lens.fadeOut(299)}if($tint){$tint.fadeOut(299)}if(softFocus){softFocus.fadeOut(299)}zoomDiv.fadeOut(300,function(){ctx.fadedOut()});return false});$mouseTrap.bind('mouseenter',this,function(event){mx=event.pageX;my=event.pageY;zw=event.data;if(zoomDiv){zoomDiv.stop(true,false);zoomDiv.remove()}var xPos=opts.adjustX,yPos=opts.adjustY;var siw=sImg.outerWidth();var sih=sImg.outerHeight();var w=opts.zoomWidth;var h=opts.zoomHeight;if(opts.zoomWidth=='auto'){w=siw}if(opts.zoomHeight=='auto'){h=sih}var appendTo=jWin.parent();switch(opts.position){case'top':yPos-=h;break;case'right':xPos+=siw;break;case'bottom':yPos+=sih;break;case'left':xPos-=w;break;case'inside':w=siw;h=sih;break;default:appendTo=$('#'+opts.position);if(!appendTo.length){appendTo=jWin;xPos+=siw;yPos+=sih}else{w=appendTo.innerWidth();h=appendTo.innerHeight()}}zoomDiv=appendTo.append(format('<div id="cloud-zoom-big" class="cloud-zoom-big" style="display:none;position:absolute;left:%0px;top:%1px;width:%2px;height:%3px;background-image:url(\'%4\');z-index:99;"></div>',xPos,yPos,w,h,zoomImage.src)).find(':last');if(sImg.attr('title')&&opts.showTitle){zoomDiv.append(format('<div class="cloud-zoom-title">%0</div>',sImg.attr('title'))).find(':last').css('opacity',opts.titleOpacity)}if($.browser.msie&&$.browser.version<7){$ie6Fix=$('<iframe frameborder="0" src="#"></iframe>').css({position:"absolute",left:xPos,top:yPos,zIndex:99,width:w,height:h}).insertBefore(zoomDiv)}zoomDiv.fadeIn(500);if(lens){lens.remove();lens=null}cw=(sImg.outerWidth()/zoomImage.width)*zoomDiv.width();ch=(sImg.outerHeight()/zoomImage.height)*zoomDiv.height();lens=jWin.append(format("<div class = 'cloud-zoom-lens' style='display:none;z-index:98;position:absolute;width:%0px;height:%1px;'></div>",cw,ch)).find(':last');$mouseTrap.css('cursor',lens.css('cursor'));var noTrans=false;if(opts.tint){lens.css('background','url("'+sImg.attr('src')+'")');$tint=jWin.append(format('<div style="display:none;position:absolute; left:0px; top:0px; width:%0px; height:%1px; background-color:%2;" />',sImg.outerWidth(),sImg.outerHeight(),opts.tint)).find(':last');$tint.css('opacity',opts.tintOpacity);noTrans=true;$tint.fadeIn(500)}if(opts.softFocus){lens.css('background','url("'+sImg.attr('src')+'")');softFocus=jWin.append(format('<div style="position:absolute;display:none;top:2px; left:2px; width:%0px; height:%1px;" />',sImg.outerWidth()-2,sImg.outerHeight()-2,opts.tint)).find(':last');softFocus.css('background','url("'+sImg.attr('src')+'")');softFocus.css('opacity',0.5);noTrans=true;softFocus.fadeIn(500)}if(!noTrans){lens.css('opacity',opts.lensOpacity)}if(opts.position!=='inside'){lens.fadeIn(500)}zw.controlLoop();return})};img1=new Image();$(img1).load(function(){ctx.init2(this,0)});img1.src=sImg.attr('src');img2=new Image();$(img2).load(function(){ctx.init2(this,1)});img2.src=jWin.attr('href')}$.fn.CloudZoom=function(options){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}this.each(function(){var relOpts,opts;eval('var a = {'+$(this).attr('rel')+'}');relOpts=a;if($(this).is('.cloud-zoom')){$(this).css({'position':'relative','display':'block'});$('img',$(this)).css({'display':'block'});if($(this).parent().attr('id')!='wrap'){$(this).wrap('<div id="wrap" style="top:0px;z-index:9999;position:relative;"></div>')}opts=$.extend({},$.fn.CloudZoom.defaults,options);opts=$.extend({},opts,relOpts);$(this).data('zoom',new CloudZoom($(this),opts))}else if($(this).is('.cloud-zoom-gallery')){opts=$.extend({},relOpts,options);$(this).data('relOpts',opts);$(this).bind('click',$(this),function(event){var data=event.data.data('relOpts');$('#'+data.useZoom).data('zoom').destroy();$('#'+data.useZoom).attr('href',event.data.attr('href'));$('#'+data.useZoom+' img').attr('src',event.data.data('relOpts').smallImage);$('#'+event.data.data('relOpts').useZoom).CloudZoom();return false})}});return this};$.fn.CloudZoom.defaults={zoomWidth:'auto',zoomHeight:'auto',position:'right',tint:false,tintOpacity:0.5,lensOpacity:0.5,softFocus:false,smoothMove:3,showTitle:true,titleOpacity:0.5,adjustX:0,adjustY:0}})(jQuery);

	/*
	图片预加载等比缩放垂直水平居中插件
	LoadImage
 	*******************************************************************************************
	*/
	(function($){ 
	$.fn.zoom = function(settings){ 
	settings = $.extend({ 
	height:180, 
	width:180, 
	loading:"../../sqinc/jqplugs/bigloading.gif" 
	},settings); 
	var images = this; 
	$(images).hide(); 
	var loadding = new Image(); 
	loadding.className="loading" 
	loadding.src = settings.loading; 
	$(images).after(loadding); 
	var preLoad = function($this){ 
	var img = new Image(); 
	img.src = $this.src; 
	if (img.complete) { 
	processImg.call($this); 
	return; 
	} 
	img.onload = function(){ 
	processImg.call($this); 
	img.onload=function(){}; 
	} 
	} 
	function processImg(){ 
	var m = this.height-settings.height; 
	var n = this.width - settings.width; 
	if(m>n){ 
	this.height = this.height>settings.height ? settings.height : this.height; 
	$(this).css("margin-left",parseInt((settings.width-settings.height/$(this).height()*$(this).width())/2));
	}else{ 
	this.width = this.width >settings.width ? settings.width : this.width;
	$(this).css("margin-top",parseInt((settings.height-settings.width/$(this).width()*$(this).height())/2));
	}
	$(this).next(".loading").remove(); 
	$(this).show(); 
	} 
	return $(images).each(function(){
	preLoad(this); 
	}); 
	} 
	})(jQuery); 
	})(jQuery);

	/*
	颜色选择器插件jscolor
	基于jscolor, JavaScript Color Picker 1.3.9
	*******************************************************************************************
	*/
	var jscolor = {
	dir : '../../sqinc/jqplugs/',
	bindClass : 'color',
	binding : true,
	preloading : true,
	install : function() {
		jscolor.addEvent(window, 'load', jscolor.init);
	},
	init : function() {
		if(jscolor.binding) {
			jscolor.bind();
		}
		if(jscolor.preloading) {
			jscolor.preload();
		}
	},
	getDir : function() {
		if(!jscolor.dir) {
			var detected = jscolor.detectDir();
			jscolor.dir = detected!==false ? detected : 'jscolor/';
		}
		return jscolor.dir;
	},
	detectDir : function() {
		var base = location.href;
		var e = document.getElementsByTagName('base');
		for(var i=0; i<e.length; i+=1) {
			if(e[i].href) { base = e[i].href; }
		}
		var e = document.getElementsByTagName('script');
		for(var i=0; i<e.length; i+=1) {
			if(e[i].src && /(^|\/)jscolor\.js([?#].*)?$/i.test(e[i].src)) {
				var src = new jscolor.URI(e[i].src);
				var srcAbs = src.toAbsolute(base);
				srcAbs.path = srcAbs.path.replace(/[^\/]+$/, ''); // remove filename
				srcAbs.query = null;
				srcAbs.fragment = null;
				return srcAbs.toString();
			}
		}
		return false;
	},
	bind : function() {
		var matchClass = new RegExp('(^|\\s)('+jscolor.bindClass+')\\s*(\\{[^}]*\\})?', 'i');
		var e = document.getElementsByTagName('input');
		for(var i=0; i<e.length; i+=1) {
			var m;
			if(!e[i].color && e[i].className && (m = e[i].className.match(matchClass))) {
				eid=e[i].id;
				if($(e[i]).attr('type')=='text'){
				//新增清空功能按钮
				$(e[i]).before('<div class="jscolor-clearbox" id="jscolor_'+eid+'" clrid="'+eid+'" title="设置为透明"><span style="left:'+($(e[i]).width()-20)+'px;height:'+$(e[i]).height()+'px"></span></div>');
				$('#jscolor_'+eid).mouseover(function(){$(this).find('span').eq(0).addClass('hvr');}).mouseout(function(){$(this).find('span').eq(0).removeClass('hvr');}).click(function(){$('#'+$(this).attr('clrid')).val('').css('background-color','');});
				}
				var prop = {};
				if(m[3]) {
					try {
						eval('prop='+m[3]);
					} catch(eInvalidProp) {}
				}
				e[i].color = new jscolor.color(e[i], prop);
			}
		}
	},
	preload : function() {
		for(var fn in jscolor.imgRequire) {
			if(jscolor.imgRequire.hasOwnProperty(fn)) {
				jscolor.loadImage(fn);
			}
		}
	},
	images : {
		pad : [ 181, 101 ],
		sld : [ 16, 101 ],
		cross : [ 15, 15 ],
		arrow : [ 7, 11 ]
	},
	imgRequire : {},
	imgLoaded : {},
	requireImage : function(filename) {
		jscolor.imgRequire[filename] = true;
	},
	loadImage : function(filename) {
		if(!jscolor.imgLoaded[filename]) {
			jscolor.imgLoaded[filename] = new Image();
			jscolor.imgLoaded[filename].src = jscolor.getDir()+filename;
		}
	},
	fetchElement : function(mixed) {
		return typeof mixed === 'string' ? document.getElementById(mixed) : mixed;
	},
	addEvent : function(el, evnt, func) {
		if(el.addEventListener) {
			el.addEventListener(evnt, func, false);
		} else if(el.attachEvent) {
			el.attachEvent('on'+evnt, func);
		}
	},
	fireEvent : function(el, evnt) {
		if(!el) {
			return;
		}
		if(document.createEvent) {
			var ev = document.createEvent('HTMLEvents');
			ev.initEvent(evnt, true, true);
			el.dispatchEvent(ev);
		} else if(document.createEventObject) {
			var ev = document.createEventObject();
			el.fireEvent('on'+evnt, ev);
		} else if(el['on'+evnt]) {
			el['on'+evnt]();
		}
	},
	getElementPos : function(e) {
		var e1=e, e2=e;
		var x=0, y=0;
		if(e1.offsetParent) {
			do {
				x += e1.offsetLeft;
				y += e1.offsetTop;
			} while(e1 = e1.offsetParent);
		}
		while((e2 = e2.parentNode) && e2.nodeName.toUpperCase() !== 'BODY') {
			x -= e2.scrollLeft;
			y -= e2.scrollTop;
		}
		return [x, y];
	},
	getElementSize : function(e) {
		return [e.offsetWidth, e.offsetHeight];
	},
	getRelMousePos : function(e) {
		var x = 0, y = 0;
		if (!e) { e = window.event; }
		if (typeof e.offsetX === 'number') {
			x = e.offsetX;
			y = e.offsetY;
		} else if (typeof e.layerX === 'number') {
			x = e.layerX;
			y = e.layerY;
		}
		return { x: x, y: y };
	},
	getViewPos : function() {
		if(typeof window.pageYOffset === 'number') {
			return [window.pageXOffset, window.pageYOffset];
		} else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) {
			return [document.body.scrollLeft, document.body.scrollTop];
		} else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
			return [document.documentElement.scrollLeft, document.documentElement.scrollTop];
		} else {
			return [0, 0];
		}
	},
	getViewSize : function() {
		if(typeof window.innerWidth === 'number') {
			return [window.innerWidth, window.innerHeight];
		} else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
			return [document.body.clientWidth, document.body.clientHeight];
		} else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
			return [document.documentElement.clientWidth, document.documentElement.clientHeight];
		} else {
			return [0, 0];
		}
	},
	URI : function(uri) {
		this.scheme = null;
		this.authority = null;
		this.path = '';
		this.query = null;
		this.fragment = null;

		this.parse = function(uri) {
			var m = uri.match(/^(([A-Za-z][0-9A-Za-z+.-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/);
			this.scheme = m[3] ? m[2] : null;
			this.authority = m[5] ? m[6] : null;
			this.path = m[7];
			this.query = m[9] ? m[10] : null;
			this.fragment = m[12] ? m[13] : null;
			return this;
		};
		this.toString = function() {
			var result = '';
			if(this.scheme !== null) { result = result + this.scheme + ':'; }
			if(this.authority !== null) { result = result + '//' + this.authority; }
			if(this.path !== null) { result = result + this.path; }
			if(this.query !== null) { result = result + '?' + this.query; }
			if(this.fragment !== null) { result = result + '#' + this.fragment; }
			return result;
		};
		this.toAbsolute = function(base) {
			var base = new jscolor.URI(base);
			var r = this;
			var t = new jscolor.URI;
			if(base.scheme === null) { return false; }
			if(r.scheme !== null && r.scheme.toLowerCase() === base.scheme.toLowerCase()) {
				r.scheme = null;
			}
			if(r.scheme !== null) {
				t.scheme = r.scheme;
				t.authority = r.authority;
				t.path = removeDotSegments(r.path);
				t.query = r.query;
			} else {
				if(r.authority !== null) {
					t.authority = r.authority;
					t.path = removeDotSegments(r.path);
					t.query = r.query;
				} else {
					if(r.path === '') {
						t.path = base.path;
						if(r.query !== null) {
							t.query = r.query;
						} else {
							t.query = base.query;
						}
					} else {
						if(r.path.substr(0,1) === '/') {
							t.path = removeDotSegments(r.path);
						} else {
							if(base.authority !== null && base.path === '') {
								t.path = '/'+r.path;
							} else {
								t.path = base.path.replace(/[^\/]+$/,'')+r.path;
							}
							t.path = removeDotSegments(t.path);
						}
						t.query = r.query;
					}
					t.authority = base.authority;
				}
				t.scheme = base.scheme;
			}
			t.fragment = r.fragment;
			return t;
		};
		function removeDotSegments(path) {
			var out = '';
			while(path) {
				if(path.substr(0,3)==='../' || path.substr(0,2)==='./') {
					path = path.replace(/^\.+/,'').substr(1);
				} else if(path.substr(0,3)==='/./' || path==='/.') {
					path = '/'+path.substr(3);
				} else if(path.substr(0,4)==='/../' || path==='/..') {
					path = '/'+path.substr(4);
					out = out.replace(/\/?[^\/]*$/, '');
				} else if(path==='.' || path==='..') {
					path = '';
				} else {
					var rm = path.match(/^\/?[^\/]*/)[0];
					path = path.substr(rm.length);
					out = out + rm;
				}
			}
			return out;
		}
		if(uri) {
			this.parse(uri);
		}
	},
	color : function(target, prop) {
		this.required = true; // refuse empty values?
		this.adjust = false; // adjust value to uniform notation?
		this.hash = false; // prefix color with # symbol?
		this.caps = false; // uppercase?
		this.slider = true; // show the value/saturation slider?
		this.valueElement = target; // value holder
		this.styleElement = target; // where to reflect current color
		this.hsv = [0, 0, 1]; // read-only  0-6, 0-1, 0-1
		this.rgb = [1, 1, 1]; // read-only  0-1, 0-1, 0-1

		this.pickerOnfocus = true; // display picker on focus?
		this.pickerMode = 'HSV'; // HSV | HVS
		this.pickerPosition = 'bottom'; // left | right | top | bottom
		this.pickerButtonHeight = 20; // px
		this.pickerClosable = true;
		this.pickerCloseText = '关闭';
		this.pickerButtonColor = 'ButtonText'; // px
		this.pickerFace = 10; // px
		this.pickerFaceColor = 'ThreeDFace'; // CSS color
		this.pickerBorder = 1; // px
		this.pickerBorderColor = 'Scrollbar ThreeDShadow ThreeDShadow Scrollbar'; // CSS color
		this.pickerInset = 1; // px
		this.pickerInsetColor = 'ThreeDShadow Scrollbar Scrollbar ThreeDShadow'; // CSS color
		this.pickerZIndex = 10000;
		for(var p in prop) {
			if(prop.hasOwnProperty(p)) {
				this[p] = prop[p];
			}
		}
		this.hidePicker = function() {
			if(isPickerOwner()) {
				removePicker();
				//新增当选择面板打开后设置真属性
				if($(target).attr('hidepickerfun')!=undefined){eval($(target).attr('hidepickerfun'));};
			}
		};
		this.showPicker = function() {
			if(!isPickerOwner()) {
				var tp = jscolor.getElementPos(target); // target pos
				var ts = jscolor.getElementSize(target); // target size
				var vp = jscolor.getViewPos(); // view pos
				var vs = jscolor.getViewSize(); // view size
				var ps = getPickerDims(this); // picker size
				//新增自定义位置属性showpickerpos
				if($(target).attr('showpickerpos')!=undefined){
				qq=$(target).attr('showpickerpos').split(',');
				drawPicker(qq[0],qq[1]);
				}else{
				var a, b, c;
				switch(this.pickerPosition.toLowerCase()) {
					case 'left': a=1; b=0; c=-1; break;
					case 'right':a=1; b=0; c=1; break;
					case 'top':  a=0; b=1; c=-1; break;
					default:  a=0; b=1; c=1; break;
				}
				var l = (ts[b]+ps[b])/2;
				var pp = [ // picker pos
					-vp[a]+tp[a]+ps[a] > vs[a] ?
						(-vp[a]+tp[a]+ts[a]/2 > vs[a]/2 && tp[a]+ts[a]-ps[a] >= 0 ? tp[a]+ts[a]-ps[a] : tp[a]) :
						tp[a],
					-vp[b]+tp[b]+ts[b]+ps[b]-l+l*c > vs[b] ?
						(-vp[b]+tp[b]+ts[b]/2 > vs[b]/2 && tp[b]+ts[b]-l-l*c >= 0 ? tp[b]+ts[b]-l-l*c : tp[b]+ts[b]-l+l*c) :
						(tp[b]+ts[b]-l+l*c >= 0 ? tp[b]+ts[b]-l+l*c : tp[b]+ts[b]-l-l*c)
				];
				drawPicker(pp[a], pp[b]);
				}
				//新增当选择面板打开后设置真属性
				if($(target).attr('showpickerfun')!=undefined){eval($(target).attr('showpickerfun'));};
			}
		};
		this.importColor = function() {
			if(!valueElement) {
				this.exportColor();
			} else {
				if(!this.adjust) {
					if(!this.fromString(valueElement.value, leaveValue)) {
						styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor;
						styleElement.style.color = styleElement.jscStyle.color;
						this.exportColor(leaveValue | leaveStyle);
					}
				} else if(!this.required && /^\s*$/.test(valueElement.value)) {
					valueElement.value = '';
					styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor;
					styleElement.style.color = styleElement.jscStyle.color;
					this.exportColor(leaveValue | leaveStyle);

				} else if(this.fromString(valueElement.value)) {
					// OK
				} else {
					this.exportColor();
				}
			}
		};
		this.exportColor = function(flags) {
			if(!(flags & leaveValue) && valueElement) {
				var value = this.toString();
				if(this.caps) { value = value.toUpperCase(); }
				if(this.hash) { value = '#'+value; }
				valueElement.value = value;
			}
			if(!(flags & leaveStyle) && styleElement) {
				styleElement.style.backgroundColor =
					'#'+this.toString();
				styleElement.style.color =
					0.213 * this.rgb[0] +
					0.715 * this.rgb[1] +
					0.072 * this.rgb[2]
					< 0.5 ? '#FFF' : '#000';
			}
			if(!(flags & leavePad) && isPickerOwner()) {
				redrawPad();
			}
			if(!(flags & leaveSld) && isPickerOwner()) {
				redrawSld();
			}
		};
		this.fromHSV = function(h, s, v, flags) { // null = don't change
			h<0 && (h=0) || h>6 && (h=6);
			s<0 && (s=0) || s>1 && (s=1);
			v<0 && (v=0) || v>1 && (v=1);
			this.rgb = HSV_RGB(
				h===null ? this.hsv[0] : (this.hsv[0]=h),
				s===null ? this.hsv[1] : (this.hsv[1]=s),
				v===null ? this.hsv[2] : (this.hsv[2]=v)
			);
			this.exportColor(flags);
		};
		this.fromRGB = function(r, g, b, flags) { // null = don't change
			r<0 && (r=0) || r>1 && (r=1);
			g<0 && (g=0) || g>1 && (g=1);
			b<0 && (b=0) || b>1 && (b=1);
			var hsv = RGB_HSV(
				r===null ? this.rgb[0] : (this.rgb[0]=r),
				g===null ? this.rgb[1] : (this.rgb[1]=g),
				b===null ? this.rgb[2] : (this.rgb[2]=b)
			);
			if(hsv[0] !== null) {
				this.hsv[0] = hsv[0];
			}
			if(hsv[2] !== 0) {
				this.hsv[1] = hsv[1];
			}
			this.hsv[2] = hsv[2];
			this.exportColor(flags);
		};
		this.fromString = function(hex, flags) {
			var m = hex.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);
			if(!m) {
				return false;
			} else {
				if(m[1].length === 6) { // 6-char notation
					this.fromRGB(
						parseInt(m[1].substr(0,2),16) / 255,
						parseInt(m[1].substr(2,2),16) / 255,
						parseInt(m[1].substr(4,2),16) / 255,
						flags
					);
				} else { // 3-char notation
					this.fromRGB(
						parseInt(m[1].charAt(0)+m[1].charAt(0),16) / 255,
						parseInt(m[1].charAt(1)+m[1].charAt(1),16) / 255,
						parseInt(m[1].charAt(2)+m[1].charAt(2),16) / 255,
						flags
					);
				}
				return true;
			}
		};
		this.toString = function() {
			return (
				(0x100 | Math.round(255*this.rgb[0])).toString(16).substr(1) +
				(0x100 | Math.round(255*this.rgb[1])).toString(16).substr(1) +
				(0x100 | Math.round(255*this.rgb[2])).toString(16).substr(1)
			);
		};
		function RGB_HSV(r, g, b) {
			var n = Math.min(Math.min(r,g),b);
			var v = Math.max(Math.max(r,g),b);
			var m = v - n;
			if(m === 0) { return [ null, 0, v ]; }
			var h = r===n ? 3+(b-g)/m : (g===n ? 5+(r-b)/m : 1+(g-r)/m);
			return [ h===6?0:h, m/v, v ];
		}
		function HSV_RGB(h, s, v) {
			if(h === null) { return [ v, v, v ]; }
			var i = Math.floor(h);
			var f = i%2 ? h-i : 1-(h-i);
			var m = v * (1 - s);
			var n = v * (1 - s*f);
			switch(i) {
				case 6:
				case 0: return [v,n,m];
				case 1: return [n,v,m];
				case 2: return [m,v,n];
				case 3: return [m,n,v];
				case 4: return [n,m,v];
				case 5: return [v,m,n];
			}
		}
		function removePicker() {
			delete jscolor.picker.owner;
			document.getElementsByTagName('body')[0].removeChild(jscolor.picker.boxB);
		}
		function drawPicker(x, y) {
			if(!jscolor.picker) {
				jscolor.picker = {
					box : document.createElement('div'),
					boxB : document.createElement('div'),
					pad : document.createElement('div'),
					padB : document.createElement('div'),
					padM : document.createElement('div'),
					sld : document.createElement('div'),
					sldB : document.createElement('div'),
					sldM : document.createElement('div'),
					btn : document.createElement('div'),
					btnS : document.createElement('span'),
					btnT : document.createTextNode(THIS.pickerCloseText)
				};
				for(var i=0,segSize=4; i<jscolor.images.sld[1]; i+=segSize) {
					var seg = document.createElement('div');
					seg.style.height = segSize+'px';
					seg.style.fontSize = '1px';
					seg.style.lineHeight = '0';
					jscolor.picker.sld.appendChild(seg);
				}
				jscolor.picker.sldB.appendChild(jscolor.picker.sld);
				jscolor.picker.box.appendChild(jscolor.picker.sldB);
				jscolor.picker.box.appendChild(jscolor.picker.sldM);
				jscolor.picker.padB.appendChild(jscolor.picker.pad);
				jscolor.picker.box.appendChild(jscolor.picker.padB);
				jscolor.picker.box.appendChild(jscolor.picker.padM);
				jscolor.picker.btnS.appendChild(jscolor.picker.btnT);
				jscolor.picker.btn.appendChild(jscolor.picker.btnS);
				jscolor.picker.box.appendChild(jscolor.picker.btn);
				jscolor.picker.boxB.appendChild(jscolor.picker.box);
			}
			var p = jscolor.picker;
			p.box.onmouseup =
			p.box.onmouseout = function() { target.focus(); };
			p.box.onmousedown = function() { abortBlur=true; };
			p.box.onmousemove = function(e) {
				if (holdPad || holdSld) {
					holdPad && setPad(e);
					holdSld && setSld(e);
					if (document.selection) {
						document.selection.empty();
					} else if (window.getSelection) {
						window.getSelection().removeAllRanges();
					}
				}
			};
			p.padM.onmouseup =
			p.padM.onmouseout = function() { if(holdPad) { holdPad=false; jscolor.fireEvent(valueElement,'change'); } };
			p.padM.onmousedown = function(e) { holdPad=true; setPad(e); };
			p.sldM.onmouseup =
			p.sldM.onmouseout = function() { if(holdSld) { holdSld=false; jscolor.fireEvent(valueElement,'change'); } };
			p.sldM.onmousedown = function(e) { holdSld=true; setSld(e); };
			var dims = getPickerDims(THIS);
			p.box.style.width = dims[0] + 'px';
			p.box.style.height = dims[1] + 'px';
			p.boxB.style.position = 'absolute';
			p.boxB.style.clear = 'both';
			p.boxB.style.left = x+'px';
			p.boxB.style.top = y+'px';
			p.boxB.style.zIndex = THIS.pickerZIndex;
			p.boxB.style.border = THIS.pickerBorder+'px solid';
			p.boxB.style.borderColor = THIS.pickerBorderColor;
			p.boxB.style.background = THIS.pickerFaceColor;
			p.pad.style.width = jscolor.images.pad[0]+'px';
			p.pad.style.height = jscolor.images.pad[1]+'px';
			p.padB.style.position = 'absolute';
			p.padB.style.left = THIS.pickerFace+'px';
			p.padB.style.top = THIS.pickerFace+'px';
			p.padB.style.border = THIS.pickerInset+'px solid';
			p.padB.style.borderColor = THIS.pickerInsetColor;
			p.padM.style.position = 'absolute';
			p.padM.style.left = '0';
			p.padM.style.top = '0';
			p.padM.style.width = THIS.pickerFace + 2*THIS.pickerInset + jscolor.images.pad[0] + jscolor.images.arrow[0] + 'px';
			//p.padM.style.height = p.box.style.height;
			p.padM.style.height = '120px';
			p.padM.style.cursor = 'crosshair';
			p.sld.style.overflow = 'hidden';
			p.sld.style.width = jscolor.images.sld[0]+'px';
			p.sld.style.height = jscolor.images.sld[1]+'px';
			p.sldB.style.display = THIS.slider ? 'block' : 'none';
			p.sldB.style.position = 'absolute';
			p.sldB.style.right = THIS.pickerFace+'px';
			p.sldB.style.top = THIS.pickerFace+'px';
			p.sldB.style.border = THIS.pickerInset+'px solid';
			p.sldB.style.borderColor = THIS.pickerInsetColor;
			p.sldM.style.display = THIS.slider ? 'block' : 'none';
			p.sldM.style.position = 'absolute';
			p.sldM.style.right = '0';
			p.sldM.style.top = '0';
			p.sldM.style.width = jscolor.images.sld[0] + jscolor.images.arrow[0] + THIS.pickerFace + 2*THIS.pickerInset + 'px';
			p.sldM.style.height = p.box.style.height;
			try {
				p.sldM.style.cursor = 'pointer';
			} catch(eOldIE) {
				p.sldM.style.cursor = 'hand';
			}
			function setBtnBorder() {
				var insetColors = THIS.pickerInsetColor.split(/\s+/);
				var pickerOutsetColor = insetColors.length < 2 ? insetColors[0] : insetColors[1] + ' ' + insetColors[0] + ' ' + insetColors[0] + ' ' + insetColors[1];
				p.btn.style.borderColor = pickerOutsetColor;
			}
			p.btn.style.display = THIS.pickerClosable ? 'block' : 'none';
			p.btn.style.position = 'absolute';
			p.btn.style.left = THIS.pickerFace + 'px';
			p.btn.style.bottom = THIS.pickerFace + 'px';
			p.btn.style.padding = '0 10px';
			p.btn.style.height = '18px';
			p.btn.style.border = THIS.pickerInset + 'px solid';
			setBtnBorder();
			p.btn.style.color = THIS.pickerButtonColor;
			p.btn.style.font = '12px sans-serif';
			p.btn.style.textAlign = 'center';
			try {
				p.btn.style.cursor = 'pointer';
			} catch(eOldIE) {
				p.btn.style.cursor = 'hand';
			}
			p.btn.onmousedown = function () {
				THIS.hidePicker();
			};
			p.btnS.style.lineHeight = p.btn.style.height;
			switch(modeID) {
				case 0: var padImg = 'jscolor-hs.png'; break;
				case 1: var padImg = 'jscolor-hv.png'; break;
			}
			p.padM.style.backgroundImage = "url('"+jscolor.getDir()+"cross.gif')";
			p.padM.style.backgroundRepeat = "no-repeat";
			p.sldM.style.backgroundImage = "url('"+jscolor.getDir()+"arrow.gif')";
			p.sldM.style.backgroundRepeat = "no-repeat";
			p.pad.style.backgroundImage = "url('"+jscolor.getDir()+padImg+"')";
			p.pad.style.backgroundRepeat = "no-repeat";
			p.pad.style.backgroundPosition = "0 0";
			redrawPad();
			redrawSld();
			jscolor.picker.owner = THIS;
			document.getElementsByTagName('body')[0].appendChild(p.boxB);
		}
		function getPickerDims(o) {
			var dims = [
				2*o.pickerInset + 2*o.pickerFace + jscolor.images.pad[0] +
					(o.slider ? 2*o.pickerInset + 2*jscolor.images.arrow[0] + jscolor.images.sld[0] : 0),
				o.pickerClosable ?
					4*o.pickerInset + 3*o.pickerFace + jscolor.images.pad[1] + o.pickerButtonHeight :
					2*o.pickerInset + 2*o.pickerFace + jscolor.images.pad[1]
			];
			return dims;
		}
		function redrawPad() {
			// redraw the pad pointer
			switch(modeID) {
				case 0: var yComponent = 1; break;
				case 1: var yComponent = 2; break;
			}
			var x = Math.round((THIS.hsv[0]/6) * (jscolor.images.pad[0]-1));
			var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.pad[1]-1));
			jscolor.picker.padM.style.backgroundPosition =
				(THIS.pickerFace+THIS.pickerInset+x - Math.floor(jscolor.images.cross[0]/2)) + 'px ' +
				(THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.cross[1]/2)) + 'px';
			var seg = jscolor.picker.sld.childNodes;

			switch(modeID) {
				case 0:
					var rgb = HSV_RGB(THIS.hsv[0], THIS.hsv[1], 1);
					for(var i=0; i<seg.length; i+=1) {
						seg[i].style.backgroundColor = 'rgb('+
							(rgb[0]*(1-i/seg.length)*100)+'%,'+
							(rgb[1]*(1-i/seg.length)*100)+'%,'+
							(rgb[2]*(1-i/seg.length)*100)+'%)';
					}
					break;
				case 1:
					var rgb, s, c = [ THIS.hsv[2], 0, 0 ];
					var i = Math.floor(THIS.hsv[0]);
					var f = i%2 ? THIS.hsv[0]-i : 1-(THIS.hsv[0]-i);
					switch(i) {
						case 6:
						case 0: rgb=[0,1,2]; break;
						case 1: rgb=[1,0,2]; break;
						case 2: rgb=[2,0,1]; break;
						case 3: rgb=[2,1,0]; break;
						case 4: rgb=[1,2,0]; break;
						case 5: rgb=[0,2,1]; break;
					}
					for(var i=0; i<seg.length; i+=1) {
						s = 1 - 1/(seg.length-1)*i;
						c[1] = c[0] * (1 - s*f);
						c[2] = c[0] * (1 - s);
						seg[i].style.backgroundColor = 'rgb('+
							(c[rgb[0]]*100)+'%,'+
							(c[rgb[1]]*100)+'%,'+
							(c[rgb[2]]*100)+'%)';
					}
					break;
			}
		}
		function redrawSld() {
			switch(modeID) {
				case 0: var yComponent = 2; break;
				case 1: var yComponent = 1; break;
			}
			var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.sld[1]-1));
			jscolor.picker.sldM.style.backgroundPosition =
				'0 ' + (THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.arrow[1]/2)) + 'px';
		}
		function isPickerOwner() {
			return jscolor.picker && jscolor.picker.owner === THIS;
		}
		function blurTarget() {
			if(valueElement === target) {
				THIS.importColor();
			}
			if(THIS.pickerOnfocus) {
				THIS.hidePicker();
			}
		}
		function blurValue() {
			if(valueElement !== target) {
				THIS.importColor();
			}
		}
		function setPad(e) {
			var mpos = jscolor.getRelMousePos(e);
			var x = mpos.x - THIS.pickerFace - THIS.pickerInset;
			var y = mpos.y - THIS.pickerFace - THIS.pickerInset;
			switch(modeID) {
				case 0: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), 1 - y/(jscolor.images.pad[1]-1), null, leaveSld); break;
				case 1: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), null, 1 - y/(jscolor.images.pad[1]-1), leaveSld); break;
			}
		}
		function setSld(e) {
			var mpos = jscolor.getRelMousePos(e);
			var y = mpos.y - THIS.pickerFace - THIS.pickerInset;
			switch(modeID) {
				case 0: THIS.fromHSV(null, null, 1 - y/(jscolor.images.sld[1]-1), leavePad); break;
				case 1: THIS.fromHSV(null, 1 - y/(jscolor.images.sld[1]-1), null, leavePad); break;
			}
		}
		var THIS = this;
		var modeID = this.pickerMode.toLowerCase()==='hvs' ? 1 : 0;
		var abortBlur = false;
		var
			valueElement = jscolor.fetchElement(this.valueElement),
			styleElement = jscolor.fetchElement(this.styleElement);
		var
			holdPad = false,
			holdSld = false;
		var
			leaveValue = 1<<0,
			leaveStyle = 1<<1,
			leavePad = 1<<2,
			leaveSld = 1<<3;
		jscolor.addEvent(target, 'focus', function() {
			if(THIS.pickerOnfocus) { THIS.showPicker(); }
		});
		jscolor.addEvent(target, 'blur', function() {
			if(!abortBlur) {
				window.setTimeout(function(){ abortBlur || blurTarget(); abortBlur=false; }, 0);
			} else {
				abortBlur = false;
			}
		});
		if(valueElement) {
			var updateField = function() {
				THIS.fromString(valueElement.value, leaveValue);
			};
			jscolor.addEvent(valueElement, 'keyup', updateField);
			jscolor.addEvent(valueElement, 'input', updateField);
			jscolor.addEvent(valueElement, 'blur', blurValue);
			valueElement.setAttribute('autocomplete', 'off');
		}
		if(styleElement) {
			styleElement.jscStyle = {
				backgroundColor : styleElement.style.backgroundColor,
				color : styleElement.style.color
			};
		}
		switch(modeID) {
			case 0: jscolor.requireImage('jscolor-hs.png'); break;
			case 1: jscolor.requireImage('jscolor-hv.png'); break;
		}
		jscolor.requireImage('jscolor-cross.gif');
		jscolor.requireImage('jscolor-arrow.gif');

		this.importColor();
	}
	};
	jscolor.install();
	
	/*
	iFisheye
	仿apple鱼眼效果菜单
	*******************************************************************************************
	*/
	jQuery.iFisheye={build:function(options)
	{return this.each(function()
	{var el=this;el.fisheyeCfg={items:jQuery(options.items,this),container:jQuery(options.container,this),pos:jQuery.iUtil.getPosition(this),itemWidth:options.itemWidth,itemsText:options.itemsText,proximity:options.proximity,valign:options.valign,halign:options.halign,maxWidth:options.maxWidth,autolabel:options.autolabel};jQuery.iFisheye.positionContainer(el,0);jQuery(window).bind('resize',function()
	{el.fisheyeCfg.pos=jQuery.iUtil.getPosition(el);jQuery.iFisheye.positionContainer(el,0);jQuery.iFisheye.positionItems(el);});jQuery.iFisheye.positionItems(el);el.fisheyeCfg.items.bind('mouseover',function()
	{if(el.fisheyeCfg.autolabel) jQuery(el.fisheyeCfg.itemsText,this).show();}).bind('mouseout',function()
	{if(el.fisheyeCfg.autolabel) jQuery(el.fisheyeCfg.itemsText,this).hide();});jQuery(document).bind('mousemove',function(e)
	{var pointer=jQuery.iUtil.getPointer(e);var toAdd=0;if(el.fisheyeCfg.halign&&el.fisheyeCfg.halign=='center')
	var posx=pointer.x-el.fisheyeCfg.pos.x-(el.offsetWidth-el.fisheyeCfg.itemWidth*el.fisheyeCfg.items.size())/2-el.fisheyeCfg.itemWidth/2;else if(el.fisheyeCfg.halign&&el.fisheyeCfg.halign=='right')
	var posx=pointer.x-el.fisheyeCfg.pos.x-el.offsetWidth+el.fisheyeCfg.itemWidth*el.fisheyeCfg.items.size();else
	var posx=pointer.x-el.fisheyeCfg.pos.x;var posy=Math.pow(pointer.y-el.fisheyeCfg.pos.y-el.offsetHeight/2,2);el.fisheyeCfg.items.each(function(nr)
	{distance=Math.sqrt(Math.pow(posx-nr*el.fisheyeCfg.itemWidth,2)
	+posy);distance-=el.fisheyeCfg.itemWidth/2;distance=distance<0?0:distance;distance=distance>el.fisheyeCfg.proximity?el.fisheyeCfg.proximity:distance;distance=el.fisheyeCfg.proximity-distance;extraWidth=el.fisheyeCfg.maxWidth*distance/el.fisheyeCfg.proximity;this.style.width=el.fisheyeCfg.itemWidth+extraWidth+'px';this.style.left=el.fisheyeCfg.itemWidth*nr+toAdd+'px';toAdd+=extraWidth;});jQuery.iFisheye.positionContainer(el,toAdd);});})},positionContainer:function(el,toAdd)
	{if(el.fisheyeCfg.halign)
	if(el.fisheyeCfg.halign=='center')
	el.fisheyeCfg.container.get(0).style.left=(el.offsetWidth-el.fisheyeCfg.itemWidth*el.fisheyeCfg.items.size())/2-toAdd/2+'px';else if(el.fisheyeCfg.halign=='left')
	el.fisheyeCfg.container.get(0).style.left=-toAdd/el.fisheyeCfg.items.size()+'px';else if(el.fisheyeCfg.halign=='right')
	el.fisheyeCfg.container.get(0).style.left=(el.offsetWidth-el.fisheyeCfg.itemWidth*el.fisheyeCfg.items.size())-toAdd/2+'px';el.fisheyeCfg.container.get(0).style.width=el.fisheyeCfg.itemWidth*el.fisheyeCfg.items.size()+toAdd+'px';},positionItems:function(el)
	{el.fisheyeCfg.items.each(function(nr)
	{this.style.width=el.fisheyeCfg.itemWidth+'px';this.style.left=el.fisheyeCfg.itemWidth*nr+'px';});}};jQuery.fn.Fisheye=jQuery.iFisheye.build;jQuery.iUtil={getPosition:function(e)
	{var x=0;var y=0;var es=e.style;var restoreStyles=false;if(jQuery(e).css('display')=='none'){var oldVisibility=es.visibility;var oldPosition=es.position;restoreStyles=true;es.visibility='hidden';es.display='block';es.position='absolute';}
	var el=e;while(el){x+=el.offsetLeft+(el.currentStyle&&!jQuery.browser.opera?parseInt(el.currentStyle.borderLeftWidth)||0:0);y+=el.offsetTop+(el.currentStyle&&!jQuery.browser.opera?parseInt(el.currentStyle.borderTopWidth)||0:0);el=el.offsetParent;}
	el=e;while(el&&el.tagName&&el.tagName.toLowerCase()!='body')
	{x-=el.scrollLeft||0;y-=el.scrollTop||0;el=el.parentNode;}
	if(restoreStyles==true){es.display='none';es.position=oldPosition;es.visibility=oldVisibility;}
	return{x:x,y:y};},getPositionLite:function(el)
	{var x=0,y=0;while(el){x+=el.offsetLeft||0;y+=el.offsetTop||0;el=el.offsetParent;}
	return{x:x,y:y};},getSize:function(e)
	{var w=jQuery.css(e,'width');var h=jQuery.css(e,'height');var wb=0;var hb=0;var es=e.style;if(jQuery(e).css('display')!='none'){wb=e.offsetWidth;hb=e.offsetHeight;}else{var oldVisibility=es.visibility;var oldPosition=es.position;es.visibility='hidden';es.display='block';es.position='absolute';wb=e.offsetWidth;hb=e.offsetHeight;es.display='none';es.position=oldPosition;es.visibility=oldVisibility;}
	return{w:w,h:h,wb:wb,hb:hb};},getSizeLite:function(el)
	{return{wb:el.offsetWidth||0,hb:el.offsetHeight||0};},getClient:function(e)
	{var h,w,de;if(e){w=e.clientWidth;h=e.clientHeight;}else{de=document.documentElement;w=window.innerWidth||self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;h=window.innerHeight||self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight;}
	return{w:w,h:h};},getScroll:function(e)
	{var t=0,l=0,w=0,h=0,iw=0,ih=0;if(e&&e.nodeName.toLowerCase()!='body'){t=e.scrollTop;l=e.scrollLeft;w=e.scrollWidth;h=e.scrollHeight;iw=0;ih=0;}else{if(document.documentElement){t=document.documentElement.scrollTop;l=document.documentElement.scrollLeft;w=document.documentElement.scrollWidth;h=document.documentElement.scrollHeight;}else if(document.body){t=document.body.scrollTop;l=document.body.scrollLeft;w=document.body.scrollWidth;h=document.body.scrollHeight;}
	iw=self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0;ih=self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0;}
	return{t:t,l:l,w:w,h:h,iw:iw,ih:ih};},getMargins:function(e,toInteger)
	{var el=jQuery(e);var t=el.css('marginTop')||'';var r=el.css('marginRight')||'';var b=el.css('marginBottom')||'';var l=el.css('marginLeft')||'';if(toInteger)
	return{t:parseInt(t)||0,r:parseInt(r)||0,b:parseInt(b)||0,l:parseInt(l)};else
	return{t:t,r:r,b:b,l:l};},getPadding:function(e,toInteger)
	{var el=jQuery(e);var t=el.css('paddingTop')||'';var r=el.css('paddingRight')||'';var b=el.css('paddingBottom')||'';var l=el.css('paddingLeft')||'';if(toInteger)
	return{t:parseInt(t)||0,r:parseInt(r)||0,b:parseInt(b)||0,l:parseInt(l)};else
	return{t:t,r:r,b:b,l:l};},getBorder:function(e,toInteger)
	{var el=jQuery(e);var t=el.css('borderTopWidth')||'';var r=el.css('borderRightWidth')||'';var b=el.css('borderBottomWidth')||'';var l=el.css('borderLeftWidth')||'';if(toInteger)
	return{t:parseInt(t)||0,r:parseInt(r)||0,b:parseInt(b)||0,l:parseInt(l)||0};else
	return{t:t,r:r,b:b,l:l};},getPointer:function(event)
	{var x=event.pageX||(event.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft))||0;var y=event.pageY||(event.clientY+(document.documentElement.scrollTop||document.body.scrollTop))||0;return{x:x,y:y};},traverseDOM:function(nodeEl,func)
	{func(nodeEl);nodeEl=nodeEl.firstChild;while(nodeEl){jQuery.iUtil.traverseDOM(nodeEl,func);nodeEl=nodeEl.nextSibling;}},purgeEvents:function(nodeEl)
	{jQuery.iUtil.traverseDOM(nodeEl,function(el)
	{for(var attr in el){if(typeof el[attr]==='function'){el[attr]=null;}}});},centerEl:function(el,axis)
	{var clientScroll=jQuery.iUtil.getScroll();var windowSize=jQuery.iUtil.getSize(el);if(!axis||axis=='vertically')
	jQuery(el).css({top:clientScroll.t+((Math.max(clientScroll.h,clientScroll.ih)-clientScroll.t-windowSize.hb)/2)+'px'});if(!axis||axis=='horizontally')
	jQuery(el).css({left:clientScroll.l+((Math.max(clientScroll.w,clientScroll.iw)-clientScroll.l-windowSize.wb)/2)+'px'});},fixPNG:function(el,emptyGIF){var images=jQuery('img[@src*="png"]',el||document),png;images.each(function(){png=this.src;this.src=emptyGIF;this.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')";});}};[].indexOf||(Array.prototype.indexOf=function(v,n){n=(n==null)?0:n;var m=this.length;for(var i=n;i<m;i++)
	if(this[i]==v)
	return i;return-1;});

	/*
	右键菜单contextMenu
	*******************************************************************************************
	*/
	(function($) {
 	var menu, shadow, trigger, content, hash, currentTarget;
  	var defaults = {
    menuStyle: {
      listStyle: 'none',
      padding: '1px',
      margin: '0px',
      backgroundColor: '#fff',
      border: '1px solid #999',
      width: '100px'
    },
    itemStyle: {
      margin: '0px',
      color: '#000',
      display: 'block',
      cursor: 'default',
      padding: '3px',
      border: '1px solid #fff',
      backgroundColor: 'transparent'
    },
    itemHoverStyle: {
      border: '1px solid #0a246a',
      backgroundColor: '#b6bdd2'
    },
    eventPosX: 'pageX',
    eventPosY: 'pageY',
    shadow : true,
    onContextMenu: null,
    onShowMenu: null
 	};
	$.fn.contextMenu = function(id, options) {
    if (!menu) {
      menu = $('<div id="jqContextMenu"></div>')
               .hide()
               .css({position:'absolute', zIndex:'500'})
               .appendTo('body')
               .bind('click', function(e) {
                 e.stopPropagation();
               });
    }
    if (!shadow) {
      shadow = $('<div></div>')
                 .css({backgroundColor:'#000',position:'absolute',opacity:0.2,zIndex:499})
                 .appendTo('body')
                 .hide();
    }
    hash = hash || [];
    hash.push({
      id : id,
      menuStyle: $.extend({}, defaults.menuStyle, options.menuStyle || {}),
      itemStyle: $.extend({}, defaults.itemStyle, options.itemStyle || {}),
      itemHoverStyle: $.extend({}, defaults.itemHoverStyle, options.itemHoverStyle || {}),
      bindings: options.bindings || {},
      shadow: options.shadow || options.shadow === false ? options.shadow : defaults.shadow,
      onContextMenu: options.onContextMenu || defaults.onContextMenu,
      onShowMenu: options.onShowMenu || defaults.onShowMenu,
      eventPosX: options.eventPosX || defaults.eventPosX,
      eventPosY: options.eventPosY || defaults.eventPosY
    });
    var index = hash.length - 1;
    $(this).bind('contextmenu', function(e) {
      var bShowContext = (!!hash[index].onContextMenu) ? hash[index].onContextMenu(e) : true;
      if (bShowContext) display(index, this, e, options);
      return false;
    });
    return this;
	  };
	  function display(index, trigger, e, options) {
		var cur = hash[index];
		content = $('#'+cur.id).find('ul:first').clone(true);
		content.css(cur.menuStyle).find('li').css(cur.itemStyle).hover(
		  function() {
			$(this).css(cur.itemHoverStyle);
		  },
		  function(){
			$(this).css(cur.itemStyle);
		  }
		).find('img').css({verticalAlign:'middle',paddingRight:'2px'});
		menu.html(content);
		if (!!cur.onShowMenu) menu = cur.onShowMenu(e, menu);
		$.each(cur.bindings,function(id,func) {
		  $('#'+id,menu).bind('click',function(e) {
			func(trigger,currentTarget);
		  });
		});
		$(menu).bind('click',function(e){hide();});
		menu.css({'left':e[cur.eventPosX],'top':e[cur.eventPosY]}).show();
		if(cur.shadow) shadow.css({width:menu.width(),height:menu.height(),left:e.pageX+2,top:e.pageY+2}).show();
		$(document).one('click', hide);
	  }
	  function hide() {
		menu.hide();
		shadow.hide();
	  }
	  $.contextMenu = {
		defaults : function(userDefaults) {
		  $.each(userDefaults, function(i, val) {
			if (typeof val == 'object' && defaults[i]) {
			  $.extend(defaults[i], val);
			}
			else defaults[i] = val;
		  });
		}
	  };
	})(jQuery);
	$(function() {
	  $('div.contextMenu').hide();
	});
