﻿var Validation={};Validation.Msg={'IsEmpty':'此项不能为空.','required':'此项不能为空.','validate-number':'请输入有效的数字.','validate-email':'请输入有效的邮件地址,如 username@example.com.','validate-integer':'请输入正确的整数.','validate-date':'请输入有效的日期,如yyyy/mm/dd.','min-value':'最小值为 %s','max-value':'最大值为 %s','validate-float-range':'输入值应该为 %s 至 %s 的数字.','validate-int-range':'输入值应该为 %s 至 %s 的整数.','min-length':'输入值最小长度应该为 %s','max-length':'输入值最大长度应该为 %s','validate-length-range':'输入值的长度应该在 %s 至 %s 之间.','validate-equals':'与上面不一至,请重新输入.','validate-file':'文件类型应该为[%%s]其中之一.','validate-chinese':'请输入中文.','validate-pattern':'输入的值不匹配.','validate-radio':'请至少选择一项.','validate-checkbox':'请至少选择一项.','validate-function':'验证失败.'};Validation.Methods={'IsEmpty':function(a){return((a==null)||(a.length==0))},'required':function(a){return!(this.IsEmpty(a)||/^\s+$/.test(a))},'validate-number':function(a){return this.IsEmpty(a)||(!isNaN(a)&&!/^\s+$/.test(a))},'validate-email':function(a){return this.IsEmpty(a)||/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(a)},'validate-integer':function(a){return this.IsEmpty(a)||(/^[-+]?[\d]+$/.test(a))},'validate-date':function(a){var b=new Date(a);return this.IsEmpty(a)||!isNaN(b)},'min-value':function(a,b){return this.IsEmpty(a)||parseFloat(a)>=parseFloat(b[0])&&this['validate-number'](a)},'max-value':function(a,b){return this.IsEmpty(a)||parseFloat(a)<=parseFloat(b[0])&&this['validate-number'](a)},'validate-float-range':function(a,b){return this.IsEmpty(a)||(parseFloat(a)>=parseFloat(b[0])&&parseFloat(a)<=parseFloat(b[1]))&&this['validate-number'](a)},'validate-int-range':function(a,b){return this.IsEmpty(a)||(parseInt(a)>=parseInt(b[0])&&parseInt(a)<=parseInt(b[1]))&&this['validate-integer'](a)},'min-length':function(a,b){return this.IsEmpty(a)||a.length>=parseInt(b[0])},'max-length':function(a,b){return this.IsEmpty(a)||a.length<=parseInt(b[0])},'validate-length-range':function(a,b){return this.IsEmpty(a)||(a.length>=parseInt(b[0])&&a.length<=parseInt(b[1]))},'validate-equals':function(a,b){return this.IsEmpty(a)||$F(b[0])==a},'validate-file':function(b,c){return this.IsEmpty(b)||c.any(function(a){return new RegExp('\\.'+a+'$','i').test(b)})},'validate-chinese':function(a){return this.IsEmpty(a)||(/^[\u4e00-\u9fa5]+$/.test(a))},'validate-pattern':function(a,b){return this.IsEmpty(a)||eval(b[0]).test(a)},'validate-radio':function(a,b){var c=document.getElementsByName(b[0]);for(var i=0;i<c.length;i++){if(c[i].checked)return true}return false},'validate-checkbox':function(a,b){var c=document.getElementsByName(b[0]);for(var i=0;i<c.length;i++){if(c[i].checked)return true}return false},'validate-function':function(a,b){var c=b.slice(1);return eval(b[0])(a,c)}};Validation.State={'focus':function(a){this.Options.focusEffect(a);this.Options.appfocus(a);return},'blur':function(d,e){var f=this.getPatts(d);f.all(function(a,b){var a=this.getPatt(a);if(!a){if(b==f.length-1){this.Options.blurEffect(d,true);if(!e)this.Options.appblur(d,true)}return true}var c=Validation.Methods[a[0]]($F(d),a[1]);if(!c)this.setingMsg(d,a[0],a[1]);$(d)._true=c;if(!c||b==f.length-1){this.Options.blurEffect(d,c);if(!e)this.Options.appblur(d,c)}return c}.bind(this));return},findAllErr:function(c){return c.findAll(function(a,b){return this.returnErr(a,b)}.bind(this))},isAllTrue:function(a){return this.findAllErr(a).length==0},returnErr:function(c,d){var e=$(c).type.toLowerCase();if(e!='radio'&&e!='checkbox')if($(c)._true!=undefined)return!$(c)._true;var f=this.getPatts(c);return!f.all(function(a){var a=this.getPatt(a);if(!a)return true;var b=Validation.Methods[a[0]]($F(c),a[1]);if(!b)this.setingMsg(c,a[0],a[1]);return $(c)._true=b}.bind(this))},getPatts:function(a){return $(a).className.split(/\s+/)||[]},getPatt:function(a){if(Validation.Methods[a])return[a,null];for(var b in Validation.Methods){if(a.indexOf(b)>=0){var c=a.replace(b+'-','').split(/-/);return[b,c];break}}return false},setingMsg:function(b,c,d){var e=Validation.Msg[c];if(!d){$(b).errorMsg=e;return}if(/%%s/.test(e)){$(b).errorMsg=e.replace(/%%s/,d.join(','));return}d.each(function(a){e=e.replace(/%s/,a)});$(b).errorMsg=e}};Validation.State.Options={focusEffect:function(){},blurEffect:function(){},appfocus:function(){},appblur:function(){}};Validation.Valied=new Class.create();Validation.Valied.prototype={initialize:function(a){this.options={elements:[],submit:'',onKeyDownEnter:true,otherCheck:false,otherSuccess:Prototype.emptyFunction,focusEffect:'',blurEffect:'',errorEffect:'',successEffect:'',State:Validation.State,onSuccess:Prototype.emptyFunction};Object.extend(this.options,a||{});this.options.State.Options.focusEffect=this.options.focusEffect;this.options.State.Options.blurEffect=this.options.blurEffect;this.observeblur_event()},observeblur_event:function(){if(this.options.focusEffect||this.options.blurEffect)this.options.elements.each(function(b){var c=$(b).type.toLowerCase();if(c=='radio'||c=='checkbox')return;if(this.options.focusEffect)$(b).observe('focus',function(a){this.options.State.focus($(b))}.bind(this),false);if(this.options.blurEffect)$(b).observe('blur',function(a){this.options.State.blur($(b),true)}.bind(this),false);if(this.options.onKeyDownEnter)$(b).observe('keydown',function(a){if(a.keyCode==13){$(b)._true=undefined;this.checkAll()}}.bind(this),false)}.bind(this));$(this.options.submit).observe('click',function(){$(this.options.submit).focus();if(this.options.otherCheck){if(this.checkAll())if(this.options.otherCheck()){if(this.options.otherSuccess!=Prototype.emptyFunction)this.options.otherSuccess();return true}else{return false}else return false}return this.checkAll()}.bind(this),false)},checkAll:function(){var b=this.options.State.findAllErr(this.options.elements);if(this.options.successEffect){var c=this.options.elements.findAll(function(a){return($(a)._true!=false)});this.options.successEffect(c)}if(b.length==0){this.options.onSuccess()}else{if(this.options.errorEffect)this.options.errorEffect(b)}return b.length==0}};var success=function(a){$(a).removeClassName('red')};var error=function(a){var b=$(a).type.toLowerCase();if(b!='select-one')$(a).addClassName('red')};var baseOptions={focusEffect:function(a){$(a).addClassName('green').removeClassName('red')},blurEffect:function(a,b){$(a).removeClassName('green');if(b)success(a);else error(a)},errorEffect:function(b){b.each(function(a){error(a)})},successEffect:function(b){b.each(function(a){success(a)})}};Object.extend(Validation.State.Options,baseOptions);var logonInput;function ValiInputs(){if(!$('personname'))return;var a={elements:['personname','password'],submit:'logon_img',onSuccess:function(){Check_Logon()}};Object.extend(a,baseOptions);new Validation.Valied(a)}function Check_Logon(){logonInput=[$('personname'),$('password')];window.open(web+'/mm/checklogin.aspx?'+Form.serializeElements(logonInput)+'&math='+parseInt(10000*Math.random()))}function ValiSearch(){var a={elements:searInputs.slice(0,-1),submit:searInputs.last(),onSuccess:function(){ChagePage(1)}};Object.extend(a,baseOptions);new Validation.Valied(a)}var formOptions={errorEffect:function(b){b.each(function(a){error(a)});alert($(b[0]).errorMsg);$(b[0]).focus()},blurEffect:function(a,b){$(a).removeClassName('green');var P=a.ancestors()[0].previousSiblings()[0];if(a.id=='class1'||a.id=='class2'||a.id=='class3')P=$('lab');if($(a).id=='province'||$(a).id=='capital'||$(a).id=='city')P=$('lab');if(!P)return;if(b){success(a);if(P.className.indexOf('labs')>-1)P.addClassName('true2')}else{error(a);if(P.className.indexOf('labs')>-1)P.removeClassName('true2')}},successEffect:function(b){b.each(function(a){success(a);var P=$(a).ancestors()[0].previousSiblings()[0];if($(a).id=='class1'||$(a).id=='class2'||$(a).id=='class3')P=$('lab');if($(a).id=='province'||$(a).id=='capital'||$(a).id=='city')P=$('lab');if(!P)return;P.addClassName('true2')})},otherCheck:function(){return true},otherSuccess:function(){document.getElementsByTagName('form')[0].submit()}};function ValiForm(){var a={elements:searInputs.slice(0,-1),submit:searInputs.last(),onKeyDownEnter:false};Object.extend(a,baseOptions);Object.extend(a,formOptions);return new Validation.Valied(a)}function ValiFormKey(){var a={elements:searInputs.slice(0,-1),submit:searInputs.last()};Object.extend(a,baseOptions);Object.extend(a,formOptions);new Validation.Valied(a)}var Vali={Money:function(a,b){a=a.replace(/\$|\,/g,'');if(b=='')if(parseFloat(a)==0||a=='')return false;return true}};var decimal_Length=2;var decimal_Default='0.00';function popVali(c){function ValiMsg(){var a={elements:c.slice(0,-1),submit:c.last(),onKeyDownEnter:false};Object.extend(a,baseOptions);Object.extend(a,formOptions);return new Validation.Valied(a)}var d=ValiMsg();var e=Object.extend({},Validation.State);e.Options=Object.extend({},Validation.State.Options);var f=function(a){a=$(a);$(a.ancestors()[0].down('p',0)).show().update(a.errorMsg)};var g=function(a){a=$(a);$(a.ancestors()[0].down('p',0)).hide()};e.Options.focusEffect=function(a){};e.Options.blurEffect=function(a,b){if(b)g(a);else f(a)};d.options.State=e;d.options.errorEffect=function(b){b.each(function(a){f(a)})};d.options.successEffect=function(b){b.each(function(a){g(a)})};d.options.onSuccess=function(){ask()};return d}