function validaCadastro() {
  if($('assinatura_tipo').value == 'juridica') {
    if($('razao').value == "") {
      $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> informe a raz&atilde;o social do contratante";
      return false;
    } else if($('cnpj').value == "") {
      $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> informe o cnpj do contratante";
      return false;
    }
    if(!validaCNPJ()) {
      return false;
    }
  }
  if($('nome').value == "") {
    $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> informe o nome do contratante";
    return false;
  } else if($('cpf').value == "") {
    $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> informe o CPF do contratante";
    return false;
  } else if($('cep').value == "") {
    $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> informe o CEP do contratante";
    return false;
  } else if($('telefone').value == "") {
    $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> informe o telefone do contratante";
    return false;
  } else if($('endereco').value == "") {
    $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> informe o endere&ccedil;o do contratante";
    return false;
  } else if($('numero').value == "") {
    $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> informe o endere&ccedil;o do contratante";
    return false;
  } else if($('cidade').value == "") {
    $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> informe a cidade do contratante";
    return false;
  } else if($('email').value == "") {
    $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> informe o email do contratante";
    return false;
  } else if($('lista').value == "") {
    $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> informe o nome de sua lista";
    return false; 
  }
  if(validaCPF() == false) {
    return false;
  }
  if(validaEmail() == false) {
    return false;
  }
  verificaLista();
  if(validaLista() == false) {
    return false;
  }
  if($('resposta').value == 'stop') {
    $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> usu&aacute;rio informado j&aacute; existente";
    return false;
  }
  return true;
}
function validaCPF() {
  var cpf = $('cpf').value;
  cpf = remove(cpf, ".");
  cpf = remove(cpf, "-");
  var filtro = /^\d{3}\d{3}\d{3}\d{2}$/i;
  if(!filtro.test(cpf)){
    $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> CPF informado &eacute; inv&aacute;lido";
    return false;
  }
    
   if(cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" ||
      cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" ||
      cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" ||
      cpf == "88888888888" || cpf == "99999999999") {
      $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> CPF informado &eacute; inv&aacute;lido";
      return false;
   }
   var soma = 0;
   for(i = 0; i < 9; i++)
     soma += parseInt(cpf.charAt(i)) * (10 - i);
   resto = 11 - (soma % 11);
   if(resto == 10 || resto == 11)
     resto = 0;
   if(resto != parseInt(cpf.charAt(9))){
     $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> CPF informado &eacute; inv&aacute;lido";
     return false;
   }
   soma = 0;
   for(i = 0; i < 10; i ++)
     soma += parseInt(cpf.charAt(i)) * (11 - i);
   resto = 11 - (soma % 11);
   if(resto == 10 || resto == 11)
     resto = 0;
   if(resto != parseInt(cpf.charAt(10))){
     $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> CPF informado &eacute; inv&aacute;lido";
     return false;
   }
}

function validaCNPJ(pCnpj) {
    var pCnpj = $('cnpj').value;
    var numero = formatCpfCnpj(pCnpj, false, true);
    var base = numero.substring(0, NUM_DGT_CNPJ_BASE);
    var ordem = numero.substring(NUM_DGT_CNPJ_BASE, 12);
    var digitos = dvCpfCnpj(base + ordem, true);
    var algUnico;

    if (numero != base + ordem + digitos) {
        $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> CNPJ informado &eacute; inv&aacute;lido";
        return false;
    }
    algUnico = numero.charAt(0) != '0';
    for (i=1; i<NUM_DGT_CNPJ_BASE; i++)
    {
        algUnico = algUnico && (numero.charAt(i-1) == numero.charAt(i));
    }
    if (algUnico) {
        $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> CNPJ informado &eacute; inv&aacute;lido";
        return false;
    }
    if (ordem == "0000")  {
        $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> CNPJ informado &eacute; inv&aacute;lido";
        return false;
    }
    return (base == "00000000"
        || parseInt(ordem, 10) <= 300 || base.substring(0, 3) != "000");
}

