// Include: frm.js
// Summary: Common functionality for client-side form input
// Dependencies: None

// Purpose: Parses date from values entered into HTML date menu on form
// Remarks: Expects date menu generated by form_createHTMLDateMenu function
// Output: Date object set to date selected in form, or null if no data submitted
function form_getDateFromHTMLDateMenu (form, menuBaseName)
{
	var selDay;
	var selMonth;
	var selYear;
	var intDay;
	var intMonth;
	var strMonth;
	var intYear;
	var arrMonthName;
	var strDate;
	var objDate

	arrMonthName = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
	selDay = form[menuBaseName + 'Day'];
	selMonth = form[menuBaseName + 'Month'];
	selYear = form[menuBaseName + 'Year'];
	intDay = selDay.options[selDay.selectedIndex].value;
	intMonth = selMonth.options[selMonth.selectedIndex].value;
	intYear = selYear.options[selYear.selectedIndex].value;
	if (intDay == '' || intMonth == '' || intYear == '')
	{
		objDate = null;
	}
	else
	{
		strMonth = arrMonthName[intMonth - 1];
		strDate = intDay + ' ' + strMonth + ' ' + intYear;
		objDate = new Date(strDate);
	}
	return objDate;
}

// Purpose: Sets selected option within select item to first option containing specified value
function form_setSelectSelectedIndexByValue (select, value)
{
	var i;
	var blnFound;

	i = 0;
	blnFound = false;
	while (i < select.options.length)
	{
		if (select.options[i].value == value)
		{
			blnFound = true;
			break;
		}
		i++;
	}
	if (!blnFound) i = 0;
	select.selectedIndex = i;

}

// Purpose: Updates date menu to given date
// Remarks: Expects date menu generated by server side 
// form_createHTMLDateMenu function
// Output: None
function form_setHTMLDateMenuDate (form, menuBaseName, date)
{
	var selDay;
	var selMonth;
	var selYear;
	var intDay;
	var intMonth;
	var strMonth;
	var intYear;
	var i;

	selDay = form[menuBaseName + 'Day'];
	selMonth = form[menuBaseName + 'Month'];
	selYear = form[menuBaseName + 'Year'];

	if (date == null)
	{
		// Reset menus to blank
		selDay.selectedIndex = 0;
		selMonth.selectedIndex = 0;
		selYear.selectedIndex = 0;
	}
	else
	{
		// Set menu values for date
		intDay = date.getDate();
		intMonth = date.getMonth() + 1;
		intYear = date.getFullYear();
		form_setSelectSelectedIndexByValue(selDay, intDay);
		form_setSelectSelectedIndexByValue(selMonth, intMonth);
		form_setSelectSelectedIndexByValue(selYear, intYear);
	}
}
