﻿var NUM_DIGITOS_CPF = 11;
var NUM_DIGITOS_CNPJ = 14;
var NUM_DGT_CNPJ_BASE = 8;
var NUM_DIGITOS_CEP = 8;
var arrEstados = Array("Acre", "Alagoas", "Amazonas", "Amapá", "Bahia", "Ceará", "Distrito Federal", "Espírito Santo", "Goiânia", "Maranhão", "Minas Gerais", "Mato Grsso do Sul", "Mato Grosso", "Pará", "Paraíba", "Pernambuco", "Piauí", "Paraná", "Rio de Janeiro", "Rio Grande do Norte", "Rondônia", "Roraima", "Rio Grande do Sul", "Santa Catarina", "Sergipe", "São Paulo", "Tocantins");
var arrEstadosSigla = Array("AC", "AL", "AM", "AP", "BA", "CE", "DF", "ES", "GO", "MA", "MG", "MS", "MT", "PA", "PB", "PE", "PI", "PR", "RJ", "RN", "RO", "RR", "RS", "SC", "SE", "SP", "TO");

// ****************************************** Rolar produtos da home *****************
function NewsLetter(pstrParam, pstrURL, pstrDivResposta, pstrDivretorno) {
    var objAjax;
    var nome = document.getElementById('nome');
    var email = document.getElementById('email');
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    if (nome.value == '' || nome.value == 'NOME:') {
        alert('Gostaríamos de saber seu nome para que possamos nos comunicar melhor.');
        nome.focus();
        return false;
    }

    if (email.value == '' || email.value == 'E-MAIL:') {
        alert('O seu e-mail é fundamental, para receber a newsletter, você esqueceu de preencher o campo e-email.');
        email.focus();
        return false;
    }

    if (!filter.test(email.value)) {
        alert('O e-mail informado não parece um email válido, confira os dados digitados.');
        email.focus();
        return false;
    }

    if (nome.value.length > 150) {
        alert('O nome informado é muito grande, resuma seu nome ao primeiro nome e sobre nome.');
        nome.focus();
        return false;
    }

    if (email.value.length > 150) {
        alert('os dados do seu e-mail, estão excessivamente grandes, confira os dados digitadops.');
        email.focus();
        return false;
    }
    /** Criando o objeto Ajax **/
    objAjax = createXMLHTTP();

    document.getElementById(pstrDivretorno).className = 'retornoAJAX'
    document.getElementById(pstrDivretorno).innerHTML = 'Enviando solicitação. Aguarde...';

    //Efetuando a abertura da requisição, Tipo, URL Requirida, Tipo de Conexão true - Assincrona e false sincrona 
    objAjax.open("post", pstrURL + "?" + pstrParam, true);

    //Informando o tipo da página de requisição
    objAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    //    objAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    //Informando o controle de cachê no caso abaixo informando para ignorar o cachê 
    objAjax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
    objAjax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
    objAjax.setRequestHeader("Pragma", "no-cache");

    objAjax.onreadystatechange = function() {
        //Validando o status do retorno
        if (objAjax.readyState == 4) {


            if (objAjax.responseText.indexOf('SUCESSO') >= 0)
                var mensagem = 'Cadastro foi realizado com sucesso! Obrigado!';
            else if (objAjax.responseText.indexOf('JACADASTRADO') >= 0)
                var mensagem = 'O e-mail informado já estava cadastrado. Obrigado!';
            else if (objAjax.responseText.indexOf('NAOATUALIZADO') >= 0)
                var mensagem = 'O e-mail informado já estava cadastrado. Mas não foi possivel realizar a atualização!';
            else if (objAjax.responseText.indexOf('NAOCADASTRADO') >= 0 || objAjax.responseText.indexOf('ERROCADASTRO') >= 0 || objAjax.responseText.indexOf('COMPORTAMENTO INESPERADO') >= 0)
                var mensagem = 'Não foi possivel realizar o cadastro, tente novamente dentro de alguns minutos.';
            else
                var mensagem = 'Cadastro foi realizado com sucesso! Obrigado!';

            document.getElementById(pstrDivretorno).className = 'retornoAJAX'
            document.getElementById(pstrDivretorno).innerHTML = mensagem;

        }
    }

    //Perceba que a requesição deve ser feita abaixo da função onreadystatechange, Não esqueça de colocar null se não houver nenhum parâmetro senão não funciona nos outros navegadores. 
    objAjax.send(pstrParam);

}
function LogaSuporte(pstrParam, pstrURL, pstrDivResposta) {

    window.location.href = pstrURL + '?' + pstrParam;

}

