
var alreadyclicked = false;

function validate(){
	
	if (alreadyclicked){
		return;
	}
	alreadyclicked = true;
	
	if ((document.form.startdate.value != "")&&(document.form.enddate.value == "")){
		document.form.startdate.focus();
		alert("Date range searches require a start date and an end date.");
		alreadyclicked = false;
		return;
	}
	if ((document.form.startdate.value == "")&&(document.form.enddate.value != "")){
		document.form.startdate.focus();
		alert("Date range searches require a start date and an end date.");
		alreadyclicked = false;
		return;
	}
	
	if ((document.form.startdate.value != "")&&(document.form.enddate.value != "")){
		if (document.form.startdate.value.search("[0-9][0-9]/[0-9][0-9]/[0-9][0-9][0-9][0-9]") == -1){
			alert("Invalid Start Date Format.\nDates must be of the form:\n\nMM/DD/YYYY");
			document.form.startdate.focus();
			alreadyclicked = false;
			return;
		}
		if (document.form.enddate.value.search("[0-9][0-9]/[0-9][0-9]/[0-9][0-9][0-9][0-9]") == -1){
			alert("Invalid End Date Format.\nDates must be of the form:\n\nMM/DD/YYYY");
			document.form.enddate.focus();
			alreadyclicked = false;
			return;
		}
		var validstartdate = new Date(document.form.startdate.value);
		var validenddate = new Date(document.form.enddate.value);
		
		var thestartday = validstartdate.getDate();
		var theendday = validenddate.getDate();
		var thestartmonth = validstartdate.getMonth() + 1;
		var theendmonth = validenddate.getMonth() + 1;
		
		if (thestartday < 10){
			thestartday = "0" + thestartday;
		}
		if (theendday < 10){
			theendday = "0" + theendday;
		}
		if (thestartmonth < 10){
			thestartmonth = "0" + thestartmonth;
		}
		if (theendmonth < 10){
			theendmonth = "0" + theendmonth;
		}
		
		var thestartdatestring = thestartmonth + "/" + thestartday + "/" + validstartdate.getFullYear();
		var theenddatestring = theendmonth + "/" + theendday + "/" + validenddate.getFullYear();
		
		if (thestartdatestring != document.form.startdate.value){
			alert("The Start Date that you entered is not valid.  Please enter a valid date.");
			document.form.startdate.focus();
			document.form.startdate.select();
			alreadyclicked = false;
			return;
		}
		if (theenddatestring != document.form.enddate.value){
			alert("The End Date that you entered is not valid.  Please enter a valid date.");
			document.form.enddate.focus();
			document.form.enddate.select();
			alreadyclicked = false;
			return;
		}
	}	
	
	document.form.submit();
	alreadyclicked = false;
	return;
}
