// JavaScript Document

//adiciona mascara de cnpj
function MascaraCNPJ(cnpj){
	if(mascaraInteiro(cnpj)==false){
		event.returnValue = false;
	}	
	return formataCampo(cnpj, '00.000.000/0000-00', event);
}

//adiciona mascara de cep
function MascaraCep(cep){
	if(mascaraInteiro(cep)==false){
		event.returnValue = false;
	}	
	return formataCampo(cep, '00000-000', event);
}

//adiciona mascara de cepDest
function MascaraCep(cepDest){
	if(mascaraInteiro(cepDest)==false){
		event.returnValue = false;
	}	
	return formataCampo(cepDest, '00000-000', event);
}

//adiciona mascara de data
function MascaraData(data){
	if(mascaraInteiro(data)==false){
		event.returnValue = false;
	}	
	return formataCampo(data, '00/00/0000', event);
}

//adiciona mascara ao telefone
function MascaraTelefone(tel){	
	if(mascaraInteiro(tel)==false){
		event.returnValue = false;
	}	
	return formataCampo(tel, '(00) 0000-0000', event);
}

//adiciona mascara ao telefone 1
function MascaraTelefone1(tel1){	
	if(mascaraInteiro(tel1)==false){
		event.returnValue = false;
	}	
	return formataCampo(tel1, '0000-0000', event);
}

//adiciona mascara ao telefone 2
function MascaraTelefone2(tel2){	
	if(mascaraInteiro(tel2)==false){
		event.returnValue = false;
	}	
	return formataCampo(tel2, '0000-0000', event);
}

//adiciona mascara ao CPF
function MascaraCPF(cpf){
	if(mascaraInteiro(cpf)==false){
		event.returnValue = false;
	}	
	return formataCampo(cpf, '000.000.000-00', event);
}

//valida telefone
function ValidaTelefone(tel){
	exp = /\(\d{2}\)\ \d{4}\-\d{4}/
if(!exp.test(tel.value))
alert('Digite um Telefone válido no formato (00) 0000-0000.');
}

//valida telefone1
function ValidaTelefone1(tel1){
	exp = /\d{4}\-\d{4}/
if(!exp.test(tel1.value))
alert('Digite um Telefone válido no formato 0000-0000.');
}

//valida telefone1
function ValidaTelefone2(tel2){
	exp = /\d{4}\-\d{4}/
if(!exp.test(tel2.value))
alert('Digite um Telefone válido no formato 0000-0000.');
}

//valida CEP
function ValidaCep(cep){
exp = /\d{2}\d{3}\-\d{3}/
if(!exp.test(cep.value))
alert('Digite um CEP válido no formato 00000-000.'); 
}

//valida data
function ValidaData(data){
exp = /\d{2}\/\d{2}\/\d{4}/
if(!exp.test(data.value))
alert('Digite uma Data válida no formato DD/MM/AAAA.'); 
}

//valida o CPF digitado
function ValidarCPF(Objcpf) {
var CPF = Objcpf.value;
exp = /\.|\-/g
CPF = CPF.toString().replace( exp, "" );

var POSICAO, I, SOMA, DV, DV_INFORMADO;
var DIGITO = new Array(10);
DV_INFORMADO = CPF.substr(9, 2);

for (I=0; I<=8; I++) {
  DIGITO[I] = CPF.substr( I, 1);
}

POSICAO = 10;
SOMA = 0;
   for (I=0; I<=8; I++) {
      SOMA = SOMA + DIGITO[I] * POSICAO;
      POSICAO = POSICAO - 1;
   }
DIGITO[9] = SOMA % 11;
   if (DIGITO[9] < 2) {
        DIGITO[9] = 0;
}
   else{
       DIGITO[9] = 11 - DIGITO[9];
}

POSICAO = 11;
SOMA = 0;
   for (I=0; I<=9; I++) {
      SOMA = SOMA + DIGITO[I] * POSICAO;
      POSICAO = POSICAO - 1;
   }
DIGITO[10] = SOMA % 11;
   if (DIGITO[10] < 2) {
        DIGITO[10] = 0;
   }
   else {
        DIGITO[10] = 11 - DIGITO[10];
   }

DV = DIGITO[9] * 10 + DIGITO[10];
   if (DV != DV_INFORMADO) {
      alert('Digite um CPF válido no formato 000.000.000-00'); 
      formulario.cpf.focus();
      return false;
   }
  return true;
}

//valida numero inteiro com mascara
function mascaraInteiro(){
if (event.keyCode < 48 || event.keyCode > 57){
event.returnValue = false;
return false;
}
return true;
}

//valida o CNPJ digitado
function ValidarCNPJ(ObjCnpj){
var cnpj = ObjCnpj.value;
var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
var dig1= new Number;
var dig2= new Number;

exp = /\.|\-|\//g
cnpj = cnpj.toString().replace( exp, "" ); 
var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));

for(i = 0; i<valida.length; i++){
dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0); 
dig2 += cnpj.charAt(i)*valida[i]; 
}
dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));

if(((dig1*10)+dig2) != digito) 
alert('Digite um CNPJ válido no formato 00.000.000/0000-00.');

}

//formata de forma generica os campos
function formataCampo(campo, Mascara, evento) { 
var boleanoMascara; 

var Digitato = evento.keyCode;
exp = /\-|\.|\/|\(|\)| /g
campoSoNumeros = campo.value.toString().replace( exp, "" ); 

var posicaoCampo = 0; 
var NovoValorCampo="";
var TamanhoMascara = campoSoNumeros.length;; 

if (Digitato != 8) { // backspace 
for(i=0; i<= TamanhoMascara; i++) { 
boleanoMascara = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
|| (Mascara.charAt(i) == "/")) 
boleanoMascara = boleanoMascara || ((Mascara.charAt(i) == "(") 
|| (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " ")) 
if (boleanoMascara) { 
NovoValorCampo += Mascara.charAt(i); 
TamanhoMascara++;
}else { 
NovoValorCampo += campoSoNumeros.charAt(posicaoCampo); 
posicaoCampo++; 
} 
} 
campo.value = NovoValorCampo;
return true; 
}else { 
return true; 
}
}

