var months = new Array();
months[0] = "Jan";
months[1] = "Feb";
months[2] = "Mar";
months[3] = "Apr";
months[4] = "May";
months[5] = "Jun";
months[6] = "Jul";
months[7] = "Aug";
months[8] = "Sep";
months[9] = "Oct";
months[10] = "Nov";
months[11] = "Dec";
//*******CHANGE #1*******//
var gintCal2Month = 0;

var browserType = navigator.userAgent.toLowerCase();
if(browserType.indexOf("msie")!=-1)
{
	var intYearIndex = 5;
	var intMonthIndex = 1;
	var intDayIndex = 2;
}
else if(browserType.indexOf("netscape")!=-1)
{
	var intYearIndex = 3;
	var intMonthIndex = 1;
	var intDayIndex = 2;
}
else if(browserType.indexOf("firefox")!=-1)
{
	var intYearIndex = 3;
	var intMonthIndex = 1;
	var intDayIndex = 2;
}
else if(browserType.indexOf("opera")!=-1)
{
	var intYearIndex = 3;
	var intMonthIndex = 2;
	var intDayIndex = 1;
}
else if(browserType.indexOf("safari")!=-1)
{
	var intYearIndex = 3;
	var intMonthIndex = 1;
	var intDayIndex = 2;
}
//*****CHANGE #1**********//
function toggleCalendar(intMode)
{
	if(intMode==1)
	{
		if(document.getElementById("calendarBoxDepart").style.display=="none")
		{
			document.getElementById("calendarBoxDepart").style.display="block";
			document.getElementById("calendarBoxReturn").style.display="none";
			document.getElementById("pu_time").style.visibility="hidden";
			document.getElementById("do_time").style.visibility="hidden";
		}
		else
		{
			document.getElementById("calendarBoxDepart").style.display="none";
			document.getElementById("pu_time").style.visibility="visible";
			document.getElementById("do_time").style.visibility="visible";
			if(document.getElementById("dates_up").value=="")
				document.getElementById("dates_up").value="mm/dd/yyyy";
		}
	}
	if(intMode==2)
	{
		if(document.getElementById("calendarBoxReturn").style.display=="none")
		{
			document.getElementById("calendarBoxReturn").style.display="block";
			document.getElementById("calendarBoxDepart").style.display="none";
			document.getElementById("pu_time").style.visibility="hidden";
			document.getElementById("do_time").style.visibility="hidden";
		}
		else
		{
			document.getElementById("calendarBoxReturn").style.display="none";
			document.getElementById("pu_time").style.visibility="visible";
			document.getElementById("do_time").style.visibility="visible";
			if(document.getElementById("dates_off").value=="")
				document.getElementById("dates_off").value="mm/dd/yyyy";
		}
			
	}
	if(intMode==3)
	{
		if(document.getElementById("calendarBoxDepart").style.display=="none")
		{
			document.getElementById("calendarBoxDepart").style.display="block";
			document.getElementById("calendarBoxReturn").style.display="none";
			document.getElementById("num_adults").style.visibility="hidden";
		}
		else
		{
			document.getElementById("calendarBoxDepart").style.display="none";
			document.getElementById("num_adults").style.visibility="visible";
			if(document.getElementById("chk_in").value=="")
				document.getElementById("chk_in").value="mm/dd/yyyy";
		}
	
	}
	if(intMode==4)
	{
		if(document.getElementById("calendarBoxReturn").style.display=="none")
		{
			document.getElementById("calendarBoxReturn").style.display="block";
			document.getElementById("calendarBoxDepart").style.display="none";
			document.getElementById("num_adults").style.visibility="hidden";
		}
		else
		{
			document.getElementById("calendarBoxReturn").style.display="none";
			document.getElementById("num_adults").style.visibility="visible";
			if(document.getElementById("chk_out").value=="")
				document.getElementById("chk_out").value="mm/dd/yyyy";
		}
		
	}
	if(intMode==5)
		{
			if(document.getElementById("calendarBoxDepartFH").style.display=="none")
			{
				document.getElementById("calendarBoxDepartFH").style.display="block";
				document.getElementById("calendarBoxReturnFH").style.display="none";
			}
			else
			{
				document.getElementById("calendarBoxDepartFH").style.display="none";
				if(document.getElementById("date_leaving").value=="")
					document.getElementById("date_leaving").value="mm/dd/yyyy";
			}
		
		}
	if(intMode==6)
	{
		if(document.getElementById("calendarBoxReturnFH").style.display=="none")
		{
			document.getElementById("calendarBoxReturnFH").style.display="block";
			document.getElementById("calendarBoxDepartFH").style.display="none";
		}
		else
		{
			document.getElementById("calendarBoxReturnFH").style.display="none";
			if(document.getElementById("date_return").value=="")
				document.getElementById("date_return").value="mm/dd/yyyy";
		}
			
	}
}

