function ValidaData(valor)
{
    var texto, i, t, c, erro, dd, mm, aaaa, Dia, Mes, Ano;
    erro=false;
	texto=valor.value;

    t = texto.length;

    if (t == 10) 
       {  
          for (i=0;i<t;i++) {
		      c=texto.charAt(i);
		      if ((i==0) || (i==1) || (i==3) || (i==4) || (i==6) || (i==7) || (i==8) || (i==9)) {
			     if (!(c == '0' || c == '1' || c == '2' || c == '3' || c == '4' ||
					   c == '5' || c == '6' || c == '7' || c == '8' || c == '9'))
					   {
					     msgaux='Digite a data no formato dd/mm/aaaa\n';
					     erro=true;
					   }
			  }
			  if ((i==2) || (i==5))
			     {
		 	        if (!(c=='/'))
			           {
			             erro=true;
			             msgaux='Digite a data no formato dd/mm/aaaa\n';
			           }
				 }
           }  

		   dd=texto.charAt(0) + texto.charAt(1);
		   mm=texto.charAt(3) + texto.charAt(4);
		   aaaa=texto.charAt(6) + texto.charAt(7) + texto.charAt(8) + texto.charAt(9);
		   
		   Dia=parseInt(dd,10);
		   Mes=parseInt(mm,10);
		   Ano=parseInt(aaaa,10);

   		   if ((Dia<1) || (Dia>31))
		   {//FAIXA DO DIA INVALIDO
               erro=true;
               msgaux='Digite dias de 1 a 31!\n';
		   }//if
		   if ((Mes<1) || (Mes>12))
		   {//FAIXA DO MES INVALIDA
               erro=true;
               msgaux='Digite meses de 1 a 12!\n';
		   }//if
		   if ((Dia>=31) && ((Mes==4) || (Mes==6) || (Mes==9) || (Mes==11)))
		   {//DIA INVALIDO PARA ESTE MES
               erro=true;
               msgaux='Dia inválido para este mês!\n';
		   }//if
		   if (Mes==2)
		   {//MES DE FEVEREIRO
			   if (Dia>=30)
			   {//DIA INVALIDO PARA FEVEREIRO
                  erro=true;
                  msgaux='Dia inválido para o mês de Fevereiro!\n';
			   }//if
			   if ((Dia==29) && (((Ano % 4) != 0) || (((Ano % 100) == 0) && ((Ano % 400) != 0))))
			   {//NAO E' BISSEXTO
                  erro=true;
                  msgaux='Dia inválido para este mês!\n';
			   }//if
		   }//if  
		   if (Ano<1900) {
              erro=true;
              msgaux='Ano inválido !\n';
		   }
	   }
	else 
       {
	     if (!(t == 0))
		 {
 	        erro=true;
            msgaux='Digite a data no formato dd/mm/aaaa\n';
		 }
       }
   
	if (erro) {
	   valor.value = '';
       valor.focus();
	   alert(msgaux);
	}

    return !(erro);  
}
