// Prüfen, ob Formular vollständig ausgefüllt ist
function ueberpruefe()
{
	var errorMsgs   = new Array();
	errorMsgs['NAME'] = "Geben Sie Ihren Namen an.";
	errorMsgs['PERSONENZAHL'] = "Geben Sie bitte die Anzahl Personen an.\nWir müssen vielleicht einen zweiten Minibus bereit stellen!";
	errorMsgs['TELHANDY'] = "Geben Sie bitte Telefon-Nr. oder Handy-Nr. an.\nSonst können wir Sie schlecht erreichen, wenn es notwendig sein sollte!";
	errorMsgs['EMAIL'] = "Geben Sie Ihre eMail-Adresse an.\nSonst können wir nicht Ihre Reservierung bestätigen!";
	errorMsgs['EMAIL1'] = "Ihre eMail-Adresse ist falsch.\nEs muss mindesten das Zeichen '\@' und ein '.' (Punkt) vorkommen!\nWir brauchen Ihre eMail-Adresse zum Antworten!";

	errorMsgs['FLUGZIEL'] = "Bitte geben Sie Ihr Flugziel an!";
	errorMsgs['ABFLUGTAG'] = "Bitte geben Sie den Abflugtag ein (Form: 'TT.MM.JJJJ'!\nBeispiel: 01.08.2007  (ACHTUNG: OHNE LEERSTELLEN)";
	errorMsgs['ABFLUGZEIT'] = "Bitte geben Sie die Abflugzeit ein (Form: 'SS:MM')!\nBeispiel: 17:35 oder 06:20";
	errorMsgs['ZIELFLUGNR'] = "Bitte geben Sie mindestens den Zielort oder die Abflugnummer an,\nam Besten beides.";
	errorMsgs['RUECKFLUGTAG'] = "Bitte geben Sie den Ankunftstag ein (Form: 'TT.MM.JJJJ'!\nBeispiel: 01.08.2007  (ACHTUNG: OHNE LEERSTELLEN)";
	errorMsgs['RUECKFLUGZEIT'] = "Bitte geben Sie eine richtige Ankunftszeit ein (Form: 'SS:MM')!\nBeispiel: 14:05 oder 06:20";
	errorMsgs['RUECKFLUGNR'] = "Bitte geben Sie mindestens den Zielort oder die Rückflugnummer an,\nam Besten beides.";
	errorMsgs['DATUMVERGLEICH'] = "Das Abflugdatum muss früher als das Rückkehrdatum sein!";
	errorMsgs['AMONATSTAGE'] = "Der Monat im Abflugdatum hat nicht so viele Tage!";
	errorMsgs['RMONATSTAGE'] = "Der Monat im Rückkehrdatum hat nicht so viele Tage!";

	var TagKorr;
	var tag;
 if (document.parkflieg.KOMMENT.value == "" || document.parkflieg.KOMMENT.value != "" && document.parkflieg.ABFLUGTAG.value != "")
 {
// Name sollte angegeben werden
	if (document.parkflieg.NAME.value == "")
	{	alert(errorMsgs["NAME"]);
		document.parkflieg.NAME.focus();
		return false;
	}

// Personenzahl sollte angegeben werden
	if (document.parkflieg.PERSONENZAHL.value == "")
	{	alert(errorMsgs["PERSONENZAHL"]);
		document.parkflieg.PERSONENZAHL.focus();
		return false;
	}

// Tel oder Handy sollte angegeben werden
	if (document.parkflieg.TEL.value == "" && document.parkflieg.HANDY.value == "")
	{	alert(errorMsgs["TELHANDY"]);
		document.parkflieg.TEL.focus();
		return false;
	}

// eMAIL sollte angegeben werden
	if (document.parkflieg.EMAIL.value == "")
	{	alert(errorMsgs["EMAIL"]);
		document.parkflieg.EMAIL.focus();
		return false;
	}
	var Length = document.parkflieg.EMAIL.value.length;
	var EMailFlag = 0;
	for (var i = 1; i <= Length; i++)
	{	if (document.parkflieg.EMAIL.value.charAt(i) == "@")
  			EMailFlag = 10;
	}
	for (var i = 1; i <= Length; i++)
	{	if (document.parkflieg.EMAIL.value.charAt(i) == ".")
  			EMailFlag = EMailFlag  + 1;
	}
	if (EMailFlag  < 11)
	{	alert(errorMsgs["EMAIL1"]);
		document.parkflieg.EMAIL.focus();
		return false;
	}

	tag = document.parkflieg.ABFLUGTAG.value;
	ATagKorr = pruefe_tag(tag);
	if (ATagKorr == "-1")
	{	alert(errorMsgs["ABFLUGTAG"]);
		document.parkflieg.ABFLUGTAG.focus();
		return false;
	}
	document.parkflieg.ABFLUGTAG.value = ATagKorr;

	var ZeitKorr;
	var zeit = document.parkflieg.ABFLUGZEIT.value;
	ZeitKorr = pruefe_zeit(zeit);
	if (ZeitKorr == "-1")
	{	alert(errorMsgs["ABFLUGZEIT"]);
		document.parkflieg.ABFLUGZEIT.focus();
		return false;
	}
	document.parkflieg.ABFLUGZEIT.value = ZeitKorr;

// Leere Felder überprüfen
    if ((document.parkflieg.FLUGZIEL.value == "") && (document.parkflieg.ABFLUGNR.value == "")) 
    {	alert(errorMsgs["ZIELFLUGNR"]);
    	document.parkflieg.FLUGZIEL.focus();
    	return false;
    }

  	tag = document.parkflieg.RUECKFLUGTAG.value;
	RTagKorr = pruefe_tag(tag);
	if (RTagKorr == "-1")
	{	alert(errorMsgs["RUECKFLUGTAG"]);
		document.parkflieg.RUECKFLUGTAG.focus();
		return false;
	}
	document.parkflieg.RUECKFLUGTAG.value = RTagKorr;

// Ankunftszeit prüfen  
	zeit = document.parkflieg.RUECKFLUGZEIT.value;
	ZeitKorr = pruefe_zeit(zeit);
	if (ZeitKorr == "-1")
	{	alert(errorMsgs["RUECKFLUGZEIT"]);
		document.parkflieg.RUECKFLUGZEIT.focus();
		return false;
	}
	document.parkflieg.RUECKFLUGZEIT.value = ZeitKorr;

// Abflugdatum vor Rückkehrdatum??
	atag = ATagKorr.charAt(0) + ATagKorr.charAt(1);
	amonat = ATagKorr.charAt(3) + ATagKorr.charAt(4);
	ajahr = ATagKorr.charAt(8) + ATagKorr.charAt(9);
	rtag = RTagKorr.charAt(0) + RTagKorr.charAt(1);
	rmonat = RTagKorr.charAt(3) + RTagKorr.charAt(4);
	rjahr = RTagKorr.charAt(8) + RTagKorr.charAt(9);
	VADatum = ajahr + amonat + atag;
	VRDatum = rjahr + rmonat + rtag;
	if (VADatum > VRDatum)
	{	alert(errorMsgs["DATUMVERGLEICH"]);
		document.parkflieg.ABFLUGTAG.focus();
		return false;
	}
// Anzahl der Tage im Monat prüfen	
	if ((atag > 31 && amonat == 1) ||
		(atag > 29 && amonat == 2) || (ajahr != 08 && atag > 28 && amonat == 2) || (ajahr != 12 && atag > 28 && amonat == 2) ||
		(atag > 31 && amonat == 3) ||
		(atag > 30 && amonat == 4) ||
		(atag > 31 && amonat == 5) ||
		(atag > 30 && amonat == 6) ||
		(atag > 31 && amonat == 7) ||
		(atag > 31 && amonat == 8) ||
		(atag > 30 && amonat == 9) ||
		(atag > 31 && amonat == 10) ||
		(atag > 30 && amonat == 11) ||
		(atag > 31 && amonat == 12)    )
	{	alert(errorMsgs["AMONATSTAGE"]);
		document.parkflieg.ABFLUGTAG.focus();
		return false;
	}
	if ((rtag > 31 && rmonat == 1) ||
		(rtag > 29 && rmonat == 2) || (rjahr != 08 && rtag > 28 && rmonat == 2) || (rjahr != 12 && rtag > 28 && rmonat == 2) ||
		(rtag > 31 && rmonat == 3) ||
		(rtag > 30 && rmonat == 4) ||
		(rtag > 31 && rmonat == 5) ||
		(rtag > 30 && rmonat == 6) ||
		(rtag > 31 && rmonat == 7) ||
		(rtag > 31 && rmonat == 8) ||
		(rtag > 30 && rmonat == 9) ||
		(rtag > 31 && rmonat == 10) ||
		(rtag > 30 && rmonat == 11) ||
		(rtag > 31 && rmonat == 12)    )
	{	alert(errorMsgs["RMONATSTAGE"]);
		document.parkflieg.RUECKFLUGTAG.focus();
		return false;
	}

// Rückflugnummer oder Zielort angeben
  if ((document.parkflieg.FLUGZIEL.value == "") && (document.parkflieg.RUECKFLUGNR.value == "")) 
    {	alert(errorMsgs["RUECKFLUGNR"]);
    	document.parkflieg.FLUGZIEL.focus();
    	return false;
    }
 }

// Wenn nur Kommentar, dann aber mit eMail-Adresse
 if (document.parkflieg.KOMMENT.value != "" && document.parkflieg.ABFLUGTAG.value == "")
 {	var Length = document.parkflieg.EMAIL.value.length;
	var EMailFlag = 0;
	for (i = 0; i < Length; ++i)
	{	if (document.parkflieg.EMAIL.value.charAt(i) == "@")
  		EMailFlag = 10;
	}
	for (i = 0; i < Length; ++i)
	{	if (document.parkflieg.EMAIL.value.charAt(i) == ".")
		EMailFlag = EMailFlag + 1;
	}
	if (EMailFlag  < 11)
	{	alert(errorMsgs["EMAIL1"]);
		document.parkflieg.EMAIL.focus();
		return false;
	}
 }
}

