﻿// jQuery Form Validators v0.3.5
// License: http://validator.codeplex.com/license
var validate; (function(c){function i(){f(this)?c(this).highlight():c(this).unhighlight()}function f(b){var a=c(b),e=a.find("input:radio, input:checkbox").size();if(a.attr("disabled")||e>0&&e==a.find("input:radio:disabled, input:checkbox:disabled").size())return"";if((a.val()==""||a.val()==null)&&a.find("input:radio:checked, input:checkbox:checked").size()==0)return a.attr("require")?"require":"";if(a.attr("regular")&&a.attr("validExpress")&&!RegExp(a.attr("validExpress"),"m").test(a.val()))return"regular";if(a.attr("regular")&& a.attr("invalidExpress")&&RegExp(a.attr("invalidExpress"),"m").test(a.val()))return"regular";if(a.attr("compare")&&c("#"+a.attr("compareTo")).val()!=a.val())return"compare";if(a.attr("custom")&&!(new Function(a.attr("customFn"))).call(b))return"custom";if(a.attr("invalid")&&a.val()==a.attr("invalidVal"))return"invalid";if(validators!=void 0)for(var d in validators)if(a.attr(d)&&!validators[d].call(b))return d}function g(){var b=c(this),a=b.offset().top-4,e=b.offset().left + b.width()- 20;b.parents().each(function(){if(c(this).css("position")!="static"&&(!c.browser.mozilla||c(this).css("display")!="table")){var b=c(this).offset();a-=b.top;e-=b.left;return!1}});b.parent().children(".alertbox").remove();b.parent().append("<div class='alertbox' style='top:"+a+"px; left:"+e+"px;'><div>"+b.attr(f(this))+"</div></div>")}function h(){c(this).parent().children(".alertbox").remove()}validate=function(b){var a=!0;c("*[validate="+b+"]").each(function(b,d){f(d)?(c(d).highlight(),a&&c(d).find(":input").andSelf().focus(), a=!1):c(d).unhighlight()});return a};c.fn.highlight=function(){this.addClass("highlight").focus(g).blur(h).change(i);return this};c.fn.unhighlight=function(){this.removeClass("highlight").unbind("focus",g).unbind("blur",h).parent().children(".alertbox").remove();return this}})(jQuery);
var validators={email:function(){return RegExp("[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?.)+[a-zA-z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?","m").test(this.value);}};
