// JScript File
function EnviarFormContato()
{
    var sucesso = true;
    
    // Define os estilos padrões
    document.getElementById('juridica_razao').className = 'txtfield';
    document.getElementById('errojuridica_razao').style.display = 'none';
    
    document.getElementById('nome').className = 'txtfield';
    document.getElementById('erronome').style.display = 'none';
    
    document.getElementById('codigo').className = 'txtfield';
    document.getElementById('errocodigo').style.display = 'none';
    
    document.getElementById('juridica_cnpj').className = 'txtfield';
    document.getElementById('errojuridica_cnpj').style.display = 'none';

    document.getElementById('juridica_responsavel').className = 'txtfield';
    document.getElementById('errojuridica_responsavel').style.display = 'none';
    
    document.getElementById('juridica_email').className = 'txtfield';
    document.getElementById('errojuridica_email').style.display = 'none';

    document.getElementById('rg').className = 'txtfield';
    document.getElementById('errorg').style.display = 'none';
    
    document.getElementById('cpf').className = 'txtfield';
    document.getElementById('errocpf').style.display = 'none';
    
    document.getElementById('fone_residencial').className = 'txtfield';
    document.getElementById('errofone_residencial').style.display = 'none';
    
    document.getElementById('info_cep').className = 'txtfield';
    document.getElementById('erroinfo_cep').style.display = 'none';
    
    document.getElementById('info_endereco').className = 'txtfield';
    document.getElementById('erroinfo_endereco').style.display = 'none';
    
    document.getElementById('info_bairro').className = 'txtfield';
    document.getElementById('erroinfo_bairro').style.display = 'none';
    
    document.getElementById('info_cidade').className = 'txtfield';
    document.getElementById('erroinfo_cidade').style.display = 'none';
    
    if(EmptyField(document.getElementById('juridica_razao')))
    {
        sucesso = false;
        document.getElementById('juridica_razao').className = 'error';
        document.getElementById('errojuridica_razao').style.display = '';
        document.getElementById('errojuridica_razao').innerHTML = 'Por favor, informe a razão social da empresa.';  
    } 
    
    //Verificando se os campos estão corretamente preenchidos.
    if(EmptyField(document.getElementById('nome')))
    {
        sucesso = false;
        document.getElementById('nome').className = 'error';
        document.getElementById('erronome').style.display = '';
        document.getElementById('erronome').innerHTML = 'Por favor, informe o nome para contato.';  
    } 
    
    if(EmptyField(document.getElementById('codigo')))
    {
        sucesso = false;
        document.getElementById('codigo').className = 'error';
        document.getElementById('errocodigo').style.display = '';
        document.getElementById('errocodigo').innerHTML = 'Por favor, informe o código da empresa.';  
    } 
    
    if(EmptyField(document.getElementById('juridica_cnpj')))
    {
        sucesso = false;
        document.getElementById('juridica_cnpj').className = 'error';
        document.getElementById('errojuridica_cnpj').style.display = '';
        document.getElementById('errojuridica_cnpj').innerHTML = 'Por favor, informe o CNPJ da empresa.';  
    } 
    
    
   
    if(EmptyField(document.getElementById('juridica_responsavel')))
    {
        sucesso = false;
        document.getElementById('juridica_responsavel').className = 'error';
        document.getElementById('errojuridica_responsavel').style.display = '';
        document.getElementById('errojuridica_responsavel').innerHTML = 'Por favor, informe o nome para contato.';  
    } 
    
    if(EmptyField(document.getElementById('juridica_email')))
    {
        sucesso = false;
        document.getElementById('juridica_email').className = 'error';
        document.getElementById('errojuridica_email').style.display = '';
        document.getElementById('errojuridica_email').innerHTML = 'Por favor, informe o e-mail para contato.';  
    }
    else
    {
        if(!valida_email(document.getElementById('juridica_email')))
        {
            sucesso = false;
            document.getElementById('juridica_email').className = 'error';
            document.getElementById('errojuridica_email').style.display = '';
            document.getElementById('errojuridica_email').innerHTML = 'E-mail inválido.';  
        }
    }
    if(EmptyField(document.getElementById('rg')))
    {
        sucesso = false;
        document.getElementById('rg').className = 'error';
        document.getElementById('errorg').style.display = '';
        document.getElementById('errorg').innerHTML = 'Por favor, informe o RG.';  
    }
    if(EmptyField(document.getElementById('cpf')))
    {
        sucesso = false;
        document.getElementById('cpf').className = 'error';
        document.getElementById('errocpf').style.display = '';
        document.getElementById('errocpf').innerHTML = 'Por favor, informe o CPF.';  
    }
    else
    {
          if(!valida_CPF(document.getElementById('cpf')))
          {
            sucesso = false;
            document.getElementById('cpf').className = 'error';
            document.getElementById('errocpf').style.display = '';
            document.getElementById('errocpf').innerHTML = 'CPF em formato inválido.';  
          }
    }
    if(EmptyField(document.getElementById('fone_residencial')))
    {
        sucesso = false;
        document.getElementById('fone_residencial').className = 'error';
        document.getElementById('errofone_residencial').style.display = '';
        document.getElementById('errofone_residencial').innerHTML = 'Por favor, informe o telefone de contato.';  
    }
    else
    {
        if(!valida_telefone(document.getElementById('fone_residencial')))
        {
            sucesso = false;
            document.getElementById('fone_residencial').className = 'error';
            document.getElementById('errofone_residencial').style.display = '';
            document.getElementById('errofone_residencial').innerHTML = 'Telefone/Fax em formato inválido. Por favor siga o seguinte formato (XX) XXXX-XXXX.';  
        }
    }
    
    if(EmptyField(document.getElementById('info_cep')))
    {
        sucesso = false;
        document.getElementById('info_cep').className = 'error';
        document.getElementById('erroinfo_cep').style.display = '';
        document.getElementById('erroinfo_cep').innerHTML = 'Por favor, informe o CEP da residência.';  
    }
    else
    {
        if(!valida_CEP(document.getElementById('info_cep')))
        {
            sucesso = false;
            document.getElementById('info_cep').className = 'error';
            document.getElementById('erroinfo_cep').style.display = '';
            document.getElementById('erroinfo_cep').innerHTML = 'CEP em formato inválido.';      
        }   
    }
    
    if(EmptyField(document.getElementById('info_endereco')))
    {
        sucesso = false;
        document.getElementById('info_endereco').className = 'error';
        document.getElementById('erroinfo_endereco').style.display = '';
        document.getElementById('erroinfo_endereco').innerHTML = 'Por favor, informe o endereço da residência.';  
    }
    
    if(EmptyField(document.getElementById('info_bairro')))
    {
        sucesso = false;
        document.getElementById('info_bairro').className = 'error';
        document.getElementById('erroinfo_bairro').style.display = '';
        document.getElementById('erroinfo_bairro').innerHTML = 'Por favor, informe o bairro da residência.';  
    }
    
    
    if(document.getElementById('info_cidade').value == '')
    {
        sucesso = false;
        document.getElementById('info_cidade').className = 'error';
        document.getElementById('erroinfo_cidade').style.display = '';
        document.getElementById('erroinfo_cidade').innerHTML = 'Por favor, informe a cidade em que reside.';  
    }
    if (!sucesso) {
        alert('Alguns campos não foram preenchidos da forma devida. Por favor, verifique os campos marcados em vermelho.'); 
        return false;
    }
    
    //Caso tenha chegado até aqui, envia-se o formulário de contato.
    var razao_social = document.getElementById('juridica_razao').value;
    var nome_empresa = document.getElementById('nome').value;
    var codigo_ = document.getElementById('codigo').value;
    var cnpj_ = document.getElementById('juridica_cnpj').value;
    var juridica_responsavel_ = document.getElementById('juridica_responsavel').value;
    var email_ = document.getElementById('juridica_email').value;
    var rg_ = document.getElementById('rg').value;
    var cpf_ = document.getElementById('cpf').value;
    var fone_ = document.getElementById('fone_residencial').value;
    var cep_ = document.getElementById('info_cep').value;
    var endereco_ = document.getElementById('info_endereco').value;
    var bairro_ = document.getElementById('info_bairro').value;
    var cidade_ = document.getElementById('info_cidade').value;
    
    if(!faca_parte_time.EnviarFormularioContato(razao_social,nome_empresa, codigo_, cnpj_, juridica_responsavel_, email_,rg_,cpf_,fone_,cep_,endereco_,bairro_,cidade_).value)
    {
        document.getElementById('erro_contato').style.display = "";
        document.getElementById('form_contato').style.display  = "none";
    }
    else
    {
        document.getElementById('sucesso_contato').style.display = "";
        document.getElementById('form_contato').style.display  = "none";
    }
}

