function checkDataOld( dia, mes, ano, vetor, layer, msg )
{

	var ObjData = new Date();
	var AnoAtual;
	var agent 	= navigator.userAgent.toLowerCase();

		this.isNN		= (agent.indexOf('netscape') != -1);
		this.isIE		= (agent.indexOf('msie') != -1);
		this.isFirefox	= (agent.indexOf('firefox') != -1);
		this.isOpera	= (agent.indexOf('opera') != -1);

	if (this.isFirefox == true || this.isNN == true)
	{
		AnoAtual = (ObjData.getYear()+1) + 1900;
	}
	else if (this.isIE == true)
	{
		AnoAtual = ObjData.getYear()+1;
	}

	// verificação do dia
	if ( eval(dia.value) <= 0 || eval(dia.value) > 31 )
		{
			showMessage ( dia, vetor, layer, msg );
			return false;
		}

	// veriricação do mês
	if ( eval(mes.value) <= 0 || eval(mes.value) > 12 )
		{
			showMessage ( mes, vetor, layer, msg );
			return false;
		}

	// verificação do ano
	if ( eval(ano.value) <= 0 || eval(ano.value) > AnoAtual )
		{
			showMessage ( ano, vetor, layer, msg );
			return false;
		}

	//verificação se o ano é menor do que 1900 ou maior e igual ao ano atual
	if ( eval(ano.value) < 1900 || eval(ano.value) > AnoAtual )
		{
			showMessage ( ano, vetor, layer, msg );
			return false;
		}

	// Verificando se está digitando o dia maior do que 29 no mês de fevereiro
	if ( eval(mes.value) == 2 && eval(dia.value) > 29 )
		{
			showMessage ( dia, vetor, layer, msg );
			return false;
		}

	// se o mês for Fevereiro, verificar se é ano bissexto e se for, pode-se colocar 29
	if ( eval(mes.value) == 2 )
	{
		if ( eval(dia.value) == 29 )
		{
			
			if ( eval(ano.value) % 4 != 0 )
			{
				showMessage ( dia, vetor, layer, msg );
				return false;
			}

		}
	}

	// fazendo a conferência quais meses vão até 30 ou 31
	// janeiro a julho
	if ( eval(mes.value) >=1 && eval(mes.value) <=7 )
	{
		if ( eval(mes.value) % 2 != 0 )
		{
			if ( eval(dia.value) > 31 )
			{
				showMessage ( dia, vetor, layer, msg );
				return false;
			}
		} 
		else
		{
			if ( eval(dia.value) > 30 )
			{
				showMessage ( dia, vetor, layer, msg );
				return false;
			}
		}
	}

	// fazendo a conferência quais meses vão até 30 ou 31
	// julho a dezembro
	if ( eval(mes.value) >=8 && eval(mes.value) <=12 )
	{
		if ( eval(mes.value) % 2 == 0 )
		{
			if ( eval(dia.value) > 31 )
			{
				showMessage ( dia, vetor, layer, msg );
				return false;
			}	
		} 
		else
		{
			if ( eval(dia.value) > 30 )
			{
				showMessage ( dia, vetor, layer, msg );
				return false;
			}
		}
	}

	Concorda(layer);
	return true;
}


function checkData (dia, mes, ano, vetor, layer, msg) //(digData) 
{
		var anoServidor = document.getElementById('hdnAnoAtual').value;
		
		if (ano.value >= anoServidor){
			showMessage ( dia, vetor, layer, msg );
	        return false;	
		}
		
		if (dia.value.length == 1){
			dia.value = '0'+dia.value
		}
		if (mes.value.length == 1){
			mes.value = '0'+mes.value
		}
		
		var digData = dia.value+'/'+mes.value+'/'+ano.value;
		
        var bissexto = 0;
        var data = digData; 
        var tam = data.length;
        if (tam == 10) 
        {
                var dia = data.substr(0,2)
                var mes = data.substr(3,2)
                var ano = data.substr(6,4)
                if ((ano > 1900)||(ano < anoServidor))
                {
                        switch (mes) 
                        {
                                case '01':
                                case '03':
                                case '05':
                                case '07':
                                case '08':
                                case '10':
                                case '12':
                                        if  (dia <= 31) 
                                        {
												Concorda(layer);
                                                return true;
                                        }
                                        break
                                
                                case '04':              
                                case '06':
                                case '09':
                                case '11':
                                        if  (dia <= 30) 
                                        {
												Concorda(layer);
                                                return true;
                                        }
                                        break
                                case '02':
                                        /* Validando ano Bissexto / fevereiro / dia */ 
                                        if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0)) 
                                        { 
                                                bissexto = 1; 
                                        } 
                                        if ((bissexto == 1) && (dia <= 29)) 
                                        { 
												Concorda(layer);
                                                return true;                             
                                        } 
                                        if ((bissexto != 1) && (dia <= 28)) 
                                        { 
												Concorda(layer);
                                                return true; 
                                        }                       
                                        break                                           
                        }
                }
        }       
        //alert("A Data "+data+" é inválida!");
		showMessage ( dia, vetor, layer, msg );
        return false;
}

// função para mostar a mensagem de erro.
	/*
		campo - campo que receberá o focus
		vetor - tratado-se de um array, qual receberá o focus. Pode ser null
		layer - número do layer que receberá a mensagem de erro. Pode ser null
		msg   - mensagem de erro personalizada para a data. Pode ser nul que vai a default.
	*/

function showMessage ( campo, vetor, layer, msg )
{
	var msgCliente;

	if (msg != null)
	{
		msgCliente = msg;
	}
	else
	{
		msgCliente = msgDataInvalida;
	}

		Reclama(msgCliente, campo, vetor, layer);
		return true;
}

// Função para verificar se a data de nascimento é maior que a data atual
function checkDataMaiorHoje(diaInformado, mesInformado, anoInformado, mensagem, x, y){
	var dataAtual 	= new Date();
	var diaAtual	= dataAtual.getDate();
	var mesAtual 	= dataAtual.getMonth()+1;
	var anoAtual 	= dataAtual.getFullYear();
	var verificar 	= false;
	
	var dia = parseInt(diaInformado.value);
	var mes = parseInt(mesInformado.value);
	var ano = parseInt(anoInformado.value);
	
	// verificando o ano
	if ( ano > anoAtual ){
		Reclama(mensagem,null,x,y);
		return false;
	}else{
		if ( ano == anoAtual){
			verificar = true;
		}else{ // o ano é menor
			Concorda(y);
			return true;
		}
	}
	
	if ( verificar == true ){ // temos que verificar o mes	
		if ( mes > mesAtual ) { // verificando o mes
			Reclama(mensagem,null,x,y);
			return false;
		}else {
			if ( mes == mesAtual){
				verificar = true;
			}else{ // o mes é menor
				Concorda(y);
				return true;
			}
		}
	}	
	
	if ( verificar == true ){ // temos que verificar o dia
		if ( dia > diaAtual ) { // verificando o dia
			Reclama(mensagem,null,x,y);
			return false;
		}else{ // o dia é menor
			Concorda(y);
			return true;
		}
	}
	
}
