var re_dt=/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/,re_tm=/^(\d{1,2})\:(\d{1,2})\:(\d{1,2})$/,phone_p=/^[2-8]\d+$/,phone_l=/^[2-7]\d+$/,celular=/^[9]\d+$/,a_formats={alpha:/^[a-zA-Z\s\áéíóúñÁÉÍÓÚÑ]*$/,alphanum:/^[a-zA-Z0-9\s\.,%@;()_?¿!¡\'\-\áéíóúñÁÉÍÓÚÑ]*$/,alphanum3:/^[a-zA-Z0-9\s\áéíóúñÁÉÍÓÚÑ]*$/,alphanum2:/^[a-zA-Z0-9]*$/,unsigned:/^\d+$/,integer:/^[\+\-]?\d*$/,real:/^[\+\-]?\d*\.?\d*$/,email:/^[\w-\.]+\@[\w\.-]+\.[a-zA-Z]{2,4}$/,phone_p:function(A){if(!phone_p.test(A)){return false}for(i=0;i<A.length-1;i++){digito=A.charAt(i);if(digito==A.charAt(i+1)){igual=false}else{igual=true;break}}return igual},phone_l:function(A){if(!phone_l.test(A)){return false}for(i=0;i<A.length-1;i++){digito=A.charAt(i);if(digito==A.charAt(i+1)){igual=false}else{igual=true;break}}return igual},phone_e:/^[\d\s\()-]+$/,celular:function(A){if(!celular.test(A)){return false}for(i=0;i<A.length-1;i++){digito=A.charAt(i);if(digito==A.charAt(i+1)){igual=false}else{igual=true;break}}return igual},phone_2:/^[\d\s\()]+$/,date:function(B){if(!re_dt.test(B)){return false}if(RegExp.$1>31||RegExp.$2>12){return false}var A=new Date(RegExp.$3,Number(RegExp.$2-1),RegExp.$1);if(A.getMonth()!=Number(RegExp.$2-1)){return false}return true},time:function validate_time(A){if(!re_tm.test(A)){return false}if(RegExp.$1>23||RegExp.$2>59||RegExp.$3>59){return false}return true},ruc:function validate_ruc(A){if(esnumero(A)){if(A.length==8){suma=0;for(i=0;i<A.length-1;i++){digito=A.charAt(i)-"0";if(i==0){suma+=(digito*2)}else{suma+=(digito*(A.length-i))}}resto=suma%11;if(resto==1){resto=11}if(resto+(A.charAt(A.length-1)-"0")==11){return true}}else{if(A.length==11){suma=0;x=6;for(i=0;i<A.length-1;i++){if(i==4){x=8}digito=A.charAt(i)-"0";x--;if(i==0){suma+=(digito*x)}else{suma+=(digito*x)}}resto=suma%11;resto=11-resto;if(resto>=10){resto=resto-10}if(resto==A.charAt(A.length-1)-"0"){return true}}}}return false}},a_messages=["El nombre del formulario no ha sido incluido para construir la rutina de validación.",'No existen arreglos de campos del formulario "%form%" para construir la rutina de validación.','El formulario "%form%" no puede ser encontrado en esta página.','La descripción del campo "%n%" del formulario está incompleta. Falta atributo "%l%".','No se puede encontrar el campo "%n%" en el formulario "%form%".','No se puede encontrar la etiqueta tag (id="%t%").','No se puede verificar la igualdad. No se encontró el campo "%m%".','El campo "%l%" es de ingreso obligatorio.','El valor para "%l%" debe ser de %mn% caracteres como mínimo.','El valor para "%l%" no debe ser mayor que %mx% caracteres.','El campo "%l%" presenta errores de formato. "%v%" no es un valor valido.','El campo "%l%" debe ser igual al campo "%ml%".','El campo "%l%" debe ser diferente al campo "%ml%".','No se puede verificar la desigualdad. No se encontró el campo "%d%".','No se puede verificar la obligatoriedad. No se encontró el campo "%rr%".','No se puede verificar la obligatoriedad. No se encontró el campo "%rr2%".','El campo "%l%" no presenta un dominio válido.'];function validator(B,A,C){this.f_error=validator_error;this.f_alert=C&&C.alert?function(D){alert(D);return false}:function(){return false};if(!B){return this.f_alert(this.f_error(0))}this.s_form=B;if(!A||typeof (A)!="object"){return this.f_alert(this.f_error(1))}this.a_fields=A;this.a_2disable=C&&C.to_disable&&typeof (C.to_disable)=="object"?C.to_disable:[];this.exec=validator_exec}function validator_exec(){var o_form=document.forms[this.s_form];if(!o_form){return this.f_alert(this.f_error(2))}b_dom=document.body&&document.body.innerHTML;for(var n_key in this.a_fields){this.a_fields[n_key]["n"]=n_key;if(!this.a_fields[n_key]["l"]){return this.f_alert(this.f_error(3,this.a_fields[n_key]))}o_input=o_form.elements[n_key];if(!o_input){return this.f_alert(this.f_error(4,this.a_fields[n_key]))}this.a_fields[n_key].o_input=o_input}if(b_dom){for(var n_key in this.a_fields){if(this.a_fields[n_key]["t"]){var s_labeltag=this.a_fields[n_key]["t"],e_labeltag=get_element(s_labeltag);if(!e_labeltag){return this.f_alert(this.f_error(5,this.a_fields[n_key]))}this.a_fields[n_key].o_tag=e_labeltag;e_labeltag.className="tfvNormal"}}}for(var n_key in this.a_fields){var s_value="";o_input=this.a_fields[n_key].o_input;if(o_input.type=="checkbox"){s_value=o_input.checked?o_input.value:""}else{if(o_input.value){s_value=o_input.value}else{if(o_input.options){s_value=o_input.selectedIndex>-1?o_input.options[o_input.selectedIndex].value:null}else{if(o_input.length>0){for(var n_index=0;n_index<o_input.length;n_index++){if(o_input[n_index].checked){s_value=o_input[n_index].value;break}}}}}}this.a_fields[n_key]["v"]=s_value.replace(/(^\s+)|(\s+$)/g,"")}for(var n_key in this.a_fields){if(this.a_fields[n_key]["b"]){this.a_fields[n_key].o_input.value=quitaEspacio(this.a_fields[n_key]["v"])}}var n_errors_count=0,n_another,n_another2,o_format_check,cont;for(var n_key in this.a_fields){o_format_check=this.a_fields[n_key]["f"]&&a_formats[this.a_fields[n_key]["f"]]?a_formats[this.a_fields[n_key]["f"]]:null;this.a_fields[n_key].n_error=null;if(this.a_fields[n_key]["rr"]){for(var n_key1 in this.a_fields){if(n_key1==this.a_fields[n_key]["rr"]){n_another=n_key1;break}}if(n_another==null){return this.f_alert(this.f_error(14,this.a_fields[n_key]))}if(this.a_fields[n_another]["v"]!=""){this.a_fields[n_key]["r"]=true}else{this.a_fields[n_key]["r"]=false}}if(this.a_fields[n_key]["rr2"]){for(var n_key1 in this.a_fields){if(n_key1==this.a_fields[n_key]["rr2"]){n_another1=n_key1;break}}if(n_another1==null){return this.f_alert(this.f_error(15,this.a_fields[n_key]))}if(this.a_fields[n_another1]["v"]!=""){this.a_fields[n_key]["r"]=true}else{this.a_fields[n_key]["r"]=false}if(this.a_fields[n_another1]["r"]!=true){is_true=false;for(var n_key1 in this.a_fields){if(this.a_fields[n_key1]["rr2"]&&n_another1==this.a_fields[n_key1]["rr2"]){if(this.a_fields[n_key1]["v"]!=""){is_true=true;break}}}if(is_true){this.a_fields[n_another1]["r"]=true}else{this.a_fields[n_another1]["r"]=false}}}if(this.a_fields[n_key]["rs"]){for(var n_key4 in this.a_fields){if(n_key4==this.a_fields[n_key]["rs"]){n_another=n_key4;break}}if(n_another==null){return this.f_alert(this.f_error(14,this.a_fields[n_key]))}if(this.a_fields[n_another]["r"]=false){if(this.a_fields[n_key]["v"]!=""){this.a_fields[n_another]["r"]=true}else{cont=0;for(var n_key5 in this.a_fields){if(n_another==this.a_fields[n_key5]["rs"]){if(this.a_fields[n_key1]["v"]!=""){cont++}}}if(cont==0){this.a_fields[n_another]["r"]=false}}}}if(this.a_fields[n_key]["r"]&&!this.a_fields[n_key]["v"]){this.a_fields[n_key].n_error=1;n_errors_count++}else{if(this.a_fields[n_key]["mn"]&&this.a_fields[n_key]["v"]!=""&&String(this.a_fields[n_key]["v"]).length<this.a_fields[n_key]["mn"]){this.a_fields[n_key].n_error=2;n_errors_count++}else{if(this.a_fields[n_key]["mx"]&&String(this.a_fields[n_key]["v"]).length>this.a_fields[n_key]["mx"]){this.a_fields[n_key].n_error=3;n_errors_count++}else{if(this.a_fields[n_key]["v"]&&this.a_fields[n_key]["f"]&&((typeof (o_format_check)=="function"&&!o_format_check(this.a_fields[n_key]["v"]))||(typeof (o_format_check)!="function"&&!o_format_check.test(this.a_fields[n_key]["v"])))){this.a_fields[n_key].n_error=4;n_errors_count++}else{if(this.a_fields[n_key]["m"]){for(var n_key2 in this.a_fields){if(n_key2==this.a_fields[n_key]["m"]){n_another=n_key2;break}}if(n_another==null){return this.f_alert(this.f_error(6,this.a_fields[n_key]))}if(this.a_fields[n_another]["v"]!=this.a_fields[n_key]["v"]){this.a_fields[n_key]["ml"]=this.a_fields[n_another]["l"];this.a_fields[n_key].n_error=5;n_errors_count++}}}}}}if(this.a_fields[n_key]["e"]){var dom=new Array();var correo=this.a_fields[n_key]["v"].toLowerCase();dom=correo.split("@");for(i=0;i<a_dominios.length;i++){if(a_dominios[i]==dom[1]){this.a_fields[n_key].n_error=10;n_errors_count++;break}}}if(this.a_fields[n_key]["d"]){for(var n_key3 in this.a_fields){if(n_key3==this.a_fields[n_key]["d"]){n_another=n_key3;break}}if(n_another==null){return this.f_alert(this.f_error(13,this.a_fields[n_key]))}if(this.a_fields[n_another]["v"].toLowerCase()==this.a_fields[n_key]["v"].toLowerCase()&&this.a_fields[n_another]["v"]!=""){this.a_fields[n_key]["ml"]=this.a_fields[n_another]["l"];this.a_fields[n_key].n_error=6;n_errors_count++}}}var s_alert_message="",e_first_error;if(n_errors_count){for(var n_key in this.a_fields){var n_error_type=this.a_fields[n_key].n_error,s_message="";if(n_error_type){s_message=this.f_error(n_error_type+6,this.a_fields[n_key])}if(s_message){if(!e_first_error){e_first_error=o_form.elements[n_key]}s_alert_message+=s_message+"\n";if(b_dom&&this.a_fields[n_key].o_tag){this.a_fields[n_key].o_tag.className="tfvHighlight"}}}alert(s_alert_message);if(e_first_error.focus&&e_first_error.type!="hidden"&&!e_first_error.disabled){eval("e_first_error.focus()")}return false}for(n_key in this.a_2disable){if(o_form.elements[this.a_2disable[n_key]]){o_form.elements[this.a_2disable[n_key]].disabled=true}}return true}function validator_error(A){var C=a_messages[A],D=1,B;for(;D<arguments.length;D++){for(B in arguments[D]){C=C.replace("%"+B+"%",arguments[D][B])}}C=C.replace("%form%",this.s_form);return C}function get_element(A){return(document.all?document.all[A]:(document.getElementById?document.getElementById(A):null))}function esnumero(A){return(!(isNaN(A)))}function esnulo(A){return(A==null||A=="")}function quitaEspacio(B){var A,C,D;A=/^ /;C=/ $/;D=/[ ]+/g;c_1=new String(B);c_1=c_1.replace(D," ");c_1=c_1.replace(A,"");c_1=c_1.replace(C,"");B=c_1;return B};