var ILValidate={isEmpty:function(A,B){return ILValidate.isShort(A,1,B)},isShort:function(B,A,D,H){B=$(B);var E=B.value.strip();var G=ILValidate.longitudReal(E);var C=false;var F;if(G==0){F=D;C=true}else{if(G<A){F=H?H:D;C=true}}return ILValidate.showError(C,B,F)},isLong:function(A,F,E){A=$(A);var C=A.value.strip();var D=ILValidate.longitudReal(C);var B=D>F;return ILValidate.showError(B,A,E)},isLongTextarea:function(A,F){A=$(A);var C=A.value.strip();var E=ILValidate.longitudReal(C);var D="Máximo número de caracteres permitido "+F+". Número actual: "+E+".";var B=E>F;return ILValidate.showError(B,A,D)},isBadTelefono:function(A,B){return ILValidate.hasBadChars(A,"0123456789+- ",B)},isBadNumber:function(A,B){return ILValidate.hasBadChars(A,"0123456789",B)},hasBadChars:function(B,A,F){B=$(B);var E=B.value.strip();var C=false;for(var D=0;D<E.length;D++){var G=E.charAt(D);if(A.indexOf(G)==-1){C=true;break}}return ILValidate.showError(C,B,F)},isBadCodigoPostal:function(A,F,D,E){A=$(A);var C=A.value.strip();var B=false;if(C.length>0){if(F==64){B=ILValidate.isBadNumber(A)||ILValidate.isShort(A,5)||ILValidate.isLong(A,5)}else{B=ILValidate.isShort(A,3)||ILValidate.isLong(A,10)}}return ILValidate.showError(B,A,(F==64)?D:E)},isEmptyPulldown:function(A,C){var B=!ILControl.hasSelected(A);return ILValidate.showError(B,A,C)},isDuplicated:function(A,E,D){A=$(A);var C=A.value.strip();var B=ILControl.isInArray(E,C);if(!B){E.push(C)}return ILValidate.showError(B,A,D)},isEmptyCheckTable:function(A,D){A=$(A);var C=0;var E=A.select("input[type=checkbox]");E.each(function(F){C+=(F.checked?1:0)});var B=(C==0);return ILValidate.showError(B,A,D)},isEmptyRadioTable:function(A,D){A=$(A);var C=0;var E=A.select("input[type=radio]");E.each(function(F){C+=(F.checked?1:0)});var B=(C==0);return ILValidate.showError(B,A,D)},showError:function(D,A,G){A=$(A);if(A){A.addClassName(D?"error-input":"validated-input");A.removeClassName(D?"validated-input":"error-input")}if(!G){G=""}var C=$(A.id+"_info");var E=A.id+"_error";var F=$(E);if(!F){var B=C?C:A;B.insert({after:"<span id='"+E+"'></span>"});F=$(E)}F.addClassName("error");F.update(G);if(C){if(G.length==0){F.update(C.innerHTML)}D?C.hide():C.show()}D?F.show():F.hide();return D},showErrorGeneral:function(){errorGeneral=$("error_general");if(errorGeneral){errorGeneral.addClassName("error");errorGeneral.update("Por favor, revisa los campos en rojo.");errorGeneral.show();(function(){$("error_general").update("&nbsp;")}).delay(2)}},hideError:function(A){ILValidate.showError(false,A)},hideErrors:function(){errorGeneral=$("error_general");if(errorGeneral){errorGeneral.update("&nbsp;")}$$(".form span.error").invoke("hide");$$(".form span.info").invoke("show");$$(".error").invoke("hide");$$(".error-input").invoke("removeClassName","error-input");$$(".validated-input").invoke("removeClassName","validated-input");$$(".error-general").invoke("removeClassName","error-general")},longitudReal:function(C){var B=0;for(var A=0;A<C.length;++A){if(C.charCodeAt(A)==10&&(A==0||C.charCodeAt(A-1)!=13)){++B}++B}return B},isBadWeb:function(A,B){return ILValidate.hasInvalidChars(A,"@",B)},_actualizaWebWatch:function(C){C=$(C);ILValidate.isBadWeb(C,"Página web no válida.");var A=C.value;A=ILValidate.trim(A);var B=false;if(A.substring(0,7).toLowerCase()=="http://"){B=A.length>7}else{if(A.substring(0,8).toLowerCase()=="https://"){B=A.length>8}else{if(A.length>0){B=true;A="http://"+A}}}enlace=$(C.id+"_verificar");if(B){if(enlace.href!=A){enlace.href=A;enlace.show()}}else{enlace.hide()}ILValidate._actualizaWebWatch.delay(0.5,C)},webValidation:function(A){A=$(A);A.observe("blur",function(){ILValidate.isBadWeb(A,"Página web no válida.")});var B=$(A.id+"_info");B.insert("<a id='"+A.id+"_verificar' href='#' target='_blank' style='display:none;'>Comprobar la página web</a>");ILValidate._actualizaWebWatch(A)},hasInvalidChars:function(A,F,E){A=$(A);var D=A.value.strip();var B=false;for(var C=0;C<D.length;C++){var G=D.charAt(C);if(F.indexOf(G)!=-1){B=true;break}}return ILValidate.showError(B,A,E)},trim:function(A){return A.replace(/^\s*|\s*$/g,"")}};