// Javascript-Funktion zur Prüfung der Formularfelder
var lang = "de";

function checkform()
{
  lang = document.param.lang.value;
  if (!testVorname()) return false;
  if (!testNachname()) return false;
  if (!testPLZ()) return false;
  if (!testWohnort()) return false;
  if (!testEmail()) return false;
  if (!testDatenschutz()) return false;
  return true;
}
function checkformFull()
{
  lang = document.param.lang.value;
  if (!testVorname()) return false;
  if (!testNachname()) return false;
  if (!testStrasse()) return false;
  if (!testPLZ()) return false;
  if (!testWohnort()) return false;
  if (!testEmail()) return false;
  if (!testDatenschutz()) return false;
  return true;
}
function checkFormProfi()
{
  lang = document.param.lang.value;
  if (!testVornameP()) return false;
  if (!testNachnameP()) return false;
  if (!testPLZ()) return false;
  if (!testWohnort()) return false;
  if (!testEmailP()) return false;
  if (!testDatenschutz()) return false;
  return true;
}
function checkFormService()
{
  lang = document.param.lang.value;
  if (!testEmail()) return false;
  if (!testTelefon()) return false;
  if (!testDatenschutz()) return false;
  return true;
}

function testVorname()
{
  var abc = document.Formular.Vorname.value;
  if (abc == "")
  {	alert(oLang.vorname_eintragen);
    document.Formular.Vorname.select();
    document.Formular.Vorname.focus();
    return false;
  }
  //if (isNotName(abc))
  //{	alert("\nDas Feld Vorname akzeptiert nur Buchstaben und Leerzeichen.\n" +
  //	"Bitte tragen Sie Ihren Vornamen richtig ein.");
  //	document.Formular.Vorname.select();
  //	document.Formular.Vorname.focus();
  //	return false;
  //}
  return true;
}
function testVornameP()
{
  var abc = $('Vorname').getValue();
  if (abc == null || abc == "")
  {	alert(oLang.vorname_eintragen);
    document.Formular.Vorname.focus();
    return false;
  }
  //if (isNotName(abc))
  //{	alert("\nDas Feld Vorname akzeptiert nur Buchstaben und Leerzeichen.\n" +
  //	"Bitte tragen Sie Ihren Vornamen richtig ein.");
  //	document.Formular.Vorname.select();
  //	document.Formular.Vorname.focus();
  //	return false;
  //}
  return true;
}
function testNachname()
{
  var abc = document.Formular.Nachname.value;
  if (abc == "")
  {	alert(oLang.name_eintragen);
    document.Formular.Nachname.focus();
    return false;
  }
  //if (isNotName(abc))
  //{	alert("\nDas Feld Nachname akzeptiert nur Buchstaben und Leerzeichen.\n Bitte tragen Sie Ihren Vornamen richtig ein.");
  //	document.Formular.Nachname.select();
  //	document.Formular.Nachname.focus();
  //	return false;
  //}
  return true;
}
function testNachnameP()
{
  var abc = $('Nachname').getValue();
  if (abc == null || abc == "")
  {	alert(oLang.name_eintragen);
    document.Formular.Nachname.focus();
    return false;
  }
  //if (isNotName(abc))
  //{	alert("\nDas Feld Nachname akzeptiert nur Buchstaben und Leerzeichen.\n Bitte tragen Sie Ihren Vornamen richtig ein.");
  //	document.Formular.Nachname.select();
  //	document.Formular.Nachname.focus();
  //	return false;
  //}
  return true;
}

