(function($){$.fn.wsValidate=function(o){return new $ws(this,o);};$.ws.wsValidate=function(input,o){this.o=$.extend({alert:{empty:"Empty field(s)",email:"Invalid email address",str:"Not a String",num:"Not a Number",empty:"Empty field"},input:input,error:0,regex:{empty:/^$/,email:/^[\w\d\._\-\!\#\$\%\&\'\*\+\/\=\?\^`\{\}\|\~]+@[\w\d-\.]+\.\w{2,4}(\.\w{2})?$/,num:/^\d+$/,str:/^[a-zA-Z\-\'_ \?]+$/}},o||{});this.init();};var $ws=$.ws.wsValidate;$ws.fn=$ws.prototype={wsValidate:"0.0.1"};$ws.fn.extend=$.extend;$ws.fn.extend({init:function(){var self=this,o=this.o;o.input=$("*[@type!=hidden]",this.o.input).filter(":input");if(o.input.length>0&&!o.error){$(o.input).each(function(i,v){v.value=$.trim(v.value.replace("\n|\r",""));if((!o.error&&$(v).is(".req"))&&v.value.match(o.regex.empty)){self.error(v,o.alert.empty);}if((!o.error&&$(v).is(".req.email"))&&!v.value.match(o.regex.email)){self.error(v,o.alert.email);}if((!o.error&&$(v).is(".req.str"))&&!v.value.match(o.regex.str)){self.error(v,o.alert.str);}if((!o.error&&$(v).is(".req.num"))&&!v.value.match(o.regex.num)){self.error(v,o.alert.num);}if((!o.error&&$(v).is(".req.empty"))&&v.value.match(o.regex.empty)){self.error(v,o.alert.empty);}return o.error;}).end();}return o.error;},error:function(v,m){var o=this.o,t={error:0,status:0,submit:0};if(!o.error){$.each(t,function(i,v){return clearTimeout(v);});if(!o.enhanced){if($(".status").length==0){$('<div class="status"><span></span></div>').prependTo(".validate");}$(".status",".validate").children("span").text(m).end().slideDown("slow").end().find("input[@class=submit]").attr("disabled",true);t.submit=setTimeout(function(){$("input[@class=submit]",".validate").attr("disabled",false);},3000);t.status=setTimeout(function(){$(".status",".validate").slideUp("slow");o.error=0;},9500);}else{alert(m);}$("label[@for!="+v.id+"]",".validate>fieldset").removeClass("error");$("label[@for="+v.id+"]",".validate>fieldset").addClass("error");t.error=setTimeout(function(){$("label[@for="+v.id+"]",".validate>fieldset").removeClass("error");},9500);}$(v).focus();o.error=1;return o.error;}});})(jQuery);