function checkdate(field,datestr) {
	if ( datestr == '' ) {
		field.style.backgroundColor = "white";
		return true;  
	}

	var dateFor = /^(\d{4})(\/|-)(\d{1,2})\2(\d{1,2})$/;

	var matchArray = datestr.match(dateFor);
	if (matchArray == null) {
		alert("Formato da data inválido, use aaaa/mm/dd ou aaaa-mm-dd")
		field.style.backgroundColor="#99ffff";
		field.select();
		field.focus();
		return false;
	}
	year = matchArray[1];
	month = matchArray[3]; 
	day = matchArray[4];

	if (month < 1 || month > 12) {
		alert("O Mes tem de ser entre 1 e 12.");
		return false;
	}
	if (day < 1 || day > 31) {
		alert("o Dia tem de ser entre 1 e 31.");
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		alert("o Mes "+month+" não tem 31 dias!")
		return false
	}
	if (month == 2) {
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			alert("Fevereiro de " + year + " nao tem o dia " + day + " !");
			return false;
   	}
	}
field.style.backgroundColor="white";
return true;  
}
