//Javascript for custom date dropdown
//Dynamically changes days dropdown depending on month and year (including leap years)
//monthCtl = object for month select box
//dayCtl = object for day select box
//yearCtl = object for year select box
function updateDays(monthCtl, dayCtl, yearCtl) {
	var days = daysInMonth(Number(monthCtl.options[monthCtl.selectedIndex].value),Number(yearCtl.options[yearCtl.selectedIndex].value));
	if (dayCtl.options[dayCtl.selectedIndex].value > days)
		dayCtl.selectedIndex = days - 1;
	dayCtl.length = days;		
	for (var i = 28; i < days; i++) {
		dayCtl.options[i].value = String(i+1);
		dayCtl.options[i].text = String(i+1);	
	}
	return true;
}

// Custom DateAdd function
//** right now only handles 'd' parameter for date part **
// datePart - part of date to adjust
// num - number to increment/decrement
// dt - valid date object
// returns date object
function DateAdd(datePart,num,dt) {
	var bTime = 0, offset = 0;
	
	// Convert date to milliseconds
	bTime = dt.getTime();
		
	// Calcultae multiplier
	if (datePart == 'd')
		offset = (24 * 60 * 60 * 1000);		
	else
		offset = 0;

	// Adjust milliseconds
	bTime = bTime + (offset * num);

	var newDate = new Date();
	newDate.setTime(bTime);
	return newDate;
}

// Returns days in a month
// monthNum - integer representing month 1-12
// yearNum - 4-digit integer for year
function daysInMonth(monthNum,yearNum) {
	if (monthNum == 2) {
		// Look for leap year
		if (yearNum % 4 == 0 && (yearNum % 100 != 0 || yearNum % 400 == 0)) 
			return 29;
		else 
			return 28;		
	} else if (monthNum == 4 || monthNum == 6 || monthNum == 9 || monthNum == 11)
		return 30;
	else
		return 31;
}

function fixNum(val) {
	if (val.length == 2 && val.charAt(0) == '0')
		return val.charAt(1);
	else
		return val;
}	
