// Função que verifica CNPJ
	function jVerificaCNPJ(CNPJ) 
	{ 
		CNPJ = LIMP(CNPJ); 
		if(isNUMB(CNPJ) != 1) 
		{ 
			return(0); 
		}else{ 
			if(CNPJ == 0) 
			{ 
				return(0); 
			}else{
				g=CNPJ.length-2;
				if(RealTestaCNPJ(CNPJ,g) == 1) 
				{ 
					g=CNPJ.length-1; 
					if(RealTestaCNPJ(CNPJ,g) == 1) 
					{ 
						return(1); 
					}else{ 
						return(0); 
					} 
				}else{ 
					return(0); 
				} 
			} 
		} 
	}
	
	function RealTestaCNPJ(CNPJ,g) 
	{ 
		var VerCNPJ=0; 
		var ind=2; 
		var tam; 
		for(f=g;f>0;f--) 
		{ 
			VerCNPJ+=parseInt(CNPJ.charAt(f-1))*ind; 
			if(ind>8) 
			{ 
				ind=2; 
			}else{ 
				ind++; 
			} 
		} 
		VerCNPJ%=11; 
		if(VerCNPJ==0 || VerCNPJ==1) 
		{ 
			VerCNPJ=0; 
		}else{ 
			VerCNPJ=11-VerCNPJ; 
		} 
		if(VerCNPJ!=parseInt(CNPJ.charAt(g))) 
		{ 
			return(0); 
		}else{ 
			return(1); 
		} 
	}

// Formata o campo CNPJ
function FormataCNPJ(Formulario, Campo, TeclaPres) 
	{ 
		var tecla = TeclaPres.keyCode; 
		var strCampo; 
		var vr; 
		var tam; 
		var TamanhoMaximo = 14; 
  
		eval("strCampo = document." + Formulario + "." + Campo); 
  
		vr = strCampo.value; 
		vr = vr.replace("/", ""); 
		vr = vr.replace("/", ""); 
		vr = vr.replace("/", ""); 
		vr = vr.replace(",", ""); 
		vr = vr.replace(".", ""); 
		vr = vr.replace(".", ""); 
		vr = vr.replace(".", ""); 
		vr = vr.replace(".", ""); 
		vr = vr.replace(".", ""); 
		vr = vr.replace(".", ""); 
		vr = vr.replace(".", ""); 
		vr = vr.replace("-", ""); 
		vr = vr.replace("-", ""); 
		vr = vr.replace("-", ""); 
		vr = vr.replace("-", ""); 
		vr = vr.replace("-", ""); 
		tam = vr.length; 

		if (tam < TamanhoMaximo && tecla != 8) 
		{ 
      	tam = vr.length + 1; 
		} 

		if (tecla == 8) 
		{ 
      	tam = tam - 1; 
		} 

		if (tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105) 
		{ 
      	if (tam <= 2) 
			{ 
				strCampo.value = vr; 
			} 
			if ((tam > 2) && (tam <= 6)) 
			{ 
         	strCampo.value = vr.substr(0, tam - 2) + '-' + vr.substr(tam - 2, tam); 
			} 
			if ((tam >= 7) && (tam <= 9)) 
			{ 
         	strCampo.value = vr.substr(0, tam - 6) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam); 
			} 
			if ((tam >= 10) && (tam <= 12)) 
			{ 
				strCampo.value = vr.substr(0, tam - 9) + '.' + vr.substr(tam - 9, 3) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam); 
			} 
			if ((tam >= 13) && (tam <= 14)) 
			{ 
         	strCampo.value = vr.substr(0, tam - 12) + '.' + vr.substr(tam - 12, 3) + '.' + vr.substr(tam - 9, 3) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam); 
			} 
			if ((tam >= 15) && (tam <= 17)) 
			{ 
         	strCampo.value = vr.substr(0, tam - 14) + '.' + vr.substr(tam - 14, 3) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + '-' + vr.substr(tam - 2, tam); 
			} 
		} 
	}
	
