Months=new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
Days=new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
DaysSuffix=new Array('st','nd','rd','th','th','th','th','th','th','th','th','th','th','th','th','th','th','th','th','th','st','nd','rd','th','th','th','th','th','th','th','st');
var FlyingDays=new Array('Sat','Wed');

function sfb_changeDate(formItem,Value) {
  var tempArr=Value.split("-");
  var thisMonth=tempArr[0];
  var thisYear=parseInt(tempArr[1],10);
  var thismonthNum;
  var monthsAhead=12;
  if (Date.isLeapYear(thisYear)) {
    MonthsLen=new Array(31,29,31,30,31,30,31,31,30,31,30,31);
  } else {
    MonthsLen=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  }

  for (i=0;i<monthsAhead;i++) {
    if (Months[i].substr(0,3).toUpperCase()==thisMonth.substr(0,3).toUpperCase()) { thismonthNum=i; i=12; }
  }

  // rebuild date
  var today=new Date(); var k=0; var Continue;
  eval('document.searchFormBooking.'+formItem+'.length=MonthsLen[thismonthNum]');
  for (i=0;i<MonthsLen[thismonthNum];i++) {
    j=i+1;
    var thisDate=new Date(thisYear,thismonthNum,j);
    if (thisDate>today) {
      Continue='N';
      if (!FlyingDays) {
        Continue='Y';
      } else {
        for (m=0; m<FlyingDays.length;m++) {
          if (Days[thisDate.getDay()].toUpperCase()==FlyingDays[m].toUpperCase()) {
            Continue='Y';
          }
        }
      }

      if (Continue=='Y') {
        eval('document.searchFormBooking.'+formItem+'.options[k].value=j;');
        eval('document.searchFormBooking.'+formItem+'.options[k].text=Days[thisDate.getDay()]+" "+j+DaysSuffix[j-1];');
        k+=1;
      }
    }
  }
  eval('document.searchFormBooking.'+formItem+'.length=k;');
  eval('document.searchFormBooking.'+formItem+'.selectedIndex=0;');
}

function sfb_loadDates() {
  // Re-populate the date range
  var Months=new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
  var MonthsLong=new Array('January','February','March','April','May','June','July','August','September','October','November','December');
  var now=new Date();
  var thisMonthNow=now.getMonth();
  var thisMonth=Months[thisMonthNow];
  var thisYearNow=now.getFullYear();
  var j, sub;

  document.searchFormBooking.FromMonth.length=18-thisMonthNow+10+1;
  for (i=0;i<document.searchFormBooking.FromMonth.length-1;i++) {     // clear existing values
    document.searchFormBooking.FromMonth.options[i].text='';
    document.searchFormBooking.FromMonth.options[i].value='';
  }
  j=0;
  for (i=thisMonthNow;i<12+thisMonthNow;i++) { //document.searchFormBooking.FromMonth.length+thisMonthNow-1
    if (i<12) {
      var thisDate=new Date(thisYearNow,i+1,1);
      document.searchFormBooking.FromMonth.options[j].text=MonthsLong[i]+' '+thisYearNow.toString();//.substr(2,3);
      document.searchFormBooking.FromMonth.options[j].value=MonthsLong[i]+'-'+thisYearNow.toString();//i;
      j=j+1;
    } else {
      sub=Math.floor(i/12)*12;
      var thisDate=new Date(thisYearNow+1,i-sub,1);
      document.searchFormBooking.FromMonth.options[j].text=MonthsLong[i-sub]+' '+(thisYearNow+1).toString();//.substr(2,3);
      document.searchFormBooking.FromMonth.options[j].value=MonthsLong[i-sub]+'-'+(thisYearNow+1).toString();//i;
      j=j+1;
    }
  }
  document.searchFormBooking.FromMonth.length=j;

  if (document.searchFormBooking.StartDate.value!='') {
    alert(document.searchFormBooking.StartDate.value);

  }



  //if (document.getElementById('FromDay').type=='select-one') {
    sfb_changeDate('FromDay',document.searchFormBooking.FromMonth.options[document.searchFormBooking.FromMonth.selectedIndex].value);
    sfb_updateStartDate();
  //}
}
//window.onLoad=sfb_loadDates();
addLoadEvent(sfb_loadDates);

function sfb_updateDD() {
  var tempArr, newMonth;
  // Start date
  tempArr=document.searchFormBooking.Start_Date.value.split('-');
  newMonth=tempArr[1]+' '+tempArr[2];
  for (i=0;i<document.searchFormBooking.FromMonth.length;i++) {
    if (document.searchFormBooking.FromMonth.options[i].text==newMonth) { document.searchFormBooking.FromMonth.selectedIndex=i; }
  }
  sfb_changeDate('FromDay',tempArr[1]+'-20'+tempArr[2]);
  for (i=0;i<document.searchFormBooking.FromDay.length;i++) {
    if (parseInt(document.searchFormBooking.FromDay.options[i].value,10)==parseInt(tempArr[0],10)) { document.searchFormBooking.FromDay.selectedIndex=i; }
  }
}