//Função assincrona do populaCidade.
function retorno_populaCidade(ret){
    var dt = ret.value;
    var cidade = document.getElementById('info_cidade');
    cidade.options.length = 0;
	cidade.options[cidade.options.length] = new Option("Selecione uma cidade","0");            
    for(var i = 0; i < dt.length; i++)
    {                
        cidade.options[cidade.options.length] = new Option(dt[i].Nome, dt[i].Codigo_Cidade);
    }
    document.getElementById('img_cidade').style.display = "none";
}

//Metodo responsável por popular as cidades de acordo com o estado selecionado.
function populaCidade(value)
{
    document.getElementById('img_cidade').style.display = "";
    faca_parte_time.PopulaCidade(value,retorno_populaCidade);   
}

//Função para ao se dá um Enter cair sobre o evento de submit da pagina de contato
//param:evt = Evento do keyPress
//param:botao = Id do botão que dá o submit na página
function EnterContato(evt,botao)
{
    //Verificando se o que é digitado é somente campos numéricos
    var charCode = (evt.which) ? evt.which : evt.keyCode;
  
    if(charCode==13)
    {
         document.getElementById(botao).onclick();		
         return false;
    }
    return true;
}

function verificaPais(value)
{
    if(value == 0)
    {
        document.getElementById('div_outro_pais').style.display = 'none';
        document.getElementById('div_brasil').style.display = 'none';
    }
    else if(value == '32')//Brazil
    {
        document.getElementById('div_outro_pais').style.display = 'none';
        document.getElementById('div_brasil').style.display = '';
    }
    else
    {
        //Habilitando a pessoa a inserir manualmente o seu estado e cidade.
        document.getElementById('div_outro_pais').style.display = '';
        document.getElementById('div_brasil').style.display = 'none';
    }
}

