/*
	Função criada para validar o campo de data.
	exemplo: onBlur="javascript: isdate(this, 'data de nascimento');"
*/
function isdate(obj, msg){
	try{
		if (obj.value != ""){
			data = obj.value;
			dia = data.substring(0,2);
			mês = data.substring(3,5);
			ano = data.substring(6,10);
			barra1 = data.substring(2,3);
			barra2 = data.substring(5,6);
		
			hoje = new Date()
		
			if ((barra1 != "/") || (barra2 != "/")) {
				alert("O formato da " + msg + " está inválido! Exemplo: dd/mm/aaaa");
				obj.value = "";
				obj.focus();
				return false;
			}
		
			if ( isNaN(dia) || (dia < 1) || (dia > 31)) {
				alert("A data (dia) é invalida");
				obj.value = "";
				obj.focus();
				return false;
			}
			else if (isNaN(mês) || (mês < 1) || (mês > 12) ) {
				alert("A data (mês) é inválida");
				obj.value = "";
				obj.focus();
				return false;
			}
			else if (isNaN(ano)) {
				alert("A data (ano) contem caracteres inválidos");
				obj.value = "";
				obj.focus();
				return false;
			}
			else if (data.length != 10) {
				alert("O formato da data está inválido! Exemplo: dd/mm/aaaa");
				obj.value = "";
				obj.focus();
				return false;
			}
		
			quociente = (eval(ano) % 4);
		
			if (quociente == 0)
				biss = true;
			else
				biss = false;
		
			if (ano < 1900) {
				alert("Ano menor que 1900!");
				obj.value = "";
				obj.focus();
				return false;
			}
		
			if (mês == 2) {
				if ((dia == 29) && (biss == false)) {
					alert("O dia e inválido pois o ano não e bissexto!");
				obj.value = "";
				obj.focus();
					return false;
				}
			else if ((dia == 30) || (dia == 31)) {
				alert("O dia e inválido para o mês de Fevereiro!");
				obj.value = "";
				obj.focus();
				return false;
				}
			}
			else if ((mês == 4) && (dia == 31)) {
				alert("O dia e inválido para o mês de Abril!");
				obj.value = "";
				obj.focus();
				return false;
			}
			else if ((mês == 6) && (dia == 31)) {
				alert("O dia e inválido para o mês de Junho!");
				obj.value = "";
				obj.focus();
				return false;
			}
			else if ((mês == 9) && (dia == 31)) {
				alert("O dia e inválido para o mês de Setembro!");
				obj.value = "";
				obj.focus();
				return false;
			}
			else if ((mês == 11) && (dia == 31)) {
				alert("O dia e inválido para o mês de Novembro!");
				obj.value = "";
				obj.focus();
				return false;
			}
			return true;
		}
	}catch(e){
		alert (e.message);
	}
}

/*
	Função criada para formatar um campo de data.
	Testada no IE 7.0, FIREFOX 2.0.0.6
	exemplo: onKeyDown="javascript: formataData(this, event);"
*/
function formataData(campo, teclapres){
	try{
		var tecla = teclapres.keyCode;
		vr = campo.value;
		vr = vr.replace( ".", "" );
		vr = vr.replace( "/", "" );
		vr = vr.replace( "/", "" );
		tam = vr.length + 1;
	
		if (tecla != 9 && tecla != 8){
			if (tam > 2 && tam < 5)
				campo.value = vr.substr(0, tam - 2 ) + '/' + vr.substr(tam - 2, tam);
			if (tam >= 5 && tam <= 10)
				campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4, 4); 
		}
	}catch(e){
		alert (e.message);
	}
}
