/*
Umlaute UTF-8
\u00

plus

ä: e4, ö: f6, ü: fc
Ä: c4, Ö: d6, Ü: dc
ß: df
*/
function formularcheck(){
	bis_tag = parseInt(document.formular.bis_tag.value);
	bis_monat = parseInt(document.formular.bis_monat.value);
	bis_jahr = parseInt(document.formular.bis_jahr.value);
	vom_tag = parseInt(document.formular.vom_tag.value);
	vom_monat = parseInt(document.formular.vom_monat.value);
	vom_jahr = parseInt(document.formular.vom_jahr.value);
	zeitraum = document.formular.zeitraum.value;
	heute  = new Date();
	gestern = heute - (1000*60*60*24);
	//alert(gestern);
	anreise = new Date(vom_jahr, vom_monat - 1, vom_tag);
	tanreise = anreise - 0;
	//alert(tanreise);
	abreise = new Date(bis_jahr, bis_monat - 1, bis_tag);

	// ist Anreisedatum schon vergangen?
	if(tanreise <= gestern){
   		alert("Der Anreisetag ist bereits vergangen! Bitte geben Sie den heutigen Tag oder einen zukünftigen Tag als Anreisetag an.");
		document.formular.bis_jahr.focus();
		return false;
	}

	// Enddatum muss vollständig ausgefüllt sein
	if(!(((bis_tag == 0)&&(bis_monat == 0)&&(bis_jahr == 0))||((bis_tag != 0)&&(bis_monat != 0)&&(bis_jahr != 0)))){
		// Ist Endtag leer?
		if(bis_tag == 0){
	   		alert("Bitte geben Sie nur ein vollständiges Abreise-Datum an!");
   			document.formular.bis_tag.focus();
   			return false;
   		}
		// Ist Endmonat leer?
		if(bis_monat == 0){
	   		alert("Bitte geben Sie nur ein vollständiges Abreise-Datum an!");
   			document.formular.bis_monat.focus();
   			return false;
   		}
		// Ist Endjahr leer?
		if(bis_jahr == 0){
	   		alert("Bitte geben Sie nur ein vollständiges Abreise-Datum an!");
   			document.formular.bis_jahr.focus();
   			return false;
   		}
  	}
	
	// Wenn Enddatum angegeben wurde, dann prüfen ob Enddatum > Startdatum
	if(bis_tag != 0){
		// Jahreszahl zu klein
		if(vom_jahr > bis_jahr){
	   		alert("Der angefragte Abreisetag liegt vor dem angefragten Anreisetag. Bitte versuchen Sie es noch einmal. Vielleicht haben Sie sich ja mit dem Datum, dem Monat oder dem Jahr versehen?");
   			document.formular.bis_jahr.focus();
   			return false;
		}
		// Monat zu klein
		if((vom_jahr == bis_jahr)&&(vom_monat > bis_monat)){
	   		alert("Der angefragte Abreisetag liegt vor dem angefragten Anreisetag. Bitte versuchen Sie es noch einmal. Vielleicht haben Sie sich ja mit dem Datum, dem Monat oder dem Jahr versehen?");
   			document.formular.bis_monat.focus();
   			return false;
		}
		// Monat zu klein
		if((vom_jahr == bis_jahr)&&(vom_monat == bis_monat)&&(vom_tag > bis_tag)){
	   		alert("Der angefragte Abreisetag liegt vor dem angefragten Anreisetag. Bitte versuchen Sie es noch einmal. Vielleicht haben Sie sich ja mit dem Datum, dem Monat oder dem Jahr versehen?");
   			document.formular.bis_tag.focus();
   			return false;
		}
		// Zeitraum mit An- und Abreisetag vergleichen	ACHTUNG!!! Januar fängt bei 0 an
		var diff = abreise.getTime() - anreise.getTime();
		var tage = Math.floor(diff/(1000*60*60*24));
		if(tage < zeitraum){
	   		alert("Die angegebene Anzahl der gewünschten Übernachtungen passt leider nicht zum angegebenen Zeitraum. Bitte versuchen Sie es noch einmal.");
   			document.formular.bis_tag.focus();
   			return false;
   		}
	// Dauer oder Enddatum muss angegeben werden
	}else{
		if((zeitraum == "")||(zeitraum == "0")){
	   		alert("Bitte geben Sie zusätzlich zum Anreisedatum entweder die Anzahl der gewünschten Übernachtungen oder ein Abreisedatum an. Sie können auch beides mit angeben.");
   			document.formular.zeitraum.focus();
   			return false;
   		}
   		if(!testnum(zeitraum)){
	   		alert("Bitte geben Sie für die Anzahl der gewünschten Übernachtungen nur Zahlen an.");
   			document.formular.zeitraum.focus();
   			return false;
		}   		
	}
}