// Formata o campo CPF
function FormataCPF(pForm,pCampo,pTamMax,pPos1,pPos2,pPosTraco,pTeclaPres)
	{
		var wTecla, wVr, wTam;
		
		wTecla = pTeclaPres.keyCode;
		wVr = pForm[pCampo].value;
		wVr = wVr.toString().replace( "-", "" );
		wVr = wVr.toString().replace( ".", "" );
		wVr = wVr.toString().replace( ".", "" );
		wVr = wVr.toString().replace( "/", "" );
		wTam = wVr.length ;

		if (wTam < pTamMax && wTecla != 8) { 
			wTam = wVr.length + 1 ; 
		}

		if (wTecla == 8 ) { 
			wTam = wTam - 1 ; 
		}
   
		if ( wTecla == 8 || wTecla == 88 || wTecla >= 48 && wTecla <= 57 || wTecla >= 96 && wTecla <= 105 )
		{
			if ( wTam <= 2 )
			{
				pForm[pCampo].value = wVr ;
			}
			if (wTam > pPosTraco && wTam <= pTamMax)
			{
				wVr = wVr.substr(0, wTam - pPosTraco) + '-' + wVr.substr(wTam - pPosTraco, wTam);
			}
			if ( wTam == pTamMax)
			{
				wVr = wVr.substr( 0, wTam - pPos1 ) + '.' + wVr.substr(wTam - pPos1, 3) + '.' + wVr.substr(wTam - pPos2, wTam);
			}
			pForm[pCampo].value = wVr;
 		}
	}


// Função que verifica CPF

function jVerificaCPF(cpf)
	{
		var CPF = cpf; // Recebe o valor digitado no campo
		
		// Substitui os pontos e traços por nada
		CPF = CPF.replace("-", "");
		CPF = CPF.replace(".", "");
		CPF = CPF.replace(".", "");
		
		// Verifica se o campo é nulo
		if (CPF == '')
		{
			return(0);
		}else{
			if (CPF.length < 11)
			{
				return(0);
			}
		}

		// Aqui começa a checagem do CPF
		var POSICAO, I, SOMA, DV, DV_INFORMADO;
		var DIGITO = new Array(10);
		DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado

		// Desemembra o número do CPF na array DIGITO
		for (I=0; I<=8; I++)
		{
			DIGITO[I] = CPF.substr( I, 1);
		}

		// Calcula o valor do 10º dígito da verificação
		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];
		}

		// Calcula o valor do 11º dígito da verificação
		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];
		}

		// Verifica se os valores dos dígitos verificadores conferem
		DV = DIGITO[9] * 10 + DIGITO[10];
   	if (DV != DV_INFORMADO)
		{
			return(0);
	   }else{
			return(1);
		}
	}
	

// Função verifica Pessoa Física ou Jurídica
function onFisJur(cond)
{ 
	if ( cond == "J" ) {
		document.getElementById('juridica').style.display = "block";
		document.getElementById('fisica').style.display = "none";
		document.cadastro.nome_cadastro.value = "";
		document.cadastro.sobrenome.value = "";
		document.cadastro.cpf.value = "";
		document.cadastro.rg.value = "";
	}
	if ( cond == "F" ) {
		document.getElementById('fisica').style.display = "block";
		document.getElementById('juridica').style.display = "none";
		document.cadastro.razao_social.value = "";
		document.cadastro.nome_contato.value = "";
		document.cadastro.cnpj.value = "";
		document.cadastro.ie.value = "";
		document.cadastro.ie_isento.checked = false;
	}
}

	// Função de validação do form de Cadastro
	function verificaCadastro(form) {

	if (form.tipopessoa[0].checked == false && form.tipopessoa[1].checked == false)
		{
			alert("Atenção!\nVocê presica checar Pessoa Física ou Jurídica.");
			return false;
		}
		if (form.tipopessoa[0].checked) 
		{
			if (form.nome_cadastro.value == "") 
			{
				alert("Atenção!\nO campo Nome deve ser preenchido.");
				form.nome_cadastro.focus();
				return false;
			}
			if (form.sobrenome.value == "") 
			{
				alert("Atenção!\nO campo SOBRENOME deve ser preenchido.");
				form.sobrenome.focus();
				return false;
			}

		}
		if (form.tipopessoa[1].checked) 
		{
			if (form.razao_social.value == "") 
			{
				alert("Atenção!\nO campo RAZAO SOCIAL deve ser preenchido.");
				form.razao_social.focus();
				return false;
			}
			if (form.nome_contato.value == "") 
			{
				alert("Atenção!\nO campo NOME DE CONTATO deve ser preenchido.");
				form.nome_contato.focus();
				return false;
			}
			if (form.cnpj.value == "") 
			{
				alert("Atenção!\nO campo CNPJ deve ser preenchido.");
				form.cnpj.focus();
				return false;
			}
		}
		
		if (form.cpf.value == "") {
			alert("Atenção!\nO campo CPF deve ser preenchido corretamente.");
			form.cpf.focus();
			return false;
		}
		
		
		if (form.email_cadastro.value.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) == -1) {
			alert("Atenção!\nO campo EMAIL deve ser preenchido corretamente.");
			form.email_cadastro.focus();
			return false;
		}
		if (form.senha.value == "" || form.senha.value.length < 6) {
			alert("Atenção!\nO campo SENHA deve ser preenchido corretamente.");
			form.senha.focus();
			return false;
		}
		
		if (form.endereco.value == "") {
			alert("Atenção!\nO campo ENDERECO deve ser preenchido corretamente.");
			form.endereco.focus();
			return false;
		}
			
		
		if (form.cep.value == "" ) {
			alert("Atenção!\nO campo CEP deve ser preenchido corretamente.");
			form.cep.focus();
			return false;
		}

		if (form.cidade.value == "") {
			alert("Atenção!\nO campo CIDADE deve ser preenchido corretamente.");
			form.cidade.focus();
			return false;
		}
		
		if (form.fone_1.value == "") {
			alert("Atenção!\nO campo TELEFONE deve ser preenchido corretamente.");
			form.fone_1.focus();
			return false;
		}
		
		return true;
	}

