var porta_destino = 80;
var timeout = 7000;
var url_destino_padrao = "http://" + window.location.hostname + ":" + porta_destino + "/";
var cidade_clicada = null;
var reload_erros = null;
var erroajax = "Seu navegador n\u00e3o oferece suporte a Ajax.\n Esta p\u00e1gina n\u00e3o funcionar\u00e1 corretamente.";
var errosemconexao = "N\u00e3o foi poss\u00edvel carregar os dados das cidades. Conex\u00e3o com o servidor foi perdida. \nTente escolher a op\u00e7\u00e3o novamente.";
var errourlajax = "URL inalcan\u00e7\u00e1vel.";
var carregandocidade = "Carregando cidades...";
var compl_erro1 = "O seguinte erro foi encontrado e precisa ser corrigido:\n\n";
var compl_erro2 = "Os seguintes erros foram encontrados e precisam ser corrigidos:\n\n";
var erronome = "O campo Nome deve ser preenchido.\n";
var errosobrenome = "O campo Sobrenome deve ser preenchido.\n";
var erropais = "O campo Pais deve ser preenchido.\n";
var errocidade = "O campo Cidade deve ser preenchido.\n";
var erroestado = "O campo Estado deve ser preenchido.\n";
var erroemail = "O campo E-mail deve ser preenchido.\n";
var erromotivo = "O campo Motivo do contato deve ser preenchido.\n";
var erromensagem = "O campo Mensagem deve ser preenchido.\n";
var erromensagemtm =  "A mensagem n\u00e3o pode exceder o limite de 1.000 caracteres.\n";
var erroddif = "Formato incorreto para o campo DDI.\n";
var erroemailf = "Formato incorreto para o campo E-mail.\n";
var errodddf = "Formato incorreto para o campo DDD.\n";
var errotelefonef = "Formato incorreto para o campo Telefone.\n";
var erroramalf = "Formato incorreto para o campo Ramal.\n";
var errocepf = "Formato incorreto para o campo CEP.\n";
var errocep = "O campo CEP deve ser preenchido.\n";
var errocnpjf = "Formato incorreto para o campo CNPJ.\n";
var errocnpj = "O campo CNPJ deve ser preenchido.\n";
var errocpff = "Formato incorreto para o campo CPF.\n";
var errocpfi = "CPF inv\u00e1lido.\n"
var errocpf = "O campo CPF deve ser preenchido.\n";
var errotipopessoa = "O campo Tipo de pessoa deve ser preenchido.\n";
var errovinculo = "O campo Educacional ou Institucional deve ser preenchido.\n";
var errovinculoempresarial = "O campo Empresa deve ser preenchido.\n";

