//-------------------------------------------------------
//  valida numerico
//	onKeyPress="valida_numerico(event.keyCode)"
function valida_numerico(keyCodigo){
//alert(keyCodigo)
	if (keyCodigo!=null){
		if ((keyCodigo >= 44 && keyCodigo <= 57)){return true;}
		else {event.keyCode = 0;}
	}			
}
//-------------------------------------------------------
//  valida_caracter numero e letra
//	onKeyPress="valida_caracter(event.keyCode)"
function valida_caracter(keyCodigo){
//alert(keyCodigo)
	if (keyCodigo!=null){
		if ( (keyCodigo >= 43 && keyCodigo <= 57) || (keyCodigo >= 95 && keyCodigo <= 122) || (keyCodigo >= 64 && keyCodigo <= 90) || (keyCodigo == 32) )
		{return true;}
		else {event.keyCode = 0;}
	}			
}
//mascaras facil
function formatar(src, mask){
/*
modo de usar:
CEP
OnKeyPress="formatar(this, '#####-###')"
CPF
OnKeyPress="formatar(this, '###.###.###-##')"
DATA
OnKeyPress="formatar(this, '##/##/####')" 
*/
var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i)
	if (texto.substring(0,1) != saida){
	src.value += texto.substring(0,1);
	}
}
//--------------------------------------------------------
// funcao que mascara data digitada pelo usuario
// onkeypress="mascara_data(this)"
function mascara_data(obj){
	if (event.keyCode <= 47 || event.keyCode >57){
		event.keyCode = 0;
		return false;
	}
	if (obj.value.length==2){
		obj.value = obj.value + "/";
		return;
	}
	if (obj.value.length==5){
		obj.value = obj.value + "/";
		return;
	}
}
//***************************************************************************************
//  valida_data(objeto)  DD/MM/AAAA
//  onblur="valida_data(this);"   
//******************   Válida a data Digitada   *********************
	function valida_data(objeto)
	{
	    ano=eval(objeto.value.substring(6,10));
	    dia=eval(objeto.value.substring(0,2));
	    mes=eval(objeto.value.substring(3,5));
		if (objeto.value != ""){
			  if ((dia == undefined) || (mes ==undefined) || (ano == undefined))
			  {
			      alert('Data inválida');
					objeto.value = "";
			      objeto.focus();
			      return false;
			  }

			  if ((dia<1) || (dia>31) || (mes<1) || (mes>12) || (ano<1900))
			  {
			      alert('Data inválida');
					objeto.value = "";
			      objeto.focus();
			//      objeto.select();
			      return false;
			  }

			  else if ((mes==2) && (dia>28))
			  {
			      alert('Data inválida !');
				objeto.value = "";
			      objeto.focus();
			 //     objeto.select();
			      return false;
			  }
			  else if((dia>30) && ((mes==4) || (mes==6) || (mes==9) || (mes==9) || ( mes==11)))
			  {
			  alert('Data inválida !');
					objeto.value = "";
			              objeto.focus();
			  //		objeto.select();
			              return false;
			          }
			}

       }
//----------------------------------------------------------------------
   function mascara_hora(obj)
   // OnKeyPress="mascara_hora(this);" 
   {
      var Version = navigator.appVersion;
      var VersaoReal = parseInt(Version.substring(22,26),10);
      if (VersaoReal!=5)
      {
      	if (obj.value.length == 2)
      	{ obj.value += ":"; }

      }
      else
      {	if (obj.value.length == 2)
      	{ obj.value += ":"; }

      }
   }
