var s={borderStyle:"1px solid #CC0000",fontColor:"#CC0000",defaultError:"is a required field",emailError:"must be a valid email address",phoneError:"must be a valid phone number",postError:"must be a valid postcode"};(function($){jQuery.fn.fatValidate=function(o){s=$.extend(s,o);return this.each(function(){$(this).submit(function(){return check($(this).serializeArray())})})}})(jQuery);var output=$("#formErrors");var outputStr="";function check(o){var $return=true;outputStr="";for(x in o){if(!validate(o[x])){$return=false}};output.html(outputStr);return $return};function validate(e){var elem=$("[name='"+e.name+"']");var label=$("label[for='"+e.name+"']");var passed=true;var errorStr="";elem.removeAttr("style");label.removeAttr("style");if(elem.hasClass("required")){if(e.value==''||e.value==null){passed=false;errorStr=s.defaultError}else if(elem.hasClass("email")){passed=doRegex("email",e.value);errorStr=s.emailError}else if(elem.hasClass("phone")){passed=doRegex("phone",e.value);errorStr=s.phoneError}else if(elem.hasClass("postcode")){passed=doRegex("postcode",e.value);errorStr=s.postError}}else{passed=true};if(!passed){createError(e.name,errorStr);return false}else{return true}};function doRegex(type,val){var regex;switch(type){case"email":regex=/([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})/;break;case"phone":regex=/[0-9\+]/;break;case"postcode":var pcArr=val.split(" ");if(pcArr.length>1){val=pcArr.join("")};regex=/(^[A-Z]{1,2}[0-9]{1,2})([0-9][A-Z]{2}$)/i;break}if(regex.test(val)){return true}else{return false}}function createError(elemName,errorStr){var label=$("label[for='"+elemName+"']");$("[name='"+elemName+"']").css({"border":s.borderStyle});label.css({"color":s.fontColor,"fontWeight":"bold"});outputStr+="<strong><span>"+label.text()+"</span> "+errorStr+"</strong><br />"};
