/*
 *buchung.js
 *Author : Jürgen Rombach
 *Date : 02. September 1998
 */



    function kaufm(x) {
	  //var k = (Math.round(x * 100) / 100).toString();
	  var k = (Math.round(x * 100) / 100);
  	  //var myFloat =parseFloat (k);
      return k;
	  }


        function checkItems (form_object, button)
	{
		err_var=0
		//alert (form_object)
		//check von , bis, Anzahl Personen auf Korrektheit
		if (form_object.adults.length < 1)
		{
			alert ("Bitte geben Sie die Anzahl der Personen ein.")
			form_object.adults.focus()
			err_var=1
			return false
			
		}
		if ((parseInt(form_object.adults.selectedIndex) + parseInt(form_object.childs.selectedIndex + 1)) > 5)
		{
			alert ("Die max. Personenanzahl betraegt 5.")
			//alert ((form_object.adults.value + form_object.childs.value))
			form_object.adults.focus()
			form_object.ergebnis.value=""
			err_var=1
			return false
			
		}
		
		if (form_object.from.value.length < 1)
		{
			alert ("Bitte geben Sie das Anfangsdatum ein.")
			form_object.from.focus()
			err_var=1
			return false
		}
		if (form_object.until.value.length < 1)
		{
			alert ("Bitte geben Sie das Enddatum ein.")
			form_object.until.focus()
			err_var=1			
			return false
		}
		
		if (form_object.lastname.value.length < 1 && button == 1)
		{
			alert ("Bitte geben Sie Ihren Nachnamen ein.")
			form_object.lastname.focus()
			err_var=1			
			return false
		}
		if (form_object.email.value.indexOf("@") < 1 && button == 1)
		{
			alert ("Bitte geben Sie Ihre EMail-Adresse ein.\n Wir können ansonsten Ihre Buchung nicht bestätigen.")
			form_object.email.focus()
			err_var=1			
			return false
		}
		if (err_var == 0)
		{	
			ret_val=checkBooking (form_object, button)
			if (ret_val == true)
				{ return true}
			else { return false }
		}
	 }

     function checkBooking(form_object, button)
	{
		var errBooking=0
		var booking;
		Day=24*60*60*1000
		//free dates
		var kurtaxe;
		var gesamtbetrag;
                var adults;                
		
		a=form_object.from.value
		
                dot = a.indexOf (".")
		dot2 = a.lastIndexOf (".")
		b = a.substring(0, dot)// day
		c = a.substring(dot, dot+1)// '.'
		d = a.substring(dot+1, dot2)// month
		e = a.substring(dot2, dot2+1)// '.'
		f = a.substring(dot2+1, a.length)// year
		
		myDateFrom=new Date(f,d-1,b)

                //alert (myDateFrom)
		au=form_object.until.value
		dot = au.indexOf (".")
		dot2 = au.lastIndexOf (".")
		bu = au.substring(0, dot)// day
		cu = au.substring(dot, dot+1)// '.'
		du = au.substring(dot+1, dot2)// month
		eu = au.substring(dot2, dot2+1)// '.'
		fu = au.substring(dot2+1, au.length)// year
                myDateUntil=new Date(fu,du-1,bu)
                  
		from = Math.round (myDateFrom.getTime() / Day)
		until =Math.round (myDateUntil.getTime()/ Day)

		if (from > until)
		{
		 	alert ("Start-Datum muss vor dem Ende-Datum liegen.")
			//alert (from + "  " + until)
			form_object.from.focus()
			return false
		}

		days_count=(until - from); 
		for (var i = 0; i < frei_von.length; i++) 
		{
		  	free_f = Math.round (frei_von[i].getTime() / Day)
			free_u = Math.round (frei_bis[i].getTime() / Day)
			
			if (from >= free_f && until <= free_u)
			{
				booking = "ok";
				i = frei_von.length+2;	
			}						
		}
		
		if (booking != "ok")			
		{
			alert ("Die Ferienwohnung ist in diesem Zeitraum leider belegt.")
			form_object.ergebnis.value=""
			return false;
								
		}		
		
		persons = parseInt (form_object.adults.selectedIndex+1)+parseInt (form_object.childs.selectedIndex);
		adults =  parseInt (form_object.adults.selectedIndex+1);
		childs =  parseInt (form_object.childs.selectedIndex);

		if (f > 2001)
		{
			kurtaxe = kaufm (kaufm(adults * 2.1 * days_count) + kaufm(childs * 0.8 * days_count));

		}
		else
		{
			kurtaxe = kaufm(adults * 2.10 * days_count);
		}
		if (persons > 4)
			{
			 if (f > 2001) 
			 {
			  tarif=45
			 }
			 else
			 {
			  tarif=70
			 }
			}
		if (persons < 5)
			{
			 if (f > 2001) 
			 {
			  tarif=40
			 }
			 else
			 {
			  tarif=65
			 }
			}
		if (persons < 4)
			{
			 if (f > 2001) 
			 {
			  tarif=35
			 }
			 else
			 {
			  tarif=60
			 }
			}
		
		if (persons < 3)
			{
			 if (f > 2001) 
			 {
			  tarif=30
			 }
			 else
			 {
			  tarif=55
			 }
			}

                if (days_count < 4)
		{
		 if (f > 2001) 
		 {
		  tarif=tarif+5
		 }
		 else
		 {
                  tarif=tarif+10
		 }
		} 
                var waehrung;
		price=days_count*tarif
		if (f < 2002) 
		 {
                  waehrung=" DM";
		 }
		 else
		 {
                  waehrung=" Euro";
		 }
                gesamtbetrag = price + kurtaxe;
		text= (days_count + " Tage Uebernachtung mit " + persons + " Personen.\n" + tarif + waehrung + " pro Nacht.\n" + "Wohnungskosten: " + price + waehrung + " \nKurtaxe: " + kurtaxe + waehrung + "\nGesamtbetrag: " + gesamtbetrag + waehrung)
		form_object.ergebnis.value=text

		//fuer SPAM Verhinderung
		form_object.subject.value= "Offizielle Deutsche Online-Buchung durch Formular";
		//alert (form_object.subject.value);
		return true;				
	 }


	 function checkDate(form_object) {
		if (navigator.userAgent.indexOf("MSIE") !=-1) {
			//return
		}
		var err=0
		a=form_object.value

		if (a.length < 6) err=1
		dot = a.indexOf (".")
		dot2 = a.lastIndexOf (".")
		b = a.substring(0, dot)// day
		c = a.substring(dot, dot+1)// '.'
		d = a.substring(dot+1, dot2)// month
		e = a.substring(dot2, dot2+1)// '.'
		f = a.substring(dot2+1, a.length)// year
		/*
		if  (parseInt(b) == 0 || isNaN(b) || parseInt(d) == 0 || isNaN(d) || parseInt(f) == 0 || isNaN(f)) {
			b=0;
			d=0;
			f=0;
		}
		*/
		//d=d-1 //month -1, da Bereich von 0-11 geht
		if (b<1 || b>31) err = 1
		if (c != '.') err = 1
		if (d<1 || d>12) err = 1
		if (e != '.') err = 1
		//if (f<97 || f>99) err = 1
		if (d==4 || d==6 || d==9 || d==11){
		if (b==31) err=1
		}
		if (d==2){
		var g=parseInt(f/4)
		if (isNaN(g)) {
		err=1
		}
		if (b>29) err=1
		if (b==29 && ((f/4)!=parseInt(f/4))) err=1
		}
		if (err==1) {
		alert('Datum ist nicht korrekt. Bitte geben Sie das Datum in der Form Tag.Monat.Jahr ein. Beispiel: 31.12.98');
		form_object.focus()
		form_object.value=""
		}
		
	   }   
		
