// JavaScript Document
minYear = 2000
maxYear = 2000
function GetDaysofMonth(monthName, dayName, yearName) {
	var D = new Date();
	var NoOfDays = 0;
	var StartLength = 0;
	var iSelected = 0;

	strDayObj = document.getElementById(dayName);
	strMonthObj = document.getElementById(monthName);
	strYearObj = document.getElementById(yearName);
	if (!strDayObj || !strMonthObj || !strYearObj) {return} 
	if (strMonthObj.value != "" && strYearObj.value != "") {
		D = strMonthObj.value + "/1/" + strYearObj.value;
		NoOfDays = LastOfMonth(D);

		iSelected = strDayObj.selectedIndex; //Save the selected day in case the newly selected month doesn't have that many days
											//we can select the last day of the new month, so the day selection will not be blank.
		StartLength = strDayObj.length;
		if (strDayObj.options[0].text == "") {
			strDayObj.length = NoOfDays+ 1;
		} else {
			strDayObj.length = NoOfDays;	
		}
		if (StartLength < strDayObj.length) {
			var endVal = NoOfDays
			if (strDayObj.options[0].text == "") {
				endVal = NoOfDays + 1
			} 
			
			for (var i=StartLength-1; i<=endVal;  i++) {
				var val = i
				if (strDayObj.options[0].text == "") {
					val = i-1
				}
				strDayObj.options[i-1].text = val;
				strDayObj.options[i-1].value = val;
			}
		}
			
		if (iSelected >= strDayObj.length) {
			strDayObj.selectedIndex = strDayObj.length - 1;   
		}
	}
}

function LastOfMonth(D) { // Date Object, string, or number
     with (new Date(D)) { setDate(32) ; return 32-getDate() } 
}

function updateDayList(monthName, dayName, yearName) {
	GetDaysofMonth(monthName, dayName, yearName)	
}

function fillYears(yearName) {
	/*var d = new Date()
	var currentYear = d.getFullYear()
	var yearObj = document.getElementById(yearName)
	maxYear = currentYear
	var bBlankFirst = false
	if (yearObj.options[0].value == "") {bBlankFirst = true	}
	
	for (var i = (yearObj.options.length-1); i >= 0; i--){
         yearObj.options[i]=null;
    }

	yearObj.length = maxYear-minYear + 1
	if (bBlankFirst) {yearObj.length++}
	for (var i = maxYear; i >= minYear; i--){
		var index = maxYear-i
		if (bBlankFirst) {index++} 
		yearObj.options[index].text = i;
		yearObj.options[index].value = i;
    }	*/

}

function setCurrentDate(monthName, dayName, yearName) { 
	fillYears(yearName)
	var yearObj = document.getElementById(yearName)
	var d = new Date()
	var currentMonth = d.getMonth()  //Zero based months
	var currentDay = d.getDate()
	var currentYear = d.getFullYear()
	var bBlankFirst = false
	var minYear = document.getElementById(yearName).options[document.getElementById(yearName).options.length-1].value
	var maxYear = document.getElementById(yearName).options[0].value
	if (yearObj.options[0].value == "") {bBlankFirst = true	}

	if (bBlankFirst) {
		maxYear = document.getElementById(yearName).options[1].value 
		//currentMonth++ //I dont know why this was here, but it caused an error on  8/31/2009, because it made the month 9 (September, which only has 30 days)
		document.getElementById(yearName).options.selectedIndex = maxYear -currentYear+1
	} else {
		document.getElementById(yearName).options.selectedIndex = maxYear -currentYear
	}
	if (document.getElementById(monthName).options[0].text.length == 0) {currentMonth++}
	document.getElementById(monthName).options.selectedIndex = currentMonth
	updateDayList(monthName, dayName, yearName);
	document.getElementById(dayName).options.selectedIndex = currentDay -1
}



function setSelectedDate(selectedDate, monthName, dayName, yearName) {
	fillYears(yearName)
	var yearObj = document.getElementById(yearName)
	var bBlankFirst = false
	var maxYear = document.getElementById(yearName).options[0].value
	var minYear = document.getElementById(yearName).options[document.getElementById(yearName).options.length-1].value
	if (yearObj.options[0].value == "") {bBlankFirst = true	}
	
	var d = new Date(selectedDate)
	var currentMonth = d.getMonth()  //Zero based months
	var currentDay = d.getDate()
	var currentYear = d.getFullYear()

	if (bBlankFirst) {
		maxYear = document.getElementById(yearName).options[1].value 
		currentMonth++
		document.getElementById(yearName).options.selectedIndex = maxYear -currentYear+1
	} else {
		document.getElementById(yearName).options.selectedIndex = maxYear -currentYear
	}


	//document.getElementById(yearName).options.selectedIndex = maxYear -currentYear
	document.getElementById(monthName).options.selectedIndex = currentMonth
	updateDayList(monthName, dayName, yearName);
	document.getElementById(dayName).options.selectedIndex = currentDay -1
}


function setBlankDate(monthName, dayName, yearName) {
	//fillYears(yearName)
//	var maxYear = document.getElementById(yearName).options[0].value
//	var minYear = document.getElementById(yearName).options[document.getElementById(yearName).options.length-1].value
//	var d = new Date(selectedDate)
//	var currentMonth = d.getMonth()  //Zero based months
//	var currentDay = d.getDate()
//	var currentYear = d.getFullYear()

	setCurrentDate(monthName, dayName, yearName)
	if (document.getElementById(yearName)) document.getElementById(yearName).options.selectedIndex = 0
	if (document.getElementById(monthName)) document.getElementById(monthName).options.selectedIndex = 0
	if (document.getElementById(dayName)) document.getElementById(dayName).options.selectedIndex = 0
}

