
strMessages="";function validate_field(objField,strTypes,strMessage,objExtraArgs){var arrTypes=strTypes.split("|");var bolValid=true;for(var intPosition in arrTypes){var strType=arrTypes[intPosition];with(objField){switch(strType){case"required":if(value==null||value=="")bolValid=false;break;case"checked":if(!checked)bolValid=false;break;case"email":if(value.length!=0){var objRegExp=new RegExp("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$","i");if(!objRegExp.test(value))bolValid=false;}
break;case"uszip":if(value.length!=0){var objRegExp=new RegExp("^([0-9]{5})(-[0-9]{4})?$");if(!objRegExp.test(value))bolValid=false;}
break;case"phone":if(value.length!=0){var objRegExp=new RegExp("^[0-9]{3}[-\/\.][0-9]{3}[-\/\.][0-9]{4}$");if(!objRegExp.test(value))bolValid=false;}
break;case"url":if(value.length!=0){var objRegExp=new RegExp("^[a-z]{3,5}(://){1}[\w~+\-]+\\.{1}[a-z]{2,}.*$","i");if(!objRegExp.test(value))bolValid=false;}
break;case"match":if(value!=objExtraArgs.strMatch)bolValid=false;break;case"length":if(value.length!=objExtraArgs.intLength)bolValid=false;break;case"minlength":if(value.length<objExtraArgs.intMinLength)bolValid=false;bolValid=(value.length>=objExtraArgs.intMinLength);break;case"maxlength":if(value.length>objExtraArgs.intMaxLength)bolValid=false;break;case"numeric":strValidChars="";if(objExtraArgs.strNumberType=="whole"){strValidChars="0123456789";}else{strValidChars="0123456789.-";}
var strChar;if(value.length==0){bolValid=false;}else{for(var i=0;i<value.length;i++){strChar=value.charAt(i);if(strValidChars.indexOf(strChar)==-1){bolValid=false;break;}}}
break;case"creditcard_number":var intCheck=0;var intDigit=0;var bolEven=false;var strValue=value.replace(/\D/g,"");for(n=strValue.length-1;n>=0;n--){var strDigit=strValue.charAt(n);var intDigit=parseInt(strDigit,10);if(bolEven){if((intDigit*=2)>9)intDigit-=9;}
intCheck+=intDigit;bolEven=!bolEven;}
if((intCheck%10)!=0)bolValid=false;break;case"creditcard_code":if(value.length!=0){strValidChars="0123456789";for(i=0;i<value.length;i++){strChar=value.charAt(i);if(strValidChars.indexOf(strChar)==-1){bolValid=false;break;}}
if(objExtraArgs.strCardType=="amex"&&value.length!=4){bolValid=false;}else if(objExtraArgs.strCardType!="amex"&&value.length!=3){bolValid=false;}}
break;case"year":if(value.length!=0){strValidChars="0123456789";for(i=0;i<value.length;i++){strChar=value.charAt(i);if(strValidChars.indexOf(strChar)==-1){bolValid=false;break;}}
if(value.length!=4){bolValid=false;}}
break;case"month_numeric":if(value.length!=0){strValidChars1="123456789";strValidChars2="012";if(value.charAt(0)==0){if(strValidChars1.indexOf(value.charAt(1))==-1)bolValid=false;}else if(value.charAt(0)==1){if(strValidChars2.indexOf(value.charAt(1))==-1)bolValid=false;}else{bolValid=false;}}
break;}}}
if(!bolValid){strMessages+="<div class=\"error\">"+strMessage+"</div>";$(objField).addClass("error");location.href="#messages";objField.focus();}
return bolValid;}
function displayMessages(){if(strMessages!="")$("#messages").html(strMessages);strMessages="";}
function resetFieldErrors(objForm){$(objForm).find(".error").removeClass("error");}
