function isEmail(x)
{var emailStr=x.value;var emailPat=/^(.+)@(.+)$/;var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";var validChars="\[^\\s"+specialChars+"\]";var quotedUser="(\"[^\"]*\")";var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;var atom=validChars+'+';var word="("+atom+"|"+quotedUser+")";var userPat=new RegExp("^"+word+"(\\."+word+")*$");var domainPat=new RegExp("^"+atom+"(\\."+atom+")*$");var matchArray=emailStr.match(emailPat);if(matchArray==null)
return"The email address seems incorrect (check @ and .'s)";var user=matchArray[1];var domain=matchArray[2];if(user.match(userPat)==null)
return"The email address username doesn't seem to be valid";var IPArray=domain.match(ipDomainPat);if(IPArray!=null)
{for(var i=1;i<=4;i++){if(IPArray[i]>255)
return"The email address destination IP address is invalid";}
return"";}
var domainArray=domain.match(domainPat);if(domainArray==null)
return"The email address domain name doesn't seem to be valid.";var atomPat=new RegExp(atom,"g");var domArr=domain.match(atomPat);var len=domArr.length;if(domArr[domArr.length-1].length<2||domArr[domArr.length-1].length>4)
return"The email address must end in a three or four letter domain, or two letter country.";if(len<2)
return"The email address is missing a hostname";return"";}
function valIsNumber(x){if(getLength(x)>0){if(isNaN(getValue(x)))
return"must be a number";else if(parseInt(getValue(x))>=0)
return"";else
return"must be a number";}else{return"";}}
function getValue(x){if(x.type.substr(0,6)=="select")
return x.options[x.selectedIndex].value;else
return x.value;}
function getLength(x){if(x.type.substr(0,6)=="select")
if(x.selectedIndex>-1)
return x.options[x.selectedIndex].value.length;else
return 0;else{x.value=trimString(x.value);return x.value.length;}}
function trimString(theString){var newString=theString;while(newString.charAt(0)==" "){newString=newString.substring(1,newString.length);}
while(newString.charAt(newString.length-1)==" "){newString=newString.substring(0,newString.length-1);}
return newString;}