// ****************************************** Rolar produtos da home *****************
function enviaContato(pstrParam, pstrURL, pstrDivResposta, pstrDivretorno) {
    // Campos do formulário
    var nome = document.getElementById('nome');
    var email = document.getElementById('email');
    var telefone = document.getElementById('telefone');
    var ramal = document.getElementById('ramal');
    var celular = document.getElementById('celular');
    var endereco = document.getElementById('endereco');
    var departamento = document.getElementById('departamento');
    var mensagem = document.getElementById('mensagem');

    var objAjax;
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    if (nome.value == '' || nome.value == 'NOME:') {
        alert('Gostaríamos de saber seu nome para que possamos nos comunicar melhor.');
        nome.focus();
        return false;
    }

    if (email.value == '' || email.value == 'E-MAIL:') {
        alert('O seu e-mail é fundamental, para receber a newsletter, você esqueceu de preencher o campo e-email.');
        email.focus();
        return false;
    }

    if (!filter.test(email.value)) {
        alert('O e-mail informado não parece um email válido, confira os dados digitados.');
        email.focus();
        return false;
    }

    if (nome.value.length > 150) {
        alert('O nome informado é muito grande, resuma seu nome ao primeiro nome e sobre nome.');
        nome.focus();
        return false;
    }

    if (email.value.length > 150) {
        alert('os dados do seu e-mail, estão excessivamente grandes, confira os dados digitadops.');
        email.focus();
        return false;
    }

    if (departamento.value == '' || departamento.value == 'ÁREA DESEJADA:') {
        alert('Informe a área desejada.');
        return false;
    }


    /** Criando o objeto Ajax **/
    objAjax = createXMLHTTP();

    document.getElementById(pstrDivretorno).className = 'retornoAJAX'
    document.getElementById(pstrDivretorno).innerHTML = 'Enviando solicitação. Aguarde...';

    //Efetuando a abertura da requisição, Tipo, URL Requirida, Tipo de Conexão true - Assincrona e false sincrona 
    objAjax.open("post", pstrURL + "?" + pstrParam, true);

    //Informando o tipo da página de requisição
    objAjax.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");
    //    objAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    //Informando o controle de cachê no caso abaixo informando para ignorar o cachê 
    objAjax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
    objAjax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
    objAjax.setRequestHeader("Pragma", "no-cache");

    objAjax.onreadystatechange = function() {
        //Validando o status do retorno
        if (objAjax.readyState == 4) {


            if (objAjax.responseText.indexOf('SUCESSO') >= 0)
                var mensagem = 'Dados enviados com sucesso! Obrigado por entrar em contato com a <b>Group Software</b>!';
            else
                var mensagem = objAjax.responseText //'Não foi possivel enviar dados. Tente novamente mais tarde.';

            document.getElementById(pstrDivretorno).className = 'retornoAJAX'
            document.getElementById(pstrDivretorno).innerHTML = mensagem;

        }
    }

    //Perceba que a requesição deve ser feita abaixo da função onreadystatechange, Não esqueça de colocar null se não houver nenhum parâmetro senão não funciona nos outros navegadores. 
    objAjax.send(pstrParam);

}

/* ****************************************** Formulário de preços **************** */
function enviaPedidoPreco(pstrParam, pstrURL, pstrDivResposta, pstrDivretorno) {

    /** Criando o objeto Ajax **/
    objAjax = createXMLHTTP();

    document.getElementById(pstrDivretorno).className = 'retornoAJAX'
    document.getElementById(pstrDivretorno).innerHTML = 'Enviando solicitação. Aguarde...';

    //Efetuando a abertura da requisição, Tipo, URL Requirida, Tipo de Conexão true - Assincrona e false sincrona 
    objAjax.open("post", pstrURL + "?" + pstrParam, true);

    //Informando o tipo da página de requisição
    objAjax.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");
    //    objAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    //Informando o controle de cachê no caso abaixo informando para ignorar o cachê 
    objAjax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
    objAjax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
    objAjax.setRequestHeader("Pragma", "no-cache");

    objAjax.onreadystatechange = function() {
        //Validando o status do retorno
        if (objAjax.readyState == 4) {

            if (objAjax.responseText.indexOf('SUCESSO') >= 0)
                var mensagem = 'Dados enviados com sucesso! Obrigado por entrar em contato com a <b>Group Software</b>!';
            else
                var mensagem = 'Não foi possivel enviar dados. Tente novamente mais tarde.';

            document.getElementById(pstrDivretorno).className = 'retornoAJAX'
            document.getElementById(pstrDivretorno).innerHTML = mensagem;

        }
    }

    //Perceba que a requesição deve ser feita abaixo da função onreadystatechange, Não esqueça de colocar null se não houver nenhum parâmetro senão não funciona nos outros navegadores. 
    objAjax.send(pstrParam);

}

/* Função para realizar busca na pagina */
function ExecutaBusca(pstrParam, pstrURL, pstrDivretorno) {
    window.location.href = pstrURL + "?" + pstrParam;
}


// ****************************************** Formulário de download *****************
function enviaDownload(pstrParam, pstrURL, pstrDivResposta, pstrDivretorno) {

    // Campos do formulário
    //    var nome = document.getElementById('nome');
    //    var administradora = document.getElementById('administradora');
    //    var cargo = document.getElementById('cargo');
    //    var endereco = document.getElementById('endereco');
    //    var bairro = document.getElementById('bairro');
    //    var cep = document.getElementById('cep');
    //    var cidade = document.getElementById('cidade');
    //    var estado = document.getElementById('estado');
    //    var ddd = document.getElementById('ddd');
    //    var telefone = document.getElementById('telefone');
    //    var fax = document.getElementById('fax');
    //    var email = document.getElementById('email');
    //    var conhecimento = document.getElementById('conhecimento');
    //    var atividade = document.getElementById('atividade');
    //    var unidades = document.getElementById('unidades');
    //    var condominios = document.getElementById('condominios');
    //    var boletos = document.getElementById('boletos');
    //    var jatrabalhou = document.getElementById('jatrabalhou');
    //    var mensagem = document.getElementById('mensagem');

    var objAjax;

    /** Criando o objeto Ajax **/
    objAjax = createXMLHTTP();

    document.getElementById(pstrDivretorno).className = 'retornoAJAX';
    document.getElementById(pstrDivretorno).innerHTML = 'Enviando solicitação. Aguarde...';

    //Efetuando a abertura da requisição, Tipo, URL Requirida, Tipo de Conexão true - Assincrona e false sincrona 
    objAjax.open("post", pstrURL + "?" + pstrParam, true);



    //Informando o tipo da página de requisição
    //objAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    objAjax.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");
    //    objAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    //Informando o controle de cachê no caso abaixo informando para ignorar o cachê
    objAjax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
    objAjax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
    objAjax.setRequestHeader("Pragma", "no-cache");

    objAjax.onreadystatechange = function() {
        //Validando o status do retorno
        if (objAjax.readyState == 4) {

            var mensagem = objAjax.responseText;
            document.getElementById(pstrDivretorno).className = '';
            document.getElementById(pstrDivretorno).innerHTML = mensagem;

        }
    }

    //Perceba que a requesição deve ser feita abaixo da função onreadystatechange, Não esqueça de colocar null se não houver nenhum parâmetro senão não funciona nos outros navegadores. 
    objAjax.send(pstrParam);

}

