!function(){function a(a){var r;for(r=0;re||e>"9")return!1}return!0}function r(a,r){var e,i="";for(e=0;e=r;r++)this[r]=31,(4==r||6==r||9==r||11==r)&&(this[r]=30),2==r&&(this[r]=29);return this}function t(a){switch(a){case"DMY":var r="dd/mm/yy";break;case"MDY":var r="mm/dd/yy";break;case"YMD":var r="yy/mm/dd";break;default:var r="dd/mm/yy"}return r}var l=new Object,l={es:{valid_invalid_email:"Email inválido",valid_numbers_only:"Números únicamente",valid_required_field:"Campo obligatorio",valid_invalid_url:"URL incorrecta",valid_repeat_error:"Campos no coinciden",valid_max_length_error:"Longitud máxima {{n}} caracteres",valid_min_length_error:"Longitud mínima {{n}} caracteres",valid_greater_error:"El campo tiene que ser mayor que {{val}}",valid_less_error:"El campo tiene que ser menor que {{val}}",valid_invalid_date:"Fecha inválida",valid_invalid_date_format:"The date format should be : {{format}}",valid_invalid_day:"Please enter a valid day",valid_invalid_month:"Please enter a valid month",valid_invalid_year:"Please enter a valid 4 digit year between {{min}} and {{max}}",valid_invalid_username:"Please enter a valid username"}},o=0,d="",s="",n="",v="DMY",u="",F=0,m=0,c="",_={init:function(a){var r=new Date,e={errClass:"val_error",sucClass:"val_success",ttipClass:"show_tooltip",extraItems:!1,lang:"es",dateDivider:"/",minYear:1900,maxYear:r.getFullYear()},i=$.extend(e,a),t=$(this),o=t.find("input, textarea"),_=0;t.validator;return d=i.ttipClass,s=i.errClass,n=i.sucClass,u=i.dateDivider,F=i.minYear,m=i.maxYear,c=i.lang,$.each(o,function(a,r){var e=$(r),o=e.data(),d=e.val(),s=void 0!=o.validate?o.validate.split(" "):!1,n=e.attr("type"),u=e.parent(),F=0,m="";s&&$.each(s,function(a,r){switch(r=r.toLowerCase()){case"numeric":isNaN($.trim(d))?(t.validator("error",u),m+="
  • "+l[i.lang].valid_numbers_only+"
  • ",F++):0==F&&(t.validator("removeTooltip",u),t.validator("success",u));break;case"url":t.validator("isURL",$.trim(d))?0==F&&(t.validator("removeTooltip",u),t.validator("success",u)):(t.validator("error",u),m+="
  • "+l[i.lang].valid_invalid_url+"
  • ",F++);break;case"string":t.validator("isString",$.trim(d))?0==F&&(t.validator("removeTooltip",u),t.validator("success",u)):(t.validator("error",u),m+="
  • "+l[i.lang].valid_invalid_username+"
  • ",F++);break;case"email":t.validator("isEmail",$.trim(d))?0==F&&(t.validator("removeTooltip",u),t.validator("success",u)):(t.validator("error",u),m+="
  • "+l[i.lang].valid_invalid_email+"
  • ",F++);break;case"required":"checkbox"==n?e.is(":checked")?0==F&&t.validator("success",u):(t.validator("error",u),m+="
  • "+l[i.lang].valid_required_field+"
  • ",F++):""==$.trim(d)?(t.validator("error",u),m+="
  • "+l[i.lang].valid_required_field+"
  • ",F++):0==F&&(t.validator("removeTooltip",u),t.validator("success",u));break;case"date":var s=void 0!=o.format?o.format:v,c=t.validator("isDate",d,s);c.status===!1&&""!=$.trim(d)?(t.validator("error",u),m+=c.message,F++):0==F&&(t.validator("removeTooltip",u),t.validator("success",u))}}),void 0!=o.repeat&&($.trim(d)!=$.trim($(o.repeat).val())?(t.validator("error",u),m+="
  • "+l[i.lang].valid_repeat_error+"
  • ",F++):0==F&&(t.validator("removeTooltip",u),t.validator("success",u))),void 0!=o.greater&&($.trim(d)<=$.trim($(o.greater).val())?(t.validator("error",u),m+="
  • "+l[i.lang].valid_greater_error+"
  • ",F++):0==F&&(t.validator("removeTooltip",u),t.validator("success",u))),void 0!=o.less&&(""!=$.trim(d)&&""!=$.trim($(o.less).val())&&$.trim(d)>=$.trim($(o.less).val())?(t.validator("error",u),t.validator("addTooltip",u,l[i.lang].valid_less_error.replace("{{val}}",$(o.less).val())),t.validator("error",$(o.less).parent()),t.validator("addTooltip",$(o.less).parent(),l[i.lang].valid_greater_error.replace("{{val}}",d)),F++):0==F&&(t.validator("removeTooltip",u),t.validator("success",u),t.validator("removeTooltip",$(o.less).parent()),t.validator("success",$(o.less).parent()))),void 0!=o.equalgreater&&(""!=$.trim(d)&&""!=$.trim($(o.equalhigher).val())&&$.trim(d)<$.trim($(o.equalgreater).val())?(t.validator("error",u),t.validator("addTooltip",u,l[i.lang].valid_greater_error),F++):0==F&&(t.validator("removeTooltip",u),t.validator("success",u))),void 0!=o.equalless&&(""!=$.trim(d)&&""!=$.trim($(o.equalless).val())&&$.trim(d)>$.trim($(o.equalless).val())?(t.validator("error",u),t.validator("addTooltip",u,l[i.lang].valid_less_error.replace("{{val}}",$(o.equalless).val())),t.validator("error",$(o.equalless).parent()),t.validator("addTooltip",$(o.equalless).parent(),l[i.lang].valid_greater_error.replace("{{val}}",d)),F++):0==F&&(t.validator("removeTooltip",u),t.validator("success",u),t.validator("removeTooltip",$(o.equalless).parent()),t.validator("success",$(o.equalless).parent()))),void 0!=o.max_length&&(d.length>o.max_length?(t.validator("error",u),m+="
  • "+l[i.lang].valid_max_length_error.replace("{{n}}",o.max_length)+"
  • ",F++):0==F&&t.validator("success",u)),void 0!=o.min_length&&(d.length"+l[i.lang].valid_min_length_error.replace("{{n}}",o.min_length)+"",F++):0==F&&t.validator("success",u)),""!=m&&t.validator("addTooltip",u,m),_+=F}),0!=i.extraItems&&$.each(i.extraItems,function(a,r){var e=$(r);$.each(e,function(r,e){$(e).find("."+s).length>0?t.validator("error",$(a).eq(r)):t.validator("success",$(a).eq(r))})}),0==_?!0:!1},error:function(a){a.addClass(s).removeClass(n)},success:function(a){a.addClass(n).removeClass(s)},isDate:function(o,d){var s="",n=0,v=i(12),_=o.indexOf(u),p=o.indexOf(u,_+1);if(d=d.toUpperCase(),"DMY"==d)var g=o.substring(0,_),$=o.substring(_+1,p),h=o.substring(p+1);else if("MDY"==d)var $=o.substring(0,_),g=o.substring(_+1,p),h=o.substring(p+1);else{if("YMD"!=d)return!1;var g=o.substring(p+1),$=o.substring(_+1,p),h=o.substring(0,_)}strYr=h,"0"==g.charAt(0)&&g.length>1&&(g=g.substring(1)),"0"==$.charAt(0)&&$.length>1&&($=$.substring(1));for(var f=1;3>=f;f++)"0"==strYr.charAt(0)&&strYr.length>1&&(strYr=strYr.substring(1));day=parseInt(g),month=parseInt($),year=parseInt(strYr),(-1==_||-1==p)&&(s+="
  • "+l[c].valid_invalid_date_format.replace("{{format}}",t(d))+"
  • ",n++),(g.length<1||day<1||day>31||2==month&&day>e(year)||day>v[month])&&(s+="
  • "+l[c].valid_invalid_day+"
  • ",n++),($.length<1||month<1||month>12)&&(s+="
  • "+l[c].valid_invalid_month+"
  • ",n++),(4!=h.length||0==year||yearm)&&(s+="
  • "+l[c].valid_invalid_year.replace("{{min}}",F).replace("{{max}}",m)+"
  • ",n++),(-1!=o.indexOf(u,p+1)||0==a(r(o,u)))&&(s+="
  • "+l[c].valid_invalid_date.replace("{{min}}",F).replace("{{max}}",m)+"
  • ",n++);var D={status:0==n?!0:!1,message:s};return D},isEmail:function(a){return/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(a)},isURL:function(a){return/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},isString:function(a){return/^[a-z\d_-]{4,30}$/i.test(a)},addTooltip:function(a,r){var e=a.data();if(a.hasClass(s)&&void 0!=e.tooltip&&""!=e.tooltip)$("#_ttip-"+e.tooltip).html(r);else{this.validator("generateUniqueID")}},removeTooltip:function(a){var r=a.data();a.hasClass(s)&&void 0!=r.tooltip&&($("#ttip-"+r.tooltip).remove(),a.removeData("tooltip"))},generateUniqueID:function(){return o++,o.toString(16)},destroy:function(){this.unbind()}};$.fn.validator=function(a,r){return _[a]?_[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void $.error("Method "+a+" does not exist on jQuery.validator"):_.init.apply(this,arguments)}}(jQuery);