//**********************************************************************
// VERIFICA SE E' UMA DATA NO FORMATO DD/MM/AAAA
// PARAMETROS:
// Source -> TEXTO A SER TESTADO
// RETORNO:
// TRUE SE FOR UMA DATA VALIDA
// DEPENDENCIAS:
// IsInteger
// StrField
// AUTOR:
// Sergio Araripe
//**********************************************************************
function IsDDMMYYYY(Source)
{
	var strDia=""		//DIA
	var strMes=""		//MES
	var strAno=""		//ANO
	var Dia=0			//DIA
	var Mes=0			//MES
	var Ano=0			//ANO
	var Texto=""		//VALOR A SER TESTADO
		
	Texto=Source;
	if (Texto!="")
	{//EXISTE VALOR
		strDia=StrField(Texto,1,"/")
		if (!(IsInteger(strDia)))
		{// DIA INVALIDO
			return(false);
		}//if
		strMes=StrField(Texto,2,"/")
		if (!(IsInteger(strMes)))
		{// MES INVALIDO
			return(false);
		}//if
		strAno=StrField(Texto,3,"/")
		if (!(IsInteger(strAno)) || (strAno.length!=4))
		{// ANO INVALIDO
			return(false);
		}//if
		Dia=parseInt(strDia,10);
		Mes=parseInt(strMes,10);
		Ano=parseInt(strAno,10);
		
		if ((Dia<1) || (Dia>31) || isNaN(Dia))
		{//FAIXA DO DIA INVALIDO
			return(false);
		}//if
		if ((Mes<1) || (Mes>12) || isNaN(Mes))
		{//FAIXA DO MES INVALIDA
			return(false);
		}//if
		if (isNaN(Ano))
		{
			return(false);
		}
		if ((Dia>=31) && ((Mes==4) || (Mes==6) || (Mes==9) || (Mes==11)))
		{//DIA INVALIDO PARA ESTE MES
			return(false);
		}//if
		if (Mes==2)
		{//MES DE FEVEREIRO
			if (Dia>=30)
			{//DIA INVALIDO PARA FEVEREIRO
				return(false);
			}//if
			if ((Dia==29) && (((Ano % 4) != 0) || (((Ano % 100) == 0) && ((Ano % 400) != 0))))
			{//NAO E' BISSEXTO
				return(false);
			}//if
		}//if
	}//if
	return(true);
}
