function ValidateForm(theForm)
{






	var errMsg_1 = 'Please select << Depart From >> !'
	var errMsg_2 = 'Please select << Arrive To >> !'
	var errMsg_3 = 'You have selected the same departure and arrival stations. Please change at least one'
	var dptIndex = theForm.dpt.selectedIndex;
	var toIndex = theForm.to.selectedIndex;
	
	if(dptIndex != -1)
	{
		if(toIndex != -1)
		{
			if(theForm.dpt[dptIndex].value == theForm.to[toIndex].value)
			{
				alert(errMsg_3);
				return(false);
			}
		}
	}
		
			
	var dteCurDate = new Date();
	var intCurDay = dteCurDate.getDate();
	var intCurMonth = dteCurDate.getMonth();
	var intCurYear = dteCurDate.getFullYear();
	
	dteCurDate = new Date(intCurYear,intCurMonth,intCurDay);

	var dteBookDate = new Date(intCurYear,intCurMonth,intCurDay + 3); 

	// Check for proper number of days in the month for departing date
	var intDptDay = parseInt(theForm.dpt_day.options[theForm.dpt_day.selectedIndex].value);
	var intDptMonth = parseInt(theForm.dpt_mon.options[theForm.dpt_mon.selectedIndex].value);
	//intDptMonth = intDptMonth - 1;
	//if the month is less than this then it must be next year

	if (intDptMonth<intCurMonth || (intDptMonth==intCurMonth && intDptDay<intCurDay))
		 {intDptYear=intCurYear+1;}
	else
		{intDptYear=intCurYear;}

//	var intNumOfDays = GetNumberOfDaysInTheMonth(intDptMonth,intDptYear);
//	if (intDptDay > intNumOfDays)
//	{
//		theForm.dpt_day.focus();
//		alert('Selected month of travel has only ' + intNumOfDays + ' days!');
//		return(false);
//	}
	
	// Check for proper number of days in the month for arriving date
	var intArrDay = parseInt(theForm.arr_day.options[theForm.arr_day.selectedIndex].value);
	var intArrMonth = parseInt(theForm.arr_mon.options[theForm.arr_mon.selectedIndex].value);
	//intArrMonth = intArrMonth - 1;
	//if the month is less than this then it must be next year

	if (intArrMonth<intCurMonth || (intArrMonth==intCurMonth && intArrDay<intCurDay)) {intArrYear=intCurYear+1;} else {intArrYear=intCurYear;}

	//var intNumOfDays = GetNumberOfDaysInTheMonth(intArrMonth,intArrYear);
	//if (intArrDay > intNumOfDays)
	//{
	//	theForm.arr_day.focus();
	//	alert('Selected month of return has only ' + intNumOfDays + ' days!');
	//	return(false);
	//}
	
	// Travel date must be not in the past
	var dteDptDate = new Date(intDptYear,intDptMonth-1,intDptDay);


	if (dteDptDate < dteCurDate)
	{
		var strCurDateToDisplay = dteCurDate.toLocaleString()
		strCurDateToDisplay = strCurDateToDisplay.substr(0,strCurDateToDisplay.length - 8)
		theForm.dpt_day.focus();
		alert('You cannot select a date in the past.  Please select a date of travel on or after ' + strCurDateToDisplay);
		return(false);
	}
	
	// Return date must be not in the past
	var dteArrDate = new Date(intArrYear,intArrMonth-1,intArrDay);
	if (dteArrDate < dteCurDate)
	{
		var strCurDateToDisplay = dteCurDate.toLocaleString()
		strCurDateToDisplay = strCurDateToDisplay.substr(0,strCurDateToDisplay.length - 8)
		theForm.arr_day.focus();
		alert('You cannot select a date in the past.  Please select a date of return on or after ' + strCurDateToDisplay);
		return(false);
	}
	
	// Return date must be equal or greater than date of travel
	if (dteArrDate < dteDptDate)
	{
		var strCurDateToDisplay = dteDptDate.toLocaleString()
		strCurDateToDisplay = strCurDateToDisplay.substr(0,strCurDateToDisplay.length - 8)
		theForm.arr_day.focus();
		alert('You cannot select a date in the past.  Please select a date of return on or after ' + strCurDateToDisplay);
		return(false);				
	}
	
	

	
	
	
	return checkDate(intDptDay, intDptMonth, intDptYear)
	
	
	
	
	
}

function GetNumberOfDaysInTheMonth(intMonth,intYear)
{
	var intNumOfDays = 1;
	var dteCheckDate = new Date(intYear,intMonth,1);
	while (dteCheckDate.getMonth() == intMonth){
		intNumOfDays++;
		var dteCheckDate = new Date(intYear,intMonth,intNumOfDays);
	}
	return intNumOfDays - 1;
}



function checkDate(myDayStr, myMonthStr, myYearStr) {

if (myMonthStr==0) {mStr="Jan";}
if (myMonthStr==1) {mStr="Feb";}
if (myMonthStr==2) {mStr="Mar";}
if (myMonthStr==3) {mStr="Apr";}
if (myMonthStr==4) {mStr="May";}
if (myMonthStr==5) {mStr="Jun";}
if (myMonthStr==6) {mStr="Jul";}
if (myMonthStr==7) {mStr="Aug";}
if (myMonthStr==8) {mStr="Sep";}
if (myMonthStr==9) {mStr="Oct";}
if (myMonthStr==10) {mStr="Nov";}
if (myMonthStr==11) {mStr="Dec";}


myMonthStr++
var leapYear;
var myPrDateStr = myDayStr + ' ' + mStr + ' ' + myYearStr;

	if(myYearStr/4 == parseInt(myYearStr/4)){leapYear = true;}
	else{leapYear = false;}
	
	if(myMonthStr=="4" || myMonthStr=="6" || myMonthStr=="9" || myMonthStr=="11"){if(myDayStr=="31"){ alert( myPrDateStr + ' is not a valid date - please correct');return false;}
	else{return true;}
	}

	if(myMonthStr=="2" && leapYear==true){if(myDayStr=="30" || myDayStr=="31"){ alert( myPrDateStr + ' is not a valid date - please correct');return false;}else{return true;}}
		
	if(myMonthStr=="2" && leapYear==false){if(myDayStr=="29" || myDayStr=="30" || myDayStr=="31"){ alert( myPrDateStr + ' is not a valid date - please correct');return false;}else{return true;}}

} 


function Opener(theURL) {
  window.open(theURL,'Help','scrollbars=yes,width=300,height=200');
}
function openUp(theURL,winName,wWidth,wHeight) 
{
  window.open(theURL,winName,'scrollbars=yes,width='+wWidth+',height='+wHeight);
}