// ****************************************** Galeria de fotos *****************
function MontaGaleria(Galeria) {

    xml = xmlLoader("../../../_xml/galeria/galeria" + Galeria + ".xml"); //carrega o xml

    var imgs = xml.getElementsByTagName("imagens")[0].getElementsByTagName("imagem");
    var nome = xml.getElementsByTagName("configuracoes")[0].getElementsByTagName("caminho")[0].childNodes[0].nodeValue;
    var caminho = xml.getElementsByTagName("configuracoes")[0].getElementsByTagName("caminho")[0].childNodes[0].nodeValue;
    var intervalo = 1;
    var conteudoThumbs = '';

    if (imgs.length > 0) {
        for (var i = 0; i < imgs.length; i++) {
            if ((i == 10 * intervalo) || i == 1) {
                conteudoThumbs = conteudoThumbs + '<div class="strip_of_thumbnails thumbnail">';
                intervalo = intervalo + 1;
            }

            conteudoThumbs = conteudoThumbs + imgs[i].childNodes[0].nodeValue;
            conteudoThumbs = conteudoThumbs + '<div><a href="#"onclick="showPreview(\'' + caminho + '' + imgs[i].childNodes[0].nodeValue + '\',this);return false;"><img src="../_conteudo/img/t/image01.jpg" title="Imagem da galeria" alt="image01.jpg" /></a></div>'
            //alert(xml.getElementsByTagName("imagens")[0].getElementsByTagName("imagem")[i].childNodes[0].nodeValue);

            if ((i == (10 * intervalo)) || (i == imgs.length)) {
                alert((i == (10 * intervalo)));
                conteudoThumbs = conteudoThumbs + '</div>';
                intervalo = intervalo + 1;
            }
        }
        // alert(conteudoThumbs);
    }
    //<div class="strip_of_thumbnails thumbnail">
    //    <div><a href="#"onclick="showPreview('../_conteudo/img/conteudos/galeria/1/big00001.jpg',this);return false;"><img src="../_conteudo/img/t/image01.jpg" title="Imagem da galeria" alt="image01.jpg" /></a></div>
    //</div>
    // alert(xml.getElementsByTagName("configuracoes")[0].getElementsByTagName("nome")[0].childNodes[0].nodeValue); //printa a árvore na tela
    //alert(xml.getElementsByTagName("imagens")[0].getElementsByTagName("imagem")[0].childNodes[0].nodeValue); //printa a árvore na tela

    //document.getElementById("DHTMLgoodies_thumbs_inner").innerHTML = '';
}




/* ****************************************** Envia Meter **************** */
function siteMeter(strMeter) {

    /** Criando o objeto Ajax **/
    objAjax = createXMLHTTP();

    strMeter = unescape("%3Cscript src='" + strMeter + "' type='text/javascript'%3E%3C/script%3E")

    //Efetuando a abertura da requisição, Tipo, URL Requirida, Tipo de Conexão true - Assincrona e false sincrona
    objAjax.open("post", strMeter, false);


    //Informando o tipo da página de requisição
    objAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    //    objAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    //Informando o controle de cachê no caso abaixo informando para ignorar o cachê 
    objAjax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
    objAjax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
    objAjax.setRequestHeader("Pragma", "no-cache");

    objAjax.onreadystatechange = function() {
        //Validando o status do retorno
        if (objAjax.readyState == 4) {
            alert(objAjax.readyState);
        }
    }

    //Perceba que a requesição deve ser feita abaixo da função onreadystatechange, Não esqueça de colocar null se não houver nenhum parâmetro senão não funciona nos outros navegadores. 
    objAjax.send(null);

}

// ****************************************** Contratos *****************

function mudaTipoContratacao() {
    //[href *= "#Mod{{modulo_nome}}"]
    var strTipo = $("select[id*='selCntTipo']");
    var strCmpFisica = $("span[id*='cmpFisica']");
    var strCmpJuridica = $("span[id*='cmpJuridica']");

    if (strTipo.val() == 'fisica') {
        document.getElementById(strCmpFisica.attr("id")).className = 'block';
        document.getElementById(strCmpJuridica.attr("id")).className = 'hidden';
        $("input[id*='txtCntCpf']").focus();
    }
    else if (strTipo.val() == 'juridica') {
        document.getElementById(strCmpFisica.attr("id")).className = 'hidden';
        document.getElementById(strCmpJuridica.attr("id")).className = 'block';
        $("input[id*='txtCntCnpj']").focus();
    }
    else {
        document.getElementById(strCmpFisica.attr("id")).className = 'hidden';
        document.getElementById(strCmpJuridica.attr("id")).className = 'hidden';
    }
}

