
var obligatorio=1;var numerico=2;var telefono=3;var mail=4;var otro=5;var otro_alert=6;var listamail=7;var telefonoint=8;var otro_obligatorio=9;var otro_operacion=10;var telefono_obligatorio=11;var numerico_obligatorio=12;var numericoneg=13;var otro_nofieldset=14;var grupo_obligatorio=15;var edad_adulto=16;var coherencia_minmax=17;var grupo_checks=18;var telefono_it=19;var toCheck=new Array();var contador=0;function getObj(divId){return(document.layers?document.layers[divId]:document.getElementById?document.getElementById(divId):document.all[divId]);}
function ltrim(s,c){while(s.substring(0,1)==c){s=s.substring(1,s.length);}
return s;}
function quitaBlancos(z){x=z;re=/[\s]/i;while(x.match(re))
{x=x.replace(re,"");}
return removeQuote(x);}
function isInteger(x){y=new String(parseInt(x,10));z=new String(ltrim(x,'0'));esEntero=((x=='')||(x.length==0)||(z.indexOf(y)!=-1))
return(x=='0'||esEntero);}
function removeQuote(x){return x.replace(/\'/g,"?");}
function addCheckId(field,fieldname,tipo,alpha,texto,id){removeCheck(id);newfield=new Array();newfield[0]=field;newfield[1]=fieldname;newfield[2]=tipo;newfield[3]=alpha;newfield[4]=texto;newfield[5]=id;toCheck[toCheck.length]=newfield;}
function addCheckOtherId(otherField,fieldname,tipo,alpha,texto,id,field){removeCheck(id);newfield=new Array();newfield[0]=otherField;newfield[1]=fieldname;newfield[2]=tipo;newfield[3]=alpha;newfield[4]=texto;newfield[5]=id;newfield[6]=field;toCheck[toCheck.length]=newfield;}
function addCheck(field,fieldname,tipo,alpha,texto){var id=field+'-'+tipo+'-'+contador+'-id';contador++;addCheckId(field,fieldname,tipo,alpha,texto,id);}
function removeCheck(id){index_value=-1;encontrado=false;while(!encontrado&&(index_value<(toCheck.length-1))){index_value++;encontrado=(id==toCheck[index_value][5]);}
while(index_value<(toCheck.length-1)){index_value++;toCheck[(index_value-1)]=toCheck[index_value];}
if(encontrado){toCheck.length=toCheck.length-1;}}
function checkEmail(mail){var email=/^[^@]+@[^@.]+\.[^@]*\w\w$/;var email2=/^[A-Za-z0-9][\w.-]+@\w[\w.-]+\.[\w.-]*[A-Za-z][A-Za-z]$/;if(!email.test(mail)||!email2.test(mail)){return false;}
return true;}
function addMsg(field){if(field[1]==""&&field[4]=="")
return"";else
return""+field[1]+" "+field[4]+"\n";}
function check(form){if(checkBoolean(form)){form.submit();return true;}
return false;}
function checkBoolean(form){var msg="";for(var i=0;i<toCheck.length;i++){field=toCheck[i];tipo=field[2];var formName=(typeof field[0][0]=="object")?field[0][0].form.name:field[0].form.name;if(formName!=form.name){tipo=-1;}
switch(tipo){case obligatorio:{valor=quitaBlancos(field[0].value);msg+=((valor=="")?addMsg(field):"");break;}
case numerico:{valor=field[0].value;if(valor!=""){msg+=((isInteger(valor)&&(valor>-1))?"":addMsg(field));};break;}
case telefono:{valor=field[0].value;if(valor!=""){msg+=((isInteger(valor)&&valor>0&&(valor.length>8&&valor.length<10))?"":addMsg(field));};break;}
case telefono_it:{valor=field[0].value;if(valor!=""){msg+=((isInteger(valor)&&valor>0&&(valor.length>8&&valor.length<12))?"":addMsg(field));};break;}
case mail:{valor=field[0].value;msg+=((!checkEmail(valor))?addMsg(field):"");break;}
case otro:{if(field[0].value!=""){alpha=field[3];x=eval(alpha);msg+=(!x?addMsg(field):"");};break;}
case numericoneg:{valor=field[0].value;if(valor!=""){msg+=(isInteger(valor)?"":addMsg(field));};break;}
case listamail:{valor=field[0].value;if(valor!=""){var mal="";x=new String(valor);x=x.replace(/\n/g,'');field[0].value=x;mails=x.split(',');var bien=new Array();for(ii=0;ii<mails.length;ii++){currmail=trim(mails[ii]);if(currmail.length>0){bien=bien.concat(new Array(currmail));if(!checkEmail(currmail)){mal+="  - "+currmail+"\n";}}}
field[0].value=bien.join(',');if(mal!=""){msg+=addMsg(field)+"\n"+mal;}};break;}
case telefonoint:{valor=quitaBlancos(field[0].value);if(valor!=""){if(document.location.host.indexOf('.it')>=0){tlfint=/^\+?[0-9]{5,19}$/;}else{tlfint=/^\+?[0-9]{9,19}$/;}
msg+=(tlfint.test(valor)?"":addMsg(field));}
break;}
case grupo_checks:{var bOk=false;for(var j=0;j<field[0].length;j++){if(field[0][j].checked){bOk=true;}}
if(!bOk){msg+=addMsg(field);}}}}
if(msg!=""){alert(msg)}
return(msg=="");}
function format(x){nStr=x.value;var rgx=/\./;while(rgx.test(nStr)){nStr=nStr.replace(rgx,'');}
var rgx=/\,/;while(rgx.test(nStr)){nStr=nStr.replace(rgx,'.');}
var dpos=nStr.indexOf('.');var nStrEnd='';if(dpos!=-1){nStrEnd=','+nStr.substring(dpos+1,nStr.length);nStr=nStr.substring(0,dpos);}
var rgx=/(\d+)(\d{3})/;while(rgx.test(nStr)){nStr=nStr.replace(rgx,'$1'+'.'+'$2');}
x.value=nStr;}
function unFormat(x){nStr=x.value;var rgx=/\./;while(rgx.test(nStr)){nStr=nStr.replace(rgx,'');}
var rgx=/,/;while(rgx.test(nStr)){nStr=nStr.replace(rgx,'.');}
x.value=nStr;}
function unFormatEvent(x){var code=(document.layers)?event.which:event.keyCode;if(code>=48&&code<=57){unFormat(x);}}
function limit(field,idlabel,max){if(field.value.length>=max){field.value=field.value.substr(0,max);}
getObj(idlabel).innerHTML=max-field.value.length;}
function checkEnter(event,action){var code=0;if(document.layers)code=event.which;else code=event.keyCode;if(code==13)return eval(action);return code;}