function populateDep(objForm,selectIndex)
{
  var today = new Date();
  
  var curMonth = today.getMonth() + 1;
  var curYear = today.getYear();
  var selMonth = objForm.wMth.options[objForm.wMth.selectedIndex].value;
  var selYear  = objForm.wYear.options[objForm.wYear.selectedIndex].value;
  if(selMonth < curMonth)
  {    
    selYear = curYear + 1;
  }
  else
  {
    selYear = curYear; 
  }

  timeA = new Date(selYear, objForm.wMth.options[objForm.wMth.selectedIndex].value,1);
  timeDifference = timeA - 86400000;
  timeB = new Date(timeDifference);
  var daysInMonth = timeB.getDate();
  var daySelected = objForm.wDay.options[objForm.wDay.selectedIndex].text;
  var foundDay = new Boolean(false);

  for (var i = 0; i < objForm.wDay.length; i++)
    {
     objForm.wDay.options[0] = null;
    }

  for (var i = 0; i < daysInMonth; i++)
    {
     objForm.wDay.options[i] = new Option(i+1);
     if (objForm.wDay.options[i].text == daySelected)
     {
       objForm.wDay.options[i].selected = true;
       foundDay = true;
     }     
    }  

  if (foundDay == false) 
  {
     objForm.wDay.options[daysInMonth - 1].selected = true;
  }    

  // set the depart year year
  for (var i = 0; i < objForm.wYear.length; i++)
    {
     if (objForm.wYear.options[i].text == selYear)
     {
       objForm.wYear.options[i].selected = true;
       break;
     }     
    }  

  popRetFromDep(objForm,selectIndex);  
}

function popRetFromDep(objForm,selectIndex)
{
  monthNames = new Array(12);
  monthNames[0]  = "Jan";
  monthNames[1]  = "Feb";
  monthNames[2]  = "Mar";
  monthNames[3]  = "Apr";
  monthNames[4]  = "May";
  monthNames[5]  = "Jun";
  monthNames[6]  = "Jul";
  monthNames[7]  = "Aug";
  monthNames[8]  = "Sep";
  monthNames[9]  = "Oct";
  monthNames[10] = "Nov";
  monthNames[11] = "Dec";
  var intMonth = 0;

  // get the integer month
  for (var i = 0; i <= 11; i++)
  {
     if (objForm.wMth.options[objForm.wMth.selectedIndex].text == monthNames[i] )
     {
      intMonth = i;
      break;
     }
  }
  // add 3 days to new date starting at noon to avaid daylight savings problems
  timeX = new Date(objForm.wYear.options[objForm.wYear.selectedIndex].text, intMonth, objForm.wDay.options[objForm.wDay.selectedIndex].text,12);
  timeY = new Date(timeX.getTime() + (3 * 86400000));
  var newDay   = timeY.getDate();
  var newMonth = monthNames[timeY.getMonth()];
  var newYear  = timeY.getFullYear();

  // set the return month 
  for (var i = 0; i <= 11; i++)
  {
   if (objForm.wMthRet.options[i].text == newMonth)
   {
     objForm.wMthRet.options[i].selected = true;
     break;
   }     
  }  

  //set the return day
  timeA = new Date(objForm.wYearRet.options[objForm.wYearRet.selectedIndex].text, objForm.wMthRet.options[objForm.wMthRet.selectedIndex].value,1);
  timeDifference = timeA - 86400000;
  timeB = new Date(timeDifference);
  var daysInMonth = timeB.getDate();
  for (var i = 0; i < objForm.wDayRet.length; i++)
    {
     objForm.wDayRet.options[0] = null;
    }
  for (var i = 0; i < daysInMonth; i++)
    {
     objForm.wDayRet.options[i] = new Option(i+1);
     if (objForm.wDayRet.options[i].text == newDay)
     {
       objForm.wDayRet.options[i].selected = true;
     }     
    }  

  // set the return year
  for (var i = 0; i < objForm.wYearRet.length; i++)
    {
     if (objForm.wYearRet.options[i].text == newYear)
     {
       objForm.wYearRet.options[i].selected = true;
       break;
     }     
    }  
}

