// date parsing function
function parseDate (s_date) {

    if (s_date == '') return true;
	
	var re_date = /^\s*(\d{1,2})\/(\d{1,2})\/(\d{2,4})\s*$/;
	if (!re_date.exec(s_date))
		{
		alert ("Invalid date: '" + s_date + "'.\nAccepted format is mm/dd/yyyy.");
		return false;
		}
	var n_day = Number(RegExp.$2),
		n_month = Number(RegExp.$1),
		n_year = Number(RegExp.$3);

	if (n_year < 100)
		{
		alert ("Invalid date: '" + s_date + "'.\nAccepted format is mm/dd/yyyy.");
		return false;
		//n_year += (n_year < this.a_tpl.centyear ? 2000 : 1900);
		}
	if (n_month < 1 || n_month > 12)
		{
		alert ("Invalid month value: '" + n_month + "'.\nAllowed range is 01-12.");
		return false;
		}
	var d_numdays = new Date(n_year, n_month, 0);
	if (n_day > d_numdays.getDate())
		{
		alert("Invalid day of month value: '" + n_day + "'.\nAllowed range for selected month is 01 - " + d_numdays.getDate() + ".");
		return false;
		}
	
	return true;
	//return new Date (n_year, n_month - 1, n_day);
}