function dvCpfCnpj(pEfetivo, pIsCnpj)
{
    if (pIsCnpj==null) pIsCnpj = false;
    var i, j, k, soma, dv;
    var cicloPeso = pIsCnpj? NUM_DGT_CNPJ_BASE: NUM_DIGITOS_CPF;
    var maxDigitos = pIsCnpj? NUM_DIGITOS_CNPJ: NUM_DIGITOS_CPF;
    var calculado = formatCpfCnpj(pEfetivo, false, pIsCnpj);
    calculado = calculado.substring(2, maxDigitos);
    var result = "";

    for (j = 1; j <= 2; j++)
    {
        k = 2;
        soma = 0;
        for (i = calculado.length-1; i >= 0; i--)
        {
            soma += (calculado.charAt(i) - '0') * k;
            k = (k-1) % cicloPeso + 2;
        }
        dv = 11 - soma % 11;
        if (dv > 9) dv = 0;
        calculado += dv;
        result += dv
    }

    return result;
}

var NUM_DIGITOS_CPF  = 11;
var NUM_DIGITOS_CNPJ = 14;
var NUM_DGT_CNPJ_BASE = 8;

String.prototype.lpad = function(pSize, pCharPad)
{
    var str = this;
    var dif = pSize - str.length;
    var ch = String(pCharPad).charAt(0);
    for (; dif>0; dif--) str = ch + str;
    return (str);
} 

