// FUNÇÃO QUE INICIA O AJAX NO BROWSER DO CLIENTE
function openAjax() {

var ajax;

try{
    ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers decentes, como: Firefox, Safari, dentre outros.
}catch(ee){
    try{
        ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
    }catch(e){
        try{
            ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
        }catch(E){
            ajax = false;
        }
    }
}
return ajax;
}

//FUNÇÃO QUE MOSTRA DIV PESSOA FÍSICA/JURÍDICA
function mostraPessoa(tipo){

//tipo 0 = Física
//tipo 1 = Jurídica
	var divMostraFisica = document.getElementById('cadastroFisica');
	var divMostraJuridica = document.getElementById('cadastroJuridica');
	
	
	if(tipo == 0){
		divMostraJuridica.style.display = "none";
		divMostraFisica.style.display = "";
	}else{
		divMostraJuridica.style.display = "";
		divMostraFisica.style.display = "none";
	} 
}

//FUNÇÃO QUE VERIFICA SE O USUÁRIO ACEITOU OS TERMOS DE USO
function validaCadastroJuridica(){
	if(cadastroPJuridica.termos_uso_jur.checked == true){
		document.cadastroPJuridica.enviarJur.disabled = false;
	}else{
		document.cadastroPJuridica.enviarJur.disabled = true;	
	}
	
}

//FUNÇÃO QUE CHECA SE O NOME FANTASIA FOI DIGITADO
function checaNomeFantasia(){
	var imgOk = document.getElementById('nomeFantOK');
	var imgErro = document.getElementById('nomeFantErro');
	var inNome = document.getElementById('nome_fantasia');
	
	if(inNome.value == ""){
  		imgOk.style.display = "none";
		imgErro.style.display = ""; 
  		return 1;
  	}else{
  		imgOk.style.display = "";
		imgErro.style.display = "none"; 
  		return 0;
  	}
}

//FUNÇÃO QUE CHECA SE A RAZÃO SOCIAL FOI DIGITADA
function checaRazaoSocial(){
	var imgOk = document.getElementById('razaoOK');
	var imgErro = document.getElementById('razaoErro');
	var inNome = document.getElementById('razao_social');
	
	if(inNome.value == ""){
  		imgOk.style.display = "none";
		imgErro.style.display = ""; 
  		return 1;
  	}else{
  		imgOk.style.display = "";
		imgErro.style.display = "none"; 
  		return 0;
  	}
}

//FUNÇÃO QUE CHECA SE O CNPJ JÁ FOI CADASTRADO NO PORTAL
function verificaCNPJ(cnpj,raiz){
	var imgOk = document.getElementById('cnpjOK');
	var imgErro = document.getElementById('cnpjErro');
	var mostraSpan = document.getElementById('spanCNPJ');
	if(document.getElementById) {

		var ajax = openAjax();

		var url = raiz + '/CFCs/cadastro.cfc?method=verificaCNPJ&cnpj=' + cnpj;
			ajax.open("GET", url, true);
			//alert(url);
			
			ajax.onreadystatechange = function(){
				if(ajax.readyState == 1){ // Quando estiver carregando, exibe: carregando...
				//alert('carregando');
				}//fecha o if de carregando
				
				if(ajax.readyState == 4) { // Quando estiver tudo pronto.
					if(ajax.status == 200){
						var resultado = ajax.responseText;
						//resultado = resultado.replace(/\+/g," ");
						//resultado = unescape(resultado);
						
						var res = resultado.toString();
										
						if(res.search(/falso/) != -1){
							imgOk.style.display = "";
							imgErro.style.display = "none";
							mostraSpan.style.display = "none";
							return true;
						}else{
							imgOk.style.display = "none";
							imgErro.style.display = "";
							mostraSpan.style.display = "";
							return false;			
						}
					}else{//else do status 200 errado
						alert('erro');
					}//fecha o status 200
				}//fecha o status 4
			}//fecha função onreadystatechange
			ajax.send(null); // submete
	}//fecha o getelementbyid
}//fecha a função

//FUNÇÃO QUE CHECA SE O CNPJ É VÁLIDO
function isNUMB(c)
	{
	if((cx=c.indexOf(","))!=-1)
		{		
		c = c.substring(0,cx)+"."+c.substring(cx+1);
		}

	if((parseFloat(c) / c != 1))
		{
		if(parseFloat(c) * c == 0)
			{
			return(1);
			}
		else
			{
			return(0);
			}
		}
	else
		{
		return(1);
		}
	}

