﻿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('Gostariamos de saber seu nome, para que possamos nos comunicarmos 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('Gostariamos de saber seu nome, para que possamos nos comunicarmos 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;
	}
}

// ****************************************** 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();
		
	}
}