// Datum prüfen
function pruefe_tag(Datum)
{
  var Flugtag = "";
  var AnzPkt = 0;
  var Length = Datum.length;
  var tag = "";
  var monat = "";
  var jahr = "";
  
  if (Datum == "")
	return "-1";

// Leerstellen entfernen + Punkte einsetzen und sie zählen
  for (i = 0; i < Length; ++i)
  {
  	if (Datum.charAt(i) == " ")
  		Flugtag = Flugtag;
	else if (Datum.charAt(i) < "0" || Datum.charAt(i) > "9")
	{	Flugtag = Flugtag + ".";
		AnzPkt = AnzPkt + 1;
	} else
		Flugtag = Flugtag + Datum.charAt(i);
  }

  if (AnzPkt != 2)
	return "-1";

  Datum = Flugtag;
  Length = Datum.length;

  if ( Length < 6 || Length > 10)
	return "-1";

// Datumlänge = 6  -->> '1.1.07'
  if (Length == 6 && (Datum.charAt(1) != "." || Datum.charAt(3) != "."))
		return "-1";
  if (Length == 6)
  {		tag = "0" + Datum.charAt(0);
    	monat = "0" + Datum.charAt(2);
    	jahr = "20" + Datum.charAt(4) + Datum.charAt(5);
  }


// Datumlänge = 7  -->> '1.10.07'  || '10.1.07'
  if (Length == 7)
  {	if ((Datum.charAt(1) == "." && Datum.charAt(4) == ".") || (Datum.charAt(2) == "." && Datum.charAt(4) == "."))
   		Flugtag = Flugtag;
    else
		return "-1";
    if (Datum.charAt(1) == ".")
    {		tag = "0" + Datum.charAt(0);
			monat = Datum.charAt(2) + Datum.charAt(3);
			jahr = "20" + Datum.charAt(5) + Datum.charAt(6);
    }
    if (Datum.charAt(2) == ".")
    {		tag = Datum.charAt(0) + Datum.charAt(1);
    		monat = "0" + Datum.charAt(3);
    		jahr = "20" + Datum.charAt(5) + Datum.charAt(6);
    }
  }

// Datumlänge = 8  -->> '10.10.07' || '1.1.2007'
  if (Length == 8)
  { if ((Datum.charAt(1) == "." && Datum.charAt(3) == ".") || (Datum.charAt(2) == "." && Datum.charAt(5) == "."))
  		Flugtag = Flugtag;
    else
		return "-1";
    if (Datum.charAt(1) == ".")
    {		tag = "0" + Datum.charAt(0);
			monat = "0" + Datum.charAt(2);
			jahr = "20" + Datum.charAt(6) + Datum.charAt(7);
    }
    if (Datum.charAt(2) == ".")
    {		tag = Datum.charAt(0) + Datum.charAt(1);
			monat = Datum.charAt(3) + Datum.charAt(4);
			jahr = "20" + Datum.charAt(6) + Datum.charAt(7);
    }
  }
// Datumlänge = 9  -->> '1.10.2007'  || '10.1.2007'
  if (Length == 9)
  { if ((Datum.charAt(1) == "." && Datum.charAt(4) == ".") || (Datum.charAt(2) == "." && Datum.charAt(4) == "."))
  		Flugtag = Flugtag;
    else
		return "-1";
    if (Datum.charAt(1) == ".")
    {		tag = "0" + Datum.charAt(0);
			monat = Datum.charAt(2) + Datum.charAt(3);
			jahr = jahr = "20" + Datum.charAt(7) + Datum.charAt(8);
    }
    if (Datum.charAt(2) == ".")
    {		tag = Datum.charAt(0) + Datum.charAt(1);
			monat = "0" + Datum.charAt(3);
	 		jahr = "20" + Datum.charAt(7) + Datum.charAt(8);
    }
  }

// Datumlänge = 10  -->> '01.10.2007'
  if (Length == 10)
  {		tag = Datum.charAt(0) + Datum.charAt(1);
		monat = Datum.charAt(3) + Datum.charAt(4);
		jahr = "20" + Datum.charAt(8) + Datum.charAt(9);
  }

// Prüfung Tag Monat Jahr
  if (tag < "01" || tag > "31" || monat < "01" || monat > "12" || jahr > "2010")
	return "-1";

  TagKorr = tag + "." + monat + "." + jahr;
	return TagKorr;
}


