﻿/**
 * Custom jQuery Validator plugin
 * 
 * @author: Jeremy Burton
 * @version: 1.0 minified
 * @date: 8 December 2009
 *---------------------------------*/

(function(d){d.fn.validator=function(e,f){var b={minLength:3,emailRegEx:/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,phoneRegEx:/^(([0-9]{1})*[- .(]*([0-9a-zA-Z]{3})*[- .)]*[0-9a-zA-Z]{3}[- .]*[0-9a-zA-Z]{4})+$/,urlRegEx:/^(http[s]?:\/\/|ftp:\/\/)?(www\.)?[a-zA-Z0-9-\.]+\.(com|org|net|mil|edu|ca|co.uk|com.au|gov)$/,zipLength:5,status:"status"};f&&d.extend(b,f);var c="";this.each(function(){if(this.type==="text"||this.type==="textarea"||this.type==="password"||this.type==="select-one"){var a=d(this);if(a.hasClass("req")&&a.hasClass("ddl"))if(a.val()=="-1")a.addClass("error");else a.hasClass("error")&&a.removeClass("error");else if(a.hasClass("req")&&a.val().length===0){a.addClass("error");c+=a.attr("name")+" is required.<br />"}else if(a.hasClass("minLength")&&a.hasClass("req")&&a.val().length<b.minLength||a.hasClass("minLength")&&a.val().length>0&&a.val().length<b.minLength){a.addClass("error");c+=a.attr("name")+" requires at least "+b.minLength+" characters.<br />"}else a.hasClass("error")&&a.removeClass("error");if(a.hasClass("email")&&!a.hasClass("error")&&a.val().length>0&&!b.emailRegEx.test(a.val())){a.addClass("error");c+="Must be a valid email address.<br />"}if(a.hasClass("phone")&&!a.hasClass("error")&&a.val().length>0&&!b.phoneRegEx.test(a.val())){a.addClass("error");c+="Must enter a valid phone number.<br />"}if(a.hasClass("url")&&!a.hasClass("error")&&a.val().length>0&&!b.urlRegEx.test(a.val())){a.addClass("error");c+="Must enter a valid URL.<br />"}if(a.hasClass("zip")&&!a.hasClass("error")&&!a.hasClass("req")&&a.val().length>0)if(isNaN(a.val())||a.val().length!==b.zipLength){a.addClass("error");c+="Zipcode must be "+b.zipLength+" digits.<br />"}}});c!==""?e(false):e(true);return this}})(jQuery);
