function emailCheck (emailStr) {  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) {    alert("Email address seems incorrect (check @ and .'s)")    return false  }  var user=matchArray[1]  var domain=matchArray[2]  if (user.match(userPat)==null) {    alert("The mailbox does not 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) {        alert("Destination IP address is invalid!")        return false      }    }    return true  }  var domainArray=domain.match(domainPat)  if (domainArray==null) {    alert("The domain name does not seem to be valid.")    return false  }  var atomPat=new RegExp(atom,"g")  var domArr=domain.match(atomPat)  var len=domArr.length  var str1 = "travel";  var str2 = "museum";  //var testTravel = domArr[domArr.length-1].equalsIgnoreCase(str1);  //var testMuseum = domArr[domArr.length-1].equalsIgnoreCase(str2);  //alert("test for travel = "+testTravel+"\ntest for museum = "+testMuseum);          if (domArr[domArr.length-1].length<2 ||      domArr[domArr.length-1].length>4 &&      !(domArr[domArr.length-1].equalsIgnoreCase(str1) ||         domArr[domArr.length-1].equalsIgnoreCase(str2))) {  	alert("The address must end in a three or four letter domain,\n two letter country code or .museum or .travel")  	return false  }  if (len<2) {    alert("This address is missing a hostname!")    return false  }  return true;}String.prototype.equalsIgnoreCase=MatchIgnoreCase;function MatchIgnoreCase(strTerm) {	var strToSearch = this.toLowerCase();	strTerm = strTerm.toLowerCase();	if(strToSearch==strTerm) {		return true;	}  else {		return false;	}} //End Function