function ValidaModulos() {
    try {


        return true;
    } catch (err) {
        alert('Ocorreu um	 erro na função: ValidaDados() \n Descrição:' + err);
        return false;
    }
}

function ValidaDados() {
    try {

        var prefixoRunat = '';
        // Variaveis a serem testadas
        var tipo = $("select[id*='selCntTipo']");
        var tipoI = $("input[id*='selCntTipo']");
        var nome = $("input[id*='txtCntNome']");
        var cpf = $("input[id*='txtCntCpf']");
        var empresa = $("input[id*='txtCntEmpresa']");
        var razao = $("input[id*='txtCntRazao']");
        var resnome = $("input[id*='txtCntResNome']");
        var rescpf = $("input[id*='txtCntResCpf']");
        var cnpj = $("input[id*='txtCntCnpj']");
        var recebenome = $("input[id*='txtCntRecebimentoNome']");
        var endereco = $("input[id*='txtCntEndereco']");
        var bairro = $("input[id*='txtCntBairro']");
        var cidade = $("input[id*='txtCntCidade']");
        var estado = $("select[id*='selCtrEstado']");
        var estadoI = $("input[id*='selCtrEstado']");
        var cep = $("input[id*='txtCntCep']");
        var ddd = $("input[id*='txtCntDdd']");
        var telefone = $("input[id*='txtCntTelefone']");
        var celular = $("input[id*='txtCntCelular']");
        var email = $("input[id*='txtCntEmail']");
        var versao = $("input[id*='radCntVersao']");

        // Filtros de validação
        var filEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        var filAlfa = /^[A-Za-z0-9]$/;
        var filCPFSequencia = /^([0-9])\1{11,}$/;
        var filCNPJSequencia = /^([0-9])\1{14,}$/;
        var filCEPSequencia = /^([0-9])\1{8,}$/;
        var filTelefone = /^([0-9])\1{8,}$/;

        var filDdd = /^[0-9]$/;
        var filTelefones = /^[A-Za-z0-9]$/;

        if (tipo.val() == '') {
            alert('É necessário informar o tipo de contratação.');
            tipoI.focus();
            return false;
        }
        else
            mudaTipoContratacao();

        // Validações para o tipo pessoa fisica
        if (tipo.val() != '' && tipo.val() == 'fisica') {

            if (cpf.val() == '' || cpf.val() == 'CPF:') {
                alert('É necessário informar o cpf do contratante.');
                cpf.focus();
                return false;
            }
            else {
                if (cpf.val().length > 14) {
                    alert('Este campos pode ter no máximo 14 caracteres.');
                    cpf.focus();
                    return false;
                }

                if (filCPFSequencia.test(unformatNumber(cpf.val())) || unformatNumber(cpf.val()) == '' || !isCpf(cpf.val())) {
                    alert('O CPF Informado não é valido!');
                    cpf.focus();
                    return false;
                }
            }

            if (nome.val() == '' || nome.val() == 'NOME:') {
                alert('É necessário informar o nome do contratante.');
                nome.focus();
                return false;
            }
            else {
                if (nome.val().length > 150) {
                    alert('O campo nome pode ter no máximo 150 caracteres.');
                    return false;
                }
            }
        }
        else if (tipo.val() != '' && tipo.val() == 'juridica') {


            // Campo CNPJ da empresa
            if (cnpj.val() == '' || cnpj.val() == 'CNPJ DA EMPRESA:') {
                alert('É necessário informar o CNPJ da empresa.');
                cnpj.focus();
                return false;
            }
            else {
                if (cnpj.val().length > 20) {
                    alert('O cnpj da empresa pode ter no máximo 19 caracteres.');
                    cnpj.focus();
                    return false;
                }

                if (filCNPJSequencia.test(unformatNumber(cnpj.val())) || unformatNumber(cnpj.val()) == '' || !isCnpj(cnpj.val())) {
                    alert('O CNPJ Informado não é valido!');
                    cnpj.focus();
                    return false;
                }
            }

            // Campo empresa
            if (empresa.val() == '' || empresa.val() == 'NOME DA EMPRESA:') {
                alert('É necessário informar o nome fantasia da empresa.');
                empresa.focus();
                return false;
            }
            else {
                if (empresa.val().length > 150) {
                    alert('O campo nome da empresa pode ter no máximo 150 caracteres.');
                    empresa.focus();
                    return false;
                }
            }

            // Campo Razão Social
            if (razao.val() == '' || razao.val() == 'RAZÃO SOCIAL:') {
                alert('É necessário informar a razão social da empresa.');
                razao.focus();
                return false;
            }
            else {
                if (razao.val().length > 150) {
                    alert('O campo razão social pode ter no máximo 150 caracteres.');
                    razao.focus();
                    return false;
                }
            }

            // Campo Responsável pela empresa
            if (resnome.val() == '' || resnome.val() == 'RESPONSÁVEL PELA EMPRESA:') {
                alert('É necessário informar o nome do responsável pela empresa.');
                resnome.focus();
                return false;
            }
            else {
                if (resnome.val().length > 150) {
                    alert('O campo responsável pela empresa pode ter no máximo 150 caracteres.');
                    resnome.focus();
                    return false;
                }
            }

            // Campo CPF do Responsável pela empresa
            if (rescpf.val() == '' || rescpf.val() == 'CPF DO RESPONSÁVEL:') {
                alert('É necessário informar o CPF do responsável pela empresa.');
                rescpf.focus();
                return false;
            }
            else {
                if (rescpf.val().length > 15) {
                    alert('O campo CPF do responsável pela empresa pode ter no máximo 150 caracteres.');
                    rescpf.focus();
                    return false;
                }

                if (filCPFSequencia.test(unformatNumber(rescpf.val())) || unformatNumber(rescpf.val()) == '' || !isCpf(rescpf.val())) {
                    alert('O CPF Informado no campo CPF do responsável não é valido!');
                    rescpf.focus();
                    return false;
                }
            }
        }

        // Campo endereço
        if (endereco.val() == '' || endereco.val() == 'ENDEREÇO:') {
            alert('É necessário informar o endereço de recebimento.');
            endereco.focus();
            return false;
        }
        else {
            if (endereco.val().length > 150) {
                alert('O campo Endereço pode ter no máximo 150 caracteres.');
                endereco.focus();
                return false;
            }
        }

        // Campo bairro
        if (bairro.val() == '' || bairro.val() == 'BAIRRO:') {
            alert('É necessário informar o Bairro do endereço de recebimento.');
            bairro.focus();
            return false;
        }
        else {
            if (bairro.val().length > 150) {
                alert('O campo Bairro pode ter no máximo 150 caracteres.');
                bairro.focus();
                return false;
            }
        }

        // Campo cidade
        if (cidade.val() == '' || cidade.val() == 'CIDADE:') {
            alert('É necessário informar a Cidade do endereço de recebimento.');
            cidade.focus();
            return false;
        }
        else {
            if (cidade.val().length > 150) {
                alert('O campo Cidade pode ter no máximo 150 caracteres.');
                cidade.focus();
                return false;
            }
        }

        // Campo estado
        if (estado.val() == '' || estado.val() == 'ESTADO:') {
            alert('É necessário informar o Estado do endereço de recebimento.');
            estadoI.focus();
            return false;
        }



        // Campo CNPJ da empresa
        if (cep.val() == '' || cep.val() == 'CEP:') {
            alert('É necessário informar o CEP do endereço de recebimento.');
            cep.focus();
            return false;
        }
        else {
            if (cep.val().length > 10) {
                alert('O campo CEP pode ter no máximo 10 caracteres.');
                cep.focus();
                return false;
            }

            if (filCEPSequencia.test(unformatNumber(cep.val())) || unformatNumber(cep.val()) == '' || !IsCEP(cep.val())) {
                alert('O CEP Informado não é valido!');
                cep.focus();
                return false;
            }
        }

        // Campo responsavel pelo recebimento
        if (recebenome.val() == '' || recebenome.val() == 'NOME DO RESPONSÁVEL PELO RECEBIMENTO:') {
            alert('É necessário informar o nome do responsável pelo recebimento do produto.');
            recebenome.focus();
            return false;
        }
        else {
            if (recebenome.val().length > 150) {
                alert('O campo responsável pelo recebimento pode ter no máximo 150 caracteres.');
                recebenome.focus();
                return false;
            }
        }

        // Campo ddd
        if (ddd.val() == '' || ddd.val() == 'DDD:') {
            alert('É necessário informar o DDD da sua localidade.');
            ddd.focus();
            return false;
        }
        else {
            if (ddd.val().length > 3) {
                alert('O campo DDD pode ter no máximo 3 caracteres.');
                ddd.focus();
                return false;
            }

            if (filDdd.test(unformatNumber(ddd.val()))) {
                alert('O DDD Informado não é valido!');
                cep.focus();
                return false;
            }
        }
        // Campo Telefone
        if (telefone.val() == '' || telefone.val() == 'TELEFONE:') {
            alert('É necessário informar um telefone fixo para contato.');
            telefone.focus();
            return false;
        }
        else {
            if (telefone.val().length > 9) {
                alert('O campo Telefone pode ter no máximo 9 caracteres.');
                telefone.focus();
                return false;
            }

            if (filTelefone.test(unformatNumber(telefone.val())) || unformatNumber(telefone.val()) == '' || !IsTelefone(telefone.val())) {
                alert('O Telefone Informado não é valido!');
                telefone.focus();
                return false;
            }
        }

        // Campo E-mail
        if (email.val() == '' || email.val() == 'E-MAIL:') {
            alert('É necessário informar seu e-mail para contato.');
            email.focus();
            return false;
        }
        else {
            if (!filEmail.test(email.val())) {
                alert('É e-mail informado não é valido.');
                email.focus();
                return false;
            }
        }

        if (retornaValorRadio('radCntVersao') == '') {
            alert('É necessário selecionar uma versão.');
            versao.focus();
            return false;
        }

        return true;
    } catch (err) {
        alert('Ocorreu um erro na função: ValidaDados() \n Descrição:' + err);
        return false;
    }

}

