﻿/*
	jQuery Form Validators v0.3.3
	Website: http://validator.codeplex.com/
	License: http://validator.codeplex.com/license
*/

function validate(b){var a=true;jQuery("*[validate="+b+"]").each(function(c,d){if(check(d)){jQuery(d).highlight();if(a){jQuery(d).focus()}a=false}else{jQuery(d).unhighlight()}});return a}function revalidate(){if(!check(this)){jQuery(this).unhighlight()}else{jQuery(this).highlight()}}function check(c){var a=jQuery(c);var b=a.find("input:radio, input:checkbox").size();if(a.attr("disabled")||b>0&&b==a.find("input:radio:disabled, input:checkbox:disabled").size()){return""}if(a.val()==""&&a.find("input:radio:checked, input:checkbox:checked").size()==0){return a.attr("require")?"require":""}if(a.attr("regular")&&a.attr("validExpress")&&!new RegExp(a.attr("validExpress"),"m").test(a.val())){return"regular"}if(a.attr("regular")&&a.attr("invalidExpress")&&new RegExp(a.attr("invalidExpress"),"m").test(a.val())){return"regular"}if(a.attr("compare")&&jQuery("#"+a.attr("compareTo")).val()!=a.val()){return"compare"}if(a.attr("custom")&&!new Function(a.attr("customFn")).call(c)){return"custom"}if(a.attr("invalid")&&a.val()==a.attr("invalidVal")){return"invalid"}}function showAlert(){var a=jQuery(this);var c=a.offset().top+a.height()+4;var b=a.offset().left+Math.max(a.width()-260,0);a.parents().each(function(){if(jQuery(this).css("position")!="static"&&(!jQuery.browser.mozilla||jQuery(this).css("display")!="table")){var d=jQuery(this).offset();c-=d.top;b-=d.left;return false}});a.parent().children(".alertbox").remove();a.parent().append("<div class='alertbox' style='top:"+c+"px; left:"+b+"px;'><div>"+a.attr(check(this))+"</div></div>")}function hideAlert(){jQuery(this).parent().children(".alertbox").remove()}jQuery.fn.highlight=function(){this.addClass("highlight").focus(showAlert).blur(hideAlert).change(revalidate);return this};jQuery.fn.unhighlight=function(){this.removeClass("highlight").unbind("focus",showAlert).unbind("blur",hideAlert).parent().children(".alertbox").remove();return this};