function formularcheck_adv(){
	bis_tag = parseInt(document.formular.bis_tag.value);
	bis_monat = parseInt(document.formular.bis_monat.value);
	bis_jahr = parseInt(document.formular.bis_jahr.value);
	vom_tag = parseInt(document.formular.vom_tag.value);
	vom_monat = parseInt(document.formular.vom_monat.value);
	vom_jahr = parseInt(document.formular.vom_jahr.value);
	toleranz = parseInt(document.formular.tol.value);
	zeitraum = parseInt(document.formular.zeitraum.value);
	toleranz = parseInt(document.formular.tol.value);
	heute  = new Date();
	gestern = heute - (1000*60*60*24);
	//alert(gestern);
	anreise = new Date(vom_jahr, vom_monat - 1, vom_tag);
	tanreise = anreise - 0;
	//alert(tanreise);
	abreise = new Date(bis_jahr, bis_monat - 1, bis_tag);

	// ist Anreisedatum schon vergangen?
	if(tanreise <= gestern){
   		alert("Der Anreisetag ist bereits vergangen! Bitte geben Sie den heutigen Tag oder einen zukünftigen Tag als Anreisetag an.");
		document.formular.bis_jahr.focus();
		return false;
	}

	// Enddatum muss vollständig ausgefüllt sein
	if(!(((bis_tag == 0)&&(bis_monat == 0)&&(bis_jahr == 0))||((bis_tag != 0)&&(bis_monat != 0)&&(bis_jahr != 0)))){
		// Ist Endtag leer?
		if(bis_tag == 0){
	   		alert("Bitte geben Sie nur ein vollständiges Abreise-Datum an!");
   			document.formular.bis_tag.focus();
   			return false;
   		}
		// Ist Endmonat leer?
		if(bis_monat == 0){
	   		alert("Bitte geben Sie nur ein vollständiges Abreise-Datum an!");
   			document.formular.bis_monat.focus();
   			return false;
   		}
		// Ist Endjahr leer?
		if(bis_jahr == 0){
	   		alert("Bitte geben Sie nur ein vollständiges Abreise-Datum an!");
   			document.formular.bis_jahr.focus();
   			return false;
   		}
  	}
	
	// Wenn Enddatum angegeben wurde, dann prüfen ob Enddatum > Startdatum
	if(bis_tag != 0){
		// Jahreszahl zu klein
		if(vom_jahr > bis_jahr){
	   		alert("Der angefragte Abreisetag liegt vor dem angefragten Anreisetag. Bitte versuchen Sie es noch einmal. Vielleicht haben Sie sich ja mit dem Datum, dem Monat oder dem Jahr versehen?");
   			document.formular.bis_jahr.focus();
   			return false;
		}
		// Monat zu klein
		if((vom_jahr == bis_jahr)&&(vom_monat > bis_monat)){
	   		alert("Der angefragte Abreisetag liegt vor dem angefragten Anreisetag. Bitte versuchen Sie es noch einmal. Vielleicht haben Sie sich ja mit dem Datum, dem Monat oder dem Jahr versehen?");
   			document.formular.bis_monat.focus();
   			return false;
		}
		// Monat zu klein
		if((vom_jahr == bis_jahr)&&(vom_monat == bis_monat)&&(vom_tag > bis_tag)){
	   		alert("Der angefragte Abreisetag liegt vor dem angefragten Anreisetag. Bitte versuchen Sie es noch einmal. Vielleicht haben Sie sich ja mit dem Datum, dem Monat oder dem Jahr versehen?");
   			document.formular.bis_tag.focus();
   			return false;
		}
		// Zeitraum mit An- und Abreisetag vergleichen	ACHTUNG!!! Januar fängt bei 0 an
		var diff = abreise.getTime() - anreise.getTime();
		var tage = Math.floor(diff/(1000*60*60*24));
		if(tage < zeitraum){
	   		alert("Die angegebene Anzahl der gewünschten Übernachtungen passt leider nicht zum angegebenen Zeitraum. Bitte versuchen Sie es noch einmal.");
   			document.formular.bis_tag.focus();
   			return false;
   		}
	// Dauer oder Enddatum muss angegeben werden
	}else{
		/*if((zeitraum == "")||(zeitraum == "0")){
	   		alert("Bitte geben Sie zusätzlich zum Anreisedatum entweder die Anzahl der gewünschten Übernachtungen oder ein Abreisedatum an. Sie können auch beides mit angeben.");
   			document.formular.zeitraum.focus();
   			return false;
   		}*/
   		if(!testnum(zeitraum)){
	   		alert("Bitte geben Sie für die Anzahl der gewünschten Übernachtungen nur Zahlen an.");
   			document.formular.zeitraum.focus();
   			return false;
		}   		
	}
	
	// Toleranz nur mit An- und Abreisedatum möglich
	/*
	if(toleranz!=0){
		if(vom_tag<=0||bis_tag<=0){
	   		alert("Bitte geben Sie zusätzlich zur Toleranz den An- und Abreisetag an.");
   			document.formular.vom_tag.focus();
   			return false;
   		}
   	}
   	*/	
   	
   	// Toleranz zu groß?
	var diff = abreise.getTime() - anreise.getTime();
	var tage = Math.floor(diff/(1000*60*60*24));
	if(tage<=(toleranz*2)&&tage>0){
   		alert("Der von Ihnen angegebene Toleranzwert ist zu groß. Bitte wählen Sie einen kleineren Wert.");
		document.formular.tol.focus();
		return false;
	}   	
			
}