/**
* Valida e formatação do CPF e atualiza o campo de origem dos valores
* @param object obj
*      Objeto que será formatado.
* @return String com o CPF Formatado.
*/

function formataCPF(obj) {
    try {

        var valor = obj ? obj.value : 'x';

        if (valor != 'x') {
            obj.value = formatCpfCnpj(obj.value, true);
        }

    } catch (err) {
        alert('Ocorreu um erro na função: function formataCPF(obj) \n Descrição:' + err);
        return obj.value;
    }
}


/**
* Valida e formatação do CNPJ e atualiza o campo de origem dos valores
* @param object obj
*      Objeto que será formatado.
* @return String com o CNPJ Formatado.
*/

function formataCNPJ(obj) {
    try {

        var valor = obj ? obj.value : 'x';

        if (valor != 'x') {
            obj.value = formatCpfCnpj(obj.value, true, true);
        }

    } catch (err) {
        alert('Ocorreu um erro na função: function formataCNPJ(obj) \n Descrição:' + err);
        return obj.value;
    }
}

/**
* Valida e formatação do CEP e atualiza o campo de origem dos valores
* @param object obj
*      Objeto que será formatado.
* @return String com o CEP Formatado.
*/

function formataCEP(obj) {
    try {

        var valor = obj ? obj.value : 'x';

        if (valor != 'x') {
            obj.value = formatCep(obj.value, true);
        }

    } catch (err) {
        alert('Ocorreu um erro na função: function formataCEP(obj) \n Descrição:' + err);
        return obj.value;
    }
}