function LIMP(c)
	{
	while((cx=c.indexOf("-"))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	while((cx=c.indexOf("/"))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	while((cx=c.indexOf(","))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	while((cx=c.indexOf("."))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	while((cx=c.indexOf("("))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	while((cx=c.indexOf(")"))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	while((cx=c.indexOf(" "))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	return(c);
	}

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);
	}
}


function VerifyCNPJ(CNPJ,raiz,idCad){
	var imgOk = document.getElementById('cnpjOK');
	var imgErro = document.getElementById('cnpjErro');
	var chkOrc = document.getElementById('orcamentoJur').checked;
	var chkGer = document.getElementById('gerenciadorJur').checked;
	
	if((chkOrc || chkGer) || CNPJ != ""){
		CNPJ = LIMP(CNPJ);
		if(isNUMB(CNPJ) != 1){
			imgOk.style.display = "none";
			imgErro.style.display = "";
			return(0);

		}else{
			if(CNPJ == 0){
				return(0);
				imgOk.style.display = "none";
				imgErro.style.display = "";
			}else{
				g=CNPJ.length-2;
				if(RealTestaCNPJ(CNPJ,g) == 1){
					g=CNPJ.length-1;
					if(RealTestaCNPJ(CNPJ,g) == 1){
						imgOk.style.display = "";
						imgErro.style.display = "none";
						
						return verificaCNPJ(CNPJ,raiz,idCad);
						
					}else{
						imgOk.style.display = "none";
						imgErro.style.display = "";
					}
				}else{
					imgOk.style.display = "none";
					imgErro.style.display = "";
				}
			}
		}
		
	}else{
		imgOk.style.display = "none";
		imgErro.style.display = "none";
		document.getElementById('spanCNPJ').style.display = "none";
		return true;
	}
}

function VerifyCNPJLojao(CNPJ,raiz,idCad){
	var imgOk = document.getElementById('cnpjOK');
	var imgErro = document.getElementById('cnpjErro');
	
	if(CNPJ != ""){
		CNPJ = LIMP(CNPJ);
		if(isNUMB(CNPJ) != 1){
			imgOk.style.display = "none";
			imgErro.style.display = "";
			return(0);

		}else{
			if(CNPJ == 0){
				return(0);
				imgOk.style.display = "none";
				imgErro.style.display = "";
			}else{
				g=CNPJ.length-2;
				if(RealTestaCNPJ(CNPJ,g) == 1){
					g=CNPJ.length-1;
					if(RealTestaCNPJ(CNPJ,g) == 1){
						imgOk.style.display = "";
						imgErro.style.display = "none";
						
						return verificaCNPJ(CNPJ,raiz,idCad);
						
					}else{
						imgOk.style.display = "none";
						imgErro.style.display = "";
					}
				}else{
					imgOk.style.display = "none";
					imgErro.style.display = "";
				}
			}
		}
		
	}else{
		imgOk.style.display = "none";
		imgErro.style.display = "none";
		document.getElementById('spanCNPJ').style.display = "none";
		return true;
	}
}

//FUNÇÃO QUE VERIFICA SE O USUÁRIO DIGITOU O NOME DO CONTATO
function checaContato(){
	var imgOk = document.getElementById('contatoOK');
	var imgErro = document.getElementById('contatoErro');
	var contato = document.getElementById('contato');
	if(contato.value == ""){
		imgOk.style.display = "none";
		imgErro.style.display = "";
		return 1;
	}else{
		imgOk.style.display = "";
		imgErro.style.display = "none";
		return 0;
	}
}

//FUNÇÃO QUE VALIDA EMAIL
function validaEmailJur(){
	var email = document.getElementById('emailJur');
	var imgOk = document.getElementById('emailJurOK');
	var imgErrada = document.getElementById('emailJurErro');
	
	if(email.value.lenght != ""){
		if(!email.value.match(/^\w+([\.\-]\w+)*@\w+([\.\-]\w+)*\.[a-z]{2,4}$/i)){
			imgOk.style.display = "none";
			imgErrada.style.display = "";
      		return 1;
      	}else{
      		imgOk.style.display = "";
			imgErrada.style.display = "none";
      		return 0;
      	}
	}else{
		imgOk.style.display = "none";
		imgErrada.style.display = "";
      	return 1;
	}
}

//FUNÇÃO QUE VERIFICA SE A SENHA E A CONFIRMAÇÃO DA SENHA SÃO IGUAIS
function verificaSenhaJur(senhaConf){
	var imgErro = document.getElementById('senhaJur2Erro');
	var spanSenha = document.getElementById('spanJurSenha');
	var senha = document.cadastroPJuridica.senhaJur.value;
	
	if(senhaConf.length != ""){
		if(senhaConf != senha){
			imgErro.style.display = "";
			spanSenha.style.display = "";
			return 1;
		}else{
			imgErro.style.display = "none";
			spanSenha.style.display = "none";
			return 0;
		}
	}else{
		imgErro.style.display = "";
		spanSenha.style.display = "none";
		return 1;
	}
}

//FUNÇÃO QUE MOSTRA DIV DA ABCON
function mostraDiv(){
	var divAbcon = document.getElementById('mostraAbcon');
	if(divAbcon.style.display == "none"){
		divAbcon.style.display = "";
	}else{
		divAbcon.style.display = "none";
	}
}

//FUNÇÃO QUE VERIFICA A DUPLICIDADE NA ABCON
function duplicidade(i){
	for(j=0; j <document.cadastroPJuridica.abcon_ramo_atividade.options.length; j++){
		if(document.cadastroPJuridica.abcon_ramo_atividade1.options[i].value == document.cadastroPJuridica.abcon_ramo_atividade.options[j].value){
	    	alert("A categoria \"" + document.cadastroPJuridica.abcon_ramo_atividade1.options[i].text + "\" já foi adicionada");
			return false;
		}
	}
	return true;
}

//FUNÇÃO QUE ADICIONA RAMOS DE ATIVIDADE NA ABCON
function adicionar(){
	var entra = 0;
	for(t=0; t < document.cadastroPJuridica.abcon_ramo_atividade1.options.length; t++){
		if(document.cadastroPJuridica.abcon_ramo_atividade1.options[t].selected){
   			entra = entra + 1;
   		}
   	}
	if(document.cadastroPJuridica.abcon_ramo_atividade.options.length + entra > 20){
  		alert('Você só pode adicionar até 20 ramos de atividade!');
	}else{
		for(i = 0; i < document.cadastroPJuridica.abcon_ramo_atividade1.options.length; i++){
			if(document.cadastroPJuridica.abcon_ramo_atividade1.options[i].selected){
				if(duplicidade(i)){
					document.cadastroPJuridica.abcon_ramo_atividade.options[document.cadastroPJuridica.abcon_ramo_atividade.options.length] = new Option(document.cadastroPJuridica.abcon_ramo_atividade1.options[i].text, document.cadastroPJuridica.abcon_ramo_atividade1.options[i].value);
				}
			}
		}
	}
}

//FUNÇÃO QUE REMOVE RAMOS DE ATIVIDADE DA ABCON
function apagar(){
	for(x = 0; x < document.cadastroPJuridica.abcon_ramo_atividade.options.length+3; x++){
		for(k = 0; k < document.cadastroPJuridica.abcon_ramo_atividade.options.length; k++){
			if(document.cadastroPJuridica.abcon_ramo_atividade.options[k].selected){
				document.cadastroPJuridica.abcon_ramo_atividade.options[k] = null;
			}
		}
	}
}

function verLogin(){
	var login = document.getElementById('loginJurErro');
	if(login.style.display != "none"){
		return 1;
	}else{
		return 0;
	}		
}

//FUNÇÃO QUE FAZ A ÚLTIMA VALIDAÇÃO DO FORMULÁRIO
function validaFormularioJuridica(raiz){
var erroValidacao = new Array();
	
	if(checaNomeFantasia() == 1){
		erroValidacao[0] = 1;
	}else{
		erroValidacao[0] = 0;
	}
	
	if(checaRazaoSocial() == 1){
		erroValidacao[1] = 1;
	}else{
		erroValidacao[1] = 0;
	}
	
	var imgErro = document.getElementById('cnpjErro');
	if(document.cadastroPJuridica.cnpj.value != "" && imgErro.style.display == ""){
		erroValidacao[2] = 1;
	}else{
		erroValidacao[2] = 0;
	}
	
	var imgErroCEP = document.getElementById('cepJurErro');
	if(imgErroCEP.style.display == ""){
		erroValidacao[3] = 1;
	}else{
		erroValidacao[3] = 0;
	}
	
	if(checaContato() == 1){
		erroValidacao[4] = 1;
	}else{
		erroValidacao[4] = 0;
	}
	
	var tel = document.cadastroPJuridica.telefoneJur;
	if(formataTel(tel,'telJur') == 1){
		erroValidacao[5] = 1;
	}else{
		erroValidacao[5] = 0;
	} 
		
	if(validaEmailJur() == 1){
		erroValidacao[6] = 1;
	}else{
		erroValidacao[6] = 0;
	} 
	
	if(verLogin() == 1){
		erroValidacao[7] = 1;
	}else{
		erroValidacao[7] = 0;
	}	
	
	var senhaConfere = document.cadastroPJuridica.senhaConfJur.value;
	if(verificaSenhaJur(senhaConfere) == 1){
		erroValidacao[8] = 1;
	}else{
		erroValidacao[8] = 0;
	}
	
	if(document.cadastroPJuridica.abcon.checked == true){
		var selAbcon = document.cadastroPJuridica.abcon_ramo_atividade;
		var spanAbcon = document.getElementById('spanAbcon');
		var imgOK = document.getElementById('abconOK');
		var imgErro = document.getElementById('abconErro');
		
		if(selAbcon.options[0] == null){
			erroValidacao[9] = 1;
			imgErro.style.display = "";
			imgOK.style.display = "none";
			spanAbcon.style.display = "";
		}else{
			erroValidacao[9] = 0;
			imgErro.style.display = "none";
			imgOK.style.display = "";
			spanAbcon.style.display = "none";
		}
	}
	
	for(i=0;i<9;i++){
		if(erroValidacao[i] == 1){
			return false;
		}
	}
}

//FUNÇÃO QUE FAZ A ÚLTIMA VALIDAÇÃO DO FORMULÁRIO NA ALTERAÇÃO
function validaFormularioJuridicaAlt(raiz){
var erroValidacao = new Array();
	
	if(checaNomeFantasia() == 1){
		erroValidacao[0] = 1;
	}else{
		erroValidacao[0] = 0;
	}
	
	if(checaRazaoSocial() == 1){
		erroValidacao[1] = 1;
	}else{
		erroValidacao[1] = 0;
	}

	var imgErroCEP = document.getElementById('cepJurErro');
	if(imgErroCEP.style.display == ""){
		erroValidacao[2] = 1;
	}else{
		erroValidacao[2] = 0;
	}
	
	if(checaContato() == 1){
		erroValidacao[3] = 1;
	}else{
		erroValidacao[3] = 0;
	}
	
	var tel = document.cadastroPJuridica.telefoneJur;
	if(formataTel(tel,'telJur') == 1){
		erroValidacao[4] = 1;
	}else{
		erroValidacao[4] = 0;
	} 
		
	if(validaEmailJur() == 1){
		erroValidacao[5] = 1;
	}else{
		erroValidacao[5] = 0;
	} 

	var senhaConfere = document.cadastroPJuridica.senhaConfJur.value;
	if(verificaSenhaJur(senhaConfere) == 1){
		erroValidacao[6] = 1;
	}else{
		erroValidacao[6] = 0;
	}
	
	for(i=0;i<7;i++){
		if(erroValidacao[i] == 1){
			return false;
		}
	}
}



  function soNums(e,args) 
    {         
    // Função que permite apenas teclas numéricas e  
    // todos os caracteres que estiverem na lista 
    // de argumentos. 
    // Deve ser chamada no evento onKeyPress desta forma 
    //  onKeyPress ="return (soNums(event,'(/){,}.'));" 
    // caso queira apenas permitir caracters 

        if (document.all){var evt=event.keyCode;} // caso seja IE 
        else{var evt = e.charCode;}    // do contrário deve ser Mozilla 
        var chr= String.fromCharCode(evt);    // pegando a tecla digitada 
        // Se o código for menor que 20 é porque deve ser caracteres de controle 
        // ex.: <ENTER>, <TAB>, <BACKSPACE> portanto devemos permitir 
        // as teclas numéricas vão de 48 a 57 
        if (evt <20 || (evt >47 && evt<58) || (args.indexOf(chr)>-1 ) ){return true;} 
        return false; 
    } 

/* 
    outra variação só que mais rígida. Não permite nenhum caracter que não esteja na lista de permissão. 
    Aconselhável para algumas situações como por exemplo testes de digitação ou coisas do tipo. 


*/ 
    function soNums(e,args) 
    {         
        if (document.all){var evt=event.keyCode;} // caso seja IE 
        else{var evt = e.charCode;}    // do contrário deve ser Mozilla 
        var valid_chars = '0123456789'+args;    // criando a lista de teclas permitidas 
        var chr= String.fromCharCode(evt);    // pegando a tecla digitada 
        if (valid_chars.indexOf(chr)>-1 ){return true;}    // se a tecla estiver na lista de permissão permite-a 
        // para permitir teclas como <BACKSPACE> adicionamos uma permissão para  
        // códigos de tecla menores que 09 por exemplo (geralmente uso menores que 20) 
        if (valid_chars.indexOf(chr)>-1 || evt < 9){return true;}    // se a tecla estiver na lista de permissão permite-a 
        return false;    // do contrário nega 
    } 
