//eMail-Adresse prüfen
function emailCheck(emailStr) 
 {
 /* 
 RETURN CODES
 0 = ValidEmail
 1 = @ and .'s check failed.
 2 = Non Valid Characters detected.
 3 = Non Valid Characters detected in domainname.
 4 = eMail wrong and is not valid.
 5 = The IP Address is not valid.
 6 = eMail is not valid.
 7 = Unknown country domain.
 8 = No Host Name Specified.
 */   
 var emailStr = emailStr.replace(/ /g,"");
 var checkTLD=1;
 var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
 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 1;}   
 var user=matchArray[1];
 var domain=matchArray[2];  
 for(i=0; i<user.length; i++) 
  {
  if(user.charCodeAt(i)>127){return 2;}       
  }    
 for(i=0; i<domain.length; i++) 
  {
  if(domain.charCodeAt(i)>127){ return 3;}   
  }  
 if(user.match(userPat)==null){return 4;}    
 var IPArray=domain.match(ipDomainPat);
 if(IPArray!=null) 
  {
  for(var i=1;i<=4;i++) 
   {
   if(IPArray[i]>255){return 5;}        
   }
  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){return 6;}    
  }  
 if(checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) 
  {
  return 7;
  }      
 if(len<2){return 8;} 
 return 0;
 }

//Integer prüfen
function istInt(elm)
 {
 if (elm.value == "") return false;
 for (var i = 0; i < elm.value.length; i++)
  {
  if (elm.value.charAt(i) < "0" || elm.value.charAt(i) > "9") return false;
  }
 return true;
 }
function Validate(f)
 {
 if(f.Anrede.options[0].selected==true)
  {
  alert("Bitte wählen Sie Ihre Anrede.");
  f.Anrede.focus();
	return false;
	}
 if(f.Name.value.length < 3)
  {
  alert("Bitte geben Sie Ihren Namen ein.");
  f.Name.focus();
	return false;
	}
 if(f.Vorname.value.length < 3)
  {
  alert("Bitte geben Sie Ihren Vornamen ein.");
  f.Vorname.focus();
	return false;
	}
 if(f.Strasse.value.length < 3)
  {
  alert("Bitte geben Sie Ihre Strasse ein.");
  f.Strasse.focus();
	return false;
	}
 if(f.Plz.value.length < 3)
  {
  alert("Bitte geben Sie Ihre Plz ein.");
  f.Plz.focus();
	return false;
	}
 if(f.Ort.value.length < 3)
  {
  alert("Bitte geben Sie Ihren Ort ein.");
  f.Ort.focus();
	return false;
	}
 if(f.Telefon.value.length < 3)
  {
  alert("Bitte geben Sie Ihre Telefonnummer an.");
  f.Telefon.focus();
	return false;
	}
 if(f.Email.value=='' || emailCheck(f.Email.value)!=0)
  {
  alert("Bitte geben Sie Ihre gültige eMail-Adresse ein.");
  f.Email.focus();
	return false;
	}
 if(f.Interesse1.value.length < 3)
  {
  alert("Bitte wählen Sie ein Thema.");
  f.Interesse1.focus();
	return false;
	}
 if(f.Mitteilung.value.length < 3)
  {
  alert("Bitte geben Sie Ihre Mitteilung ein.");
  f.Mitteilung.focus();
	return false;
	}
 f.submit();
 }
