/**
* ESBJ - Ensino Superior Bureau Juridico
* NTI  - Nucleo de Tecnologia da Informacao
*
*  @author     23522 - WebNTI <webnti@mauricionassau.com.br>
*  @copyright  Copyright 2009, ESBJ.
*  @version    0.1
*  @link       http://www.fabac.edu.br
*  @since      0.1
*  01-09-2009
**/
/* controla as requisições feitas. */
var requisicao = true;

$(document).ready(function(){
  /* impressão de comprovante. */
  if ($("#inpCpfComprovante").length > 0)
  {
    $("#inpCpfComprovante").focus();/* input de cpf. */
    $("#inpCpfComprovante").keyup(function(){
      this.value = formatar.cpf(this.value);
        if (this.value.length == 14) {
          $("#btValidaCpf").click();
        }
      });
    /* botão de validar cpf. */
      $("#btValidaCpf").click(function(){
        /* realiza a busca pelo cep digitado. */
            $("#btValidaCpf").attr('disabled', 'true');
            $("#btValidaCpf").val('Aguarde pesquisando ...');
            $.post(PATHR + 'inscricao/ajaxBuscarComprovante/',
                {'Cpf' : $("#inpCpfComprovante").val()}, 
                  function(retorno){
                    $("#btBuscarCep").attr('disabled', '');
                    $("#btBuscarCep").val('Buscar Cep');

                    if (retorno) {
                      var comprovante      = eval(retorno);
                      var totalRegistro    = comprovante.length;
                      var contador         = 0;
                      var conteudoDinamico = '';
                      var imagemExibir     = '';
                      $("#divComprovante").html('Carregando dados...');

                      for (; contador < totalRegistro; contador++) {
                        comprovante[contador].codigoInscricao;
                        comprovante[contador].codigoTurma;

                        imagemExibir      = comprovante[contador].inscricaoBaixada == "1" ? 'carimbo.png' : 'fail.gif';
                        conteudoDinamico += '<div style="clear:left;float:left;min-height:150px;width:550px;border-bottom:1px dashed #3F3F3F;">';
                        conteudoDinamico += '<a href="'+PATHR+'pagamento/comprovanteLista/'+comprovante[contador].codigoInscricao+'" target="_blank"><img src="'+IMAGE+imagemExibir+'" border="0"/></a>';
                        conteudoDinamico += '<div style="float:left;margin-top:35px"><p><strong>Curso:</strong> '+comprovante[contador].nomeCurso+'<br/>';
                        conteudoDinamico += '<strong>Turma:</strong> '+comprovante[contador].nomeTurma+'<br/>';
                        conteudoDinamico += '<strong>Nosso n&uacute;mero:</strong> '+comprovante[contador].nossoNumero+'</p></div>';
                        conteudoDinamico += '</div>';
                      }
                      $("#divComprovante").html('');
                      $("#divComprovante").append(conteudoDinamico);
                    } else {
                    	$("#divComprovante").html('');
                    	$("#divComprovante").append('<strong>Nenhum comprovante encontrado com o CPF fornecido.</strong>');
                    }
                    $("#btValidaCpf").attr('disabled', '');
                    $("#btValidaCpf").val('Verificar');
                  })
          })
  }

    /* passo 0 - coloca o cpf e captcha */
  if ($("#inpCpf").length > 0) {
    showHide('Valores');/* div de informações */
    $("#imgLoader").hide();/* imagem de carregando. */
    $("#inpCpf").focus();/* input de cpf. */
    $("#inpCpf").keyup(function(){
      this.value = formatar.cpf(this.value);
      if (this.value.length == 14) {
        $("#btValidaCpf").click();
      }
    });

    /* botão de validar cpf. */
    $("#btValidaCpf").click(function(){
      submeterForm('formValidaCpf');
    });

    /* valida o captcha digitado pelo usuário. */
    $("#inpCaptcha").keyup(function(){
      toUpper(this);
      if ($("#inpCaptcha").val().length == 5) {
        $("#inpCaptcha").hide();
        $("#imgLoader").show();
        verificaCaptcha();
      }
    })

    /* verifica o cpf digitado. */
    var containerErro = $("#divErrorForm");
    var validaPasso0 = $("#formValidaCpf").validate({
      errorContainer: containerErro,
      errorLabelContainer: $("ol", containerErro),
      wrapper: 'li',
      rules : {
        inpCpf : {'required' : true, 'cpf' : true}
      },
      messages : {
        inpCpf : {
              'required' : 'Preencha o seu C.P.F.',
              'cpf'      : 'C.P.F. inv&aacute;lido'
            }
      },
      submitHandler: function(){
        $("#btValidaCpf").attr('disabled', 'true');
          $("#btValidaCpf").val('Aguarde ...');
        $.post(PATHR + 'inscricao/ajaxVerificarInscricao/',
            {'cpfUsuario' : $("#inpCpf").val(), 'Preenchido' : $("#Preenchido").val(), 'Turma' : $("#Turma").val()}, 
                function(retorno){
              if (retorno == 'novo') {
                $("#divJsOpcao").css('display', 'block');
                $("#divJsCaptcha").css('display', 'block');
                $("#inpCaptcha").val('');// limpar o input do captcha.
                $("#inpCaptcha").focus();// onfocus no input do captcha.
                /*hidden com o cpf do usuário*/
                $("#cpfUsuario").val($("#inpCpf").val());
              } else 
                if (retorno == 'inscrito') {
                location.href = PATHR + 'pagamento/opcoes/';
              } else 
                if (retorno == 'cpfInvalido') {
                $("#divJsCaptcha").hide();
              }
              $("#btValidaCpf").attr('disabled', '');
              $("#btValidaCpf").val('VERIFICAR');
                })
      }
    });
  }

  /* passo 1 - dados do usuário. */
  if ($("#btBuscarCep").length > 0) {
    $("#inpNome").focus();
    $("#btEnviarDados").click(function(){
      $("#formValidaPasso1").submit();
    })
    /* formata o cep */
    $("#inpCep").keyup(function(){
      this.value = formatar.cep(this.value);
      if (this.value.length == 9) {
        $("#btBuscarCep").click();
      }
    });
    /* formata o telefone */
    $("#inpFone").keyup(function(){
      this.value = formatar.telefone(this.value);
    });

    /* realiza a busca pelo cep digitado. */
    $("#btBuscarCep").click(function(){
      $("#btBuscarCep").attr('disabled', 'true');
      $("#btBuscarCep").val('Buscando Cep...');
      $.post(PATHR + 'inscricao/ajaxVerificarCEP/',
          {'Cep' : $("#inpCep").val()}, 
              function(retorno){
            $("#btBuscarCep").attr('disabled', '');
            $("#btBuscarCep").val('Buscar Cep');
            
            if (retorno){
              var objCep = eval(retorno);
              $("#inpLogradouro").val(objCep[0].tipo.toUpperCase()+' '+objCep[0].logradouro.toUpperCase());
              $("#inpBairro").val(objCep[0].bairro.toUpperCase());
              $("#inpCidade").val(objCep[0].cidade.toUpperCase());
              $("#selEstado").val(objCep[0].estado.toUpperCase());
            } else {
              $("#inpLogradouro").val('');
              $("#inpBairro").val('');
              $("#inpCidade").val('');
              $("#selEstado").val('');
            }
              })
    });

    /* verifica se o usuário preencheu todos os dados. */
    var containerErro = $("#divErrorForm");
    $("#formValidaPasso1").validate({
      errorContainer: containerErro,
      errorLabelContainer: $("ol", containerErro),
      wrapper: 'li',
      rules : {
        inpNome          : {'required' : true},
        inpEmail         : {'required' : true, 'email' : true},
        inpFone          : {'required' : true},
        inpCep           : {'required' : true},
        inpCidade        : {'required' : true},
        inpBairro        : {'required' : true},
        inpLogradouro    : {'required' : true},
        inpNumero        : {'required' : true},
        inpComplemento   : {'required' : true},
        ckConcordoPasso1 : {'required' : true}
      },
      messages : { 
        inpNome          : { 'required' : 'Preencha o campo Nome'},
        inpEmail         : { 'required' : 'Preencha o campo E-mail', 'email' : 'E-mail inv&aacute;lido'},
        inpFone          : { 'required' : 'Preencha o campo Telefone'},
        inpCep           : { 'required' : 'Preencha o campo C.E.P.'},
        inpCidade        : { 'required' : 'Preencha o campo Cidade'},
        inpBairro        : { 'required' : 'Preencha o campo Bairro'},
        inpLogradouro    : { 'required' : 'Preencha o campo Logradouro'},
        inpNumero        : { 'required' : 'Preencha o campo N&uacute;mero'},
        inpComplemento   : { 'required' : 'Preencha o campo Complemento'},
        ckConcordoPasso1 : { 'required' : 'Clique no campo Concordo'}
      }
    });
  }
  
  /* clique para abrir todas as formas de pagamento. */
  if ($("#imgFormaPagamento").length > 0) {
    $("#imgFormaPagamento").click(function(){
      location.href = PATHR + 'pagamento/opcoes/';
    })
  }
})

  /* converte as letras para uppercase. */
  function toUpper(pCampo) {
  var val = pCampo.value;
  if (val.length > 0)
    pCampo.value = val.toUpperCase();
  }

  /* verifica captcha digitado pelo usuário. */
  function verificaCaptcha() {
    if ($("#inpCaptcha").val().length == 5 && requisicao) {
         requisicao = false; // controla a quantidade de requisições
         $("#btValidaCpf").attr('disabled', 'true');
         $("#btValidaCpf").val('Aguarde ...');
         $.post(PATHR + 'inscricao/ajaxVerificarCaptcha/', 
             {
               'captcha' : $("#inpCaptcha").val(),
               'cpf'     : $("#inpCpf").val()
             }, 
               function (retorno){
               /* captcha válido. */
           if (retorno == 'true') {
               $("#formValidaCpf").submit();
               $("#imgLoader").hide();
               $("#inpCpf").attr('disabled', 'true');
               submeterForm('formNovaInscricao');
               } else
           /* captcha inválido. */
               if (retorno == 'invalidCaptcha') {
                  $("#divJsIns").hide();
                  $("#imgLoader").hide();
                 $("#inpCaptcha").show();
                 $("#btValidaCpf").attr('disabled', '');
                 $("#btValidaCpf").val('VERIFICAR');
                 mostrarErro('Palavra inv&aacute;lida');
               } else 
               /* cpf inválido. */
               if (retorno == 'cpfInvalido') {
                 $("#divJsIns").hide();
                 $("#imgLoader").hide();
                 $("#inpCaptcha").show();
                 mostrarErro('C.P.F. inv&aacute;lido');
               }
               requisicao = true;
           })
    }
  }

  /* submete qualquer formulário basta passar o id. */
  function submeterForm(idForm) {
    if ($("#"+idForm).length > 0) {
      $("#"+idForm).submit();
    }
  }

  function mostrarErro (mensagem)
  {
    $("#divErrorForm > ol").css('display', 'block').html('<li><label for="inpCaptcha" generated="true" class="error" style="display: inline;">'+mensagem+'</li></label>');
    $("#divErrorForm").show();
  }
  
   /* primeiro ver com presx. função de imprimir página. */
   function imprimirDiv(id, pagina) {
     var oPrint, oJan;
       oPrint  = window.document.getElementById(id).innerHTML;
       oJan    = window.open(pagina);
       oJan.document.write(oPrint);
       oJan.history.go();
       oJan.window.print();
   }

   function showHide(idDiv){
  var arrDiv = new Array('Valores', 'Descricao', 'Informacao');
  var i = 0;  
  for (i; i < 3; i++) {
    $("#div"+arrDiv[i]).hide();
  }
  $("#div"+idDiv).show();
   }
   
   
   /**
    * Funcao responsavel por abrir um swf.
    *
    * @param  {string}  pUrl     Url a ser aberta
    * @param  {string}  pTitle   Titulo
    * @param  {int}     pWidth   Largura
    * @param  {int}     pHeight  Altura
    * @param  {int}     pColor   Background
  **/
    function AbreSwf (pUrl, pTitle, pWidth, pHeight, pColor) 
    {
       var vText = (pColor == "") ? 'wmode="transparent"' : 'bgcolor="#ffffff"';
       document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+pWidth+'" height="'+pHeight+'" id="'+pTitle+'" align="middle">');
       document.write('<param name="allowScriptAccess" value="always" />');
       document.write('<param name="movie" value="'+pUrl+'" /><param name="quality" value="best" />'+((pColor == '') ? '<param name="wmode" value="transparent" />' : '')+'<embed src="'+pUrl+'" quality="best" width="'+pWidth+'" height="'+pHeight+'" '+vText+' name="'+pTitle+'" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
       document.write('</object>');
    }