var CurMonth;
var CurDay;
var CurYear;
var DepMonth;
var DepDay;
var Year1;
var RetMonth;
var RetDay;
var Year2;
var today= new Date();
var CurMonth = parseInt(today.getMonth()+1);
var CurDay = parseInt(today.getDate());
var CurYear = parseInt(today.getYear());
var strError; 
var strDepart; 
var strArrive;
var strSearch;
var i;
var intLength;
 
function CalcDates(){ 
 var monthMax = new Array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
 strError = "";
 strDepart = document.air.depart1.value;
 strArrive = document.air.arrive1.value;
 
 intLength = strDepart.length;
 strSearch = "";
 for (i=0; i<intLength; i++)
  strSearch += " ";
 i = strDepart.lastIndexOf(strSearch);
 if (i>=0)
  strDepart="";
 
 intLength = strArrive.length;
 strSearch = "";
 for (i=0; i<intLength; i++)
  strSearch += " ";
 i = strArrive.lastIndexOf(strSearch);
 if (i>=0)
  strArrive="";
  
 if (strDepart.length == 0)
  strError += "You must enter a departure city.\n";
 if (strArrive.length == 0)
  strError += "You must enter an arrival city.\n";
 
 if (strError.length>0)
  return;
 
 DepMonth = parseInt(document.air._month1.options[document.air._month1.selectedIndex].value);
 DepDay = parseInt(document.air._date1.options[document.air._date1.selectedIndex].value);
 RetMonth = parseInt(document.air._month2.options[document.air._month2.selectedIndex].value);
 RetDay = parseInt(document.air._date2.options[document.air._date2.selectedIndex].value);
 
 
 if (DepDay > monthMax[DepMonth-1]) 
  strError += "Invalid Departure date\n";
 if (RetDay > monthMax[RetMonth-1])
  strError += "Invalid Return date\n"; 
 
 if (CurYear < 2000)
  CurYear += 1900;
 
 /* Calculate the Year for the first date */
 if (DepMonth < CurMonth)
  Year1=CurYear + 1
 else if ((DepMonth == CurMonth) && (DepDay < CurDay))
  Year1=CurYear + 1
 else
  Year1=CurYear;
                  
 if (RetMonth < DepMonth)
  Year2 = Year1 + 1
 else if ((RetMonth == DepMonth) && (RetDay < DepDay)) 
  Year2 = Year1 + 1
 else
  Year2 = Year1; 
}
 

function ValidateForm(){
 CalcDates();
 
 if (strError.length > 0) {
  alert(strError);
  return false;
 }
 else {
  /* Make sure date is at least 1 day in the future */
  if ((Year1==CurYear) && (DepMonth==CurMonth)) {
   var DayDiff = DepDay-CurDay;
   if (DayDiff < 1) {
    alert("Departure date must be at least 1 day from now");
    return false;
   }
  }
  return true;
 } 
} 


var ctrlRetMonth;
var ctrlRetDay;
var ctrlDepMonth;
var ctrlDepDay;
var boolUpdate;

function SetReturnDate(ctlDepMonth,ctlDepDay,ctlRetMonth,ctlRetDay){
	var DepMonth = Number(ctlDepMonth.options[ctlDepMonth.selectedIndex].value);
	var DepDay = Number(ctlDepDay.options[ctlDepDay.selectedIndex].value);
	var CurDate = new Date();
	var CurMonth = Number(CurDate.getMonth())+1;
	var CurDay = Number(CurDate.getDate());
	var DepYear;
	
	DepYear = Number(CurDate.getYear());
	if (DepYear < 2000)
		DepYear += 1900;
	
	strDate = String(DepMonth) + "/" + String(DepDay) + "/" + String(DepYear) + " 15:00:00";
	var TargetDate = new Date(strDate);

	var oneMinute = 60 * 1000;
	var oneHour = 60 * oneMinute;
	var oneDay = 24 * oneHour;
	var oneWeek = oneDay * 7;
	
	var DateInMs = TargetDate.getTime();
	DateInMs += oneWeek;
	TargetDate.setTime(DateInMs);
	ctlRetMonth.selectedIndex = TargetDate.getMonth();
	ctlRetDay.selectedIndex = TargetDate.getDate()-1;
}

function CallCalendar(blUpdate,mCtrl,dCtrl,pmCtrl,f,i,RetMonth,RetDay){
	boolUpdate = blUpdate;
	ctrlDepMonth = mCtrl;
 	ctrlDepDay = dCtrl;
	ctrlRetMonth = RetMonth;
	ctrlRetDay = RetDay;
	openCalendar(mCtrl,dCtrl,'','0','');
}

function UpdateReturn(){
	if (boolUpdate=='true')
		SetReturnDate(ctrlDepMonth,ctrlDepDay,ctrlRetMonth,ctrlRetDay);
}


