function pruefeMail(mail)
{
	var zeichen="abcdefghijklmnopqrstuvwxyzöäüABCDEFGHIJKLMNOPQRSTUVWXYZÖÄÜ/ß,.-_0123456789@";
	var laenge=mail.length;
	var i;
	var zahl;
	var anzahlAt;
	var anzahlPunkt=0;
	
	if(mail.indexOf('@') == -1||mail.indexOf('.') == -1) {
	   return false;
	}
	
	if (mail.indexOf('@')!=mail.lastIndexOf('@')){
		return false;
	}

	
	for (i=0; i<laenge;i++) {
		zahl=mail.charAt (i); 
		if (mail.charAt(i)=="."){
			anzahlPunkt=anzahlPunkt+1;
			if (anzahlPunkt>=4){
				return false;
			}
		}
		
		if (zeichen.indexOf(zahl)==-1) {
			return false;
		}
	}
	
	return true;
}

function checkMissings(item, fieldValue)
{
 var message = "Bitte fuellen Sie folgende Felder aus:\n\n";
 var firstMiss = -1; // -1 wegen Indexierung eines Arrays
 var anzMissings = 0;
 for (var i = 0; i < fieldValue.length; i++)
  if(fieldValue[i] == "")
  {
    if (firstMiss == -1)
     firstMiss = i;
    message += ++anzMissings + ". " + item[i] + "\n";
  }

 if (firstMiss != -1)
  alert(message);
 return firstMiss;
}


function validateKontaktForm()
{
 var fieldValue = new Array(2);
 var item = new Array("Name", "Email");
 
 fieldValue[0] = document.KontaktForm.name.value;
 fieldValue[1] = document.KontaktForm.email.value;
 
 if(document.KontaktForm.infossms.checked == true)
 {
    fieldValue.push(document.KontaktForm.mobil.value);
    item.push("Mobil-Telefon");
 }
 
 if(document.KontaktForm.infospost.checked == true)
 {
    fieldValue.push(document.KontaktForm.strasse.value);
    fieldValue.push(document.KontaktForm.plz.value);
    fieldValue.push(document.KontaktForm.ort.value);
    item.push("Straße");
    item.push("Postleitzahl");
    item.push("Ort");
 }
 
 var missing = checkMissings(item, fieldValue);
 
 switch(missing)
 {
   case 0: document.KontaktForm.name.focus(); break;
   case 1: document.KontaktForm.email.focus(); break;
   case 2: document.KontaktForm.mobil.focus(); break;
   case 3: document.KontaktForm.strasse.focus(); break;
   case 4: document.KontaktForm.plz.focus(); break;
   case 5: document.KontaktForm.ort.focus(); break;
 }
 
 if (missing != -1) // -1 = no missings
 {
 	  return false;
 } 
 else 
 {
 	if(!pruefeMail(document.KontaktForm.email.value))
 	{
 		alert("Bitte überprüfen Sie die angegebene EMail-Adresse!");
 		return false;
 	}
 }
}

function validateNewsForm()
{
 var fieldValue = new Array(2);
 var item = new Array("Name", "Email");
 
 fieldValue[0] = document.NewsForm.name.value;
 fieldValue[1] = document.NewsForm.email.value;
 
 if(document.NewsForm.infossms.checked == true)
 {
    fieldValue.push(document.NewsForm.mobil.value);
    item.push("Mobil-Telefon");
 }
 
 if(document.NewsForm.infospost.checked == true)
 {
    fieldValue.push(document.NewsForm.strasse.value);
    fieldValue.push(document.NewsForm.plz.value);
    fieldValue.push(document.NewsForm.ort.value);
    item.push("Straße");
    item.push("Postleitzahl");
    item.push("Ort");
 }
 
 var missing = checkMissings(item, fieldValue);
 switch(missing)
 {
   case 0: document.NewsForm.name.focus(); break;
   case 1: document.NewsForm.email.focus(); break;
   case 2: document.NewsForm.mobil.focus(); break;
   case 3: document.NewsForm.strasse.focus(); break;
   case 4: document.NewsForm.plz.focus(); break;
   case 5: document.NewsForm.ort.focus(); break;
 }
if (missing != -1) // -1 = no missings
 {
 	  return false;
 } 
 else 
 {
 	if(!pruefeMail(document.KontaktForm.email.value))
 	{
 		alert("Bitte überprüfen Sie die angegebene EMail-Adresse!");
 		return false;
 	}
 }
}

function validateAnfrageForm()
{
 var fieldValue = new Array(2);
 var item = new Array("Name", "Email");
 
 fieldValue[0] = document.AnfrageForm.name.value;
 fieldValue[1] = document.AnfrageForm.email.value;
 
 if(document.AnfrageForm.infossms.checked == true)
 {
    fieldValue.push(document.AnfrageForm.mobil.value);
    item.push("Mobil-Telefon");
 }
 
 if(document.AnfrageForm.infospost.checked == true)
 {
    fieldValue.push(document.AnfrageForm.strasse.value);
    fieldValue.push(document.AnfrageForm.plz.value);
    fieldValue.push(document.AnfrageForm.ort.value);
    item.push("Straße");
    item.push("Postleitzahl");
    item.push("Ort");
 }
 
 var missing = checkMissings(item, fieldValue);
 switch(missing)
 {
   case 0: document.AnfrageForm.name.focus(); break;
   case 1: document.AnfrageForm.email.focus(); break;
   case 2: document.AnfrageForm.mobil.focus(); break;
   case 3: document.AnfrageForm.strasse.focus(); break;
   case 4: document.AnfrageForm.plz.focus(); break;
   case 5: document.AnfrageForm.ort.focus(); break;
 }
if (missing != -1) // -1 = no missings
 {
 	  return false;
 } 
 else 
 {
 	if(!pruefeMail(document.KontaktForm.email.value))
 	{
 		alert("Bitte überprüfen Sie die angegebene EMail-Adresse!");
 		return false;
 	}
 }
}
