/* ############################################################################# */
/* Für Sonderaboformulare */
/* Reihenfolge entspricht dem des Formulares!! */

function FrontFormValidator(theForm) {

   if (theForm.vorname.value == "") {
      alert("Bitte geben Sie ihren Vornamen ein.")
      theForm.vorname.focus();
      return (false);
   }
	
   if (theForm.nachname.value == "") {
      alert("Bitte geben Sie ihren Namen ein.")
      theForm.nachname.focus();
      return (false);
   }
	
   if (theForm.strasse.value == "") {
      alert("Bitte geben Sie ihre Strasse ein.")
      theForm.strasse.focus();
      return (false);
   }
   if (theForm.hausnummer.value == "") {
      alert("Bitte geben Sie ihre Hausnummer ein.")
      theForm.hausnummer.focus();
      return (false);
   }

   if (theForm.plz.value == "") {
      alert("Bitte geben Sie ihre Postleitzahl ein.")
      theForm.plz.focus();
      return (false);
   }
   if (theForm.wohnort.value == "") {
      alert("Bitte geben Sie ihren Wohnort ein.")
      theForm.wohnort.focus();
      return (false);
   }
   if (theForm.vorwahl.value == "") {
      alert("Bitte geben Sie ihre Vorwahl ein.")
      theForm.vorwahl.focus();
      return (false);
   }
   var checkOK = "0123456789";
   var checkStr = theForm.vorwahl.value;
   var allValid = true;
   var decPoints = 0;
   var allNum = "";
   for (i = 0;  i < checkStr.length;  i++) {
      ch = checkStr.charAt(i);
      for (j = 0;  j < checkOK.length;  j++) {
         if (ch == checkOK.charAt(j)) {
            break;
			}
		}
      if (j == checkOK.length) {
         allValid = false;
         break;
      }
      if (ch != ".") {
         allNum += ch;
		}
   }
   if (!allValid) {
      alert("Geben Sie in das Feld \"Vorwahl\" bitte nur Ziffern ein.");
      theForm.vorwahl.focus();
      return (false);
   }
	
   if (theForm.telefon.value == "") {
      alert("Bitte geben Sie ihre Telefonnummer ein.")
      theForm.telefon.focus();
      return (false);
   }
   var checkOK = "0123456789";
   var checkStr = theForm.telefon.value;
   var allValid = true;
   var decPoints = 0;
   var allNum = "";
   for (i = 0;  i < checkStr.length;  i++) {
      ch = checkStr.charAt(i);
      for (j = 0;  j < checkOK.length;  j++) {
         if (ch == checkOK.charAt(j)) {
            break;
			}
		}
      if (j == checkOK.length) {
         allValid = false;
         break;
      }
      if (ch != ".") {
         allNum += ch;
		}
   }
   if (!allValid) {
      alert("Geben Sie in das Feld \"Telefon\" bitte nur Ziffern ein.");
      theForm.telefon.focus();
      return (false);
   }
	
   if (theForm.email.value == "") {
      alert("Bitte geben Sie ihre Email-Adresse ein.")
      theForm.email.focus();
      return (false);
   }
   if (theForm.email.value.search(/ /) != '-1') {
      alert('Die E-Mail Adresse darf keine Leerzeichen enthalten!');
      theForm.email.focus();
      return(false);
   }
   s = theForm.email.value.split(/@/);
   if ((s.length != 2) || s[0] == '' || s[1] == '') {
      alert('E-Mail Adressen haben das Format "Benutzer@Domain.tld",\n'
       +'z.B.: "johannes.hornung@heidenheim.com"');
      theForm.email.focus();
      return(false);
   }

	
   if (theForm.abbuchung.checked == true) {
	
		/* ############################################################################# */
		/* Bankverbindungsdaten */
		/* Bankleitzahl - Reihenfolge nicht verändern!! */

		if (theForm.blz.value == "")  {
			alert("Bitte geben Sie ihre Bankleitzahl ein.");
			theForm.blz.focus();
			return (false);
		}

		if (theForm.blz.value.length < 8) {
			alert("Geben Sie mindestens 8 Zeichen in das Feld \"BLZ\" ein.");
			theForm.blz.focus();
			return (false);
		}

		if (theForm.blz.value.length > 15)  {
			alert("Geben Sie höchstens 15 Zeichen in das Feld \"BLZ\" ein.");
			theForm.blz.focus();
			return (false);
		}

		var checkOK = "0123456789- \t\r\n\f";
		var checkStr = theForm.blz.value;
		var allValid = true;
		for (i = 0;  i < checkStr.length;  i++)  {
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++) {
				if (ch == checkOK.charAt(j)) {
					break;
				}
			}
			if (j == checkOK.length) {
				allValid = false;
				break;
			}
		}

		if (!allValid)  {
			alert("Geben Sie nur Ziffern und Leerräume in das Feld \"BLZ\" ein.");
			theForm.blz.focus();
			return (false);
		}

		/* ############################################################################# */
		/* Kontonummer */

		if (theForm.kontonummer.value == "") {
			alert("Bitte geben Sie ihre Kontonummer ein.");
			theForm.kontonummer.focus();
			return (false);
		}

		if (theForm.kontonummer.value.length < 4) {
			alert("Geben Sie mindestens 4 Zeichen in das Feld \"Kontonummer\" ein.");
			theForm.kontonummer.focus();
			return (false);
		}

		if (theForm.kontonummer.value.length > 20) {
		 alert("Geben Sie höchstens 20 Zeichen in das Feld \"Kontonummer\" ein.");
		 theForm.kontonummer.focus();
		 return (false);
		}

		var checkOK = "0123456789-.";
		var checkStr = theForm.kontonummer.value;
		var allValid = true;
		var decPoints = 0;
		var allNum = "";
		for (i = 0;  i < checkStr.length;  i++)
		{
		 ch = checkStr.charAt(i);
		 for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
			  break;
		 if (j == checkOK.length)
		 {
			allValid = false;
			break;
		 }
		 if (ch != ".")
			allNum += ch;
		}
		if (!allValid)
		{
		 alert("Geben Sie nur Ziffern in das Feld \"Kontonummer\" ein.");
		 theForm.kontonummer.focus();
		 return (false);
		}
		/* ############################################################################# */
		/* Bankname */

		if (theForm.bank.value == "")
		{
				alert("Bitte geben Sie den Namen der Bank ein.")
				theForm.bank.focus();
		 return (false);
		}
	} else {
		if (theForm.rechnung.checked == false) {
			alert("Bitte wählen Sie eine Abrechnungsart aus.");
			theForm.abbuchung.focus();
			return (false);
		}
   }
	if (theForm.rechnung.checked == true && theForm.abbuchung.checked == true) {
		alert("Bitte entscheiden Sie sich zwischen einer Rechnung und einer Abbuchung.");
		theForm.abbuchung.focus();
		return (false);
	}

   return (true);
}


