var jQuery_formValidator_initConfig;(function($){$.formValidator={sustainType:function(B,A){var _=$("#"+B).get(0),C=_.tagName,D=_.type;switch(A.validatetype){case"InitValidator":return true;case"InputValidator":if(C=="INPUT"||C=="TEXTAREA"||C=="SELECT")return true;else return false;case"CompareValidator":if(C=="INPUT"||C=="TEXTAREA")if(D=="checkbox"||D=="radio")return false;else return true;return false;case"AjaxValidator":if(D=="text"||D=="textarea"||D=="file"||D=="password"||D=="select-one")return true;else return false;case"RegexValidator":if(C=="INPUT"||C=="TEXTAREA")if(D=="checkbox"||D=="radio")return false;else return true;return false;case"FunctionValidator":return true}},initConfig:function(_){var A={debug:false,validatorgroup:"1",alertmessage:false,validobjectids:"",forcevalid:false,onsuccess:function(){return true},onerror:function(){},submitonce:false,formid:"",autotip:false,tidymode:false,errorfocus:true,wideword:true};_=_||{};$.extend(A,_);if(A.tidymode)A.errorfocus=false;if(A.formid!="")$("#"+A.formid).submit(function(){return $.formValidator.pageIsValid("1")});if(jQuery_formValidator_initConfig==null)jQuery_formValidator_initConfig=new Array();jQuery_formValidator_initConfig.push(A)},appendValid:function(A,_){if(!$.formValidator.sustainType(A,_))return-1;var B=$("#"+A).get(0);if(_.validatetype=="InitValidator"||B.settings==undefined)B.settings=new Array();var C=B.settings.push(_);B.settings[C-1].index=C-1;return C-1},getInitConfig:function($){if(jQuery_formValidator_initConfig!=null)for(i=0;i<jQuery_formValidator_initConfig.length;i++)if($==jQuery_formValidator_initConfig[i].validatorgroup)return jQuery_formValidator_initConfig[i];return null},triggerValidate:function(_){switch(_.setting.validatetype){case"InputValidator":$.formValidator.inputValid(_);break;case"CompareValidator":$.formValidator.compareValid(_);break;case"AjaxValidator":$.formValidator.ajaxValid(_);break;case"RegexValidator":$.formValidator.regexValid(_);break;case"FunctionValidator":$.formValidator.functionValid(_);break}},setTipState:function(A,_,D){var B=A.settings[0],C=$.formValidator.getInitConfig(B.validatorgroup),E=$("#"+B.tipid);if(D==null||D=="")E.hide();else{if(C.tidymode){$("#fv_content").html(D);A.Tooltip=D;if(_!="onError")E.hide()}if($.trim(D)==""){E.removeClass();E.html(D)}else{E.removeClass();E.addClass(_);E.html(D)}}},resetTipState:function(_){var A=$.formValidator.getInitConfig(_);$(A.validobjectids).each(function(){$.formValidator.setTipState(this,"onShow",this.settings[0].onshow)})},setFailState:function(_,A){var B=$("#"+_);B.removeClass();B.addClass("onError");B.html(A)},showMessage:function(D){var C=D.id,B=$("#"+C).get(0),H=D.isvalid,A=D.setting,G="",_="",F=$("#"+C).get(0).settings,E=$.formValidator.getInitConfig(F[0].validatorgroup);if(!H){_="onError";if(A.validatetype=="AjaxValidator"){if(A.lastValid==""){_="onLoad";G=A.onwait}else G=A.onerror}else G=(D.errormsg==""?A.onerror:D.errormsg);if(E.alertmessage){B=$("#"+C).get(0);if(B.validoldvalue!=$(B).val())alert(G)}else $.formValidator.setTipState(B,_,G)}else{G=$.formValidator.isEmpty(C)?A.onempty:A.oncorrect;$.formValidator.setTipState(B,"onCorrect",G)}return G},showAjaxMessage:function(B){var A=B.setting,_=$("#"+B.id).get(0);if(_.validoldvalue!=$(_).val())$.formValidator.ajaxValid(B);else{if(A.isvalid!=undefined&&!A.isvalid){_.lastshowclass="onError";_.lastshowmsg=A.onerror}$.formValidator.setTipState(_,_.lastshowclass,_.lastshowmsg)}},getLength:function(B){var C=$("#"+B),A=C.get(0);sType=A.type;var E=0;switch(sType){case"text":case"hidden":case"password":case"textarea":case"file":var _=C.val();_=$.trim(_);var D=$.formValidator.getInitConfig(A.settings[0].validatorgroup);if(D.wideword){for(var F=0;F<_.length;F++)if(_.charCodeAt(F)>=19968&&_.charCodeAt(F)<=40869)E+=2;else E++}else E=_.length;break;case"checkbox":case"radio":E=$("input[type='"+sType+"'][name='"+C.attr("name")+"']:checked").length;break;case"select-one":E=A.options?A.options.selectedIndex:-1;break;case"select-multiple":E=$("select[name="+A.name+"] option:selected").length;break}return E},isEmpty:function(_){if($("#"+_).get(0).settings[0].empty&&$.formValidator.getLength(_)==0)return true;else return false},isOneValid:function(_){return $.formValidator.oneIsValid(_,1).isvalid},oneIsValid:function(A,C){var B=new Object();B.id=A;B.ajax=-1;B.errormsg="";var _=$("#"+A).get(0),D=_.settings,F=D.length;if(F==1)D[0].bind=false;if(!D[0].bind)return null;for(var E=0;E<F;E++){if(E==0){if($.formValidator.isEmpty(A)){B.isvalid=true;B.setting=D[0];break}continue}B.setting=D[E];if(D[E].validatetype!="AjaxValidator")$.formValidator.triggerValidate(B);else B.ajax=E;if(!D[E].isvalid){B.isvalid=false;B.setting=D[E];break}else{B.isvalid=true;B.setting=D[0];if(D[E].validatetype=="AjaxValidator")break}}return B},pageIsValid:function(F){if(F==null||F==undefined)F="1";var I=true,D="",B,C,_,A="^",H=$.formValidator.getInitConfig(F),E=$(H.validobjectids);E.each(function(F,_){if(_.settings[0].bind){C=$.formValidator.oneIsValid(_.id,1);if(C){var E=_.settings[0].tipid;if(!C.isvalid){I=false;if(D==""){D=C.id;B=(C.errormsg==""?C.setting.onerror:C.errormsg)}}if(!H.alertmessage)if(A.indexOf("^"+E+"^")==-1){if(!C.isvalid)A=A+E+"^";$.formValidator.showMessage(C)}}}});if(I){I=H.onsuccess();if(H.submitonce)$(":submit").attr("disabled",true)}else{var G=$("#"+D).get(0);H.onerror(B,G);if(D!=""&&H.errorfocus)$("#"+D).focus()}return!H.debug&&I},ajaxValid:function(D){var B=D.id,F=$("#"+B),A=F.get(0),E=A.settings,_=E[D.ajax],G=_.url;if(F.size()==0&&E[0].empty){D.setting=E[0];D.isvalid=true;$.formValidator.showMessage(D);_.isvalid=true;return}if(_.addidvalue){var C="clientid="+B+"&"+B+"="+encodeURIComponent(F.val());G=G+(G.indexOf("?")>0?("&"+C):("?"+C))}$.ajax({mode:"abort",type:_.type,url:G,cache:_.cache,data:_.data,async:_.async,dataType:_.datatype,success:function(B){if(_.success(B)){$.formValidator.setTipState(A,"onCorrect",E[0].oncorrect);_.isvalid=true}else{$.formValidator.setTipState(A,"onError",_.onerror);_.isvalid=false}},complete:function(){if(_.buttons&&_.buttons.length>0)_.buttons.attr({"disabled":false});_.complete},beforeSend:function(B){if(_.buttons&&_.buttons.length>0)_.buttons.attr({"disabled":true});var C=_.beforesend(B);if(C){_.isvalid=false;$.formValidator.setTipState(A,"onLoad",E[D.ajax].onwait)}_.lastValid="-1";return C},error:function(){$.formValidator.setTipState(A,"onError",_.onerror);_.isvalid=false;_.error()},processData:_.processdata})},regexValid:function(returnObj){var id=returnObj.id,setting=returnObj.setting,srcTag=$("#"+id).get(0).tagName,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(B){var A=B.id,_=B.setting,C=$("#"+A),D=_.fun(C.val(),C.get(0));if(D!=undefined)if(typeof D=="string"){_.isvalid=false;B.errormsg=D}else _.isvalid=D},inputValid:function(I){var F=I.id,G=I.setting,A=$("#"+F),H=A.get(0),_=A.val(),J=H.type,D=$.formValidator.getLength(F),K=G.empty,B=false;switch(J){case"text":case"hidden":case"password":case"textarea":case"file":if(G.type=="size"){K=G.empty;if(!K.leftempty)B=(_.replace(/^[ \s]+/,"").length!=_.length);if(!B&&!K.rightempty)B=(_.replace(/[ \s]+$/,"").length!=_.length);if(B&&K.emptyerror)I.errormsg=K.emptyerror}case"checkbox":case"select-one":case"select-multiple":case"radio":var C=false;if(J=="select-one"||J=="select-multiple")G.type="size";var E=G.type;if(E=="size"){if(!B)C=true;if(C)_=D}else if(E=="date"||E=="datetime"){var L=false;if(E=="date")C=isDate(_);if(E=="datetime")C=isDate(_);if(C){_=new Date(_);G.min=new Date(G.min);G.max=new Date(G.max)}}else{stype=(typeof G.min);if(stype=="number"){_=(new Number(_)).valueOf();if(!isNaN(_))C=true}if(stype=="string")C=true}G.isvalid=false;if(C)if(_<G.min||_>G.max){if(_<G.min&&G.onerrormin)I.errormsg=G.onerrormin;if(_>G.min&&G.onerrormax)I.errormsg=G.onerrormax}else G.isvalid=true;break}},compareValid:function(B){var A=B.id,_=B.setting,E=$("#"+A),C=$("#"+_.desid),D=_.datatype;_.isvalid=false;curvalue=E.val();ls_data=C.val();if(D=="number")if(!isNaN(curvalue)&&!isNaN(ls_data)){curvalue=parseFloat(curvalue);ls_data=parseFloat(ls_data)}else return;if(D=="date"||D=="datetime"){var F=false;if(D=="date")F=(isDate(curvalue)&&isDate(ls_data));if(D=="datetime")F=(isDateTime(curvalue)&&isDateTime(ls_data));if(F){curvalue=new Date(curvalue);ls_data=new Date(ls_data)}else return}switch(_.operateor){case"=":if(curvalue==ls_data)_.isvalid=true;break;case"!=":if(curvalue!=ls_data)_.isvalid=true;break;case">":if(curvalue>ls_data)_.isvalid=true;break;case">=":if(curvalue>=ls_data)_.isvalid=true;break;case"<":if(curvalue<ls_data)_.isvalid=true;break;case"<=":if(curvalue<=ls_data)_.isvalid=true;break}},localTooltip:function(A){A=A||window.event;var B=A.pageX||(A.clientX?A.clientX+document.body.scrollLeft:0),_=A.pageY||(A.clientY?A.clientY+document.body.scrollTop:0);$("#fvtt").css({"top":(_+2)+"px","left":(B-40)+"px"})}};$.fn.formValidator=function(B){var _={validatorgroup:"1",empty:false,submitonce:false,automodify:false,onshow:" ",onfocus:" ",oncorrect:"&nbsp;",onempty:" ",defaultvalue:null,bind:true,validatetype:"InitValidator",tipcss:{"left":"10px","top":"1px","height":"20px","width":"250px"},triggerevent:"blur",forcevalid:false};B=B||{};if(B.validatorgroup==undefined)B.validatorgroup="1";var A=$.formValidator.getInitConfig(B.validatorgroup);if(A.tidymode)_.tipcss={"left":"2px","width":"22px","height":"22px","display":"none"};$.extend(true,_,B);return this.each(function(C){var H=$(this),F={};$.extend(true,F,_);var K=F.tipid?F.tipid:this.id+"Tip";if(A.autotip){if($("body [id="+K+"]").length==0){aftertip=F.relativeid?F.relativeid:this.id;var I=getTopLeft(aftertip),J=I.top,L=getElementWidth(aftertip)+I.left;$("<div class='formValidateTip'></div>").appendTo($("body")).css({left:L+"px",top:J+"px"}).prepend($("<div id=\""+K+"\"></div>").css(F.tipcss))}if(A.tidymode)H.showTooltips()}_.tipid=K;$.formValidator.appendValid(this.id,_);var E=A.validobjectids;if(E.indexOf("#"+this.id+" ")==-1)A.validobjectids=(E==""?"#"+this.id:E+",#"+this.id);if(!A.alertmessage)$.formValidator.setTipState(this,"onShow",_.onshow);var D=this.tagName.toLowerCase(),G=this.type,B=_.defaultvalue;if(B)H.val(B);if(D=="input"||D=="textarea"){H.focus(function(){if(!A.alertmessage){var B=$("#"+K);this.lastshowclass=B.attr("class");this.lastshowmsg=B.html();$.formValidator.setTipState(this,"onFocus",_.onfocus)}if(G=="password"||G=="text"||G=="textarea"||G=="file")this.validoldvalue=H.val()});H.bind(_.triggerevent,function(){var C=this.settings,B=$.formValidator.oneIsValid(this.id,1);if(B==null)return;if(B.ajax>=0)$.formValidator.showAjaxMessage(B);else{var E=$.formValidator.showMessage(B);if(!B.isvalid){var D=_.automodify&&(this.type=="text"||this.type=="textarea"||this.type=="file");if(D&&!A.alertmessage){alert(E);$.formValidator.setTipState(this,"onShow",_.onshow)}else if(A.forcevalid||_.forcevalid){alert(E);this.focus()}}}})}else if(D=="select"){H.bind("focus",function(){if(!A.alertmessage)$.formValidator.setTipState(this,"onFocus",_.onfocus)});H.bind("blur",function(){H.trigger("change")});H.bind("change",function(){var _=$.formValidator.oneIsValid(this.id,1);if(_==null)return;if(_.ajax>=0)$.formValidator.showAjaxMessage(_);else $.formValidator.showMessage(_)})}})};$.fn.inputValidator=function(_){var A={isvalid:false,min:0,max:99999999999999,type:"size",onerror:"\u8f93\u5165\u9519\u8bef",validatetype:"InputValidator",empty:{leftempty:true,rightempty:true,leftemptyerror:null,rightemptyerror:null},wideword:true};_=_||{};$.extend(true,A,_);return this.each(function(){$.formValidator.appendValid(this.id,A)})};$.fn.compareValidator=function(_){var A={isvalid:false,desid:"",operateor:"=",onerror:"\u8f93\u5165\u9519\u8bef",validatetype:"CompareValidator"};_=_||{};$.extend(true,A,_);return this.each(function(){$.formValidator.appendValid(this.id,A)})};$.fn.regexValidator=function(_){var A={isvalid:false,regexp:"",param:"i",datatype:"string",onerror:"\u8f93\u5165\u7684\u683c\u5f0f\u4e0d\u6b63\u786e",validatetype:"RegexValidator"};_=_||{};$.extend(true,A,_);return this.each(function(){$.formValidator.appendValid(this.id,A)})};$.fn.functionValidator=function(_){var A={isvalid:true,fun:function(){this.isvalid=true},validatetype:"FunctionValidator",onerror:"\u8f93\u5165\u9519\u8bef"};_=_||{};$.extend(true,A,_);return this.each(function(){$.formValidator.appendValid(this.id,A)})};$.fn.ajaxValidator=function(_){var A={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:"\u670d\u52a1\u5668\u6821\u9a8c\u6ca1\u6709\u901a\u8fc7",onwait:"\u6b63\u5728\u7b49\u5f85\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e",validatetype:"AjaxValidator"};_=_||{};$.extend(true,A,_);return this.each(function(){$.formValidator.appendValid(this.id,A)})};$.fn.defaultPassed=function(_){return this.each(function(){var B=this.settings;for(var C=1;C<B.length;C++){B[C].isvalid=true;if(!$.formValidator.getInitConfig(B[0].validatorgroup).alertmessage){var A=_?"onShow":"onCorrect";$.formValidator.setTipState(this,A,B[0].oncorrect)}}})};$.fn.unFormValidator=function(_){return this.each(function(){this.settings[0].bind=!_;if(_)$("#"+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(_){$("#fvtt").append(this.tooltip);$("#fv_content").html(this.Tooltip);$.formValidator.localTooltip(_)});jqobj.mouseout(function(){$("#fvtt").empty()});jqobj.mousemove(function(_){$("#fv_content").html(this.Tooltip);$.formValidator.localTooltip(_)})})}})(jQuery);function getElementWidth($){x=document.getElementById($);return x.offsetWidth}function getTopLeft($){obj=new Object();o=document.getElementById($);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}