
var i = 0;
	if( document.booking.arrivalDateMonth != null 
		&& document.booking.arrivalDateDay != null 
		&& document.booking.arrivalDateYear != null 
		&& document.booking.departureDateMonth != null 
		&& document.booking.departureDateDay != null 
		&& document.booking.departureDateYear != null )
	{
		  
		  if(document.booking.departureDateYear.options[document.booking.departureDateYear.selectedIndex].value == "") {setDateToToday(document.booking);} 
		  
		  var fx = document.booking;
			if (document.booking.action.value!='send') {
			  setCheckoutFromCheckin(fx);
			  }
		  document.booking.arrivalDateDay.onchange = function() { setCheckoutFromCheckin(fx); }
		  document.booking.arrivalDateMonth.onchange = function() { setCheckoutFromCheckin(fx); }
		  document.booking.arrivalDateYear.onchange = function() { setCheckoutFromCheckin(fx); }
	}
	
function setDateToToday(fo)
{
		
		var now;
		
		
		now = new Date();
  		
  		var index_year = now.getFullYear();
  		
  		var index_month = now.getMonth(); 
  		var index_day = now.getDate();
  		
  		var index_checkin = new Date(index_year, index_month, index_day);
		
  		oneDayInMillisec =  24 * 3600 * 1000;
		checkinMillis = index_checkin.getTime() + oneDayInMillisec;
  		
  		chin = new Date( checkinMillis );
                var oneDayInMillisecAdjusted = (24 * 3600 * 1000) + (3600 * 1000);
                if(chin.getDate() == index_checkin.getDate()) {
                    while(chin.getDate() == index_checkin.getDate()) {
                        chin = new Date(index_checkin.getTime() + oneDayInMillissecAdjusted);
                        oneDayInMillissecAdjusted += 3600;
                    }
                }
		
  		
  		var index_y = getYearIdx(index_year);
  		var index_m = parseInt( chin.getMonth(), 10 ) +1;
  		var index_days = parseInt( chin.getDate(), 10 )-1;  		
  		
  		
  		
		
  		fo.arrivalDateYear.options[1].selected = true;
  		fo.arrivalDateMonth.options[index_m-1].selected = true;
  		
  		fo.arrivalDateDay.options[index_days].selected = true;
		
		
		setCheckoutFromCheckin(fo);
		
}
function setCheckoutFromCheckin(fx)
{
		
		
  		var inyear = document.booking.arrivalDateYear.options[document.booking.arrivalDateYear.selectedIndex].value;
  		var inmonth = document.booking.arrivalDateMonth.options[document.booking.arrivalDateMonth.selectedIndex].value;
  		var inday = document.booking.arrivalDateDay.options[document.booking.arrivalDateDay.selectedIndex].value;
		
        var checkinFilled = ( inyear != '' && inmonth != '' && inday != '');
		if( !checkinFilled)
			return;
			
 	 	var outyear = document.booking.departureDateYear.options[document.booking.departureDateYear.selectedIndex].value;
  		var outmonth = document.booking.departureDateMonth.options[document.booking.departureDateMonth.selectedIndex].value;
  		var outday = document.booking.departureDateDay.options[document.booking.departureDateDay.selectedIndex].value;
        
       	
		
		
		
		
		
		
		
		
		
		var checkoutFilled = ( outyear != '' && outmonth != '' && outday != '');
		
		
			
		
		var checkin = new Date(inyear, inmonth -1, inday);
		oneDayInMillis =  168 * 3600 * 1000;
		checkoutMillis = checkin.getTime() + oneDayInMillis;
 
		chout = new Date( checkoutMillis );
                
                
                var oneDayInMillisAdjusted = (24 * 3600 * 1000) + (3600 * 1000);
                if(chout.getDate() == checkin.getDate()) {
                    while(chout.getDate() == checkin.getDate()) {
                        chout = new Date(checkin.getTime() + oneDayInMillisAdjusted);
                        oneDayInMillisAdjusted += 3600;
                    }
                }
                 
                
               
	
		document.booking.departureDateDay.selectedIndex = parseInt( chout.getDate(), 10 )-1;
		document.booking.departureDateMonth.selectedIndex = parseInt( chout.getMonth(), 10 );
		document.booking.departureDateYear.selectedIndex = document.booking.arrivalDateYear.selectedIndex
		
}
function timeChecksd() {
 var startMonth=1;
  var day = parseInt(document.booking.arrivalDateDay.options[document.booking.arrivalDateDay.selectedIndex].value);
  var mon = document.booking.arrivalDateMonth.options[document.booking.arrivalDateMonth.selectedIndex].value;
  var yea = parseInt(document.booking.arrivalDateYear.options[document.booking.arrivalDateYear.selectedIndex].value);
  
  
  
  if (!validDate(day, mon, yea)) {
    document.booking.arrivalDateDay.focus();
    alert("Invalid day of arrival!");
    return false;
  }  
  var dayp = parseInt(document.booking.departureDateDay.options[document.booking.departureDateDay.selectedIndex].value);
  var monp = document.booking.departureDateMonth.options[document.booking.departureDateMonth.selectedIndex].value;
  var yeap = parseInt(document.booking.departureDateYear.options[document.booking.departureDateYear.selectedIndex].value);
  
  
  if (!validDate(dayp, monp, yeap)) {
    document.booking.departureDateDay.focus();
    alert("Invalid day of departure!");
    return false;
  } 
  
  
  if (parseInt(yeap) == parseInt(yea)) {
	
	if (parseInt(monp) < parseInt(mon)) { 
		document.booking.departureDateDay.focus();
		alert("Day of arrival must come before day of departure!");
		return false;
	}
	else {
		if (parseInt(monp) == parseInt(mon)) {
			if ((parseInt(dayp) < parseInt(day)) || (parseInt(dayp) == parseInt(day))) { 
				document.booking.departureDateDay.focus();
				alert("Day of arrival must come before day of departure!");
				return false;
			} 
		}
	}
  }	
  var daynow = (new Date()).getDate(); 
  var monthnow = (new Date()).getMonth() + 1; 
  var yearnow = (new Date()).getYear(); 
  
  if (!compareDate(daynow, monthnow, yearnow, day, mon, yea, 1)) {
    document.booking.arrivalDateDay.focus();
    alert("Your stated day of arrival has already passed away!");
    return false;
  } 
  if (!compareDate(daynow, monthnow, yearnow, dayp, monp, yeap, 1)) {
    document.booking.departureDateDay.focus();
    alert("Your stated day of departure has already passed away!");
    return false;
  }  
  return true;
}
function compareDate(dayf, monthf, yearf, dayt, montht, yeart, equal) {
  
  if (parseInt(yeart) < parseInt(yearf)) {  return 0; }
  if (parseInt(yeart) > parseInt(yearf)) {  return 1; }
  if (parseInt(montht) < parseInt(monthf)) {  return 0; }
  if (parseInt(montht) > parseInt(monthf)) { return 1; }
  if (equal)   {  
    if (parseInt(dayt) < parseInt(dayf))   {  return 0; }
	} else { 
		if (parseInt(dayt) <= parseInt(dayf))   {  return 0; }
  }                      
  return 1;   
}
function validDate(day, mon, year)   {           
	  mon = mon + "";                 
	  mon = mon.toUpperCase(); 
	  if ((day < 1)  || (day > 31))  { return 0;  }    
	  if ((mon != "1") && (mon != "2") && (mon != "3") && (mon != "4") && (mon != "5") && (mon != "6") && (mon != "7") && (mon != "8") && (mon != "9") && (mon != "10") && (mon != "11") && (mon != "12"))  { return 0; }  if ((mon== "1") || (mon== "3") || (mon== "5") || (mon== "7") || (mon== "8") || (mon== "10") || (mon== "12")) { return 1;
	  } else {  
	    if ((mon== "4") || (mon== "6") ||   (mon== "9") || (mon== "11")) {     
	      if (day <= 30)  {   return 1; }    }    
	    else {                                   
	      if (mon == "2")   {        
	        if (((year % 4) == 0) && ((year % 100) != 0))  {        
	          if (day <= 29) {  return 1;  }       
	        }       
	        if ((year % 400) == 0) {       
	          if (day <= 29)   {  return 1;    }       
	        }       
	        if (day <= 28) {  return 1;    }       
	      } else {       
	        return 0;       
	      }       
	    }       
	  }       
	  return 0;       
	}
function checkForm() {
	if (timeChecksd()) { 
		document.booking.submit()
		}
	}		