function populateRet(objForm,selectIndex)
{
   timeA = new Date(objForm.wYearRet.options[objForm.wYearRet.selectedIndex].text, objForm.wMthRet.options[objForm.wMthRet.selectedIndex].value,1);
   timeDifference = timeA - 86400000;
   timeB = new Date(timeDifference);
   var daysInMonth = timeB.getDate();
   var daySelected = objForm.wDayRet.options[objForm.wDayRet.selectedIndex].text;
   var foundDay = new Boolean(false);

   for (var i = 0; i < objForm.wDayRet.length; i++)
     {
      objForm.wDayRet.options[0] = null;
     }
   for (var i = 0; i < daysInMonth; i++)
     {
      objForm.wDayRet.options[i] = new Option(i+1);
      if (objForm.wDayRet.options[i].text == daySelected)
      {
        objForm.wDayRet.options[i].selected = true;
        foundDay = true;
      }     
     }  
   if (foundDay == false) {
      objForm.wDayRet.options[daysInMonth - 1].selected = true;
   }     
}

  
function y2k(number)    { return (number < 1000) ? number + 1900 : number; } 
function padout(number) { return (number < 10) ? '0' + number : number; } 

var today = new Date(); 
var day = today.getDate(), month = today.getMonth(), year = y2k(today.getYear()), whichOne = 0; 
var startMonth = month;
var startYear = year;

function restart() { 
    document.data.elements['traveldate' + whichOne].value = ''  + padout(month - 0 + 1) + '/' + padout(day)  + '/' + year;
    mywindow.close(); 
} 


function newWindow(number) { 
    whichOne = number; 

    var currForm = document.forms[0]; 
    var tYear = currForm.wYear.options[currForm.wYear.selectedIndex].text;
    var tMonth = currForm.wMth.options[currForm.wMth.selectedIndex].value - 1;
    if (month < 0){month=1}; 
    var tDay = currForm.wDay.options[currForm.wDay.selectedIndex].text;
    today = new Date(tYear,tMonth,tDay);

    day = today.getDate(), month = today.getMonth(), year = y2k(today.getYear()); 
    startMonth = month;
    startYear= year;

    mywindow=open('/bookingengine/webcal.htm','myname','resizable=yes,width=375,height=270,left=0,top=0'); 
    if (mywindow.opener == null) mywindow.opener = self; 
    mywindow.focus(); 
} 



function newWindowRet(number) { 
    whichOne = number; 

    var currForm = document.forms[0]; 
    var tYear = currForm.wYearRet.options[currForm.wYearRet.selectedIndex].text;
    var tMonth = currForm.wMthRet.options[currForm.wMthRet.selectedIndex].value - 1;
    if (month < 0){month=1}; 
    var tDay = currForm.wDayRet.options[currForm.wDayRet.selectedIndex].text;
    today = new Date(tYear,tMonth,tDay);

    day = today.getDate(), month = today.getMonth(), year = y2k(today.getYear()); 
    startMonth = month;
    startYear= year;

    mywindow=open('/bookingengine/webcalret.htm','myname','resizable=yes,width=375,height=270,left=0,top=0'); 
    if (mywindow.opener == null) mywindow.opener = self; 
    mywindow.focus(); 
} 

function popReturnFromDeparture(objForm)
{
  // add 6 days to new date starting at noon to avaid daylight savings problems
  startDate = new Date(objForm.wArrDate.value);
  endDate = new Date(startDate.getTime() + (6 * 86400000));

  var edate = new Date(endDate);
  objForm.wDepDate.value = edate.format("mm/dd/yyyy");
}

function popDepartureFromReturn(objForm)
{
  // add 6 days to new date starting at noon to avaid daylight savings problems
  startDate = new Date(objForm.wDepDate.value);
  endDate = new Date(startDate.getTime() - (6 * 86400000));

  var ddate = new Date(endDate);
  objForm.wArrDate.value = ddate.format("mm/dd/yyyy");
}

function updateDepartureCallBack(m,d,y) {
  // this works with js/CalendarPopUp.js
  CP_tmpReturnFunction(m,d,y);
  popReturnFromDeparture(window.CP_targetInput.form);
}
