




function Mascara (objeto){
	campo = eval (objeto);

	separador = '/'; 
	conjunto1 = 2;
	conjunto2 = 5;
	conjunto3 = 10;	
	
	//Remove a barra se for digitada
	if( campo.value.substring(campo.value.length,campo.value.length-1)==separador )
	{ campo.value = campo.value.substring(0,campo.value.length-1) }	
	
	dia = campo.value.substring(0,2);
	mes = campo.value.substring(3,5);
	ano = campo.value.substring(6,10);		
	
	if(campo.value.charAt(0) == '0'){dia = campo.value.charAt(1);}									
	if(campo.value.charAt(3) == '0'){mes = campo.value.charAt(4);}												

	//Remove a barra se for digitada
	if( campo.value.substring(campo.value.length,campo.value.length-1)==separador )
	{ campo.value = campo.value.substring(0,campo.value.length-1) }

	//validação do dia 
	if (campo.value.length == conjunto1){
		if (campo.value > 31){
			alert ("Valor para dia Incorreto mascara");
			campo.value = "";		
		} 
		else {
		campo.value = campo.value + separador;
		}
	}
	//fim validação do dia

	//validacao de mes
	if (campo.value.length == conjunto2){
		if (mes > 12){
			alert ("Valor para mes Incorreto mascara");
			campo.value = "";
		} 
		else {
			campo.value = campo.value + separador;
		}
	}
	//fim validação de mes

	//validacao de ano
	if (campo.value.length == conjunto3){
		//testando o ano digitado para saber se é bisexto ou não
		//de acordo com o ano e com o mês será setado o máximo de dias
		numero = ((parseInt(ano) - 1884) / 4);
		if(numero == Math.floor(numero)) {
			dias = "312931303130313130313031";
		}
		else {
			dias = "312831303130313130313031";
		}
	
		//selecionando o máximo de dias da string escolhida pelo teste acima
		diamax = parseInt(dias.substring((mes-1)*2,((mes-1)*2)+2));

		//testando agora os valores do ano já com o máximo de dias relacionado ao mês
		if(parseInt(dia) < 1 || parseInt(dia) > diamax) {
			alert ("Valor para dia ou mês Incorreto");
			campo.value = "";
			} 
		else {
			campo.value = campo.value;
		}
	
		//testando um intervalo válido de anos
		if (parseInt(ano) > 2100 || parseInt(ano) < 1900){
			alert ("Valor para Ano Incorreto");
			campo.value = "";
			} 
		else {
			campo.value = campo.value;
		}
	}
	//fim validação 
}		

function ValidaData (objeto){

	campo = eval (objeto);

	ctrl = 0;
	separador = '/'; 

	conjunto1 = 2;
	conjunto2 = 5;
	conjunto3 = 10;
	dia = campo.value.substring(0,2);
	mes = campo.value.substring(3,5);
	ano = campo.value.substring(6,10);
	
	if(campo.value.charAt(0) == '0'){dia = campo.value.charAt(1);}
	if(campo.value.charAt(3) == '0'){mes = campo.value.charAt(4);}
				
	if (dia > 31 ){
		alert ("Valor para dia Incorreto");
		campo.value = "";	
		ctrl = 1;	
	} 

	if (mes > 12 ){
		alert ("Valor para mes Incorreto");
		campo.value = dia + separador;
		ctrl = 1;	
	} 

	numero = ((parseInt(ano) - 1884) / 4);
	if(numero == Math.floor(numero)) {
		dias = "312931303130313130313031";
	}
	else {
		dias = "312831303130313130313031";
	}
	
	diamax = parseInt(dias.substring((mes-1)*2,((mes-1)*2)+2));
	
	if(parseInt(dia) < 1 || parseInt(dia) > diamax) {
		alert ("Valor para dia ou mês Incorreto");
		campo.value = "";
		ctrl = 1;	
		} 
	else {
		campo.value = campo.value;
	}
	
	// Alterado para aceitar maiores de 18 anos
	//if( parseInt(ano) > 1985 || parseInt(ano) > 2100 || parseInt(ano) < 1900)
	//	{
	//	alert ("Valor para Ano incorreto");
	//	campo.value = "";
	//	ctrl = 1;	
	//	} 
	
	if(campo.value.length < 10 && ctrl == 0){
		alert ("Data de Nascimento inválida.");
		campo.value = "";
		ctrl = 1;
	}	
	
	if (ctrl == 0 ) 
	{
		resultado = true;
	}
	
	if (ctrl != 0 ) { resultado = null; campo.focus(); }
}
