(function(a){a.fn.validate=function(c){var d=a.extend({},a.fn.validate.defaults,c);var e=d.successHandler||a.fn.validate.successHandler,b=d.errorHandler||a.fn.validate.errorHandler;return this.each(function(){var f=a(this);f.submit(function(o){o.preventDefault();a(this).data("validating",true);if(d.preValidationFn){if(d.preValidationFn.call(this)===false){return false}}var i=false;var n=d.checks||false;if(n){for(var k in n){if(this[k]){var p=this[k].length&&!this[k].type?"radio":this[k].type;switch(p){case"checkbox":if(!this[k].checked){if(b.call(this,k,n[k])===false){return false}i=true}break;case"file":case"textarea":case"password":case"text":if(this[k].value===""||(k.indexOf("email")>=0&&!a.fn.validate.validEmail(this[k].value))){if(b.call(this,k,n[k])===false){return false}i=true}break;case"select-one":if(this[k].selectedIndex===0){if(b.call(this,k,n[k])===false){return false}i=true}break;case"radio":var j=this[k].length?this[k]:[this[k]],g=false;for(var h=j.length,m=0;m<h;m++){if(j[m].checked){g=true}}if(!g){if(b.call(this,k,n[k])===false){return false}i=true}break}}}}if(!i){if(e.call(this,d)===false){return false}else{a(this).data("validated",true)}}})})};a.fn.validate.defaults={submit:true};a.fn.validate.errorHandler=function(b,c){alert(c);if(this[b].length){this[b][0].focus()}else{this[b].focus();this[b].select()}return false};a.fn.validate.successHandler=function(b){if(b.submit){this.submit()}};a.fn.validate.validEmail=function(b){var c=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;return c.test(b)?true:false}})(jQuery);