function isDate(field, brequired, message){

	var thedate = field.value;
	if(!(brequired) && (thedate.length == 0)){
		return true
	}
	else if((brequired) && (thedate.length == 0)){
		alert (message)
		field.select()
		field.focus();
		return false
	}

	if(thedate.length > 10){
		alert("Date is too long");
		field.select()
		field.focus();
		return false;
	}
	if(thedate.length < 6){
		alert("Date is too short");
		field.select()
		field.focus();
		return false;
	}
	// var areas = thedate.split("/");
	var startindex = 0;
	if(thedate.charAt(0) == '0'){
		thedate = thedate.substring(1);
	}
	var endindex = thedate.indexOf("/");
	if(endindex == -1){
		alert("Invalid date");
		field.select()
		field.focus();
		return false;
	}
	var month = parseInt(thedate.substring(startindex,endindex));
	thedate = thedate.substring(endindex + 1);
	if(thedate.charAt(0) == '0'){
		thedate = thedate.substring(1);
	}
	endindex = thedate.indexOf("/");
	if(endindex == -1){
		alert("Invalid date");
		field.select()
		field.focus();
		return false;
	}
	var day = parseInt(thedate.substring(startindex,endindex));
	thedate = thedate.substring(endindex + 1);
	var year = parseInt(thedate.substring(startindex));
		
	if(month < 1 || month > 12 || isNaN(month)){
		alert("Invalid month");
		field.select()
		field.focus();
		return false;
	}
	if((!(year >= 1900 && year < 3000)) || isNaN(year)){
		alert("Invalid year");
		field.select()
		field.focus();
		return false;
	}
	if(day < 1 || day > 31 || isNaN(day)){
		alert("Invalid day");
		field.select()
		field.focus();
		return false;
	}
	
	if(month == 2){ 
		if((year % 4) == 0){
				if(day > 29){
					alert("Invalid day");
					field.select()
					field.focus();
					return false;
				}
		}
		else{
				if(day > 28){
					alert("Invalid day");
					field.select()
					field.focus();
					return false;
				}
		}
	}
	else if(month == 4 || month == 6 || month == 9 || month == 11){
		if(day > 30){
			alert("Invalid day");
			field.select()
			field.focus();
			return false;
		}
	}
	return true;
}
