


function initializeDays() {
	var d = document;
	var needInitial = false;
	var newdate = new Date();

	if (d.getElementById('lbArrivalDay').selectedIndex==0 
			&& d.getElementById('lbArrivalMonth').selectedIndex==0 
			&& d.getElementById('lbArrivalYear').selectedIndex==0
			&& d.getElementById('lbDepartureDay').selectedIndex==0
			&& d.getElementById('lbDepartureMonth').selectedIndex==0
			&& d.getElementById('lbDepartureYear').selectedIndex == 0) {
		
		d.getElementById('lbArrivalDay').selectedIndex = newdate.getDate()-1;
		d.getElementById('lbArrivalMonth').selectedIndex = newdate.getMonth();
		//alert(newdate.getMonth());
		d.getElementById('lbArrivalYear').selectedIndex = 0

		d.getElementById('lbDepartureDay').selectedIndex = newdate.getDate()-1;
		d.getElementById('lbDepartureMonth').selectedIndex = newdate.getMonth();
		d.getElementById('lbDepartureYear').selectedIndex = 0;
		needInitial = true;
		
	}
	
	return needInitial;
	}







function checkDays() {
	checkDaysAndSync(null);
	}


function checkDaysAndSync(sbj) {

	// look if the departure is lower
	var d = document;
		
	var dropArrivalDate = getDateValueFromDrop(d,"cal_arrival");
	var dropDepartureDate = getDateValueFromDrop(d,"cal_departure");

	if (dropDepartureDate<=dropArrivalDate)
			{
			var Ds = new Date(dropArrivalDate.valueOf());
			Ds.setDate(Ds.getDate()+1);
			dropDepartureDate = Ds;
			}

	setDropDowns(d,dropArrivalDate,"cal_arrival");
	setDropDowns(d,dropDepartureDate,"cal_departure");

	// Sync the calendar
	if (sbj != null)
		{
		if (sbj.name.indexOf('rrival')>0)
			{
			setCalendarToDate("cal_arrival",dropArrivalDate);
			}
		if (sbj.name.indexOf('eparture')>0)
			{
			setCalendarToDate("cal_departure",dropDepartureDate);
			}
		}
	}





function getDateValueFromDrop(d,type)
	{
	var dd=0;
	var mm=0;
	var yy=0;
	//alert('getvalue'+form.arrivalYear.value);
	 if (type=='cal_arrival')
	 	{
		  dd=d.getElementById('lbArrivalDay').value;
		  mm=d.getElementById('lbArrivalMonth').value-1;
		  yy=d.getElementById('lbArrivalYear').value;
		}
		else
		{
		  dd=d.getElementById('lbDepartureDay').value;
		  mm=d.getElementById('lbDepartureMonth').value-1;
		  yy=d.getElementById('lbDepartureYear').value;
		}
	return new Date(yy,mm,dd);
	}






function setDropDowns(d,dateObject,type)
{

  var now = new Date();
  year = now.getYear();

  if (year<=1900) {year = year + 1900;}

  var y = dateObject.getFullYear()-year;
  var m = dateObject.getMonth();     // integer, 0..11
  var dd = dateObject.getDate();      // integer, 1..31

  //form.allow_change.value='false';
  if (type=='cal_arrival')
  	{
  	  setDays(d.getElementById('lbArrivalDay'),dateObject.getFullYear(),dateObject.getMonth());
  	  d.getElementById('lbArrivalDay').selectedIndex = dd-1;
  	  d.getElementById('lbArrivalMonth').selectedIndex = m;
  	  d.getElementById('lbArrivalYear').selectedIndex = y;
	}
	else
	{
  	  setDays(d.getElementById('lbDepartureDay'),dateObject.getFullYear(),dateObject.getMonth());
  	  d.getElementById('lbDepartureDay').selectedIndex = dd-1;
  	  d.getElementById('lbDepartureMonth').selectedIndex = m;
  	  d.getElementById('lbDepartureYear').selectedIndex = y;
	}
   //form.allow_change.value='true';
}


function setDays(selectDay,year,month)
{

  selectDay.options.length = 0;
  var days = new Array(31, ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  for(i = 0; i < days[month]; i++)
  {
    selectDay.options.length = selectDay.options.length + 1;

    var txt = i + 1;

    if (i + 1<10) {txt='0'+(i + 1);}

    selectDay.options[i].value = txt;
    selectDay.options[i].text = txt;
  }
}

/**
 * 
 * @param calendar
 * @return
 */
function changeDates(calendar) {
    // Takes care of changing dates
    if (calendar.dateClicked)
    	{
    	var d = document.MyfidelioSearchForm;
    	var field = document.getElementById("cal_arrival");

	if (field == calendar.params.inputField)
		{
		// Set arrival drops to selected date
		setDropDowns(document,calendar.date,"cal_arrival");
		setCalendarToDate("cal_departure",calendar.date);
		}
		else
		{
		setDropDowns(document,calendar.date,"cal_departure");
		}
	checkDays();

  	}
  }

function setCalendarToDate(elemID,date) {
	field = document.getElementById(elemID);
	field.value = date.print("%m/%d/%Y %I:%M %p");
	}


function DateStatusFunc(date, y, m, d) {
	return isPastDate(date);
	};
	
function isPastDate(date) {
	var n = new Date();

	n.setDate(n.getDate()-1);

	if (date<n)
		{
		return true;
		}
		else
		{
		return false;
		}
}


