function valid_form_date (dDateField,bRequired) {
	var dDate=trim(dDateField.value), nMonth=0, nDay=0, nYear=0, bReturn=true;
	var nMonthDays = new Array ( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );

	if ( dDate.length == 0 ) {
		if ( bRequired )
			bReturn=false;
	} else {
		nMonth=date_parse ( dDate, "m" );
		nDay=date_parse ( dDate, "d" );
		nYear=date_parse ( dDate, "y" );
		if ( nMonth == 0 || nDay == 0 || nYear < 1000 )
			bReturn=false;
	}
	
	return bReturn;
}

function valid_form_date_range ( dDateFieldFrom, dDateFieldTo ) {
	var dDateFrom, dDateTo;
	if ( trim ( dDateFieldFrom.value ) != "" && trim ( dDateFieldTo.value ) != "" ) {
		dDateFrom = new Date ( date_parse ( dDateFieldFrom.value, "y" ), date_parse ( dDateFieldFrom.value, "m" ) - 1, date_parse ( dDateFieldFrom.value, "d" ));
		dDateTo = new Date ( date_parse ( dDateFieldTo.value, "y" ), date_parse ( dDateFieldTo.value, "m" ) - 1, date_parse ( dDateFieldTo.value, "d" ));
		if ( dDateFrom.getTime() > dDateTo.getTime())
			return false;
	}
	return true;
}