//-----------------------------------------------------------------------------
//Abre uma janela Modal ou não
//Ex: abre_janela("novo.asp", 600, 300, true);
//Parametros	url = "url a ser aberta"
//				Largura = largura da janela
//				Altura = altura da janela
//				Modal = true se for modal e false se não for modal
//Leandro Antico
function abre_janela(url, Largura, Altura, Modal){
	if (Modal == true){
		window.showModalDialog(url,"Janela","dialogHeight: "+Altura+"px; dialogWidth: "+Largura+"px; edge: Raised; center: Yes; help: Yes; resizable: Yes; status: No; scrollbars:No");		

	} else {
		var wX = (screen.width - Largura) / 2;
		var wY = (screen.height - Altura) / 2;
		window.open (url, "sJanela", "width="+Largura+"px height="+Altura+"px" +" top="+ wY +" left="+ wX +" resizable=1,scrollbars=0,menu=0,location=0,toolbar=0,copyhistory=0,status=0");
		
	}
}
//--------------------------------------------------------
//  abre janela com barra de rolagem 
function abre_janela_scrool(url, Largura, Altura, Modal){
	if (Modal == true){
		window.showModalDialog(url,"Janela","dialogHeight: "+Altura+"px; dialogWidth: "+Largura+"px; edge: Raised; center: Yes; help: Yes; resizable: Yes; status: No; scrollbars:Yes");		

	} else {
		var wX = (screen.width - Largura) / 2;
		var wY = (screen.height - Altura) / 2;
		window.open (url, "sJanela", "width="+Largura+"px height="+Altura+"px" +" top="+ wY +" left="+ wX +" resizable=1,scrollbars=1,menu=0,location=0,toolbar=0,copyhistory=0,status=0");
		
	}
}
/* 
ANALISTA : JOSÉ HUMBERTO BORGES
PROGRAMADOR : MAURICIO GOMES PEREIRA

ESTE COMPONENTE DESTINA-SE A VERIFICAR SE O CNPJ DIGITO É VÁLIDO.
EX:
if ((!validaCNPJ(eval("'" + document.FORM.txt_CNPJEmpresa.value.substring(0,12) + "'"), eval("'" + document.FORM.txt_CNPJEmpresa.value.substring(12,14) + "'")))){
    alert("O CNPJ: '" + document.FORM.txt_CNPJEmpresa.value + "' não é válido!");
	document.FORM.txt_CNPJEmpresa.focus();
    return;}
*/
/* Verifica o digito do CNPJ */
function validaCNPJ(Numero,Digito)
{

var CGC = Numero
var peso1 = '543298765432';
var peso2 = '654329876543';
var soma1 = 0;
var soma2 = 0;
var digito1 = 0;
var digito2 = 0;

for (i = 1; i < 12 - Numero.length+1; i++) {
    CGC = eval("'" + 0 + CGC + "'")}
for (i = 1; i < CGC.length+1; i++) {
    soma1 += CGC.substring(i, i-1) * peso1.substring(i, i-1);
    } 
    soma1 %= 11;
    if (soma1  < 2) {
       digito1 = 0;}
    else {
       digito1 = 11 - soma1; }
for (i = 1; i < CGC.length+1; i++) {
    soma2 += CGC.substring(i, i-1) * peso2.substring(i, i-1);
    } 
    soma2 += digito1 * 2 
    soma2 %= 11;
    if (soma2  < 2) {
       digito2 = 0;}
    else {
       digito2 = 11 - soma2; }
if (eval("'" + digito1 + digito2 + "'") != Digito){
    return false;
}
else {
    return true;
}
}

/*
ANALISTA : ELIANA PRATA DA SILVA LOPES
PROGRAMADOR : ALFREDO BAETA HURTADO DIAS

ESTE PROGRAMA RECEBE COMO PARAMETRO O CAMPO CUJO CONTEÚDO 
DESEJA SE 'MASCARAR' COM O FORMATO DO CNPJ. O EVENTO DO CAMPO
QUE DEVE ESTAR ASSOCIADO A CHAMADA DESSA FUNÇÃO É O EVENTO
ONKEYPRESS, CASO CONTRÁRIO A FUNÇÃO NÃO SERÁ EXECUTADA 
ADEQUADAMENTE.
*/
function mascara_cnpj(campo) {
	if (campo.value.length == 2)
	{ campo.value += "."; }
	if (campo.value.length == 6)
	{ campo.value += "."; }
	if (campo.value.length == 10)
	{ campo.value += "/"; }
	if (campo.value.length == 15)
	{ campo.value += "-"; }
}

/* validar CPF*/
function validarCPF()
{
	var cpf = document.cad_user.NUM_CPF.value;
	var filtro = /^\d{3}.\d{3}.\d{3}-\d{2}$/i;
	if(!filtro.test(cpf))
	{
		window.alert("CPF inválido. Tente novamente.");
		return false;
	}

	cpf = remove(cpf, ".");
	cpf = remove(cpf, "-");

	if(cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" ||
	cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" ||
	cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" ||
	cpf == "88888888888" || cpf == "99999999999")
	{
		window.alert("CPF inválido. Tente novamente.");
		return false;
	}

	soma = 0;
	for(i = 0; i < 9; i++)
	soma += parseInt(cpf.charAt(i)) * (10 - i);
	resto = 11 - (soma % 11);
	if(resto == 10 || resto == 11)
		resto = 0;
	if(resto != parseInt(cpf.charAt(9)))
	{
		window.alert("CPF inválido. Tente novamente.");
		return false;
	}
	soma = 0;
	for(i = 0; i < 10; i ++)
		soma += parseInt(cpf.charAt(i)) * (11 - i);
		resto = 11 - (soma % 11);
	if(resto == 10 || resto == 11)
		resto = 0;
	if(resto != parseInt(cpf.charAt(10)))
	{
		window.alert("CPF inválido. Tente novamente.");
		return false;
	}
	return true;
}
 
function remove(str, sub) 
{
	i = str.indexOf(sub);
	r = "";
	if (i == -1) return str;
	r += str.substring(0,i) + remove(str.substring(i + sub.length), sub);
	return r;
}
