// ********************************************************************************************
// Valida CPF
// ********************************************************************************************

	function validaCPF(CPF)
	{

//		var campocpf = eval("Page."+CPF);
		var valCPF = CPF;

		soma=0;
		Resto=0;
		I=0;
		
		if (valCPF == "" || valCPF == null)
		{
			return (false);	
		}

		if (valCPF.length!=11)
		{
			return (false);
		}
	  soma = 0 ;
	  for (I=0;I<=8;I++)
	  {
		soma = soma +  parseInt(valCPF.substring(I,I+1)) * (10 - I)
		// Verificar
	  }
	 
	  Resultado = (soma - (soma%11))/11
	  Resto = 11 - (soma - Resultado * 11);

	  if (Resto == 10 || Resto == 11) 
	  {
		Resto = 0;
	  }


	  if (Resto != parseInt(valCPF.substring(9,10)))
	  {
		return (false);
	  }

	  soma = 0;
	  for (I=0; I<=9;I++)
	  {
		soma = soma + parseInt(valCPF.substring(I,I+1)) * (11-I);
	  }
	  

  	  Resultado = (soma - (soma%11))/11
	  Resto = 11 - (soma - Resultado * 11);

	  if (Resto == 10 || Resto ==11)
	  {
		Resto = 0;
	  }
	  

	  if (Resto != parseInt(valCPF.substring(10,11)))
	  {
		return (false);
	  }

	  return (true);

	}


// ****************************************************************
// Valida cnpj
// ****************************************************************

function validaCNPJ(CNPJ)
{
	var total,total1,dv,dv1
//	var campo = eval("Page."+CNPJ);
	var cnpj = CNPJ;
 
	if (cnpj.length == 14)
	{
		total = (cnpj.substring(0,1) * 5) + (cnpj.substring(1,2)* 4) + (cnpj.substring(2,3)* 3) +
		(cnpj.substring(3,4) * 2) + (cnpj.substring(4,5)* 9) +
		(cnpj.substring(5,6) * 8) + (cnpj.substring(6,7)* 7) +
		(cnpj.substring(7,8) * 6) + (cnpj.substring(8,9)* 5) +
		(cnpj.substring(9,10) * 4) + (cnpj.substring(10,11)* 3) +
		(cnpj.substring(11,12) * 2);
			dv = 11 - (total%11);

		if (dv == 10 || dv == 11)
		{
			dv = 0;
		}
		if (dv != cnpj.substring(12,13))
		{
			total1 = (cnpj.substring(0,1) * 6) + (cnpj.substring(1,2)* 5) + (cnpj.substring(2,3) * 4) +
			(cnpj.substring(3,4) * 3) + (cnpj.substring(4,5)* 2) +
			(cnpj.substring(5,6) * 9) + (cnpj.substring(6,7)* 8) +
			(cnpj.substring(7,8) * 7) + (cnpj.substring(8,9)* 6) +
			(cnpj.substring(9,10) * 5) + (cnpj.substring(10,11)* 4) +
			(cnpj.substring(11,12)* 3) + (cnpj.substring(12,13) * 2);
			
			dv1 = 11 - (total1%11);
			
			if (dv1 == 10 || dv1 == 11)
			{
				dv1 = 0;
			} 
			 
			if (dv1 != cnpj.substring(13,14))
			{
				return false ;
			}
		}
	}
	else
	{
		return false;
	}
	return true;
}



/****************************************
Validar email digitado
-----------------------------------
Função:		validaEmail(campo)
-----------------------------------

=> campo= 	Tipo: String
		Valor do campo de email

<Chamar no submit da página>

Exemplo:	validaEmail('fldEmail');

*****************************************/

function validaEmail(EMAIL)
{
  var campo = eval("Page."+EMAIL);	
  email = campo.value;
  var suportado = 0;

  //Testa se o browser suporta expressões regulares

  if (window.RegExp) {
    var tempReg = /a/;
    if (tempReg.test("a")){
      suportado = 1;
    }
  }

  //Se o browser não suporta expressões regulares,
  //verifica apenas a posição do ponto e da arroba

	if (!suportado)
	{
		if(((email.indexOf(".") > 0) && (email.indexOf("@") > 0)) &&
		((email.lastIndexOf(".") < (email.length - 1)) &&
		(email.lastIndexOf("@") < (email.length -1))))
		{
			return true;
		}
		else
		{
			return false;
		}

  //Se o browser suporta expressões regulares,
  //faz a verificação completa

  }else{
    var tmp1 = /(@.*@)|(\.\.)|(@\.)|(^\.)/;
    var tmp2 = /^.+@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;

    if(!tmp1.test(email) && tmp2.test(email)){
	return true;
    }else{
      return false;
    }
  }
}

/*******************************************************************
Comparar duas datas
-----------------------------------
Função:		comparaDatas(data1, data2, nome1, nome2)
-----------------------------------

=> data1 = 	Tipo: String 
		Nome do campo da primeira data
=> data2 = 	Tipo: String de data no formato dd/mm/aaaa
		Nome do campo da segunda data
=> nome1 =	Tipo = String
		Nome do atributo da primeira data
=> nome2 =	Tipo = String
		Nome do atributo da segunda data
=> comparacao = 	Tipo = String
		Comparação a ser feita entre as duas datas
		Valores: MAIOR | MENOR | MAIOR_IGUAL | MENOR_IGUAL | IGUAL				
<Chamar no submit da página>
Exemplo:	validarEmail('fldData1','fldData2','Data de Início','Data de Fim','MENOR');

********************************************************************/


function comparaData(data1,data2, nome1, nome2,comparacao)
{
	var dt1 = eval("Page."+data1);
	var dt2 = eval("Page."+data2);

	var d1 = dt1.value;
	var d2 = dt2.value;

	if(d1 != "" && d2 != "")
	{
		var dia1 = d1.substring(0,2);
		var mes1 = d1.substring(3,5);
		var ano1 = d1.substring(6,10);

		d1 = new Date(ano1,mes1-1,dia1);

		var dia2 = d2.substring(0,2);
		var mes2 = d2.substring(3,5);
		var ano2 = d2.substring(6,10);

		d2 = new Date(ano2,mes2-1,dia2);

		d1 = d1.getTime();
		d2 = d2.getTime();
	

		if(d1 < d2 && (comparacao == "MENOR" || comparacao == "MENOR_IGUAL"))
			return true;
		else if (d1 > d2 && (comparacao == "MAIOR" || comparacao == "MAIOR_IGUAL"))
		{
			return true;
		}
		else if (d1 == d2 && (comparacao == "IGUAL" || comparacao == "MENOR_IGUAL" || comparacao == "MAIOR_IGUAL"))
		{
			return true;
		}
		else
			return false;
	}
	else
		return true;
}