// Função de validação do form de Revenda
function verificaRevendedor(form) {

if (form.tipopessoa[0].checked == false && form.tipopessoa[1].checked == false)
	{
		alert("Atenção!\nVocê presica checar Pessoa Física ou Jurídica.");
		return false;
	}
	if (form.tipopessoa[0].checked) 
	{
		if (form.nome_cadastro.value == "") 
		{
			alert("Atenção!\nO campo NOME deve ser preenchido.");
			form.nome_cadastro.focus();
			return false;
		}

	 	if (form.cpf.value == "") 
		{
			alert("Atenção!\nO campo CPF deve ser preenchido.");
			form.cpf.focus();
			return false;
		}
		
	}
	
	if (form.tipopessoa[1].checked) 
	{
		if (form.razao_social.value == "") 
		{
			alert("Atenção!\nO campo RAZAO SOCIAL deve ser preenchido.");
			form.razao_social.focus();
			return false;
		}
		if (form.nome_contato.value == "") 
		{
			alert("Atenção!\nO campo NOME DE CONTATO deve ser preenchido.");
			form.nome_contato.focus();
			return false;
		}
		if (form.cnpj.value == "") 
		{
			alert("Atenção!\nO campo CNPJ deve ser preenchido.");
			form.cnpj.focus();
			return false;
		}
	}
	
	if (form.email_cadastro.value.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) == -1) {
		alert("Atenção!\nO campo EMAIL deve ser preenchido corretamente.");
		form.email_cadastro.focus();
		return false;
	}	
	
	if (form.estado.value == "") {
		alert("Atenção!\nO campo Estado deve ser preenchido corretamente.");
		form.estado.focus();
		return false;
	}

	if (form.cidade.value == "") {
		alert("Atenção!\nO campo CIDADE deve ser preenchido corretamente.");
		form.cidade.focus();
		return false;
	}
	
	if (form.telefone.value == "") {
		alert("Atenção!\nO campo TELEFONE deve ser preenchido corretamente.");
		form.telefone.focus();
		return false;
	}
	
	return true;
}

// Função p/ exigir números
function jCampoNumerico ( x , y , evtKeyPress )
{
	// Inicializa a variavel
	var nTecla = 0;
	// Verifica plataforma
	if (document.all)
	{
		// Plataformas tipo IE
		nTecla = evtKeyPress.keyCode ;
	}
	else
	{
		// Plataformas tipo NETSCAPE
		nTecla = evtKeyPress.which ;
	}
	
	// Verifica tecla pressionada
	if ((( nTecla > 47 ) && ( nTecla < 58 ))  // numerico (0123456789)
	|| ( nTecla == 8   )   // backspace
	|| ( nTecla == 127 )   // delete
	|| ( nTecla == 0   )   // teclas nao definidas
	//|| ( nTecla == 9   )   // tabulacao
	|| ( nTecla == 13  )   // enter
	|| ( nTecla == 44  )   // , (vírgula)
	|| ( nTecla == 46  )  // . (ponto)
	)
	{
		// Digita a tecla pressionada
		return true;
	}
	else
	{
		// Ignora a tecla pressionada
		return false;
	}
}