/*
 *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 ("Please enter the number of persons.")
			form_object.adults.focus()
			err_var=1
			return false
			
		}
		if ((parseInt(form_object.adults.selectedIndex) + parseInt(form_object.childs.selectedIndex + 1)) > 5)
		{
            		alert ("The vacation room can be occupied by a maximum of 5 persons.")
			//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 ("Please enter the start date.")
			form_object.from.focus()
			err_var=1
			return false
		}
		if (form_object.until.value.length < 1)
		{
			alert ("Please enter the end date.")
			form_object.until.focus()
			err_var=1			
			return false
		}
		if (form_object.lastname.value.length < 1 && button == 1)
		{
			alert ("Please enter your last name.")
			form_object.lastname.focus()
			err_var=1			
			return false
		}
		if (form_object.email.value.indexOf("@") < 1 && button == 1)
		{
			alert ("Please enter your EMail address for the confirmation of your booking.\n")
			form_object.replyemail.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;                free1_from=new Date("January 19, 2006")
                free1_until=new Date("February 03, 2006")

                free2_from=new Date("February 18, 2006")
                free2_until=new Date("February 23, 2006")

                free3_from=new Date("March 01, 2006")
                free3_until=new Date("April 30, 2006")

                free4_from=new Date("May 15, 2006")
                free4_until=new Date("June 17, 2006")

                free5_from=new Date("June 26, 2006")
                free5_until=new Date("July 01, 2006")

                free6_from=new Date("July 17, 2006")
                free6_until=new Date("September 15, 2006")

                free7_from=new Date("October 01, 2006")
                free7_until=new Date("October 13, 2006")

                free8_from=new Date("October 22, 2006")
                free8_until=new Date("December 31, 2006")

                free9_from=new Date("January 1, 2000")
                free9_until=new Date("January 1, 2000")

                free10_from=new Date("January 1, 2000")
                free10_until=new Date("January 1, 2000")

                free11_from=new Date("January 1, 2000")
                free11_until=new Date("January 1, 2000")

                free12_from=new Date("January 1, 2000")
                free12_until=new Date("January 1, 2000")

                free13_from=new Date("January 1, 2000")
                free13_until=new Date("January 1, 2000")


		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)
		//alert (myDateUntil)

		from = Math.round (myDateFrom.getTime() / Day)
		until =Math.round (myDateUntil.getTime()/ Day)

		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 (from > until)
		{
		 	alert ("Start-Date must be before the end-Date.")
			//alert (from + "  " + until)
			form_object.from.focus()
			return false
		}
		if (booking != "ok")			
		{
			alert ("The vacation room is occupied at this time.")
			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";
		 }

		price=days_count*tarif;
		gesamtbetrag = price + kurtaxe;
		text= (days_count + " overnight stays with " + persons + " persons.\n" + tarif + waehrung +" per night.\n" + "Rental: " + price + waehrung + " \nhealth resort tax of Furtwangen: " + kurtaxe + waehrung + "\ntotal costs: "  + gesamtbetrag + waehrung);
                form_object.ergebnis.value=text
		return true

	 }


	 function checkDate(form_object) {
		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	
		
		/*
		does not work because e. g. 09 is not an integer !!
		if  (parseInt(b) == 0 || isNaN(b) || parseInt(d) == 0 || isNaN(d) || parseInt(f) == 0 || isNaN(f)) {
			alert ("hi" +b+ parseInt(b))
			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('Date is not correct. Please enter the date in european form, day, month, year. Example: 31.12.98 for the December 31 1998');
		form_object.focus()
		form_object.value=""
		}
		
	   }   
		