function formatCpfCnpj(pCpfCnpj, pUseSepar, pIsCnpj)
{
    if (pIsCnpj==null) pIsCnpj = false;
    if (pUseSepar==null) pUseSepar = true;
    var maxDigitos = pIsCnpj? NUM_DIGITOS_CNPJ: NUM_DIGITOS_CPF;
    var numero = unformatNumber(pCpfCnpj);

    numero = numero.lpad(maxDigitos, '0');
    if (!pUseSepar) return numero;

    if (pIsCnpj)
    {
        reCnpj = /(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/;
        numero = numero.replace(reCnpj, "$1.$2.$3/$4-$5");
    }
    else
    {
        reCpf  = /(\d{3})(\d{3})(\d{3})(\d{2})$/;
        numero = numero.replace(reCpf, "$1.$2.$3-$4");
    }
    return numero;
}

function unformatNumber(pNum)
{
    return String(pNum).replace(/\D/g, "").replace(/^0+/, "");
} //unformatNumber


 function remove(str, sub) {
   i = str.indexOf(sub);
   r = "";
   if (i == -1) return str;
   r += str.substring(0,i) + remove(str.substring(i + sub.length), sub);
   return r;
 }

function validaCep() {
    s = $('cep').value;
    if ((s.length < 8) || (isNaN(s.replace("-","0"))))  {
        return false;
    }
}

function localizaCEP(){
    var url="/scripts/thajax.php";
    var pars = "acao=getEndereco&cep=" + $('cep').value ;
    var aviso = $('aviso');
    aviso.innerHTML = "Aguarde, carregando...<img src='/img/ajax-loader2.gif' />";

    var myAjax = new Ajax.Request(
            url,
            {
                method: 'get',
                parameters: pars,
                onComplete: showResponse
            });
    function showResponse(originalRequest) {
        aviso.innerHTML = "";
        var endereco = eval("(" + originalRequest.responseText + ")");
        $('endereco').value = endereco.rua;
        $('bairro').value = endereco.bairro;
        $('cidade').value = endereco.cidade;
        $('uf').value = endereco.estado;
    }
}

function validaEmail(){
      var email = $('email').value;
      var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
      if (!filter.test(email)) {
        $('aviso').innerHTML = "<img src='/img/alert.gif' width='26' height='26'/> Email informado &eacute; inv&aacute;lido";
        return false;
      }
}
function showFisica() {
  Element.hide($('juridica'));
  $('assinatura_tipo').value = 'fisica';
}

function showJuridica() {
  Element.show($('juridica'));
  $('assinatura_tipo').value = 'juridica';
}

function validaLista() {
  var lista = $('lista').value;
  var filter = /^[A-Za-z0-9_]+$/;
  if(!filter.test(lista)) {
    $('aviso').innerHTML = '<img src="/img/alert.gif" width="26" height="26"/> Usu&aacute;rio est&aacute; em formato inv&aacute;lido.';
    return false;
  }
}
function verificaLista() {
  var url="/cadastro/index.php";
  var pars = "acao=verifica_lista&lista=" + $('lista').value ;
  var resposta = $('resposta');
  var myAjax = new Ajax.Request(
    url, 
    {
      method: 'get',
      parameters: pars,
      asynchronous: false,
      onComplete: function (transport) {
        resposta.value = transport.responseText;
      }
    });
}

function abreChat() {
    var load = window.open('http://chat.tehospedo.com.br/ver/request.php?l=desenvolve&x=1&deptid=0&page=0','','scrollbars=yes,menubar=no,height=430,width=470,resizable=no,toolbar=no,location=no,status=no');
}

function trim(str) {
    return str.replace(/(^\s+)|(\s+$)/g, '');
}

function logar() {
    var usuario = trim($('username').value);
    var senha = trim($('senha').value);
    if((usuario == '') || (usuario == 'usuario')) {
        $('login_aviso').innerHTML = '<spam style="color: #C84025">Informe seu usu&aacute;rio</spam>';
        $('username').focus();
        return false;
    } else if (senha == ''){
        $('login_aviso').innerHTML = '<spam style="color: #C84025">Informe sua senha</spam>';
        $('senha').focus();
        return false;
    } else {
        $('login_aviso').innerHTML = '<img src="/img/ajax-loader.gif" style="vertical-align: bottom" /> Logando...';
        var url = "/index.php";
        var pars = "acao=login&usuario=" + usuario + "&senha=" + senha;
        var myAjax = new Ajax.Request(
        url,
        {
            method: 'POST',
            parameters: pars,
            asynchronous: false,
            onComplete: function (transport) {
                var resposta = transport.responseText;
                if(resposta == 'falha') {
                    $('resposta').value= 'falha';
                    $('login_aviso').innerHTML = '<spam style="color: #C84025">Senha inv&aacute;lida.</spam>';
                    return false;
                } else {
                    $('resposta').value = 'ok';
                    return true;
                }
            }
        });
        if($('resposta').value == 'falha')
           return false;
        return true;
    }
}

function lembrar_senha() {
    $('login_aviso').innerHTML = 'Informe o tecontato';
    $('username').value = 'usuario';
    Element.hide('senha');
    Element.hide('btn_lembrar_login');
    Element.show('btn_voltar_login');
    Element.show('btn_senha');
    Element.hide('btn_login');
}

function exec_lembrar_senha() {
    var login = trim($("username").value);
    if(login == '' || login == 'usuario') {
        $('login_aviso').innerHTML = '<spam style="color: #C84025">Por favor informe o usu&aacute;rio</span>';
        $('username').focus();
        return false;
    }
    $('login_aviso').innerHTML = '<img src="/img/ajax-loader.gif" style="vertical-align: bottom" /> Aguarde...';
    var url = "/index.php";
    var pars = "acao=lembrar_senha&usuario=" + login;
    var myAjax = new Ajax.Request(
    url,
    {
        method: 'POST',
        parameters: pars,
        asynchronous: false,
        onComplete: function (transport) {
            var resposta = transport.responseText;
            if(resposta == 'true' || resposta == true) {
                $('login_aviso').innerHTML = 'Email enviado para nova senha';
            } else {
                $('login_aviso').innerHTML = '<spam style="color: #C84025">Usuario inexistente</span>';
                //alert(resposta);
            } 
            return false;
        }
    });
    if($('resposta').value == 'falha')
       return false;
    return true;
}

function voltar_login() {
    $('login_aviso').innerHTML = 'Informe usu&aacute;rio e senha';
    $('username').value = 'usuario';
    Element.hide('btn_voltar_login');
    Element.show('btn_lembrar_login');
    Element.show('senha');
    Element.hide('btn_senha');
    Element.show('btn_login');
}