function formularcheck_qs(){
	bis_tag = parseInt(document.formular.bis_tag.value);
	bis_monat = parseInt(document.formular.bis_monat.value);
	bis_jahr = parseInt(document.formular.bis_jahr.value);
	vom_tag = parseInt(document.formular.vom_tag.value);
	vom_monat = parseInt(document.formular.vom_monat.value);
	vom_jahr = parseInt(document.formular.vom_jahr.value);
	zeitraum = document.formular.zeitraum.value;
	heute  = new Date();
	gestern = heute - (1000*60*60*24);
	//alert(gestern);
	anreise = new Date(vom_jahr, vom_monat - 1, vom_tag);
	tanreise = anreise - 0;
	//alert(tanreise);
	abreise = new Date(bis_jahr, bis_monat - 1, bis_tag);

	// ist Anreisedatum schon vergangen?
	if(tanreise <= gestern){
   		alert("Der Anreisetag ist bereits vergangen! Bitte geben Sie den heutigen Tag oder einen zuk\u00fcnftigen Tag als Anreisetag an.");
		document.formular.bis_jahr.focus();
		return false;
	}

	// Enddatum muss vollst\u00e4ndig ausgef\u00fcllt sein
	if(!(((bis_tag == 0)&&(bis_monat == 0)&&(bis_jahr == 0))||((bis_tag != 0)&&(bis_monat != 0)&&(bis_jahr != 0)))){
		// Ist Endtag leer?
		if(bis_tag == 0){
	   		alert("Bitte geben Sie nur ein vollst\u00e4ndiges Abreise-Datum an!");
   			document.formular.bis_tag.focus();
   			return false;
   		}
		// Ist Endmonat leer?
		if(bis_monat == 0){
	   		alert("Bitte geben Sie nur ein vollst\u00e4ndiges Abreise-Datum an!");
   			document.formular.bis_monat.focus();
   			return false;
   		}
		// Ist Endjahr leer?
		if(bis_jahr == 0){
	   		alert("Bitte geben Sie nur ein vollst\u00e4ndiges Abreise-Datum an!");
   			document.formular.bis_jahr.focus();
   			return false;
   		}
  	}

	// Wenn Enddatum angegeben wurde, dann pr\u00fcfen ob Enddatum > Startdatum
	if(bis_tag != 0){
		// Jahreszahl zu klein
		if(vom_jahr > bis_jahr){
	   		alert("Der angefragte Abreisetag liegt vor dem angefragten Anreisetag. Bitte versuchen Sie es noch einmal. Vielleicht haben Sie sich ja mit dem Datum, dem Monat oder dem Jahr versehen?");
   			document.formular.bis_jahr.focus();
   			return false;
		}
		// Monat zu klein
		if((vom_jahr == bis_jahr)&&(vom_monat > bis_monat)){
	   		alert("Der angefragte Abreisetag liegt vor dem angefragten Anreisetag. Bitte versuchen Sie es noch einmal. Vielleicht haben Sie sich ja mit dem Datum, dem Monat oder dem Jahr versehen?");
   			document.formular.bis_monat.focus();
   			return false;
		}
		// Monat zu klein
		if((vom_jahr == bis_jahr)&&(vom_monat == bis_monat)&&(vom_tag > bis_tag)){
	   		alert("Der angefragte Abreisetag liegt vor dem angefragten Anreisetag. Bitte versuchen Sie es noch einmal. Vielleicht haben Sie sich ja mit dem Datum, dem Monat oder dem Jahr versehen?");
   			document.formular.bis_tag.focus();
   			return false;
		}
		// Zeitraum mit An- und Abreisetag vergleichen	ACHTUNG!!! Januar f\u00e4ngt bei 0 an
		var diff = abreise.getTime() - anreise.getTime();
		var tage = Math.floor(diff/(1000*60*60*24));
		if(tage < zeitraum){
	   		alert("Die angegebene Anzahl der gew\u00fcnschten \u00dcbernachtungen passt leider nicht zum angegebenen Zeitraum. Bitte versuchen Sie es noch einmal.");
   			document.formular.bis_tag.focus();
   			return false;
   		}
	// Dauer oder Enddatum muss angegeben werden
	}else{
		if((zeitraum == "")||(zeitraum == "0")){
	   		alert("Bitte geben Sie zus\u00e4tzlich zum Anreisedatum entweder die Anzahl der gew\u00fcnschten \u00dcbernachtungen oder ein Abreisedatum an. Sie k\u00f6nnen auch beides mit angeben.");
   			document.formular.zeitraum.focus();
   			return false;
   		}
   		if(!testnum(zeitraum)){
	   		alert("Bitte geben Sie f\u00fcr die Anzahl der gew\u00fcnschten \u00dcbernachtungen nur Zahlen an.");
   			document.formular.zeitraum.focus();
   			return false;
		}
	}
	popup_ausgabe(vom_tag,vom_monat,vom_jahr,bis_tag,bis_monat,bis_jahr,zeitraum);
}

// Funktion zum Überprüfen ob Eingabefeld nur Zahlen enthält
function testnum(formfield){
	var nums = "1234567890";
	var erg = true;
	for(var i=0;i<formfield.length;i++){
		var pos = formfield.charAt(i);
		if(nums.indexOf(pos) == -1)
			erg = false;
	}
	return erg;
}