function emailCheck(emailStr,doShowAlerts){var checkTLD=1;var ALERT=true;if(doShowAlerts!=null&&typeof(doShowAlerts)=="boolean"){ALERT=doShowAlerts;}var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/i;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){if(ALERT){alert("Email address seems incorrect (check @ and .'s)");}return false;}var user=matchArray[1];var domain=matchArray[2];for(i=0;i<user.length;i++){if(user.charCodeAt(i)>127){if(ALERT){alert("Ths username contains invalid characters.");}return false;}}for(i=0;i<domain.length;
i++){if(domain.charCodeAt(i)>127){if(ALERT){alert("Ths domain name contains invalid characters.");}return false;}}if(user.match(userPat)==null){if(ALERT){alert("The username doesn't seem to be valid.");}return false;}var IPArray=domain.match(ipDomainPat);if(IPArray!=null){for(var i=1;i<=4;i++){if(IPArray[i]>255){if(ALERT){alert("Destination IP address is invalid!");
}return false;}}return true;}var atomPat=new RegExp("^"+atom+"$");var domArr=domain.split(".");var len=domArr.length;for(i=0;i<len;i++){if(domArr[i].search(atomPat)==-1){if(ALERT){alert("The domain name does not seem to be valid.");}return false;}}if(checkTLD&&domArr[domArr.length-1].length!=2&&domArr[domArr.length-1].search(knownDomsPat)==-1){if(ALERT){alert("The address must end in a well-known domain or two letter "+"country.");
}return false;}if(len<2){if(ALERT){alert("This address is missing a hostname!");}return false;}return true;}
