var re_dt=/^(\d{1,2})\-(\d{1,2})\-(\d{4})$/,re_tm=/^(\d{1,2})\:(\d{1,2})\:(\d{1,2})$/,a_formats={"alpha":/^[a-zA-Z\.\-]*$/,"alphanum":/^\w+$/,"unsigned":/^\d+$/,"integer":/^[\+\-]?\d*$/,"real":/^[\+\-]?\d*\.?\d*$/,"email":/^[\w-\.]+\@[\w\.-]+\.[a-z]{2,4}$/,"phone":/^[\d\.\s\-]+$/,"date":function(_1){if(!re_dt.test(_1)){return false;}if(RegExp.$1>31||RegExp.$2>12){return false;}var _2=new Date(RegExp.$3,Number(RegExp.$2-1),RegExp.$1);if(_2.getMonth()!=Number(RegExp.$2-1)){return false;}return true;},"time":function(_3){if(!re_tm.test(_3)){return false;}if(RegExp.$1>23||RegExp.$2>59||RegExp.$3>59){return false;}return true;}},a_messages=["No form name passed to validator construction routine","No array of \"%form%\" form fields passed to validator construction routine","Form \"%form%\" can not be found in this document","Incomplete \"%n%\" form field descriptor entry. \"l\" attribute is missing","Can not find form field \"%n%\" in the form \"%form%\"","Can not find label tag (id=\"%t%\")","Can not verify match. Field \"%m%\" was not found","\"%l%\" is a required field","Value for \"%l%\" must be %mn% characters or more","Value for \"%l%\" must be no longer than %mx% characters","\"%v%\" is not valid value for \"%l%\"","\"%l%\" must match \"%ml%\""];function validator(_4,_5,_6){this.f_error=validator_error;this.f_alert=_6&&_6.alert?function(_7){alert(_7);return false;}:function(){return false;};if(!_4){return this.f_alert(this.f_error(0));}this.s_form=_4;if(!_5||typeof (_5)!="object"){return this.f_alert(this.f_error(1));}this.a_fields=_5;this.a_2disable=_6&&_6["to_disable"]&&typeof (_6["to_disable"])=="object"?_6["to_disable"]:[];this.exec=validator_exec;}function validator_exec(){var _8=document.forms[this.s_form];if(!_8){return this.f_alert(this.f_error(2));}b_dom=document.body&&document.body.innerHTML;for(var _9 in this.a_fields){this.a_fields[_9]["n"]=_9;if(!this.a_fields[_9]["l"]){return this.f_alert(this.f_error(3,this.a_fields[_9]));}o_input=_8.elements[_9];if(!o_input){return this.f_alert(this.f_error(4,this.a_fields[_9]));}this.a_fields[_9].o_input=o_input;}if(b_dom){for(var _a in this.a_fields){if(this.a_fields[_a]["t"]){var _b=this.a_fields[_a]["t"],e_labeltag=get_element(_b);if(!e_labeltag){return this.f_alert(this.f_error(5,this.a_fields[_a]));}this.a_fields[_a].o_tag=e_labeltag;e_labeltag.className="tfvNormal";}}}for(var _c in this.a_fields){var _d="";o_input=this.a_fields[_c].o_input;if(o_input.type=="checkbox"){_d=o_input.checked?o_input.value:"";}else{if(o_input.value){_d=o_input.value;}else{if(o_input.options){_d=o_input.selectedIndex>-1?o_input.options[o_input.selectedIndex].value:null;}else{if(o_input.length>0){for(var _e=0;_e<o_input.length;_e++){if(o_input[_e].checked){_d=o_input[_e].value;break;}}}}}}this.a_fields[_c]["v"]=_d.replace(/(^\s+)|(\s+$)/g,"");}var _f=0,n_another,o_format_check;for(var _10 in this.a_fields){o_format_check=this.a_fields[_10]["f"]&&a_formats[this.a_fields[_10]["f"]]?a_formats[this.a_fields[_10]["f"]]:null;this.a_fields[_10].n_error=null;if(this.a_fields[_10]["r"]&&!this.a_fields[_10]["v"]){this.a_fields[_10].n_error=1;_f++;}else{if(this.a_fields[_10]["mn"]&&this.a_fields[_10]["v"]!=""&&String(this.a_fields[_10]["v"]).length<this.a_fields[_10]["mn"]){this.a_fields[_10].n_error=2;_f++;}else{if(this.a_fields[_10]["mx"]&&String(this.a_fields[_10]["v"]).length>this.a_fields[_10]["mx"]){this.a_fields[_10].n_error=3;_f++;}else{if(this.a_fields[_10]["v"]&&this.a_fields[_10]["f"]&&((typeof (o_format_check)=="function"&&!o_format_check(this.a_fields[_10]["v"]))||(typeof (o_format_check)!="function"&&!o_format_check.test(this.a_fields[_10]["v"])))){this.a_fields[_10].n_error=4;_f++;}else{if(this.a_fields[_10]["m"]){for(var _11 in this.a_fields){if(_11==this.a_fields[_10]["m"]){n_another=_11;break;}}if(n_another==null){return this.f_alert(this.f_error(6,this.a_fields[_10]));}if(this.a_fields[n_another]["v"]!=this.a_fields[_10]["v"]){this.a_fields[_10]["ml"]=this.a_fields[n_another]["l"];this.a_fields[_10].n_error=5;_f++;}}}}}}}var _12="",e_first_error;if(_f){for(var _13 in this.a_fields){var _14=this.a_fields[_13].n_error,s_message="";if(_14){s_message=this.f_error(_14+6,this.a_fields[_13]);}if(s_message){if(!e_first_error){e_first_error=_8.elements[_13];}_12+=s_message+"\n";if(b_dom&&this.a_fields[_13].o_tag){this.a_fields[_13].o_tag.className="tfvHighlight";}}}alert(_12);if(e_first_error.focus&&e_first_error.type!="hidden"&&!e_first_error.disabled){eval("e_first_error.focus()");}return false;}for(_13 in this.a_2disable){if(_8.elements[this.a_2disable[_13]]){_8.elements[this.a_2disable[_13]].disabled=true;}}return true;}function validator_error(_15){var s_=a_messages[_15],n_i=1,s_key;for(;n_i<arguments.length;n_i++){for(s_key in arguments[n_i]){s_=s_.replace("%"+s_key+"%",arguments[n_i][s_key]);}}s_=s_.replace("%form%",this.s_form);return s_;}function get_element(_17){return (document.all?document.all[_17]:(document.getElementById?document.getElementById(_17):null));}