var resultadoCEP = null;

function makeRequestCEP(url,callback_function) {
	var http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	
	if (!http_request) {
		alert('Unfortunatelly you browser doesn\'t support this feature.');
		return false;
	}
	http_request.onreadystatechange = function() {
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				eval('retornoXMLCep(http_request.responseXML, callback_function)');
			} else {
				alert('There was a problem with the request.(Code: ' + http_request.status + ')');
			}
		}
	}
	var Data = new Date();
	http_request.open('GET', url, true);
	http_request.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
	http_request.send(null);
}


function retornoXMLCep(xml, retorno){
	var result = new Object();
	var endereco="", bairro="", cidade="", estado="", cep = "";
	if (document.all){
		var nodes = xml.documentElement.childNodes;
		    endereco = result.endereco = nodes.item(0).text;
		    bairro   = result.bairro = nodes.item(1).text;
		    cidade   = result.cidade = nodes.item(2).text;
		    estado   = result.estado = nodes.item(3).text;
		    cep      = result.cep = nodes.item(4).text;
	}else{
		endereco = result.endereco = xml.getElementsByTagName("endereco")[0].childNodes[0].nodeValue;
		if(endereco != "")
		{
		    bairro   = result.bairro = xml.getElementsByTagName("bairro")[0].childNodes[0].nodeValue;
		    cidade   = result.cidade = xml.getElementsByTagName("cidade")[0].childNodes[0].nodeValue;
		    estado   = result.estado = xml.getElementsByTagName("estado")[0].childNodes[0].nodeValue;
		    cep      = result.cep = xml.getElementsByTagName("cep")[0].childNodes[0].nodeValue;
		}
	}
	
	if (estado== "" || cidade == "")
	{
	    DisabledElementos(false);
	    sucesso = false;
        document.getElementById('info_cep').className = 'error';
        document.getElementById('erroinfo_cep').style.display = '';
        document.getElementById('erroinfo_cep').innerHTML = 'Este CEP não foi encontrado no sistema dos Correios. Confira novamente os dados digitados. Caso esteja correto insira manualmente as informações sobre o seu endereço.';  
	}
	else
	{
	    //Limpando o campo caso seja necessário.
	    document.getElementById('info_cep').className = 'txtfield';
        document.getElementById('erroinfo_cep').style.display = 'none';
	
	    resultadoCEP = result;
	    eval(retorno +'(resultadoCEP)');
	 }
}