function sfb_updateStartDate() {
//alert(document.searchFormBooking.FromMonth.options[document.searchFormBooking.FromMonth.selectedIndex].text);


  var tempArr=document.searchFormBooking.FromMonth.options[document.searchFormBooking.FromMonth.selectedIndex].value.split('-');
  document.searchFormBooking.Start_Date.value=document.searchFormBooking.FromDay.options[document.searchFormBooking.FromDay.selectedIndex].value+'-'+tempArr[0].substr(0,3)+'-'+tempArr[1];
}

function sfb_updateCheckoutDate() {
//  alert("outside IF statement");
//   if (document.getElementById('FromDay').type = 'select') {
//  alert("inside IF statement");
    Days=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
    DaysSuffix=new Array("st","nd","rd","th","th","th","th","th","th","th","th","th","th","th","th","th","th","th","th","th","st","nd","rd","th","th","th","th","th","th","th","st");

    var newDate=dateAdd(document.searchFormBooking.Start_Date.value,document.searchFormBooking.Duration.options[document.searchFormBooking.Duration.selectedIndex].value);
    tempArr=newDate.split('-');
    var thisDate=new Date(2000+parseInt(tempArr[2],10),monthNum(tempArr[1])-1,parseInt(tempArr[0],10));
    changeInnerHTML('CheckOutDate',Days[thisDate.getDay()]+' '+thisDate.getDate()+' '+tempArr[1]+' '+tempArr[2]);
    //document.getElementById('CheckOutDate').innerHTML = Days[thisDate.getDay()]+' '+thisDate.getDate()+' '+tempArr[1]+' '+tempArr[2];
	document.searchFormBooking.EndDate.value=thisDate.getDate()+'-'+tempArr[1]+'-'+tempArr[2];
//  }
}
//window.onLoad=setTimeout('sfb_updateCheckoutDate()',500);
addLoadEvent(sfb_updateCheckoutDate);

function checkBookingForm() {
  var startDate;
  if (document.searchFormBooking.FromDay.type=='SELECT') {
    startDate=document.searchFormBooking.FromDay.options[document.searchFormBooking.FromDay.selectedIndex].value+'-'+document.searchFormBooking.FromMonth.options[document.searchFormBooking.FromMonth.selectedIndex].value;
  } else {
    startDate=document.searchFormBooking.FromDay.value+'-'+document.searchFormBooking.FromMonth.value;
  }
  /*if (document.getElementById('Airport').type=='select-one') {
    if (document.searchFormBooking.Airport.options[document.searchFormBooking.Airport.selectedIndex].value.substr(0,1)=='#') {
      window.alert('You must choose a resort in '+document.searchFormBooking.Airport.options[document.searchFormBooking.Airport.selectedIndex].text+'.');
      return false;
    }
  }
  if ((document.searchFormBooking.SearchFlights.checked==false)&&(document.searchFormBooking.SearchInternalVillas.checked==false)&&(document.searchFormBooking.SearchInternalYachts.checked==false)&&(document.searchFormBooking.SearchExternalAccom.checked==false)) {
    window.alert('You must choose to search for flights or accommodation or both.');
    return false;
  }*/

  document.searchFormBooking.StartDate.value=startDate;
  var departureName=document.searchFormBooking.Deppt.options[document.searchFormBooking.Deppt.selectedIndex].text; departureName=departureName.replace(/ /gi,''); departureName=departureName.replace(/\&nbsp\;/gi,'');
  if (departureName!='Flight not required') {
    document.searchFormBooking.DepartureName.value=departureName;
    document.searchFormBooking.SearchFlights.value='Y';
  } else {
    document.searchFormBooking.SearchFlights.value='';
  }
  //var arrivalName=document.searchFormBooking.InArrpt.options[document.searchFormBooking.InArrpt.selectedIndex].text; arrivalName=arrivalName.replace(/ /gi,''); arrivalName=arrivalName.replace(/\&nbsp\;/gi,'');
  document.searchFormBooking.ArrivalName.value='';//arrivalName;

  Go('Please wait while we find the information you requested.');
  document.searchFormBooking.submit();
}

function changeInnerHTML(divId,html) {
  if (document.getElementById) {
    document.getElementById(divId).innerHTML=html;
  } else {
    document.layers[divId].document.open();
    document.layers[divId].document.write(html);
    document.layers[divId].document.close();
  }
}