function abreAjax()
{
var ajax;
try
{
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
	try
	{
	ajax = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(ex)
	{
		try
		{
		ajax = new XMLHttpRequest();
		}
	        catch(exc)
		{
		ajax = null;
		alert(erroajax);
		}
	}
}
return ajax;
}

function tipoPessoa(oCmbTipoPessoa)
{
try{
cmb_pais = document.forms[0].ddlPais;

if(oCmbTipoPessoa == null )
{
oCmbTipoPessoa = document.forms[0].ddlTipodePessoa;
}
	if(oCmbTipoPessoa.options[oCmbTipoPessoa.selectedIndex].value == 1)
    {
		document.getElementById("tblCPF").style.display = "block";
		document.getElementById("tblCNPJ").style.display = "none";
	}
	if(oCmbTipoPessoa.options[oCmbTipoPessoa.selectedIndex].value == 2)
	{
		document.getElementById("tblCPF").style.display = "none";
		document.getElementById("tblCNPJ").style.display = "block";
	}
	if(oCmbTipoPessoa.options[oCmbTipoPessoa.selectedIndex].value == "")
	{
	document.getElementById("tblCPF").style.display = "none";
	document.getElementById("tblCNPJ").style.display = "none";
	}
}catch(e){}
}

function setVinculo(vinculo)
{
try{
var f = document.forms[0];
    if (f)
    {
    f = f.elements["rblVinculo"];
    }
    if (f)
    {
        if (typeof f.length == 'undefined')
        {
        f = [ f ];
        }
        for (var i = 0; i < f.length; i++)
        {
           if (f[i].value == vinculo )
           {
           f[i].checked = "true";
           }
        }
    }
    dimenciona();
   }catch(e){}
}

function dimenciona()
{
try{
var oEducacional = document.forms[0].rblVinculo[0].checked;
var oEmpresarial = document.forms[0].rblVinculo[1].checked;
var oParente =  document.forms[0].rblVinculo[2].checked;
var oComunidade = document.forms[0].rblVinculo[3].checked;

    if(oEmpresarial == true)
	{ 
		document.getElementById("tblEmpresarial").style.display = "block";
		document.getElementById("tblParente").style.display = "none";
		document.getElementById("tblInstitucional").style.display = "none";
	}
	else if(oEducacional == true)
	{
		document.getElementById("tblInstitucional").style.display = "block";
		document.getElementById("tblParente").style.display = "none";
		document.getElementById("tblEmpresarial").style.display = "none";
	}
	else if(oParente == true)
	{
		document.getElementById("tblParente").style.display = "block";
		document.getElementById("tblInstitucional").style.display = "none";
		document.getElementById("tblEmpresarial").style.display = "none";
	}
	else if(oComunidade == true )
	{
		document.getElementById("tblParente").style.display = "none";
		document.getElementById("tblInstitucional").style.display = "none";
		document.getElementById("tblEmpresarial").style.display = "none";
	}
}catch(e){}
}
	
function getAjax(url_fonte, nome_parametro,valor_parametro,id_label_aguarde, texto_aguarde,timeout,a,mu)
{
if(mu==null){mu = 0;}
if(a==null){a = 0;}
var tryAgain = function (){ a++;document.getElementById("lblConecta").innerHTML=a; getAjax(url_fonte, nome_parametro,valor_parametro,id_label_aguarde, texto_aguarde,timeout,a,mu); }
var ajax = abreAjax();
var timer = setTimeout( 
            function ()
            { 
                try{
                    if(a == 7){throw "";}
                    ajax.abort();
                    ajax.onreadystatechange = null;
                    setTimeout(tryAgain, timeout);
                }
                catch(e)
                {
                    alert(errosemconexao);
                    document.forms[0].ddlCidade.disabled = false;
                    document.forms[0].ddlEstado.disabled = false;
                    document.getElementById("lblAguarde").innerHTML = "";
                }
            }, timeout);
            
if(ajax && document.forms[0].ddlEstado.options[document.forms[0].ddlEstado.selectedIndex].value != "")
{
document.forms[0].ddlCidade.disabled = true;
document.forms[0].ddlEstado.disabled = true;
    var url_destino = url_destino_padrao + url_fonte; 
    ajax.open("POST", url_destino, true);
   
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.onreadystatechange = function()
	{
	    document.getElementById(id_label_aguarde).style.display="inline";
	    document.getElementById(id_label_aguarde).innerHTML = texto_aguarde;
	  
	    if(mu == 0)
	    {
	    document.forms[0].ddlCidade.options.length = 0;
	    }
	    if(ajax.readyState != 4)
	    {
	    return;
	    }
	    
	    clearTimeout(timer); // readyState == 4, nao precisa mais de timer.
	    document.getElementById(id_label_aguarde).style.display="none";

	   if(ajax.status == 200)
	   { // OK
	   processXML(ajax.responseXML,mu);
	   }
	   else if (ajax.status >= 400 && ajax.status < 500)
	   {
	   alert(errourlajax);
	   }
	   else if (ajax.status >= 500)
	   { // erro do servidor, tentar de novo apos o delay
	   setTimeout(tryAgain, timeout);
	   }
	  
     }
var params = nome_parametro + "=" + valor_parametro; 

ajax.send(params);
}
}

function processXML(obj,mu)
{

// mu = 0. limpa combo antes de popular
// mu = 1. nao limpa combo antes de popular
var dataArrayb   = obj.getElementsByTagName("cidade");
if(mu == 0){ document.forms[0].ddlCidade.options.length = 0;}

    if(dataArrayb.length > 0)
    {
        for(var i = 0 ; i < dataArrayb.length ; i++)
        {
            var item = dataArrayb[i];
		    var codigo    =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
            var descricao =  item.getElementsByTagName("descricao")[0].firstChild.nodeValue;
            var idOpcao = document.forms[0].ddlCidade;
            var novo = document.createElement("option");
	        novo.setAttribute("id", "opcoes");
	        novo.value = codigo;
	        novo.text  = descricao;
		    document.forms[0].ddlCidade.options.add(novo);
        }
        if(mu == 0)
        {
            mu = 1;
            var novoSN = document.createElement("option");
            novoSN.setAttribute("id", "opcoes");
            novoSN.value = "";
            novoSN.text  = "----------";
            document.forms[0].ddlCidade.options.add(novoSN);
            getAjax('XmlReturnCidade.aspx', 'EstadoId',document.forms[0].ddlEstado.options[document.forms[0].ddlEstado.selectedIndex].value,'lblAguarde',carregandocidade,3000,null,mu);
        }
        else
        {
            document.forms[0].ddlCidade.disabled = false;
            document.forms[0].ddlEstado.disabled = false;
            // se for reload, não executar a função abaixo;
            if(reload_erros == null || reload_erros == false)
            {document.forms[0].ddlEstado.focus();  }
            reload_erros = false;
        }
        // reload da cidade clicada
        if(cidade_clicada != null)
        {
         gatilhoCidade(cidade_clicada)
        }
    }
    else
    {
    document.forms[0].ddlCidade.options.length = 0;
    }	
    return dataArrayb.length;
}

function processXML_A(obj){
    var dataArrayb   = obj.getElementsByTagName("cidade");
    if(dataArrayb.length > 0)
    {
        for(var i = 0 ; i < dataArrayb.length ; i++)
        {
            var item = dataArrayb[i];
		    var codigo    =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
            var descricao =  item.getElementsByTagName("descricao")[0].firstChild.nodeValue;
            var idOpcao = document.forms[0].ddlCidade;
            var novo = document.createElement("option");
	        novo.setAttribute("id", "opcoes");
	        novo.value = codigo;
	        novo.text  = descricao;
		    document.forms[0].ddlCidade.options.add(novo);
        }
        // reload da cidade clicada
        if(cidade_clicada != null)
        {
        gatilhoCidade(cidade_clicada)
        }
    }
    else
    {
    document.forms[0].ddlCidade.options.length = 0;
    }	
    return dataArrayb.length;
}

function processXML_B(obj){

    var dataArrayb   = obj.getElementsByTagName("cidade");
    if(dataArrayb.length > 0)
    {
        for(var i = 0 ; i < dataArrayb.length ; i++)
        {
        var item = dataArrayb[i];
		var codigo    =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
        var descricao =  item.getElementsByTagName("descricao")[0].firstChild.nodeValue;
        var idOpcao = document.forms[0].ddlCidade;
        var novo = document.createElement("option");
	    novo.setAttribute("id", "opcoes");
	    novo.value = codigo;
	    novo.text  = descricao;
		document.forms[0].ddlCidade.options.add(novo);
        }
    }
    else
    {
    document.forms[0].ddlCidade.options.length = 0;
    }	
    return dataArrayb.length;
}
	   
function passcidade()
{
try
{
    var ElementoCidade = document.forms[0].elements['ddlCidade'];
    var textElementoCidade = ElementoCidade.options[ElementoCidade.selectedIndex].text;
    var codigoElementoCidade = ElementoCidade.options[ElementoCidade.selectedIndex].value;
    if(textElementoCidade != null && textElementoCidade != "" && textElementoCidade != "----------")
    {
    document.getElementById("txtCidade").value = textElementoCidade;
    document.getElementById("txtCidadeCodigo").value = codigoElementoCidade;
    }
    else
    {
    document.getElementById("txtCidadeCodigo").value = null; 
    }
    
}
catch(a){}
}

function passestado()
{
var estado = document.forms[0].ddlEstado.options[document.forms[0].ddlEstado.selectedIndex].text;
    if(estado != "" && estado != null && estado != "----------")
    {
    document.getElementById("txtEstado").value = estado;
    }
}

function passvinculo()
{
var vinculo = getRadioValue("rblVinculo");  
document.getElementById("txtVinculo").value =  vinculo;
}

function getRadioValue(radioInputName)
{
try
{
var f = document.forms[0];
    if (f)
    {
    f = f.elements[radioInputName];
    }
    if (f)
    {
        if (typeof f.length == 'undefined')
        {
        f = [ f ];
        }
        for (var i = 0; i < f.length; i++)
        {
           if (f[i].checked)
           {
           return f[i].value;
           }
        }
    }
}catch(e){}
}

function validaPais(cmb_pais)
{
try
{
// recupera botão desabilitado, caso precise
document.getElementById("btnEnviar").disabled = false;
}
catch(e){}
try
{
    if(cmb_pais == null)
    {
       cmb_pais = document.forms[0].ddlPais;
    }
    if(cmb_pais.options[cmb_pais.selectedIndex].value != 76)
    {
        // quando opção não é brasil 
        // retira o modelo e a validação do CEP de países estrangeiros
        document.getElementById("lblmodelcepf").innerHTML = "&nbsp;"; 
        // tamanho do texto do CEP estrangeiro é desconhecido
        document.getElementById("txtCep").maxLength = "15";
        // limpando o campo
        //document.getElementById("txtCep").value = "";
        // CEP nao e obrigatorio
        document.getElementById("lblCepObrigatorio").innerHTML = "&nbsp;";
        // Tipo de Pessoa nao é obrigatório
        document.getElementById("lblTipoPessoaObrigatorio").innerHTML = "&nbsp;";
        document.forms[0].ddlCidade.disabled = true;
        document.forms[0].ddlEstado.disabled = true;
        document.forms[0].ddlEstado.selectedIndex=0;
        document.forms[0].txtDDItelefone.value = "";
        document.getElementById("tblEstadoCidade").style.display = "none";
        document.forms[0].ddlCidade.options.length = 0;
        // Campo de CPF será mantido , mas não obrigatório
    }
    else if(cmb_pais.options[cmb_pais.selectedIndex].value == 76)
    {
        // comoloca o modelo de CEP para o Brasíl
        document.getElementById("lblmodelcepf").innerHTML = "<em>Modelo:11111-222</em>"; 
        // tamanho do texto do CEP brasileiro é definido
        document.getElementById("txtCep").maxLength = "9";
        // CEP e obrigarotio
        document.getElementById("lblCepObrigatorio").innerHTML = "*";
        // Tipo de Pessoa é obrigatório
        document.getElementById("lblTipoPessoaObrigatorio").innerHTML = "*";
        
        // limpando o campo
        // document.getElementById("txtCep").value = "";
        
        document.getElementById("tblEstadoCidade").style.display = "block";
        document.getElementById("tblComboTP").style.display = "block";
        tipoPessoa(document.forms[0].ddlTipodePessoa);
        document.forms[0].ddlCidade.disabled = false;
        document.forms[0].ddlEstado.disabled = false;
        document.forms[0].txtDDItelefone.value = "55";
        try
        {
            if(document.forms[0].ddlEstado.options[document.forms[0].ddlEstado.selectedIndex].value != "")
            {
            document.forms[0].ddlCidade.selectedIndex=0;
            getAjax('XmlRetunCidadeMaisUtilizada.aspx', 'EstadoId',document.forms[0].ddlEstado.options[document.forms[0].ddlEstado.selectedIndex].value,'lblAguarde','Carregando cidades...',3000,null,0)
            }
        }catch(e){}
    }
}catch(e){}
}


function validador()
{
try
{
// desabilitar o botão de enviar
document.getElementById("btnEnviar").disabled = true;
var toterro = 0;
var TipodePessoa = document.forms[0].ddlTipodePessoa;
var cnpj = document.forms[0].txtCNPJ;
var cpf = document.forms[0].txtCPF;
var nome =document.forms[0].txtNome;
var sobrenome = document.forms[0].txtSobrenome;
var vinculoSelecionado = getRadioValue("rblVinculo");
var vinculoEducacional = document.forms[0].ddlEducacional;
var vinculoInstitucional = document.forms[0].ddlInstitucional;
var vinculoEmpresarial = document.forms[0].txtEmpresa;
var pais = document.forms[0].ddlPais;
var estado = document.forms[0].ddlEstado;
var cidade = document.forms[0].ddlCidade;
var email = document.forms[0].txtEmail;
var Motivo = document.forms[0].ddlMotivo;
var Mensagem = document.forms[0].txtMensagem;
var cep = document.forms[0].txtCep;
var ddi = document.forms[0].txtDDItelefone;
var ddd= document.forms[0].txtDDDTelefone;
var telefone= document.forms[0].txtTelefone;
var ramal= document.forms[0].txtRamal;
var erro = "";

if(nome.value == ""){erro += erronome; toterro++; }
if(sobrenome.value == ""){erro += errosobrenome; toterro++; }
if(pais.options[pais.selectedIndex].value != parseInt(pais.options[pais.selectedIndex].value)){erro += erropais; toterro++;}

if(TipodePessoa.options[TipodePessoa.selectedIndex].value == "" && pais.options[pais.selectedIndex].value == "76")
{
erro += errotipopessoa; toterro++;
}
if(TipodePessoa.options[TipodePessoa.selectedIndex].value != "" && pais.options[pais.selectedIndex].value == "76")
{
    if(TipodePessoa.options[TipodePessoa.selectedIndex].value == "1")
    { 
        if(pais.options[pais.selectedIndex].value == "76" && cpf.value == ""){erro+= errocpf;toterro++;}
        if(cpf.value != "" ){erro += validaCPF(cpf);if(erro != "")toterro++;}
    }
    if(TipodePessoa.options[TipodePessoa.selectedIndex].value == "2")
    {
        if(pais.options[pais.selectedIndex].value == "76" && cnpj.value == ""){erro+= errocnpj;toterro++;}
        if(cnpj.value != "" ){erro += validaCNPJ(cnpj);if(erro != "")toterro++;}
    }
}
if(TipodePessoa.options[TipodePessoa.selectedIndex].value != "" && pais.options[pais.selectedIndex].value != "76")
{
    if(TipodePessoa.options[TipodePessoa.selectedIndex].value == "1")
    {
        if(cpf.value != "" ){erro += validaCPF(cpf);if(erro != "")toterro++;}
    }
    if(TipodePessoa.options[TipodePessoa.selectedIndex].value == "2")
    {
        if(cnpj.value != "" ){erro += validaCNPJ(cnpj);if(erro != "")toterro++;}
    }
}

// Válida vinculo Empresarial
if(vinculoSelecionado == "1")
{
    if(vinculoEmpresarial.value == "")
    {
        erro += errovinculoempresarial; toterro++;
    }
}

// Válida vínculo Educacional e Institucional
if(vinculoSelecionado == "2")
{
    if(vinculoEducacional.options[vinculoEducacional.selectedIndex].value == "1" && vinculoInstitucional.options[vinculoInstitucional.selectedIndex].value == "1")
    {
        erro += errovinculo; toterro++;
    }    
}

if(pais.options[pais.selectedIndex].value == "76" && cidade.selectedIndex == -1 ){erro += errocidade; toterro++;}
if(pais.options[pais.selectedIndex].value == "76" && cidade.selectedIndex != -1){ if(cidade.options[cidade.selectedIndex].value == ""){erro += errocidade; toterro++; }}
if(pais.options[pais.selectedIndex].value == "76" && estado.options[estado.selectedIndex].value == "" ){erro += erroestado; toterro++;}
if(pais.options[pais.selectedIndex].value == "76" && cep.value != ""){erro += validaCEP(cep);if(erro != "")toterro++; }
if(pais.options[pais.selectedIndex].value == "76" && cep.value == ""){erro += errocep; toterro++;}
if(email.value != ""){erro += validaEmail(document.forms[0].txtEmail); if(erro != "")toterro++;}else{erro += erroemail; toterro++;}
if(ddi.value != ""){erro += validaDDI(ddi);if(erro != "")toterro++;}
if(ddd.value != ""){erro += validaDDD(ddd);if(erro != "")toterro++;}
if(telefone.value != ""){erro += validaTelefone(telefone);if(erro != "")toterro++;}
if(ramal.value != ""){erro += validaRamal(ramal);if(erro != "")toterro++;}
if(Motivo.options[Motivo.selectedIndex].value == "" ){erro += erromotivo; toterro++;}
if(Mensagem.value == ""){erro += erromensagem;toterro++;}else{erro += validaMensagem(Mensagem);if(erro != "")toterro++;}

if (erro != "")
{
document.getElementById("btnEnviar").disabled = false;
var compl_erro;
if(toterro > 1)compl_erro=compl_erro2;
else compl_erro=compl_erro1;
alert( compl_erro + erro);
return false;
}
else
{
passcidade();
passestado();
passvinculo();
return true;
}
}catch(e){ return false;}
}

function validaMensagem(Mensagem)
{
    if(Mensagem.lenght > 1000)
    {
    return erromensagemtm;
    }
    else
    {
    return "";
    }
}

function validaDDI(ddi)
{
try
{
var checkDDI =  /^\d{1,3}$/;
            var str = ddi.value;
            if(checkDDI.test(str))
            {
                return "";
            }
            else
            {
                var erro  = erroddif;
                return erro
            }

}catch(e){}
}

function validaDDD(ddd)
{
try
{
 var checkDDD =  /^\d{1,3}$/;
            var str = ddd.value;
            if(checkDDD.test(str))
            {
                return "";
            }
            else
            {
                var erro  = errodddf;
                return erro
            }
}catch(e){}
}

function validaTelefone(telefone)
{
try
{
 var checkTelefone =  /^[0-9-]{1,12}$/;
            var str = telefone.value;
            if(checkTelefone.test(str))
            {
                return "";
            }
            else
            {
                var erro  = errotelefonef;
                return erro
            }
}catch(e){}
}
function validaRamal(ramal)
{
try
{
 var checkRamal =  /^\d{1,8}$/;
            var str = ramal.value;
            if(checkRamal.test(str))
            {
                return "";
            }
            else
            {
                var erro  = erroramalf;
                return erro
            }
}catch(e){}
}


function validadorcep(e)
{
    if(document.forms[0].ddlPais.options[document.forms[0].ddlPais.selectedIndex].value == "76" )
    {
       
        var keynum;
        var keychar;
        var numcheck;
        if(window.event) // IE
        {
        keynum = e.keyCode;
        }
        else if(e.which) // Netscape/Firefox/Opera
        {
        keynum = e.which;
        }
        if(keynum != 8 && keynum != "undefined")
        {
         formatarCEP('txtCep');
        keychar = String.fromCharCode(keynum);
        numcheck =  /^[0-9]$/;
        return numcheck.test(keychar);
        }
    }
}


function validaCEP(cep)
{
    try
    {
        if(cep.value != "" && document.forms[0].ddlPais.options[document.forms[0].ddlPais.selectedIndex].value == "76")
        {
            var checkCEP =  /^\d{5}.\d{3}$/;
            var str = cep.value;
            if(checkCEP.test(str))
            {
                return "";
            }
            else
            {
                var erro  = errocepf;
                return erro
            }
        }
        else
        {
        return "";
        }
    }catch(e){}
}


function validaCNPJ(cnpj)
{
try{

    if (cnpj.value != "")
    {
        var chekCNPJ = /^\d{2}.\d{3}.\d{3}\/\d{4}-\d{2}$/;
        var str = cnpj.value;
        if(chekCNPJ.test(str))
        {
            // string no fomrato correto
        }
        else
        {
            // string no formato incoreto
            var erro = errocnpjf;
        }
    }
    }catch(e){}
    if(erro != null)
    {
    return erro;
    }
    else
    {
    str =  str.substring(0,2) + str.substring(3,6) + str.substring(7,10) + str.substring(11,15) + str.substring(16,18);
    var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
    digitos_iguais = 1;
    if (str.length < 14 && str.length < 15)
    {
        return errocnpjf;
    }
    for (i = 0; i < str.length - 1; i++)
            if (str.charAt(i) != str.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            tamanho = str.length - 2
            numeros = str.substring(0,tamanho);
            digitos = str.substring(tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return errocnpjf;
            tamanho = tamanho + 1;
            numeros = str.substring(0,tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1)){ return errocnpjf;}
                 
            return "";
            }
      else{ return errocnpjf;}
      } 
}

function validaCPF(cpf)
{
try{
    if (cpf.value != "")
    {
        var chekCPF = /^\d{3}.\d{3}.\d{3}-\d{2}$/;
        var str = cpf.value;
        if(chekCPF.test(str))
        {
            // Segunda validação do CPF
            var erro = validaCPFsec(cpf);
            return erro;
        }
        else
        {
            // string no formato incoreto
            document.forms[0].txtCPF.select();
            var erro = errocpff;
            return erro;
        }
    }
    else
    {
    cpf.value == "";
    return "";
    }
    }catch(e){}
}


function validaCPFsec(vcpf)
{
cpf = vcpf.value;
var cpf =  cpf.substring(0,3) + cpf.substring(4,7) + cpf.substring(8,11) + cpf.substring(12,14);
var erro = ""; 
if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
{
    erro = errocpfi;
}
var a = [];
var b = new Number;
var c = 11;
for (i=0; i<11; i++)
{   
    a[i] = cpf.charAt(i);
    if (i < 9) b += (a[i] * --c);
}
if ((x = b % 11) < 2)
{
    a[9] = 0;
}
else
{
    a[9] = 11-x;
}

b = 0;
c = 11;

for(y=0; y<10; y++)
{
    b += (a[y] * c--);
}

if ((x = b % 11) < 2)
{
    a[10] = 0;
}
else
{
    a[10] = 11-x;
}
if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]))
{
    erro = errocpfi;
}
return erro;       
}