function dateChoice(intMode)
{
	var dtToday = new Date();
	var dYear = dtToday.getFullYear();
	var x = 0;
	if(intMode==1)
	{
		var departDate = YAHOO.example.calendar.cal1.getSelectedDates()+"";
		var departing = departDate.split(" ");
		
		
		
		//****CHANGE #2A******//
		var dMonth = departing[intMonthIndex];
		var dDay = departing[intDayIndex];
		var dYear = departing[intYearIndex];
		//****CHANGE #2A*****//
		
		
		
		var strDepartDate = "";
		if(dDay==undefined)
		{
			//alert('und');
		}
		else
		{
			while(x <= 11)
			{
				if(dMonth==months[x])
				{
					dMonth = x + 1;
					strDepartDate = dMonth + "/" + dDay + "/" + dYear;
					x = 11;
				}
				x++;
			}
			document.getElementById("pudate_mo").value = dMonth;
			document.getElementById("pudate_dy").value = dDay;
			document.getElementById("dates_up").value = strDepartDate;
		}
		setTomorrow(1);
	}	
	if(intMode==2)
	{
		var returnDate = YAHOO.example.calendar.cal2.getSelectedDates()+"";
		var returning = returnDate.split(" ");
		
		//****CHANGE #2B******//
		var dMonth = returning[intMonthIndex];
		var dDay = returning[intDayIndex];
		var dYear = returning[intYearIndex];
		//****CHANGE #2B*****//
		
		
		var strReturnDate = "";
		if(dDay==undefined)
		{
			//alert('und');
		}
		else
		{		
			while(x <= 11)
			{
				if(dMonth==months[x])
				{
					dMonth = x + 1;
					strReturnDate = dMonth + "/" + dDay + "/" + dYear;
					x = 11;
				}
				x++;
			}
			document.getElementById("dodate_mo").value = dMonth;
			document.getElementById("dodate_dy").value = dDay;			
			document.getElementById("dates_off").value = strReturnDate;
		}
	}
	if(intMode==3)
	{
		var departDate = YAHOO.example.calendar.cal1.getSelectedDates()+"";
		var departing = departDate.split(" ");
		
		
		//****CHANGE #2C******//
		var dMonth = departing[intMonthIndex];
		var dDay = departing[intDayIndex];
		var dYear = departing[intYearIndex];
		//****CHANGE #2C*****//
		
		
		
		var strDepartDate = "";
		if(dDay==undefined)
		{
			//alert('und');
		}
		else
		{
			while(x <= 11)
			{
				if(dMonth==months[x])
				{
					dMonth = x + 1;
					strDepartDate = dMonth + "/" + dDay + "/" + dYear;
					x = 11;
				}
				x++;
			}
			document.getElementById("doa_mm").value = dMonth;
			document.getElementById("doa_dd").value = dDay;
			document.getElementById("doa_yy").value = dYear;
			document.getElementById("chk_in").value = strDepartDate;
		}
		setTomorrow(2);	
	
	}
	if(intMode==4)
	{
		var departDate = YAHOO.example.calendar.cal2.getSelectedDates()+"";
		var returning = departDate.split(" ");
		
		
		//****CHANGE #2D******//
		var dMonth = returning[intMonthIndex];
		var dDay = returning[intDayIndex];
		var dYear = returning[intYearIndex];
		//****CHANGE #2D*****//
		
		
		var strDepartDate = "";
		if(dDay==undefined)
		{
			//alert('und');
		}
		else
		{
			while(x <= 11)
			{
				if(dMonth==months[x])
				{
					dMonth = x + 1;
					strDepartDate = dMonth + "/" + dDay + "/" + dYear;
					x = 11;
				}
				x++;
			}
			document.getElementById("dod_mm").value = dMonth;
			document.getElementById("dod_dd").value = dDay;
			document.getElementById("dod_yy").value = dYear;
			document.getElementById("chk_out").value = strDepartDate;
		}
		
	}
	if(intMode==5)
	{
		var departDate = YAHOO.example.calendar.cal3.getSelectedDates()+"";
		var departing = departDate.split(" ");
		
		
		//****CHANGE #2E******//
		var dMonth = departing[intMonthIndex];
		var dDay = departing[intDayIndex];
		var dYear = departing[intYearIndex];
		//****CHANGE #2E*****//
		
		var strDepartDate = "";
		if(dDay==undefined)
		{
			//alert('und');
		}
		else
		{
			while(x <= 11)
			{
				if(dMonth==months[x])
				{
					dMonth = x + 1;
					strDepartDate = dMonth + "/" + dDay + "/" + dYear;
					x = 11;
				}
				x++;
			}
			document.getElementById("dateLeavingMonth").value = dMonth;
			document.getElementById("dateLeavingDay").value = dDay;
			document.getElementById("date_leaving").value = strDepartDate;
		}
		setTomorrow(3);	

	}
	if(intMode==6)
	{
		
		var departDate = YAHOO.example.calendar.cal4.getSelectedDates()+"";
		var returning = departDate.split(" ");
		
		
		//****CHANGE #2F******//
		var dMonth = returning[intMonthIndex];
		var dDay = returning[intDayIndex];
		var dYear = returning[intYearIndex];
		//****CHANGE #2F*****//
		
		
		var strDepartDate = "";
		if(dDay==undefined)
		{
			//alert('und');
		}
		else
		{
			while(x <= 11)
			{
				if(dMonth==months[x])
				{
					dMonth = x + 1;
					strDepartDate = dMonth + "/" + dDay + "/" + dYear;
					x = 11;
				}
				x++;
			}
			document.getElementById("dateReturningMonth").value = dMonth;
			document.getElementById("dateReturningDay").value = dDay;
			document.getElementById("date_return").value = strDepartDate;
		}
			
	}
		
}

