  //--- Prüft, ob eine eMail-Adresse korrekt aufgebaut ist
  function eMailAdresseOK(eMail)
  {  // Erstellt von Ralf Pfeifer (pfeifer@arstechnica.de, http://www.arstechnica.de)

     // Falls das Feld leer ist, ohne Prüfung aussteigen
     if (eMail.length==0) { return true }

     // Text für die Fehlermeldung
     var FehlerMeldung = new String("Error in your eMail-Adress\n\n")

     // Position des @ herausfinden
     var PosEt = eMail.indexOf("@")
     if (PosEt == -1) {
       alert(FehlerMeldung + "missing @")
	   return false;
        }
     if (PosEt == 0) {
       alert(FehlerMeldung + "Please add the recipient")
       return eMail.focus() }
     if (eMail.indexOf("@", PosEt + 1) > PosEt) {
       alert(FehlerMeldung + "Only one @ in your eMail-Adress")
	   return false;
       }

     // Position des ersten . nach dem @ herausfinden
     var PosPt = eMail.indexOf(".", PosEt)

     if ((PosPt == -1) || (PosPt - PosEt < 2) || (eMail.length - PosPt < 3)) {
       FehlerMeldung += "Syntax eMail-Adress: x@x.xx "
       FehlerMeldung += "Every x stand for at least one character"
       alert(FehlerMeldung)
	   return false;
      }

     // Zulässige Zeichen für eMails definieren
     var ZugelasseneZeichen = new String("abcdefghijklmnopqrstuvwxyz")
     ZugelasseneZeichen += ZugelasseneZeichen.toUpperCase() + "0123456789.-_@"

     // eMail-Adresse auf zulässige Zeichen überprüfen
     PruefeZeichen(eMail, ZugelasseneZeichen, FehlerMeldung)
    }



    //--- Unterprogramm, welches die Zeichen prüft
    function PruefeZeichen(Feld, ZugelasseneZeichen, FehlerMeldung)
    { 
       for (var Pos = 0; Pos < Feld.length; Pos++)
       {
          if (ZugelasseneZeichen.indexOf(Feld.charAt(Pos)) == -1)
          { 
		  	FehlerMeldung += "\n\nYour input contains '"
            FehlerMeldung += Feld.charAt(Pos)
            FehlerMeldung += "'. Please use only this characters:\n"
            FehlerMeldung += ZugelasseneZeichen
            if (ZugelasseneZeichen.indexOf(" ") == -1)
               { FehlerMeldung += "\nSpaces are forbidden" }
            else
               { FehlerMeldung += "\nand spaces" }
            alert(FehlerMeldung) 
            //return false;
          }
       }
   }

	function compareEmails() {
		if(document.getElementById("email").value != document.getElementById("repeatemail").value){
			document.getElementById("error").firstChild.data = "Your eMail-Adresses are not identical";
			document.getElementById("error").className="error";
			document.getElementById("email").className="defbreite_error";
			document.getElementById("repeatemail").className="defbreite_error";
			return false;
		} else {
			document.getElementById("error").firstChild.data = "";
			document.getElementById("email").className="defbreite";
			document.getElementById("repeatemail").className="defbreite";
		}
		return true;
	}

	function checkEmail() {
		eMailAdresseOK(document.getElementById("email").value);
	}
	
	function checkRepeatEmail() {
		eMailAdresseOK(document.getElementById("repeatemail").value)
		compareEmails();
	}
	
