

function openCalendarWithCallback(daySrc,monthSrc,yearSrc,formName,callback)
{
   var month = eval("document.forms[formName]."+monthSrc).value;
   var year = eval("document.forms[formName]."+yearSrc).value;
   var width = 255, height = 240;
   var cal = window.open("/calendar.php?daySrc="+daySrc+"&monthSrc="+monthSrc+"&yearSrc="+yearSrc+"&month="+month+"&year="+year+"&form="+formName+"&callback="+callback,'Calendar','width=' + width + ',height=' + height);
   cal.focus();
}

function hideAJAXAvailabilityAndPrice()
{
   document.getElementById("ajax_availability_div").style.display = 'none';  
}

function bookSelectDateCheckIn(d,m,y)
{
   from_day_obj = document.getElementById('booking_from_day');
   from_month_obj = document.getElementById('booking_from_month');
   from_year_obj = document.getElementById('booking_from_year');
   to_day_obj = document.getElementById('booking_to_day');
   to_month_obj = document.getElementById('booking_to_month');
   to_year_obj = document.getElementById('booking_to_year');
      
	from_day_obj.value = d;
	from_month_obj.value = m;   
	from_year_obj.value = y;   	
	_closeCalendar();
	_setBookDate(d,m,y,'checkin');
	
	var fromDate = new Date();
	var toDate = new Date();
   fromDate.setFullYear(y,m-1,d); 
   toDate.setFullYear(to_year_obj.value,to_month_obj.value-1,to_day_obj.value); 
   
	// if to date before from date, set to date = from date + 1 week
	if(toDate < fromDate)
	{
      toDate.setFullYear(y,m-1,d);  
      toDate.setDate(toDate.getDate()+7);
	   _setBookDate(toDate.getDate(),toDate.getMonth()+1,toDate.getFullYear(),'checkout');
	}
   // Check in callback
   getAJAXAvailabilityAndPrice();
}

function bookSelectDateCheckOut(d,m,y)
{
	document.getElementById('booking_to_day').value = d;
	document.getElementById('booking_to_month').value = m;   
	document.getElementById('booking_to_year').value = y;   	
	_closeCalendar();
	_setBookDate(d,m,y,'checkout');
   // Check out callback
   getAJAXAvailabilityAndPrice();
}

function _setBookDate(d,m,y,type)
{
   var year_target = (type == 'checkin') ? 'booking_from_year' : 'booking_to_year';
   var month_target = (type == 'checkin') ? 'booking_from_month' : 'booking_to_month'; 
   var day_target = (type == 'checkin') ? 'booking_from_day' : 'booking_to_day'; 
   year_target_obj = document.getElementById(year_target);
   month_target_obj = document.getElementById(month_target);
   day_target_obj = document.getElementById(day_target);
   
   var year_is_valid = false;
   for(i = 0; i < year_target_obj.options.length; i++)
   {
      if(year_target_obj.options[i].value == y)
	  {
         year_is_valid = true;
	  }
   }
   if(year_is_valid)
   {
      year_target_obj.value = y;
      month_target_obj.value = m;
      adjustDays(month_target,day_target,year_target);
      day_target_obj.value = d;
   }
   else
   {
      alert("Date cannot be selected as it is too far in the future");
      return;
   }
}	

function getAJAXAvailabilityAndPrice()
{
   var ajax_availability_div = document.getElementById("ajax_availability_div");
   ajax_availability_div.style.display = 'none'; 
   var loading_currency_div = document.getElementById('loading_availability_div');
   loading_currency_div.style.display = '';
   var sd = document.getElementById("booking_from_day").value;
   var sm = document.getElementById("booking_from_month").value;
   var sy = document.getElementById("booking_from_year").value;
   var fd = document.getElementById("booking_to_day").value;
   var fm = document.getElementById("booking_to_month").value;
   var fy = document.getElementById("booking_to_year").value;
   var sd = Date.UTC(sy,sm-1,sd,0,0,0,0); 
   var fd = Date.UTC(fy,fm-1,fd,0,0,0,0);
   var url = '/ajax/get_availability_and_price_page_6.ajax.php?id='+server_property_id+'&sd='+sd+'&fd='+fd+'&server_ref='+server_ref;
   ajaxRequest(url, true, 'getAvailabilityAndPriceResponse');
}



function updateCheckout()
{
   var sd = document.getElementById("booking_from_day").value;  
   var sm = document.getElementById("booking_from_month").value;
   var sy = document.getElementById("booking_from_year").value;
   var fd = document.getElementById("booking_to_day").value;
   var fm = document.getElementById("booking_to_month").value;
   var fy = document.getElementById("booking_to_year").value;
   var sdate = new Date();
   var fdate = new Date();
   sdate.setDate(sd);
   sdate.setMonth(sm-1);
   sdate.setFullYear(sy);
   fdate.setDate(fd);
   fdate.setMonth(fm-1);
   fdate.setFullYear(fy);
   var _sdate = Date.UTC(sy,sm-1,sd,0,0,0,0);
   var _fdate = Date.UTC(fy,fm-1,fd,0,0,0,0); 
   if(_fdate < _sdate)
   {
      var nfdate = sdate;
      nfdate.setDate(sdate.getDate()+7);
      document.getElementById("booking_to_day").value = nfdate.getDate();
      document.getElementById("booking_to_month").value = nfdate.getMonth()+1;
      document.getElementById("booking_to_year").value = nfdate.getFullYear();
   }
}





function useAvailabilityOption(sd,sm,sy,ed,em,ey)
{
   document.getElementById("booking_from_day").value = sd;
   document.getElementById("booking_from_month").value = sm;
   document.getElementById("booking_from_year").value = sy;
   document.getElementById("booking_to_day").value = ed;
   document.getElementById("booking_to_month").value = em;
   document.getElementById("booking_to_year").value = ey;   
   getAJAXAvailabilityAndPrice();
}

var gaaprp6_counter = 1;  
function getAvailabilityAndPriceResponse()
{
   if (xmlHttp.readyState==4)
   {
      rc = xmlHttp.responseText;
      var loading_currency_div = document.getElementById('loading_availability_div');
      loading_currency_div.style.display = 'none';
      var ajax_availability_div = document.getElementById("ajax_availability_div");
      ajax_availability_div.innerHTML = rc;
      ajax_availability_div.style.display = '';
      _gaq.push(['_trackPageview','/user_event/BookingPanel/Form/'+(gaaprp6_counter++)+'/']);   
   }
}