// ABFLUGZEIT/Ankunftszeit
function pruefe_zeit(Zeit)
{
  var Length = Zeit.length;
  var std = "";
  var min = "";
  var Flugzeit = "";
  var AnzDPkt = 0;

  for (i = 0; i < Length; ++i)
  {
  	if (Zeit.charAt(i) != ":" && Zeit.charAt(i) != "." && Zeit.charAt(i) != "," && (Zeit.charAt(i) < "0" || Zeit.charAt(i) > "9"))
	    return "-1";

  	if (Zeit.charAt(i) == " ")
  		Flugzeit = Flugzeit;
	else if (Zeit.charAt(i) == "." || Zeit.charAt(i) == "," || Zeit.charAt(i) == ":")
	{	Flugzeit = Flugzeit + ":";
		AnzDPkt = AnzDPkt + 1;
	} else
		Flugzeit = Flugzeit + Zeit.charAt(i) ;
  }

  Length = Flugzeit.length;

  if (Length == 4) 
	Flugzeit = "0" + Flugzeit;
	
  if (Length > 5 || Length < 4)
	    return "-1";

  for (i = 0; i < 5; ++i)
	if ((Flugzeit.charAt(i) < "0" || Flugzeit.charAt(i) > "9")  && i != 2)
		return "-1";

  std = Flugzeit.charAt(0) + Flugzeit.charAt(1);	
  if (std >= "24" || std < "00") 
	return "-1";

  min = Flugzeit.charAt(3) + Flugzeit.charAt(4);
  if (min > "59" || min < "00")
	return "-1";

  if (AnzDPkt != 1)
	return "-1";

  return Flugzeit ;
}

