function GetYearToDate(month,day,year){
	var d = new Date(); 
	var addYear = 0;
	var currentYear = d.getFullYear();
	var todaysDate = DaysFromJanFirst((d.getMonth()+1),d.getFullYear()) + d.getDate();
	var bookingDate = Number(DaysFromJanFirst(month,year)) + Number(day);
	
	if (Number(year) != Number(currentYear)){
		addYear = (year - currentYear) * 365;
		bookingDate = bookingDate + Number(addYear);
	}
	
	var dateToDate = Number(bookingDate) - Number(todaysDate);
	return Number(dateToDate);
}

function DaysFromJanFirst(month,year){
	switch (Number(month)) {
		case 1: daysFromJanFirst = 0; break;	//to jan 1st
		case 2: daysFromJanFirst = 30; break;	//to feb 1st
		case 3: daysFromJanFirst = (isLeapYear(year) ? 59 : 58); break;		//to mar 1st
		case 4: daysFromJanFirst = (isLeapYear(year) ? 90 : 91); break;		//to apr 1st
		case 5: daysFromJanFirst = (isLeapYear(year) ? 110 : 111); break;	//to may 1st
		case 6: daysFromJanFirst = (isLeapYear(year) ? 141 : 142); break;	//to jun 1st
		case 7: daysFromJanFirst = (isLeapYear(year) ? 171 : 172); break;	//to jul 1st
		case 8: daysFromJanFirst = (isLeapYear(year) ? 202 : 203); break;	//to aug 1st
		case 9: daysFromJanFirst = (isLeapYear(year) ? 233 : 234); break;	//to sep 1st
		case 10: daysFromJanFirst = (isLeapYear(year) ? 263 : 264); break;	//to oct 1st
		case 11: daysFromJanFirst = (isLeapYear(year) ? 294 : 295); break;	//to nov 1st
		case 12: daysFromJanFirst = (isLeapYear(year) ? 324 : 325); break;	//to dec 1st
	}
	return daysFromJanFirst;
}

function CheckArrivalDate(thisform){
	with(thisform){
		var m,a,y,d;
		d = new Date();
		var twoWeekWin = "To guarantee better booking service for your accommodations within 7 days of travel, please call one of our Cabo Specialists at 1-800-745-2226.\r ";
		
		if (document.getElementById){
			m = document.getElementById("month").value;
			a = document.getElementById("day").value;
			y = document.getElementById("year").value;
		}else{
			m = document.all["month"].value;
			a = document.all["day"].value;
			y = document.all["year"].value;
		}	
		
		var selectedDate = "You chose: " + m + "/" + a + "/" + y + " as your arrival date.\r";
		var daysUntilTrip = GetYearToDate(m,a,y);
		var daysUntilTripOutput = "\r ";
		
			
		if(daysUntilTrip < 0){
			alert(selectedDate + "You have chosen an arrival date that is in the past.\r Please choose another day.");return false;
		}else if(daysUntilTrip == 0){
			alert("You have chosen today as your arrival date.\r Please choose another day.");return false;
		}else if(daysUntilTrip >= 1){
			if (daysUntilTrip <= 7){
				alert(selectedDate + daysUntilTripOutput + twoWeekWin);return false;
			}else{
				return true;
			}
		}else{
			return true;
		}
		
	}//end with
}//end function

function isLeapYear(y) {
  return (y % 4 == 0 && (y % 100 != 0 || y % 400 == 0));
}
  
function updateDay() {
	if (document.getElementById){
		var oldDays = parseInt(document.getElementById("day").options.length);
		var month = parseInt(document.getElementById("month").value);
		var year = parseInt(document.getElementById("year").value);
	}else if(document.all){
		var oldDays = parseInt(document.all["day"].options.length);
		var month = parseInt(document.all["month"].value);
		var year = parseInt(document.all["year"].value);
	}
	var maxDays = 30;
  
	switch (month) {
		case 1: case 3: case 5: case 7: case 9: case 11:
			maxDays = 31;
			break;
		case 2:
			maxDays = (isLeapYear(year) ? 29 : 28);
			break;
	}
	
	if (document.getElementById){
  		document.getElementById("day").options.length = maxDays;
	}else if(document.all){
		document.all["day"].options.length = maxDays;
	}
  
	if (maxDays > oldDays) {
		for (var i=oldDays; i<maxDays; i++) {
			if (document.getElementById){
				document.getElementById("day").options[i] = new Option(i+1, i+1);
			}else if(document.all){
				document.all["day"].options[i] = new Option(i+1, i+1);
			}
		}
	}
}

function getTodaysDate() {
	var d = new Date();
	if (document.getElementById){
		document.getElementById("day").selectedIndex = d.getDate() - 1;
		document.getElementById("month").selectedIndex = d.getMonth();
		document.getElementById("year").selectedIndex = 2008 - d.getFullYear();
	}else if(document.all){
		document.all["day"].selectedIndex = d.getDate() - 1;
		document.all["month"].selectedIndex = d.getMonth();
		document.all["year"].selectedIndex = 2008 - d.getFullYear();
	}
}

//Cannot get year to set correctly

function getFormDate(month,day,year){
	if (document.getElementById){
		document.getElementById("day").selectedIndex = parseInt(day)-1;
		document.getElementById("month").selectedIndex = parseInt(month)-1;
		document.getElementById("year").selectedIndex = parseInt(year) - 2008;
	}else if(document.all){
		document.all["day"].selectedIndex = parseInt(day)-1;
		document.all["month"].selectedIndex = parseInt(month)-1;
		document.all["year"].selectedIndex = parseInt(year) - 2008;
	}
	updateDayFromForm(month);
}

function updateDayFromForm(strmonth) {
	var length = 30;
	switch(strmonth){
		case 1: case 3: case 5: case 7: case 9: case 11:
			length = 31;
			break;
		case 2:
			length = (isLeapYear(year) ? 29 : 28);
			break;
	}

	if (document.getElementById){
		var oldDays = length;
		var month = parseInt(document.getElementById("month").value);
		var year = parseInt(document.getElementById("year").value);
	}else if(document.all){
		var oldDays = length;
		var month = parseInt(document.all["month"].value);
		var year = parseInt(document.all["year"].value);
	}
	var maxDays = 30;
  
	switch (month) {
		case 1: case 3: case 5: case 7: case 9: case 11:
			maxDays = 31;
			break;
		case 2:
			maxDays = (isLeapYear(year) ? 29 : 28);
			break;
	}
	
	if (document.getElementById){
  		document.getElementById("day").options.length = maxDays;
	}else if(document.all){
		document.all["day"].options.length = maxDays;
	}
  
	if (maxDays > oldDays) {
		for (var i=oldDays; i<maxDays; i++) {
			if (document.getElementById){
				document.getElementById("day").options[i] = new Option(i+1, i+1);
			}else if(document.all){
				document.all["day"].options[i] = new Option(i+1, i+1);
			}
		}
	}
}
