/* Last modified : June 2, 2011
	Modified by : Lisa Ang
	adjustYear - change the year to last year, when the date is set to be the future date
	*/
function adjustYear(form){
	nowSelected = form.timeframe.options[form.timeframe.selectedIndex].value;
	// do this only for almanac
	
	if (nowSelected == 4){
		// get the selected year month and day
		curYearSelected = form.Year.options[form.Year.selectedIndex].value;
		curYearSelectedIndex = form.Year.selectedIndex;
		curMonthSelected = form.Month.selectedIndex;
		curDaySelected = form.Day.selectedIndex;
		curDate = new Date(curYearSelected,curMonthSelected,curDaySelected + 2);
		// compute the current available data date
		todayDate = new Date();
		if(todayDate < curDate){
			// change the selected year in the box to 1 less
			form.Year.selectedIndex = curYearSelectedIndex - 1;
		}
	}
}

function callUpdateDays () {
	updateDays(document.forms.namedItem("frmNewDate"), document.forms.namedItem("frmAdvSearch"), 1);
}

function updateDays(form, advform, language) {
	nowSelected = form.timeframe.options[form.timeframe.selectedIndex].value;
	advform.advTimeFrame.value = nowSelected;
	if (nowSelected == 3) {
		form.Month.disabled = 1;
		form.Day.disabled = 1;
		form.Year.disabled = 0;
	} else if (nowSelected == 2) {
		form.Month.disabled = 0;
		form.Day.disabled = 1;
		form.Year.disabled = 0;
	} else if (nowSelected == 4) {
		form.Month.disabled = 0;
		form.Day.disabled = 0;
		form.Year.disabled = 1;
	} else {
		form.Month.disabled = 0;
		form.Day.disabled = 0;
		form.Year.disabled = 0;
	}
	
	curDaySelected = form.Day.selectedIndex;
	advform.advDay.value = curDaySelected+1;
	
	if (form.Month.options[form.Month.selectedIndex].value == 1 |
		 form.Month.options[form.Month.selectedIndex].value == 3 |
		 form.Month.options[form.Month.selectedIndex].value == 5 |
		 form.Month.options[form.Month.selectedIndex].value == 7 |
		 form.Month.options[form.Month.selectedIndex].value == 8 |
		 form.Month.options[form.Month.selectedIndex].value == 10 |
		 form.Month.options[form.Month.selectedIndex].value == 12) {
		form.Day.length = 31;
	} else if (form.Month.options[form.Month.selectedIndex].value == 4 |
		 form.Month.options[form.Month.selectedIndex].value == 6 |
		 form.Month.options[form.Month.selectedIndex].value == 9 |
		 form.Month.options[form.Month.selectedIndex].value == 11) {
		if (form.Day.selectedIndex > 29) {
			form.Day.selectedIndex = 29;
		}
		form.Day.length = 30;
	} else {
		thisYear = form.Year.options[form.Year.selectedIndex].value;
		thisDate = new Date(thisYear,'1','29');
		if (thisDate.getDate() == 29 || form.timeframe.options[form.timeframe.selectedIndex].value == 4) {
			if (form.Day.selectedIndex > 28) {
				form.Day.selectedIndex = 28;
			}
			form.Day.length = 29;
		} else {
			if (form.Day.selectedIndex > 27) {
				form.Day.selectedIndex = 27;
			}
			form.Day.length = 28;
		}
	}
	
	for(i=0; i < form.Day.length; i++) {
		form.Day.options[i] = new Option(i+1,i+1);
	}
	if (form.Day.length > curDaySelected) {
		form.Day.selectedIndex = curDaySelected;
	} else {
		form.Day.selectedIndex = form.Day.length - 1;
	}

	var dispMonths = months;
	todayDate = new Date();
	advform.advYear.value = form.Year.options[form.Year.selectedIndex].value;
	
curSelected = form.Month.selectedIndex;
advform.advMonth.value = curSelected+1;

	if (form.Year.options[form.Year.selectedIndex].value == todayDate.getFullYear()) {
		if (form.timeframe.options[form.timeframe.selectedIndex].value != 4)
		{
			form.Month.length = todayDate.getMonth();
			
			for(i=0; i <= todayDate.getMonth(); i++) {
				form.Month.options[i] = new Option(dispMonths[i+1],i+1);
			}
			if (todayDate.getDate() - 2 < 0){
				form.Month.length -= 1;
			}
		}
		else
		{
			form.Month.length = 11;
			for(i=0; i <= 11; i++) {
				form.Month.options[i] = new Option(dispMonths[i+1],i+1);
			}
		}
		
		if (parseInt(form.Month.length) > parseInt(curSelected)) {
			form.Month.selectedIndex = curSelected;
		} else {
			form.Month.selectedIndex = form.Month.length - 1;
		}
		if (form.Month.options[form.Month.selectedIndex].value == (todayDate.getMonth() + 1)) {
			if (form.timeframe.options[form.timeframe.selectedIndex].value != 4)
			{
				form.Day.length = todayDate.getDate() - 2;
				for(i=0; i <= todayDate.getDate() - 2; i++) {
					form.Day.options[i] = new Option(i+1,i+1);
				}
			}
			if (form.Day.length >= curDaySelected) {
				form.Day.selectedIndex = curDaySelected;
			} else {
				form.Day.selectedIndex = form.Day.length - 1;
			}
		}
	} else if (form.Month.length < 12) {
		curSelected = form.Month.selectedIndex;
		form.Month.length = 12;
		for(i=0; i <= 11; i++) {
			form.Month.options[i] = new Option(dispMonths[i+1],i+1);
		}
		form.Month.selectedIndex = curSelected;
	}
	adjustYear(form);
}
