var reWhitespace=/^\s+$/;var reAlphanumeric=/^[A-Za-z0-9]+$/;var rePasswordChars=/^[A-Za-z0-9\_\-\#\$\!\@\.\*]+$/;var errorCount=0;var errMsgDefault="--- Form Errors ----------------\n";errMsgDefault+="\nThe following Errors have occurred\n\n";var errMsg=errMsgDefault;var reWebAddress=/^http[s]?:\/\/(.*)?[\/]?$/i;var reWebDomain=/^.*\.([A-Za-z]{2,})$/;var reEmail=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;var validFLD="COM|NET|ORG|EDU|MIL|GOV|BIZ|PRO|AERO|NAME|INFO|COOP|MUSEUM";var reDigit=/^\d$/;var reLetterOrDigit=/^[A-Za-z0-9]$/var reCAPost=/^[A-Za-z]\d[A-Za-z]\d[A-Za-z]\d$/;var Delimeter="|";function validate(f){for(var k=0;k<f.length;k++){var e=f.elements[k];if(e.required&&(e.type=="text"||e.type=='password'||e.type=='textarea')){if(isWhitespace(e.value)){errorCount++;errMsg+=e.realname+" is Required\n";}else if(e.name=='passwd'&&!isValidPasswordChar(e.value)){errorCount++;errMsg+=e.realname+" contains invalid characters\n";}else if(e.name=='passwd'&&e.match){if(!isPassMatch(e.value,f.passwd2.value)){errorCount++;errMsg+="Passwords do not match\n";}}else if(e.name=='email'||e.name=='frmEmail'){if(!reEmail.test(e.value)){errorCount++;errMsg+=e.realname+" has an Invalid Format\n";}else{var FLD=e.value.replace(reEmail,"$1").toUpperCase();if(validFLD.indexOf(FLD)==-1&&FLD.length>2){errorCount++;errMsg+=e.realname+" has an Invalid Format\n";}}}else if(e.fieldtype=="number"){if(e.limit_high!=null&&e.limit_low!=null&&isDigit(e.value)){if(parseInt(e.value)<e.limit_low||parseInt(e.value)>e.limit_high){errorCount++;errMsg+=e.realname+" must be between "+e.limit_low+" and "+e.limit_high+"\n";}}}else if(e.sizelimit){if((e.value.length<e.sizeMin)||(e.value.length>e.sizeMax)){errorCount++;errMsg+=e.realname+" must be between "+e.sizeMin+" and "+e.sizeMax+" characters in length\n";}}}
if(e.required&&e.type=="select-one"){if(e.selectedIndex==0){errorCount++;errMsg+=e.realname+" is Required\n";}}}
if(errorCount<1){return true;}else{alert(errMsg);errMsg=errMsgDefault;errorCount=0;return false;}
return false;}
function isEmpty(s){return((s==null)||(s.length==0))}
function isWhitespace(s){return(isEmpty(s)||reWhitespace.test(s))}
function isValidLength(s,min,max){return(s.length>=min&&s.length<=max)}
function isDigit(c){return reDigit.test(c)}
function isLetterOrDigit(c){return reLetterOrDigit.test(c)}
function isValidCanadaPostalCode(s){return reCAPost.test(s)}
function isValidEmail(s){return reEmail.test(s)}
function stripNonDigit(s){var i;var returnValue='';for(i=0;i<s.length;i++){var c=s.charAt(i);if(isDigit(c))returnValue+=c;}
return returnValue;}
function stripNonAlphanumeric(s){var i;var returnValue='';for(i=0;i<s.length;i++){var c=s.charAt(i);if(isLetterOrDigit(c))returnValue+=c;}
return returnValue;}
function isAlphanumeric(s){if(isEmpty(s)){if(isAlphanumeric.arguments.length==1)return false;else return(isAlphanumeric.arguments[1]==true);}else{return reAlphanumeric.test(s);}}
function isValidPasswordChar(s){if(isEmpty(s)){if(isValidPasswordChar.arguments.length==1)return false;else return(isValidPasswordChar.arguments[1]==true);}else{return rePasswordChars.test(s);}}
function isPassMatch(s1,s2){if(s1==s2){return true;}else{return false;}}
