

function hbeinaus(aselect)
{
 var theForm = document.Buchen;

  if (aselect.checked  == true){

	  theForm.HPE.disabled  = false;
	  theForm.HPK11.disabled  = false;
	  theForm.HPK05.disabled  = false;
	  theForm.HPK02.disabled  = false;  
	  theForm.HPE.focus();

  }else{

	  theForm.HPE.value = "";
	  theForm.HPK11.value = "";
	  theForm.HPK05.value = "";
	  theForm.HPK02.value = "";

	  theForm.HPE.disabled  = true;
	  theForm.HPK11.disabled  = true;
	  theForm.HPK05.disabled  = true;
	  theForm.HPK02.disabled  = true;
  }
}


function Validator(theForm)
{

  if (theForm.Vorname.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Vorname\" ein.");
    theForm.Vorname.focus();
    return (false);
  }

  if (theForm.Nachname.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Nachname\" ein.");
    theForm.Nachname.focus();
    return (false);
  }

  if (theForm.Strasse.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Strasse\" ein.");
    theForm.Strasse.focus();
    return (false);
  }

  if (theForm.Plz.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Postleitzahl\" ein.");
    theForm.Plz.focus();
    return (false);
  }

  if (theForm.Ort.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Wohnort\" ein.");
    theForm.Ort.focus();
    return (false);
  }

  if (theForm.TelNr.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Telefon\" ein.");
    theForm.TelNr.focus();
    return (false);
  }

  if (theForm.An1TT.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Anreise 1 TT\" ein.");
    theForm.An1TT.focus();
    return (false);
  }
  if (theForm.An1MM.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Anreise 1 MM\" ein.");
    theForm.An1MM.focus();
    return (false);
  }
  if (theForm.An1JJ.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Anreise 1 JJJJ\" ein.");
    theForm.An1JJ.focus();
    return (false);
  }

  if (theForm.Ab1TT.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Abreise 1 TT\" ein.");
    theForm.Ab1TT.focus();
    return (false);
  }
  if (theForm.Ab1MM.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Abreise 1 MM\" ein.");
    theForm.Ab1MM.focus();
    return (false);
  }
  if (theForm.Ab1JJ.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Abreise 1 JJJJ\" ein.");
    theForm.Ab1JJ.focus();
    return (false);
  }


  if (theForm.Anzahl.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Anzahl\" ein.");
    theForm.Anzahl.focus();
    return (false);
  }

  if (theForm.Anzahl.value.length < 1)
  {
    alert("Geben Sie min. 1 Zeichen in das Feld \"Anzahl\" ein.");
    theForm.Anzahl.focus();
    return (false);
  }

  if (theForm.Anzahl.value.length > 2)
  {
    alert("Geben Sie max. 2 Zeichen in das Feld \"Anzahl\" ein.");
    theForm.Anzahl.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.Anzahl.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;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Geben Sie nur Ziffern in das Feld \"Anzahl\" ein.");
    theForm.Anzahl.focus();
    return (false);
  }

  if (theForm.Personen.value == "")
  {
    alert("Geben Sie einen Wert in das Feld \"Anzahl\" ein.");
    theForm.Personen.focus();
    return (false);
  }

  if (theForm.Personen.value.length < 1)
  {
    alert("Geben Sie min. 1 Zeichen in das Feld \"Anzahl\" ein.");
    theForm.Personen.focus();
    return (false);
  }

  if (theForm.Personen.value.length > 3)
  {
    alert("Geben Sie max. 3 Zeichen in das Feld \"Anzahl\" ein.");
    theForm.Personen.focus();
    return (false);
  }


  var checkOK = "0123456789-";
  var checkStr = theForm.Personen.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;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Geben Sie nur Ziffern in das Feld \"Anzahl\" ein.");
    theForm.Personen.focus();
    return (false);
  }


  if (theForm.Einver.selectedIndex < 0)
  {
    alert("Waehlen Sie eine der \"Einverstanden\"-Optionen.");
    theForm.Einver.focus();
    return (false);
  }

  if (theForm.Einver.selectedIndex == 0)
  {
    alert("Die erste \"Einverstanden\"-Option ist keine gueltige Wahl. Waehlen Sie eine der anderen Optionen.");
    theForm.Einver.focus();
    return (false);
  }
  
  ab = theForm.Ab1JJ.value + theForm.Ab1MM.value + theForm.Ab1TT.value;
  an = theForm.An1JJ.value + theForm.An1MM.value + theForm.An1TT.value;
  if (an > ab){
    alert("Anreisedatum ist groesser als Abreisedatum.\nGeben Sie das Datum richtig ein.");
    theForm.An1TT.focus();
    return (false);
  }
  
  ab = theForm.Ab2JJ.value + theForm.Ab2MM.value + theForm.Ab2TT.value;
  an = theForm.An2JJ.value + theForm.An2MM.value + theForm.An2TT.value;
  if (an > ab){
    alert("Anreisedatum ist groesser als Abreisedatum.\nGeben Sie das Datum richtig ein.");
    theForm.An2TT.focus();
    return (false);
  }

  
  
  for (j = 1;  j <5  ;  j++){
    if (j == 1){
		aMon = theForm.An1MM;
		aTag = theForm.An1TT;
    }
    if (j == 2){
		aMon = theForm.Ab1MM;
		aTag = theForm.Ab1TT;
    }
    if (j == 3){
		aMon = theForm.An2MM;
		aTag = theForm.An2TT;
    }
    if (j == 4){
		aMon = theForm.Ab2MM;
		aTag = theForm.Ab2TT;
    }

  if (aMon.value == 4 || aMon.value == 6 || aMon.value == 9  || aMon.value == 11){
	
	  	if (aTag.value > 30){
    		alert("Dieser Monat hat nur 30 Tage.\nGeben Sie das Datum richtig ein.");
    		aTag.focus();
    		return (false);
  		}
	}
}  
  

  return (true);
  
  
}



