// email check: kein alert
function checkEmailMess( emailStr ){
	// Test country oder TLD.
	//  1 für testen, 0 nicht testen
//		var emailStr = formkatanf.em.value;
	var checkTLD=0;
	
	// TLDs Liste
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	
	// user@domain format
	var emailPat=/^(.+)@(.+)$/;
	
	// Liste zeichen ( ) < > @ , ; : \ " . [ ]
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	
	// in Anführungszeichen? (dann sind special charakters erlaubt)
	var quotedUser="(\"[^\"]*\")";
	
	// domains mit IP addressen
	
	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) {
	
	// test Anzahl der @
	
//		alert("Bitte geben Sie eine gültige E-Mail Adresse an!");
	return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

// test gültige ASCII characters (0-127).

	for (i=0; i<user.length; i++) {
	if (user.charCodeAt(i)>127) {
//		alert("Der Username Ihrer E-Mail Adresse beinhaltet ungültige Zeichen!");
	return false;
	   }
	}
	for (i=0; i<domain.length; i++) {
	if (domain.charCodeAt(i)>127) {
//		alert("Der Domainname Ihrer E-Mail Adresse beinhaltet ungültige Zeichen!");
	return false;
	   }
	}


	if (user.match(userPat)==null) {
	
	// user nicht OK
	
//		alert("Der Username Ihrer E-Mail Adresse ist ungültig!");
	return false;
	}
	
	// IP addresse OK ?

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
	
	// es handelt sich um eine IP-Adresse
	
	for (var i=1;i<=4;i++) {
	if (IPArray[i]>255) {
//		alert("Die Empfänger IP-Adresse Ihrer E-Mail Adresse ist ungültig!");
	return false;
	   }
	}
	return true;
	}

// Domain ist ein "symbolic name",  gültig ?

	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) {
//		alert("Der Domainname Ihrer E-Mail Adresse ist ungültig!");
	return false;
	   }
	}

/*
domain name valid, testen bekannte top-level domain
hostname vorangestellt ?
*/

	if (checkTLD && domArr[domArr.length-1].length!=2 &&
	domArr[domArr.length-1].search(knownDomsPat)==-1) {
//		alert("Ihre E-Mail Adresse muss auf eine bekannte Domain (TLD) oder 2 Zeichen enden!");
	return false;
	}

// hostname vorangestellt ?

	if (len<2) {
//		alert("Der hostname Ihrer E-Mail Adresse fehlt!");
	return false;
	}

}