function validaEmail(email)
{
    var valEmail = email.value;
    if(checa(valEmail) == true)
{
    return "";
}
else
{
    var erro = erroemailf;
    return erro;
}
}

function checa(valMail)
{		
   var testeA = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; 
   var testeB = /^[a-zA-Z0-9\-\.\_\}\{\^\/\+\#\%\&\-\!\?\=\|\~\*]+\@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})$/; 
   if(!testeA.test(valMail) && testeB.test(valMail))
   { 
       return true; 
   }
   else
   { 
       return false; 
   } 	
}

function gatilhoCidade(idCidade)
{
try{
var combocidade = document.forms[0].ddlCidade;
var largura = combocidade.options.length;

    for(i=0;i<largura; i++)
    {
        if(combocidade.options[i].value == idCidade)
        {
      
        combocidade.selectedIndex = i;
        largura = 0;
        }
    }
   } catch(e){}
}

function verificaTamanho(target, maximo, cont)
{
	try{
	var strLen = 0;
	var contador = cont;
	if( target.value != ""  )
	{
		strLen = strLen + target.value.length;
	}
	
	if( strLen == 1 && target.value.substring(0,1) == " " )
    {
        target.value = "";
		strLen = strLen - 1;
    }
    
    if( strLen > maximo )
	{
		target.value = target.value.substring(0,maximo);
		strLen = strLen - 1;
	}
		
	contador.innerHTML = maximo - strLen;
	}catch(e){}			
}

function formatarCNPJ(obj)
{                       
            var elemento = document.getElementById(obj);
            if (elemento.value.length == 2 || elemento.value.length == 6)
            {
                        elemento.value += "."
            }
            else if (elemento.value.length == 10)       
            {
                        elemento.value += "/"
            }
            else if (elemento.value.length == 15)       
            {
                        elemento.value += "-"
            }
}
function formatarCPF(obj)
{                       
  var elemento = document.getElementById(obj);
  if (elemento.value.length == 3 || elemento.value.length == 7)
  {
              elemento.value += "."
  }
  else if (elemento.value.length == 11)       
  {
              elemento.value += "-"
 }
}

function formatarCEP(obj)
{
    if(document.forms[0].ddlPais.options[document.forms[0].ddlPais.selectedIndex].value == "76" )
    {                       
       var elemento = document.getElementById(obj);
        if (elemento.value.length == 5 )
        {
            elemento.value += "-"
        }
    }
}

function validadorcpf(e)
{
    
      
        var keynum;
        var keychar;
        var numcheck;

        if(window.event) // IE
        {
        keynum = e.keyCode;
        }
        else if(e.which) // Netscape/Firefox/Opera
        {
        keynum = e.which;
        }
      
        if(keynum != 8 && keynum != "undefined")
        {
        formatarCPF('txtCPF');
        keychar = String.fromCharCode(keynum);
        numcheck =  /^[0-9]$/;
        return numcheck.test(keychar);
        }
}

function validadorcnpj(e)
{
    
    var keynum;
    var keychar;
    var numcheck;
    if(window.event) // IE
    {
    keynum = e.keyCode;
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
    keynum = e.which;
    }
    if(keynum != 8 && keynum != "undefined")
    {
    formatarCNPJ('txtCNPJ');
    keychar = String.fromCharCode(keynum);
    numcheck =  /^[0-9]$/;
    return numcheck.test(keychar);
    }
}