function testStrasse()
{
  var strasse = document.Formular.Strasse.value;
  if (strasse == "")
  {	alert(oLang.strasse_eintragen);
    document.Formular.Strasse.focus();
    return false;
   }
   return true;
}
function testPLZ()
{
  if ($("kontakt_plz"))
  {
    var plz = document.Formular.kontakt_plz.value;
    if (plz == "")
    {
      if (hParam.get("kdart") == "HP" && hParam.get("portal") == "0") alert(oLang.plz_eintragen);
      else alert(oLang.plz_eintragen_portal);
      document.Formular.kontakt_plz.focus();
      return false;
     }
   }
   if (oParam.lang == "de" || oParam.lang == "de_CH")
	{
		if (isNotNumber(plz))
		{	alert("\nDas PLZ-Feld akzeptiert nur Zahlen.\n" +
			"Bitte tragen Sie Ihre Postleitzahl richtig ein.");
			document.Formular.kontakt_plz.select();
			document.Formular.kontakt_plz.focus();
			return false;
		}
	}
   return true;
}
function testWohnort()
{
  var ort = document.Formular.Wohnort.value;
  if (ort == "")
  {	alert(oLang.wohnort_eintragen);
    document.Formular.Wohnort.focus();
    return false;
  }
  return true;
}
function testEmail()
{
  var mail = document.Formular.Email.value;
  if (mail == "")
  {	alert(oLang.email_eintragen);
    document.Formular.Email.focus();
    return false;
  }
  if (!validEmail(mail))
  {	alert(oLang.email_valid);
    document.Formular.Email.select();
    document.Formular.Email.focus();
    return false;
  }
  return true;
}
function testTelefon()
{
  var tel = $("form[Rueckruf]").checked;
  if (tel && $("Telefon").value == "")
  {
    alert('Bitte tragen Sie Ihre Telefonnummer ein.');
    $("Telefon").select();
    $("Telefon").focus();
    return false;
  }
  return true;
}
function testEmailP()
{
  var mail = $('email').getValue();
  if (mail == "")
  {	alert(oLang.email_eintragen);
    document.Formular.email.focus();
    return false;
  }
  if (!validEmail(mail))
  {	alert(oLang.email_valid);
    document.Formular.email.select();
    document.Formular.email.focus();
    return false;
  }
  return true;
}
function testPreisepass()
{
  var ppassnr = document.Formular.Preisepass.value;
  var ptext = document.Formular.ppass.value;
  ptext = ptext.substring(0,ptext.length - 1);
  if (isNotNumber(ppassnr))
  {	alert("\n" + ptext + " akzeptiert nur Zahlen.\n" +
    "Bitte tragen Sie Ihre " + ptext + " richtig ein.");
      document.Formular.Preisepass.select();
    document.Formular.Preisepass.focus();
    return false;
  }
  return true;
}
function testDatenschutz()
{
  var datenschutz = document.Formular.datenschutz.checked;
  if (datenschutz != true)
  {	alert(oLang.datenschutz_bestaetigen);
    return false;
  }
  return true;
}

function validEmail(mail)
{
  // Rueckgabewert
     var ret = false;

  // Falls das Feld leer ist, ohne Prüfung aussteigen
     if (mail.length==0) return false;

     // Position des @ herausfinden
     var PosEt = mail.indexOf("@")
     if (PosEt == -1) return ret; // Es fehlt ein @
     if (PosEt == 0) return ret; // Es fehlt der Empfänger
     if (mail.indexOf("@", PosEt + 1) > PosEt) return ret; // Es darf nur ein @ enthalten sein

     // Position des ersten . nach dem @ herausfinden
     var PosPt = mail.indexOf(".", PosEt)
     if ((PosPt == -1) || (PosPt - PosEt < 2) || (mail.length - PosPt < 3)) return ret; //Aufbau: x@x.xx

     // Zulässige Zeichen für eMails definieren
     var validZeichen = new String("abcdefghijklmnopqrstuvwxyz")
     validZeichen += validZeichen.toUpperCase() + "0123456789.-_@"

     // eMail-Adresse auf zulässige Zeichen überprüfen
     return PruefeZeichen(mail, validZeichen)
}
function isNotName(text)
{
  for (var i = 0; i < text.length; i++)
  {
    var _123 = text.substring(i, i + 1);
    if (((_123 < "a" || "z" < _123) && (_123 < "A" || "Z" < _123) && (_123 < "Ä" || _123 > "ü")) && _123 != ' ' && _123 != '-' && _123 != '.')
    {	return true;
    }
   }
   return false;
}
function isNotNumber(num)
{
  for (var i = 0; i < num.length; i++)
   {
     var _123 = num.substring(i, i + 1);
     if (_123 < "0" || "9" < _123)
         {	  return true;
       }
  }
  return false;
}
function PruefeZeichen(mail, ZugelasseneZeichen)
{
    for (var Pos = 0; Pos < mail.length; Pos++)
    {
      if (ZugelasseneZeichen.indexOf(mail.charAt(Pos)) == -1) return false; // falsches zeichen
           // FehlerMeldung += "\n\nIhre Eingabe enthält das Zeichen '"
           // FehlerMeldung += Feld.value.charAt(Pos)
           // FehlerMeldung += "'. Sie dürfen nur diese Zeichen verwenden:\n"
           // FehlerMeldung += ZugelasseneZeichen
           // if (ZugelasseneZeichen.indexOf(" ") == -1)
           //    { FehlerMeldung += "\nLeerzeichen sind nicht erlaubt" }
           // else
           //    { FehlerMeldung += "\nund das Leerzeichen" }
    }
    return true;
}
