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";
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;
}







if(navigator.appName=="Microsoft Internet Explorer")
{
	var intMonthIndex = 1;
	var intDayIndex = 2;	
	var intYearIndex = 5;
}
else if(navigator.appName=="Opera")
{
	var intMonthIndex = 2;
	var intDayIndex = 1;
	var intYearIndex = 3;
}
else
{
	var intMonthIndex = 1;
	var intDayIndex = 2;
	var intYearIndex = 3;
}
	
function toggleCalendar(intMode)
{
	if(intMode==1)
	{
		if(document.getElementById("calendarBoxDepart").style.display=="none")
		{
			closeAllCal();
			document.getElementById("calendarBoxDepart").style.display="block";
			
		}
		else
		{
			closeAllCal();
			if(document.getElementById("chk_in").value=="")
				document.getElementById("chk_in").value="mm/dd/yyyy";
		}
	}
	if(intMode==2)
	{
		if(document.getElementById("calendarBoxReturn").style.display=="none")
		{
			closeAllCal();
			document.getElementById("calendarBoxReturn").style.display="block";
		}
		else
		{
			closeAllCal();
			if(document.getElementById("chk_out").value=="")
				document.getElementById("chk_out").value="mm/dd/yyyy";
		}
			
	}
	

	
}

function dateChoice(intMode)
{
	var dtToday = new Date();
	var dYear = dtToday.getFullYear();
	var x = 0;
	if(intMode==1)
	{
		var departDate = TSNYC.example.calendar.cal1.getSelectedDates()+"";
		var departing = departDate.split(" ");
		var dMonth = departing[intMonthIndex];
		var dDay = departing[intDayIndex];
		var dYear = departing[intYearIndex];  ////////
		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(1);
	}	
	if(intMode==2)
	{
		var returnDate = TSNYC.example.calendar.cal2.getSelectedDates()+"";
		var returning = returnDate.split(" ");
		var dMonth = returning[intMonthIndex];
		var dDay = returning[intDayIndex];
		var dYear = returning[intYearIndex];
		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("dod_mm").value = dMonth;
			document.getElementById("dod_dd").value = dDay;
			document.getElementById("dod_yy").value = dYear;
			document.getElementById("chk_out").value = strReturnDate;
		}
	}
		
}

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();
	var dtTodayM = dtToday.getMonth();
	dtTodayM++;
	var strDate;
	
	
	var firstCal = eval("TSNYC.example.calendar.cal1");
	var secondCal = eval("TSNYC.example.calendar.cal2");
	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 = TSNYC.widget.DateMath.add(dtMin, TSNYC.widget.DateMath.DAY, 1);
		//secondCal.maxDate = TSNYC.widget.DateMath.add(dtMin, TSNYC.widget.DateMath.DAY, 201);		
	}
	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 = TSNYC.widget.DateMath.add(new Date(firstCal.getSelectedDates()), TSNYC.widget.DateMath.DAY, 1);
		//secondCal.maxDate = TSNYC.widget.DateMath.add(new Date(firstCal.getSelectedDates()), TSNYC.widget.DateMath.DAY, 201);
	}
	secondCal.render();
	if(intMode==1)
	{
		var inDate = document.getElementById("chk_in").value;
		var dtIN = inDate.split("/");
		var dtM = dtIN[0];
		var dtD = dtIN[1];
		var dtY = dtIN[2];
		var intMaxDays = getDaysInMonth(dtM,dtY);
		dtD = dtD++;
		if(dtD<intMaxDays)
		{
			//alert(1);
			if(secondCal.getSelectedDates()!="")
			{
				//alert('w');
				flip2month(dtM-1);
			}
			else
			{
				//alert('s');
				if(dtM!=dtTodayM)
					flip2month(dtM-1);
				
			}
			dtM--;
		}
		else if(dtD>intMaxDays)
		{
			//never goes in here
			dtD = dtD - intMaxDays;
			flip2month(dtM);
			//alert(2);
		}
		else
		{
			dtD = 0;
			flip2month(dtM);
			//alert(3);
		}
		dtM++;
		dtD++;
		if(dtM==13)
		{
			dtM = 1;
			dtY++;
		}
		strDate = dtM + "/" + dtD + "/" + dtY;
		document.getElementById("chk_out").value=strDate;
		TSNYC.example.calendar.cal2.select(strDate);
		TSNYC.example.calendar.cal2.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;
}


function flip2month(intMonth)
{
	var dtToday = new Date();
	var dtM;
	var x = 1;
	var intCalM;

	var firstCal = eval("TSNYC.example.calendar.cal1");	
	var secondCal = eval("TSNYC.example.calendar.cal2");
	var departDate = firstCal.getSelectedDates()+"";
	var returnDate = secondCal.getSelectedDates()+"";
	//alert(returnDate);
	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
	//alert("go jan " + dtM);
	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)
	{
		
		//alert("go 12 " + dYear + " " + rYear);
		//move 12 months
		x = 1;
		while(x<=12)
		{
			secondCal.nextMonth();
			x++;			
		}
	}
	
	//move to new month
	x = 1;
	//alert("move to " + intMonth);
	while(x<=intMonth)
	{
		secondCal.nextMonth();
		x++;			
	}	
}

function closeAllCal()
{
		document.getElementById("calendarBoxDepart").style.display="none";
		document.getElementById("calendarBoxReturn").style.display="none";
}



	TSNYC.namespace("example.calendar");
	function initCal(strID)
	{
		var strDate;
		var dtDate = new Date();
		dtM = dtDate.getMonth() + 1;
		dtD = dtDate.getDate();
		dtY = dtDate.getYear();
		strDate = dtM + "/" + dtD + "/" + dtY;
		var cal1;
		var cal2;
		if(strID=="cal1")
		{
			TSNYC.example.calendar.cal1 = new TSNYC.widget.Calendar("TSNYC.example.calendar.cal1", "cal1Container");
			TSNYC.example.calendar.cal1.minDate = TSNYC.widget.DateMath.add(new Date(), TSNYC.widget.DateMath.DAY, 0);
			TSNYC.example.calendar.cal1.select(strDate);
			TSNYC.example.calendar.cal1.render();
		}
		if(strID=="cal2")
		{
			TSNYC.example.calendar.cal2 = new TSNYC.widget.Calendar("TSNYC.example.calendar.cal2", "cal2Container");
			TSNYC.example.calendar.cal2.minDate = TSNYC.widget.DateMath.add(new Date(), TSNYC.widget.DateMath.DAY, 1);
			TSNYC.example.calendar.cal2.render();
		}
		

	}