/**
* Valida e formatação do Telefone e atualiza o campo de origem dos valores
* @param object obj
*      Objeto que será formatado.
* @return String com o Telefone Formatado.
*/

function formataTelefone(obj) {
    try {

        var valor = obj ? obj.value : 'x';

        if (valor != 'x') {
            obj.value = formatTelefone(obj.value, true);
        }

    } catch (err) {
        alert('Ocorreu um erro na função: function formataTelefone(obj) \n Descrição:' + err);
        return obj.value;
    }
}

/**
* Valida e formatação do Telefone e atualiza o campo de origem dos valores
* @param object obj
*      Objeto que será formatado.
* @return String com o Telefone Formatado.
*/

function formataDdd(obj) {
    try {

        var valor = obj ? obj.value : 'x';

        if (valor != 'x') {
            obj.value = formatDdd(obj.value, true);
        }

    } catch (err) {
        alert('Ocorreu um erro na função: function formataTelefone(obj) \n Descrição:' + err);
        return obj.value;
    }
}

function indicarVaga(idVaga) {
    strNomeRemetente = "";
    strEmailRemetente = "";
    strNomeDestinatario = "";
    strEmailDestinatario = "";
    strComentario = "";

    strNomeRemetente = document.getElementById("nomeRemetente").value;
    strEmailRemetente = document.getElementById("emailRemetente").value;
    strNomeDestinatario = document.getElementById("nomeDestinatario").value;
    strEmailDestinatario = document.getElementById("emailDestinatario").value;
    strComentario = document.getElementById("comentario").value;

    if ((strNomeRemetente == "") || (strNomeRemetente == "Nome Remetente:")) {
        alert("Informe o Nome do Remetente corretamente.");
        document.getElementById("nomeRemetente").focus();
        return false;
    }

    if ((strEmailRemetente == "") || (strEmailRemetente == "Email Remetente:")) {
        alert("Informe o Email do Remetente corretamente.");
        document.getElementById("emailRemetente").focus();
        return false;
    }
    else {
        if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(strEmailRemetente))) {
            alert("Informe o Email do Remetente corretamente.");
            document.getElementById("emailRemetente").focus();
            return false;
        }
    }

    if ((strNomeDestinatario == "") || (strNomeDestinatario == "Nome Destinatário:")) {
        alert("Informe o Nome do Destinatário corretamente.");
        document.getElementById("nomeDestinatario").focus();
        return false;
    }

    if ((strEmailDestinatario == "") || (strEmailDestinatario == "Email Destinatário:")) {
        alert("Informe o Email do Destinatário corretamente.");
        document.getElementById("emailDestinatario").focus();
        return false;
    }
    else {
        if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(strEmailDestinatario))) {
            alert("Informe o Email do Destinatário corretamente.");
            document.getElementById("emailDestinatario").focus();
            return false;
        }
    }

    if (strComentario == "Comentários:") {
        document.getElementById("comentario").value = "";
    }

    strComentario = document.getElementById("comentario").value;

    /** Criando o objeto Ajax **/
    objAjax = createXMLHTTP();

    pstrParam = "idVaga=" + idVaga + "&rmt=" + strNomeRemetente + "&EmailRmt=" + strEmailRemetente + "&dest=" + strNomeDestinatario + "&Emaildest=" + strEmailDestinatario + "&comentario=" + strComentario;
    objAjax.open("GET", "../ajax/retornaIndicacoClientes.aspx" + "?" + pstrParam, true);

    $("#retornaAjaxIndica").html('Aguarde.Enviando Email de Indicação...');

    objAjax.onreadystatechange = function() {
        //Validando o status do retorno
        if (objAjax.readyState == 4) {

            if (objAjax.responseText.indexOf('SUCESSO') >= 0) {

                $("#retornaAjaxIndica").html('Indicação realizada com Sucesso.');
                alert("Indicação realizada com Sucesso.");
                document.forms[0].action = "Oportunidades.aspx";
                document.forms[0].submit();

            }
            else {
                $("#retornaAjaxIndica").html('Erro ao tentar Indicar Vaga. Por favor, tente novamente.');
                alert("Erro ao tentar Indicar Vaga. Por favor, tente novamente.");
                document.forms[0].action = "Oportunidades.aspx";
                document.forms[0].submit();
            }

        }
    }

    try {
        //Perceba que a requesição deve ser feita abaixo da função onreadystatechange, Não esqueça de colocar null se não houver nenhum parâmetro senão não funciona nos outros navegadores. 
        objAjax.send(pstrParam);
    } catch (err) {
        $("#retornaAjaxIndica").html('Erro ao tentar Indicar Vaga. Por favor, tente novamente.');
        alert("Erro ao tentar Indicar Vaga. Por favor, tente novamente.");
        document.forms[0].action = "Oportunidades.aspx";
        document.forms[0].submit();
    }

}