function buscaCEPCorreios(controle){
    if(valida_CEP(document.getElementById('info_cep')))
    {
        DisabledElementos(true);
    
        if (resultadoCEP==null || resultadoCEP.cep!=document.getElementById('info_cep').value){
		    makeRequestCEP('_CEP.aspx?cep='+controle.value.replace('.','').replace('-',''),'getCEPUsuario');
	    }else{
		    getCEPUsuario(resultadoCEP);
	    }
	}
}

function DisabledElementos(controle)
{
    document.getElementById('info_cep').disabled = controle;
    document.getElementById('info_endereco').disabled = controle;
    document.getElementById('info_estado').disabled = controle;
    document.getElementById('info_cidade').disabled = controle;
    document.getElementById('info_bairro').disabled = controle;
    if(!controle)
        document.getElementById('img_cep').style.display = 'none';
    else
        document.getElementById('img_cep').style.display = '';
    
}


function getCEPUsuario(resultadoCEP)
{
    DisabledElementos(false);
    
    document.getElementById('info_bairro').value = CharSet(resultadoCEP.bairro);
    document.getElementById('info_endereco').value = CharSet(resultadoCEP.endereco);
    
    var estadoAtual = faca_parte_time.DevolveCodigoEstado(CharSet(resultadoCEP.estado)).value
    if(estadoAtual!= 0)
    {
    
        //Percorrendo os estado para se selecionar o estado correto.
        for(var i = 0; i < document.getElementById('info_estado').length; i++)
        {
            var x=document.getElementById("info_estado")
            if(x.options[i].value == estadoAtual)
            {
                document.getElementById('info_estado').selectedIndex = i;
                break;
            }
        }

        //Carregando as cidades...
        document.getElementById('img_cidade').style.display = "";
        var dt = faca_parte_time.PopulaCidade(estadoAtual).value;   
        var cidade = document.getElementById('info_cidade');
        cidade.options.length = 0;
        cidade.options[cidade.options.length] = new Option("Selecione uma cidade","0");            
        for(var i = 0; i < dt.length; i++)
        {                
           cidade.options[cidade.options.length] = new Option(dt[i].Nome, dt[i].Codigo_Cidade);
        }
        document.getElementById('img_cidade').style.display = "none";
        //Fim carregando as cidades...


        //Percorrendo as cidades para se selecionar a cidade correta.
        for(var i = 0; i < document.getElementById('info_cidade').length; i++)
        {
            var x=document.getElementById("info_cidade")
            if(x.options[i].text == CharSet(resultadoCEP.cidade))
            {
                document.getElementById('info_cidade').selectedIndex = i;
                break;
            }
        }
    }
}