function defaultDates()
{	
	var dtToday = new Date();
	var dtMonth = dtToday.getMonth();
	var dtDay = dtToday.getDate();
	
	document.getElementById("AIR_frommonth").selectedIndex = dtMonth;
	document.getElementById("AIR_fromdate").selectedIndex = dtDay - 1;
	
	setTomorrow(1);
}

function setTomorrow(intMode)
{
	var dtToday = new Date();
	
	
	
	//*******CHANGE #5A*********//
	//var dtY = dtToday.getFullYear();
	//***replaced the above code with this line***//
	var dtTodayM = dtToday.getMonth();
	//*******CHANGE #5A********//
	
	
	var strDate;




	//******CHANGE #5B********//
	//****i had to add this to make it decide which cal to push using the intMode******//
	var calNum = intMode * 2;
	calNum--;
	var firstCal = eval("YAHOO.example.calendar.cal" + calNum);
	calNum++;
	var secondCal = eval("YAHOO.example.calendar.cal" + calNum);

	if(browserType.indexOf("firefox")!=-1)
	{
		var chkInDate = document.getElementById("chk_in").value;
		var dtInDate = chkInDate.split("/");
		var dtInM = dtInDate[0]-1;
		var dtInD = dtInDate[1];
		var dtInY = dtInDate[2];
		var dtMin = new Date();
		dtMin.setMonth(dtInM);
		dtMin.setDate(dtInD);
		dtMin.setYear(dtInY);
		//secondCal.minDate = YAHOO.widget.DateMath.add(dtMin, YAHOO.widget.DateMath.DAY, 1);
		//secondCal.maxDate = YAHOO.widget.DateMath.add(dtMin, YAHOO.widget.DateMath.DAY, 366);		
	}
	else if(browserType.indexOf("safari")!=-1)
	{
		//not cool enough to push cal
		var chkInDate = document.getElementById("chk_in").value;
		var dtInDate = chkInDate.split("/");
		var dtInM = dtInDate[0]-1;
		var dtInD = dtInDate[1];
		var dtInY = dtInDate[2];
		var dtMin = new Date();
		dtMin.setMonth(dtInM);
		dtMin.setDate(dtInD);
		dtMin.setYear(dtInY);
		secondCal.minDate = dtMin;
	}
	else
	{
		//secondCal.minDate = YAHOO.widget.DateMath.add(new Date(firstCal.getSelectedDates()), YAHOO.widget.DateMath.DAY, 1);
		//secondCal.maxDate = YAHOO.widget.DateMath.add(new Date(firstCal.getSelectedDates()), YAHOO.widget.DateMath.DAY, 366);
	}
	//secondCal.render();
		//*****CHANGE #5B*******//
	
	if(intMode==1)
	{
		var inDate = document.getElementById("dates_up").value;
		var dtIN = inDate.split("/");
		var dtM = dtIN[0];
		var dtD = dtIN[1];
		//****CHANGE #3A****//
		var dtY = dtIN[2];
		//****CHANGE #3A*****//
		var intMaxDays = getDaysInMonth(dtM,dtY);
		dtD = dtD++;
		if(dtD<intMaxDays)
		{
			dtM--;
		}
		else if(dtD>intMaxDays)
		{
			dtD = dtD - intMaxDays;
			flip2month(dtM,2);
		}
		else
		{
			dtD = 0;
			flip2month(dtM,2);
		}
		dtM++;
		dtD++;
		strDate = dtM + "/" + dtD + "/" + dtY;
		document.getElementById("dates_off").value=strDate;
		YAHOO.example.calendar.cal2.select(strDate);
		YAHOO.example.calendar.cal2.render();
	}
	if(intMode==2)
	{
		var inDate = document.getElementById("chk_in").value;
		var dtIN = inDate.split("/");
		var dtM = dtIN[0];
		var dtD = dtIN[1];
		//****CHANGE #3B****//
		var dtY = dtIN[2];
		//****CHANGE #3B*****//
		var intMaxDays = getDaysInMonth(dtM,dtY);
		dtD = dtD++;
		if(dtD<intMaxDays)
		{
			dtM--;
		}
		else if(dtD>intMaxDays)
		{
			dtD = dtD - intMaxDays;
			flip2month(dtM,2);
		}
		else
		{
			dtD = 0;
			flip2month(dtM,2);
		}
		dtM++;
		dtD++;
		strDate = dtM + "/" + dtD + "/" + dtY;
		document.getElementById("chk_out").value=strDate;
		YAHOO.example.calendar.cal2.select(strDate);
		YAHOO.example.calendar.cal2.render();
	}
	if(intMode==3)
	{
		var inDate = document.getElementById("date_leaving").value;
		var dtIN = inDate.split("/");
		var dtM = dtIN[0];
		var dtD = dtIN[1];
		//****CHANGE #3C****//
		var dtY = dtIN[2];
		//****CHANGE #3C*****//
		var intMaxDays = getDaysInMonth(dtM,dtY);
		dtD = dtD++;
		if(dtD<intMaxDays)
		{
			dtM--;
		}
		else if(dtD>intMaxDays)
		{
			dtD = dtD - intMaxDays;
			flip2month(dtM,4);
		}
		else
		{
			dtD = 0;
			flip2month(dtM,4);
		}
		dtM++;
		dtD++;
		strDate = dtM + "/" + dtD + "/" + dtY;
		document.getElementById("date_return").value=strDate;
		YAHOO.example.calendar.cal4.select(strDate);
		YAHOO.example.calendar.cal4.render();
	}
	
}