// ****************************************** Rolar produtos da home *****************
function RetornaDadosXmlContratos(pstrParam, pstrURL, pstrDiv) {
    var objAjax;

    var c_cp = document.getElementById('preechimentocp');
    var c_pj = document.getElementById('preechimentopj');

    var c_tipo = $("select[id*='selCntTipo']");
    var c_tipoI = $("input[id*='selCntTipo']");
    var c_nome = $("[id*='txtCntNome']");
    var c_cpf = $("input[id*='txtCntCpf']");
    var c_empresa = $("input[id*='txtCntEmpresa']");
    var c_razao = $("input[id*='txtCntRazao']");
    var c_resnome = $("input[id*='txtCntResNome']");
    var c_rescpf = $("input[id*='txtCntResCpf']");
    var c_cnpj = $("input[id*='txtCntCnpj']");
    var c_recebenome = $("input[id*='txtCntRecebimentoNome']");
    var c_endereco = $("input[id*='txtCntEndereco']");
    var c_bairro = $("input[id*='txtCntBairro']");
    var c_cidade = $("input[id*='txtCntCidade']");
    var c_estado = $("select[id*='selCtrEstado']");
    var c_estadoI = $("input[id*='selCtrEstado']");
    var c_cep = $("input[id*='txtCntCep']");

    var c_ddd = $("input[id*='txtCntDdd']");
    var c_telefone = $("input[id*='txtCntTelefone']");
    var c_celular = $("input[id*='txtCntCelular']");
    var c_email = $("input[id*='txtCntEmail']");
    var c_ok = $("input[id*='form1']");

    $('.jqmWindow.recupera').jqmHide();

    $(".recupera1").html('<div class="retornoAJAX">Buscando dados. Aguarde...</div>');

    /** Criando o objeto Ajax **/
    objAjax = createXMLHTTP();

    //var objAjax = createXMLHTTP();
    objAjax.open("GET", pstrURL + "?" + pstrParam, true);

    objAjax.onreadystatechange = function() {
        // Verifica se esta no estagio 4 (concluído) 
        if (objAjax.readyState == 1) {
            $(".recupera1").html('<div class="retornoAJAX">Iniciando processo. Aguarde...</div>');
            return false;
        }
        else if (objAjax.readyState == 2) {
            $(".recupera1").html('<div class="retornoAJAX">Processo em andamento. Aguarde...</div>');
            return false;
        }
        else if (objAjax.readyState == 3) {
            $(".recupera1").html('<div class="retornoAJAX">Concluindo processo. Aguarde...</div>');
            return false;
        }
        else if (objAjax.readyState == 4) {

            // Verifica se esta com status 200 (sucesso)
            if (objAjax.status == 200) {
                var xmldoc = objAjax.responseXML;

                if (xmldoc.childNodes.length > 0) {

                    var x_tipo = xmldoc.getElementsByTagName("TIPOCONTRATO")[0];

                    var x_nome = xmldoc.getElementsByTagName("FISICANOME")[0];
                    var x_cpf = xmldoc.getElementsByTagName("FISICACPF")[0];

                    var x_empresa = xmldoc.getElementsByTagName("JURIDICANOMEEMPRESA")[0];
                    var x_razao = xmldoc.getElementsByTagName("JURIDICARAZAOSOCIAL")[0];
                    var x_resnome = xmldoc.getElementsByTagName("JURIDICANOMERESPONSAVEL")[0];
                    var x_rescpf = xmldoc.getElementsByTagName("JURIDICACPFRESPONSAVEL")[0];
                    var x_cnpj = xmldoc.getElementsByTagName("JURIDICACNPJ")[0];

                    var x_recebenome = xmldoc.getElementsByTagName("RESPONSAVELRECEBIMENTO")[0];
                    var x_endereco = xmldoc.getElementsByTagName("ENDERECO")[0];
                    var x_bairro = xmldoc.getElementsByTagName("BAIRRO")[0];
                    var x_cidade = xmldoc.getElementsByTagName("CIDADE")[0];
                    var x_estado = xmldoc.getElementsByTagName("ESTADO")[0];
                    var x_cep = xmldoc.getElementsByTagName("CEP")[0];

                    var x_ddd = xmldoc.getElementsByTagName("DDD")[0];
                    var x_telefone = xmldoc.getElementsByTagName("TELEFONE")[0];
                    var x_celular = xmldoc.getElementsByTagName("CELULAR")[0];
                    var x_email = xmldoc.getElementsByTagName("EMAIL")[0];

                    c_tipo.val(atualizaCampo(c_tipo, x_tipo));

                    if (c_tipo.val() == 'fisica')
                        c_nome.attr("value", atualizaCampo(c_nome, x_nome));
                    else if (c_tipo.val() == 'juridica') {
                        c_empresa.attr("value", atualizaCampo(c_empresa, x_empresa));
                        c_razao.attr("value", atualizaCampo(c_razao, x_razao));
                        c_resnome.attr("value", atualizaCampo(c_resnome, x_resnome));
                        c_rescpf.attr("value", atualizaCampo(c_rescpf, x_rescpf));
                    }

                    c_recebenome.attr("value", atualizaCampo(c_recebenome, x_recebenome));
                    c_endereco.attr("value", atualizaCampo(c_endereco, x_endereco));

                    c_bairro.attr("value", atualizaCampo(c_bairro, x_bairro));
                    c_cidade.attr("value", atualizaCampo(c_cidade, x_cidade));
                    c_estado.attr("value", atualizaCampo(c_estado, x_estado));
                    c_estadoI.attr("value", arrEstados[positionArray(c_estado.val(), arrEstadosSigla)]);
                    c_cep.attr("value", atualizaCampo(c_cep, x_cep));
                    c_ddd.attr("value", atualizaCampo(c_ddd, x_ddd));
                    c_telefone.attr("value", atualizaCampo(c_telefone, x_telefone));
                    c_celular.attr("value", atualizaCampo(c_celular, x_celular));
                    c_email.attr("value", atualizaCampo(c_email, x_email));

                    $(".recupera1").html('<div class="retornoAJAX">Dados recuperados com sucesso!</div>');
                    c_ok.focus();
                    return false;
                }
                else {
                    $(".recupera1").html('<div class="retornoAJAX">Nenhum dado encontrado.</div>');
                    return false;
                }
            }
            else {
                $(".recupera1").html('<div class="retornoAJAX">Nenhum dado encontrado.</div>');
                c_tipo.focus();
                return false;
            }
        }
        else {
            $(".recupera1").html('<div class="retornoAJAX">Nenhum dado encontrado.</div>');
            c_tipo.focus();
            return false;
        }
    }

    try {
        //Perceba que a requesição deve ser feita abaixo da função onreadystatechange, Não esqueça de colocar null se não houver nenhum parâmetro senão não funciona nos outros navegadores. 
        objAjax.send(pstrParam);
    } catch (err) {
        $(".recupera1").html('<div class="retornoAJAX">Nenhum dado encontrado.</div>');
        c_tipo.focus();
        return false;
    }

}

