 /**
  *
  * ESBJ - Ensino Superior Bureau Juridico <br>
  * NTI - Nucleo de Tecnologia da Informacao<br>
  *
  * CORE - Scripts que servem para tds os sites.
  *
  *  @author     WebNTI <webnti@mauricionassau.com.br>
  *  @copyright  Copyright 2006, ESBJ.
  *  @version    1.0
  *  @link       http://www.esbj.com.br/NTI
  *  @since      1.0
  **/
    var object;
    var local;
    /**
      * Funcao responsavel pela atualizacao do CAPTCHA
      *
      * @return  void
      * @since   1.0
    **/
	  function atualiza() {
		img     = document.getElementById("imgCaptcha");
		img.src = img.src;
	  }
    /**
      * Funcao responsavel pela solicitacao para verificar se o CPF e valido
      *
      * @param   varchar  pPagina  Pagina que sera processada
      * @param   object   pForm    Form;
      * @return  void
      * @since   1.0
    **/
	  function verificaCpf(pPagina, pForm, pLocal) {
        ($('carregando')) ? $('carregando').style.display = 'block' : '';
	    object = pForm;
	    local  = pLocal;
  		submeterform(pForm, pPagina, 'cpfVerificado');
	    $("quadroprocessando").innerHTML = "<Br /><img src='http://www.esbj.com.br/lib/images/loading.gif' border='0' />Aguarde, verificando CPF!";
	    visibilidadeblock(true, $('quadroprocessando'));
	  }
    /**
      * Funcao responsavel pelo tratamento da resposta se o CPF e valido
      *
      * @param   varchar  pResponse  Resposta
      * @return  void
      * @since   1.0
    **/
	  function cpfVerificado(pResponse) {
	    var string = pResponse.split("#");
	    result     = string[0];
	    message    = unescape(string[2].replace(/\+/g," "));
	    if (result =="nova") {
		  if (local == 1)
		    visibilidadeblock(true, $('divJsCaptcha'));

	      visibilidadeblock(true, $('divJsIns'));
	      visibilidadeblock(false, $('quadroprocessando'));
	      object.disabled = true;
		} else if (result =="cadastro") {
		  if (local == 1)
		    visibilidadeblock(true, $('divJsCaptcha'));

		  visibilidadeblock(true, $('divJsBol'));
	      visibilidadeblock(false, $('quadroprocessando'));
	      object.disabled = true;
	    } else if (result =="comprovante") {
		  if (local == 1)
		    visibilidadeblock(true, $('divJsCaptcha'));

	      visibilidadeblock(true, $('divJsCom'));
	      visibilidadeblock(false, $('quadroprocessando'));
	      object.disabled = true;
		} else {
	  	  document.getElementById("quadroprocessando").innerHTML = "<br><font color='red'> ERRO</font>: "+message;
	      window.setTimeout("visibilidadeblock(false, $('quadroprocessando'));", 3000);
		}
	  }
    /**
      * Funcao responsavel pela solicitacao para verificar se o CAPTCHA e valido
      *
      * @param   varchar  pPagina   Pagina que sera processada
      * @param   object   pForm     Campo Captcha;
      * @return  void
      * @since   1.0
    **/
	  function verificaCaptcha(pPagina, pForm) {
	    if (pForm.captcha.value.length==5) {
	      object = pForm;
  		  submeterform(pForm, pPagina, 'captchaVerificado');
	  	  document.getElementById("quadroprocessando").innerHTML = "<Br /><img src='http://www.esbj.com.br/lib/images/loading.gif' border='0' />Aguarde, verificando imagem!";
	      visibilidadeblock(true, $('quadroprocessando'));
	    }
	  }
    /**
      * Funcao responsavel pelo tratamento da resposta se o CPF e valido
      *
      * @param   varchar  pResponse  Resposta
      * @return  void
      * @since   1.0
    **/
	  function  captchaVerificado(response, url) {
	    var string = response.split("#");
	    result     = string[0];
	    message    = unescape(string[2].replace(/\+/g," "));
	    if (result =="sucesso") {
	      $("quadroprocessando").innerHTML = "<Br /><font color='blue'> OK</font> ";
		  window.setTimeout("visibilidadeblock(false, $('quadroprocessando'));", 5000);
	      visibilidadeblock(true, $('divJsOpcao'));
		  location.href = (location.href+'#ancoradozu');
	    } else {
	      $("quadroprocessando").innerHTML = "<Br /><font color='red'> ERRO</font>: "+message;
	  	  window.setTimeout("visibilidadeblock(false, $('quadroprocessando'));", 3000);
		  object.value = '';
	      atualiza();
	    }
	  }
    /**
      * Funcao responsavel pela solicitacao para verificar se o CEP e valido
      *
      * @param   varchar  pPagina   Pagina que sera processada
      * @param   object   pCep      CEP;
      * @param   object   pForm     Form;
      * @return  void
      * @since   1.0
    **/
	  function verificaCep(pPagina, pCep, pForm) {
	    object                         = pForm; 	
	    pForm.insc_logradouro.value    = "Buscando..";
	    pForm.insc_bairro.value        = "Buscando..";
	    pForm.insc_cidade.value        = "Buscando..";
	    pForm.insc_uf.value            = "Buscando..";
	    pForm.insc_logradouro.disabled = true;
	    pForm.insc_bairro.disabled     = true;
	    pForm.insc_cidade.disabled     = true;
	    pForm.insc_uf.disabled         = true;    
	    new Ajax.Request(PATHR+pPagina, {method: 'post', parameters: "insc_cep="+pCep.value, onSuccess: cepVerificado});
	  }
    /**
      * Funcao responsavel pelo tratamento da resposta se o CEP e valido
      *
      * @param   varchar  pResponse  Resposta
      * @return  void
      * @since   1.0
    **/
	  function cepVerificado(pResponse) {
	    var string = pResponse.responseText.split("#");
	    result     = string[0];
	    field      = string[1];
	    message    = unescape(string[2].replace(/\+/g," "));
	    if (result =="sucesso") {
	      var str = field.split("|");
	      logradouro                   = unescape(str[0].replace(/\+/g," "));
	      bairro                       = unescape(str[1].replace(/\+/g," "));
	      localidade                   = unescape(str[2].replace(/\+/g," "));
	      uf                           = unescape(str[3].replace(/\+/g," "));
	      
	      object.insc_logradouro.value = logradouro;
	      object.insc_bairro.value     = bairro;
	      object.insc_cidade.value     = localidade;
	      i                            = object.insc_uf.options.length;
	      while (i--)
	        if (object.insc_uf.options[i].getAttribute("value") == uf)
	          break;

	      object.insc_uf.selectedIndex    = i;

	    } else {
	      object.insc_logradouro.value    = "";
	      object.insc_bairro.value        = "";
	      object.insc_cidade.value        = "";
	      object.insc_uf.value            = "";
	    }
	    object.insc_logradouro.disabled = false;
	    object.insc_bairro.disabled     = false;
	    object.insc_cidade.disabled     = false;
	    object.insc_uf.disabled         = false;	    
	  }
    /**
      * Funcao responsavel pelo controle dos campos dependentes da Instituicao
      *
      * @param   varchar  pInstituicao  Select da Instituicao
      * @param   object   pOpcao        Check de Outra
      * @param   object   pCampo        Input da outra
      * @return  void
      * @since   1.0
    **/
	  function seleciona_instituicao(pInstituicao, pOpcao, pCampo) {
	    if (pOpcao.checked ) {
	      pInstituicao.disabled = true;
	  	  pCampo.disabled       = false;
	    } else {
	      pInstituicao.disabled = false;
		  pCampo.disabled       = true;
	    }
	  }
    /**
      * Funcao responsavel pela solicitacao para verificar se os dados da Inscricao sao validos
      *
      * @param   varchar  pPagina   Pagina que sera processada
      * @param   object   pForm     Campo Captcha;
      * @return  void
      * @since   1.0
    **/
	  function verificaDados(pPagina, pForm) {
	    submeterform(pForm, pPagina, 'dadosVerificados');
	    object = pForm;
	    for (i=0; i<pForm.length; i++)
	      if (pForm[i].name != '_enviar' && pForm[i].name != '_alterar' && pForm[i].name != 'captcha' && (pForm[i].tagName == "INPUT" || pForm[i].tagName == "SELECT"))
	        pForm[i].disabled = true;
		
	    document.getElementById("quadroprocessando").innerHTML = "<br><img src='http://www.esbj.com.br/lib/images/loading.gif' border='0' />Aguarde, processando informações";
	    document.getElementById("quadroprocessando").style.display = 'block';
	  }
    /**
      * Funcao responsavel pelo tratamento da resposta se os dados da Inscricao sao validos
      *
      * @param   varchar  pResponse  Resposta
      * @return  void
      * @since   1.0
    **/
	  function dadosVerificados(pResponse) {
	    var string = pResponse.split("#");
	    result     = string[0];
	    field      = string[1];
	    message    = unescape(string[2].replace(/\+/g," "));
	    if (result =="sucesso") {
		  visibilidadeblock(false, $('divverifica'));
	      visibilidadeblock(true, $('divconfirmacao'));
	      visibilidadeblock(true,$('divenvia'));
	      $("quadroprocessando").innerHTML = "<br><font color='blue'> OK</font>: "+message;
	      window.setTimeout("visibilidadeblock(false, $('quadroprocessando'));", 3000);
	    } else {
	      $("quadroprocessando").innerHTML = "<br><font color='red'> ERRO</font>: "+message;
	      window.setTimeout("visibilidadeblock(false, $('quadroprocessando'));", 3000);
		  altera_dados(object);
	    }
	  }
	/**
	  * Funcao responsavel pelos div's dependentes dos dados primários e habilita/desabilita os campos dependentes
	  *
	  * @param   object  pObj  Form dos dados
      * @return  void
	  * @since   1.0
	**/
	  function altera_dados(pObj) {
		var location = ""+window.location+"";
	    visibilidadeblock(false,$('divenvia'));
	    visibilidadeblock(false,$('divconfirmacao'));
	    visibilidadeblock(false,$('divverifica'));

	    if($('divestudante') || $('divprofissional'))
	      (pObj.insc_estu.value == "01") ? visibilidadeblock(false, $('divestudante')) : visibilidadeblock(false, $('divprofissional'));

	    ($('divcontinuar')) ? visibilidadeblock(true,$('divcontinuar')) : visibilidadeblock(true,$('divverifica'));

	    for (i=0; i<pObj.length; i++)
		  if (pObj[i].name != '_enviar' && pObj[i].name != '_alterar' && (pObj[i].tagName == "INPUT" || pObj[i].tagName == "SELECT"))
	        pObj[i].disabled = false;


        if(pObj.outra)
  	      if (!pObj.outra.checked)
	        pObj.insc_inout.disabled = true;

        if(pObj.insc_curso3)
  		  if (pObj.insc_curso3.tagName != 'INPUT')
	        pObj.insc_curso3.selectedIndex = 0;
		  else {
		    pObj.insc_curso2.selectedIndex = 0;
		    pObj.insc_curso3.value = '1';
		  }
	}
	/**
	  * Funcao responsavel pela modificacao do valor da exibicao (Quando seleciona)
	  *
      * @param   int  pIni        Posicao do minicurso
      * @param   int  pMinicurso  Campo que contem o minicurso
      * @return  void
	  * @since   1.0
	**/
	  valor_est = 0;
	  valor_pro = 0;
	  datamin   = "";
	  function alteraValorMin(pIni, pOperacao) {
        eval('datamin = document.form1.dtfimm'+pIni+'01.value;');
        if (pOperacao == 0) {
          eval('valor_est -= parseInt(document.form1.valorm'+pIni+'01.value);');
          eval('valor_pro -= parseInt(document.form1.valorm'+pIni+'02.value);');
        } else {
          eval('valor_est += parseInt(document.form1.valorm'+pIni+'01.value);');
          eval('valor_pro += parseInt(document.form1.valorm'+pIni+'02.value);');
        }
	  }

	/**
	  * Funcao responsavel pelos div's dependentes da Categoria (Quando seleciona)
	  *
      * @param   object   pCampo      Campo que ira receber a categoria
      * @param   varchar  pCategoria  Categoria
      * @return  void
	  * @since   1.0
	**/
      function seleciona_categoria(pCampo, pCategoria) {
        pCampo.value=pCategoria;
        visibilidadeblock(false, $('divestudante'));
        visibilidadeblock(false, $('divprofissional'));
        visibilidadeblock(true,  $('divcontinuar'));
        visibilidadeblock(false, $('divverifica'));
      }
	/**
	  * Funcao responsavel pelos div's dependentes da Categoria (Quando Continua)
	  *
      * @param   varchar  pCategoria  Categoria
      * @return  void
	  * @since   1.0
	**/
      function exibe_categoria(pCategoria) {
        if (pCategoria=='01') {
          visibilidadeblock(true, $('divestudante'));
          visibilidadeblock(false, $('divprofissional'));
          visibilidadeblock(false, $('divcontinuar'));
          visibilidadeblock(true, $('divverifica'));

  	      document.getElementById("dtfim").innerHTML  = (valor_est == 0) ? document.form1.dtfim01.value : datamin;
	      document.getElementById("valor").innerHTML  = (valor_est == 0) ? document.form1.valor01.value : valor_est;
        } else {
          visibilidadeblock(false, $('divestudante'));
          visibilidadeblock(true, $('divprofissional'));
          visibilidadeblock(false, $('divcontinuar'));
          visibilidadeblock(true, $('divverifica'));
	      document.getElementById("dtfim").innerHTML  = (valor_pro == 0) ? document.form1.dtfim02.value : datamin;
  	      document.getElementById("valor").innerHTML  = (valor_pro == 0) ? document.form1.valor02.value : valor_pro;
        }
      }
    /**
      * Funcao responsavel pela exibicao de um campo mediante ativacao
      *
      * @param   object   pOpcao        Check de Outra
      * @param   object   pCampo        Input da outra
      * @return  void
      * @since   1.0
    **/
	  function verificaCheck(pOpcao, pCampo) {
	    if (pOpcao.checked ) {
	  	  pCampo.disabled       = false;
	    } else {
		  pCampo.disabled       = true;
	    }
	  }
    /**
      * Funcao responsavel pela solicitacao para capturar os candidatos(resultado)
      *
      * @param   varchar  pPagina   Pagina que sera processada
      * @param   object   pForm     Campo Captcha;
      * @return  void
      * @since   1.0
    **/
	  function verificaResultado(pPagina, pForm) {
	    if (pForm.candidato.value.length>2) {
	      object = pForm;
  		  submeterform(pForm, pPagina, 'resultadoVerificado');
	    }
	  }
    /**
      * Funcao responsavel pelo tratamento da resposta se o CPF e valido
      *
      * @param   varchar  pResponse  Resposta
      * @return  void
      * @since   1.0
    **/
	  function  resultadoVerificado(pResponse) {
	    var pResponse = pResponse.responseText;
	    message    = unescape(pResponse.replace(/\+/g," "));
	    document.getElementById("conteudoc").innerHTML   = message;
	  }