function IsLeapYear(yrStr)
{
	var leapYear = false;
	var year = parseInt(yrStr, 10);
	if (year%4 == 0) 
	{ 
		leapYear = true;
		if (year%100 == 0)
		{
			leapYear = false;
			if (year%400 == 0)
			{
				leapYear = true;
			}
		}
	}
	return leapYear;
}


function getDaysInMonth(mthIdx, yrStr) 
{
	var maxDays = 31;
	if (mthIdx == 2)
	{
		if (IsLeapYear(yrStr))
		{ 
			maxDays = 29;
		}
		else
		{
			maxDays = 28;
		}
	}
	if (mthIdx == 4 || mthIdx == 6 || mthIdx == 9 || mthIdx == 11)
	{
		maxDays = 30;
	}
	return maxDays;
}


//*****CHANGE #4********//
//*****below this function is the original function that existed. because it is using the 
//multi-calnumbered method, i copied this function from the WCT dates.js and editted it to
//recieve the "calNum" parameter. then, i editted the setting of "firstCal" and "seconCal"
//to be set depending on the passed number, which is decided by the dateChoice function

function flip2month(intMonth,calNum)
{
	var dtToday = new Date();
	var dtM;
	var x = 1;
	var intCalM;
	calNum--;
	var firstCal = eval("YAHOO.example.calendar.cal" + calNum);
	calNum++;
	var secondCal = eval("YAHOO.example.calendar.cal" + calNum);
	var departDate = firstCal.getSelectedDates()+"";
	var returnDate = secondCal.getSelectedDates()+"";
	if(returnDate!="")
	{
		var returning = returnDate.split(" ");
		var rMonth = returning[1];
		var rYear = returning[intYearIndex];
		if(rMonth==undefined){
			intCalM=intMonth;}
		else{
			while(x <= 11)
			{
				if(rMonth==months[x])
				{
					intCalM = x;
					x = 11;
				}
				x++;
			}
		}
		gintCal2Month = intCalM;
	}
	else
	{

	}
	
	if(gintCal2Month==0){
		dtM = dtToday.getMonth();
		gintCal2Month = dtM;
	}
	else {
		dtM = gintCal2Month;
	}	
	
	x = 1;
	//move to january
	while(x<=dtM)
	{
		secondCal.previousMonth();
		x++;
	}
	
	//check if next year
	var departing = departDate.split(" ");
	if(rYear==undefined)
		rYear = dtToday.getFullYear();
	var dYear = departing[intYearIndex];
	if(dYear!=rYear)
	{
		//move 12 months
		x = 1;
		while(x<=12)
		{
			secondCal.nextMonth();
			x++;			
		}
	}
	
	//move to new month
	x = 1;
	while(x<=intMonth)
	{
		secondCal.nextMonth();
		x++;			
	}	
}
//****CHANGE #4*********//