function atualizaCampo(objA, objB) {

    try {
        return (objB.childNodes.length >= 1) ? objB.childNodes[0].nodeValue : "";

    } catch (err) {
        return false;
    }
}

function retornaDados() {
    try {

        var strTipo = $("select[id*='selCntTipo']").val();
        var strCpf = $("input[id*='txtCntCpf']").val();
        var strCnpj = $("input[id*='txtCntCnpj']").val();

        var recupera1 = $("[class*='recupera1']");
        var recupera2 = $("[class*='recupera2']");

        var strObj = (strTipo == 'fisica') ? strCpf : strCnpj;
        var strDiv = (strTipo == 'fisica') ? recupera1 : recupera2;
        if (strObj != '' && (isCnpj(strObj) || isCpf(strObj))) {
            RetornaDadosXmlContratos('vl=' + strObj, '../ajax/xmlDadosPedidosOnline.aspx', strDiv);
        } else
            alert('Dados digitados estão incorretos.');

    } catch (err) {
        alert('Ocorreu um erro na função: retornaDados(obj) \n \n Descrição:' + err);
        return false;
    }
}

/**
* Recupera dados de um objeto
* @param object obj
*      Objeto que será manipulado.
* @param object campo
*      Objeto que será manipulado.
*/

function recuperaDados(obj) {
    try {
        var strTipo = $("select[id*='selCntTipo']");
        var strCpf = $("input[id*='txtCntCpf']");
        var strCnpj = $("input[id*='txtCntCnpj']");

        // Verifica se é um CPF ou um CNPJ
        if (strTipo.val() == 'fisica') {
            // Verifica se o campo esta preenchido
            if (strCpf.val() != '' && strCpf.val() != 'CPF:') {
                // Verifica se o CPF pode ser válido
                if (strCpf.val().length >= 14 && isCpf(strCpf.val()) && strCpf.attr("id").indexOf('txtCntCpf') >= 0) {
                    // Verifica se a opção de recuperar foi marcada.
                    if (obj.checked == true)
                        $('.jqmWindow.recupera').jqmShow();
                }
                else {
                    obj.checked = false;
                    alert('O CPF informado não é valido. Confira os números digitados e tente novamwente.');
                    return false;
                }
            }
            else {
                obj.checked = false;
                alert('Preencha primeiro o campo CPF para vericar se existem dados cadastrados para este CPF.');
                return false;
            }
        }
        else if (strTipo.val() == 'juridica') {
            // Verifica se o campo esta preenchido
            if (strCnpj.val() != '' && strCnpj.val() != 'CNPJ DA EMPRESA:') {
                // Verifica se o CNPJ pode ser válido
                if (strCnpj.val().length >= 18 && isCnpj(strCnpj.val()) && strCnpj.attr("id").indexOf('txtCntCnpj') >= 0) {
                    // Verifica se a opção de recuperar foi marcada.
                    if (obj.checked == true)
                        $('.jqmWindow.recupera').jqmShow();
                }
                else {
                    obj.checked = false;
                    alert('O CNPJ informado não é valido. Confira os números digitados e tente novamwente.');
                    return false;
                }
            }
            else {
                obj.checked = false;
                alert('Preencha primeiro o campo CNPJ para vericar se existem dados cadastrados para este CNPJ.');
                return false;
            }
        }
        else {
            return false;
        }
    } catch (err) {
        alert('Ocorreu um erro na função: function recuperaDados(obj) \n Descrição:' + err);
        return false;
    }
}

/**
* Recupera dados de um objeto
* @param object obj
*      Objeto que será manipulado.
* @param object campo
*      Objeto que será manipulado.
*/

function recuperaAgora(obj, campo) {
    // Verifica se a opção de recuperar foi marcada.
    if (obj.checked == true) {
        $('.jqmWindow.recupera').jqmShow();

    }
}
