/**
 * ESBJ - Ensino Superior Bureau Juridico - 2008 - UTF-8
 *
 *  @package   VestibularFJN
 *  @created   08-jul-2008 13:41:07
 *  @updated   No updates yet
 *  @author    WebNti  <webnti@esbj.com.br>
 *  @copyright 2008 ESBJ.
 *  @license   http://esbj.com.br/licencaweb.html ESBJ License
 *  @version   "SVN: <1>"
 *  @access    public
 *  @link      http://vestibular.joaquimnabuco.edu.br/
 *  @since     1.0
 */

  if (location.hostname == '127.0.0.1')
  	var PATHR = 'http://127.0.0.1/GENIO/vestibular.joaquimnabuco.edu.br/';
  else if (location.hostname == 'www3vestibular.joaquimnabuco.edu.br')
    var PATHR = 'http://www3vestibular.joaquimnabuco.edu.br/';
  else
    var PATHR = 'http://vestibular.joaquimnabuco.edu.br/';
  var object;
  var local;
  var vTempo = 0;
  
   /**
    * Inclusao da Classe de tratamento de css.
    **/
    include(PATHR_RECO+"class.reco.css.js");
    
    /**
    * Funcao responsavel por escrever uma imagem no lugar do swf caso nao haja flash player.
    * 
    * @return void
    * @since  1.0
    **/
    function semflash() {
      document.write('<img src="institucionais/VESTFJN200922/images/flash2.png" border="0" />');
    }
    
    /**
     * Funcao responsavel por escrever o swf do topo
     * 
     * @return void
     * @since  1.0
     **/
    function flash() {
      document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="771" height="495" id="flash" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+PATHR+'institucionais/VESTFJN200922/swf/flash.swf" /><param name="quality" value="best" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#ffffff" />	<embed src="'+PATHR+'institucionais/VESTFJN200922/swf/flash.swf" quality="best" wmode="transparent" bgcolor="#ffffff" width="771" height="495" name="flash" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>');
    }
    
    /**
     * Funcao responsavel pela troca de pagina atraves do acesso rapido.
     *
     * @param  (string)  pPagina  Pagina a ser exibida.
     * @return void
     * @since  1.0
     **/
    function acessoRapido(pPagina) {
      ($('selAcessoRapido').value != '')
        ? location.href=(pPagina)
        : alert('Selecione uma area do site!!');
    }
    
    /**
     * Funcao responsavel pela troca de pagina atraves do acesso rapido.
     *
     * @param  (string)  pPagina  Pagina a ser exibida.
     * @return void
     * @since  1.0
     **/
    function selecionaCampus(pCampus) {
      if (pCampus.value != '')
        location.href=(PATHR+'Home/indexVestibular/'+pCampus.value);
    }
    
    function verificaNota()
    {
 	   if ( $('aginputCandidato').value == ''){
 		   alert('Preencha o campo de busca.');
 		   return false;
 	   }
 	   if ( $('agselcampus').value == ''){
 		   alert('Escolha a cidade.');
 		   return false;
 	   }
 	   
 	   $('agformResultado').submit();
    }
    
    /**
     * Funcao responsavel por validar o fale conosco.
     *
     * @param   {object}  pEvent  Evento do mouse.
     * @param   {object}  pForm  Form de depoimento.
     * @return  void
     * @since   1.0
     **/
	function validaFaleconosco(pEvent, pForm) {
	  var vResult = "";
	  var vType   = new Array(4);
	  var vId     = new Array(4);
	  oRecoValida = new recoValida();
	  vType[0]    = 'check';
	  vId[0]      = $('texNome').id;
	  vType[1]    = 'checkEmail';
	  vId[1]      = $('texEmail').id;
	  vType[2]    = 'check';
	  vId[2]      = $('teaMensagem').id;
	  vType[3]    = 'check';
	  vId[3]      = $('inpCaptcha').id;
	  oRecoValida.setValida(vType, vId);
      vResult     = oRecoValida.getValida();
      
      if (vResult != "") {
        /*$('divProcessando').innerHTML = '<p><b class="bNaoEncontrado">Aten&ccedil;&atilde;o!</b><br /><br />'+vResult+'</p>';
        mudaCss('', 'display', $('divProcessando'), true);
	    mudaCss('', 'display', $('divPreProcessando'), true);
	    vTempo = 0;
	    _exibeProcessamento(4);*/
	    alert(vResult);
      } else {
        pForm.submit();
      }
	}
	
    /**
     * Funcao responsavel por exibir div do processamento.
     *
     * @param  {string}  pTempoTotal  Tempo de exibicao da div.
     * @param  {string}  pId  Id do elemento que ser� ocultado.
     * @return void
     * @since  1.0
     **/	
    function _exibeProcessamento(pTempoTotal,pId) 
    {
      vTempo = vTempo + 1;
      if (vTempo <= pTempoTotal) 
        setTimeout('_exibeProcessamento('+pTempoTotal+',"'+pId+'")',1000);
      else {
        if (pId == undefined || pId == "undefined") {
          mudaCss('','display','divProcessando',false);
          mudaCss('','display','divPreProcessando',false);
        } else {
          mudaCss('','display',pId,false);
        }
      }
    }
    
    /**
     * Funcao responsavel pela solicitacao para verificar se o CPF e valido
     *
     * @param   varchar  pPagina  Pagina que sera processada
     * @param   {object}  pEvent  Evento do mouse.
     * @return  void
     * @since   1.0
     **/
	function ajaxVerificaCpf(pEvent, pPagina) {
  	  submeterform($('formCpf'), pPagina, 'cpfVerificado');
	  $("avisoInscricoes").innerHTML = "<Br /><img src='"+PATHR+"lib/images/loading.gif' border='0' />Aguarde, verificando CPF!";
      mudaCss('', 'display', $("avisoInscricoes"), true);
	}
	
	
    /**
     * Funcao responsavel pela solicitacao para verificar se o CPF e valido agendado
     *
     * @param   varchar  pPagina  Pagina que sera processada
     * @param   {object}  pEvent  Evento do mouse.
     * @return  void
     * @since   1.0
     **/
	function ajaxVerificaCpfAgendado(pEvent, pPagina) {
      //alert($$('input:checked[type="radio"][name="radData"]').pluck('value'));
      if ( $$('input:checked[type="radio"][name="radData"]').pluck('value') == ""){
    	  alert('Escolha uma data.');
    	  return;
      }
  	  $('inputCodData').value = $$('input:checked[type="radio"][name="radData"]').pluck('value');
  	  
      submeterform($('formCpf'), pPagina, 'cpfVerificado');
	  $("avisoInscricoes").innerHTML = "<Br /><img src='"+PATHR+"lib/images/loading.gif' border='0' />Aguarde, verificando CPF!";
      mudaCss('', 'display', $("avisoInscricoes"), true);
	}
	
    /**
     * Funcao responsavel pelo tratamento da resposta se o CPF e valido
     *
     * @param   varchar  pResposta  Resposta
     * @return  void
     * @since   1.0
     **/
	function cpfVerificado(pResposta) {
	  var arrJson    = (pResposta.length == undefined) ? pResposta.responseText.evalJSON(true) : pResposta.evalJSON(true);
	  var vResultado = arrJson[0];
	  var vMessage   = arrJson[1];
	  if (vResultado =="nova") {
        mudaCss('', 'display', $('divJsNova'), true);
        mudaCss('', 'display', $('avisoInscricoes'), false);
        $('inputCpf').readOnly = true;
        mudaCss('', 'display', $('divJsCaptcha'), true);
	  } else if (vResultado == "ficha") {
        mudaCss('', 'display', $('divJsOpcoes'), true);
        mudaCss('', 'display', $('avisoInscricoes'), false);
        $('inputCpf').readOnly = true;
        mudaCss('', 'display', $('divJsCaptcha'), true);
	  } else if (vResultado == "comprovante") {
	    mudaCss('', 'display', $('divJsComprovante'), true);
	    mudaCss('', 'display', $('avisoInscricoes'), false);
        $('inputCpf').readOnly = true;
        mudaCss('', 'display', $('divJsCaptcha'), true);
	  } else {
	    $("avisoInscricoes").innerHTML = "<br><font color='red'> ERRO</font>: "+vMessage;
	    vTempo = 0;
	    _exibeProcessamento(3,"avisoInscricoes");
	  }
	}
	
    /**
     * Funcao responsavel pela solicitacao para verificar se o CAPTCHA e valido
     *
     * @param   varchar  pPagina   Pagina que sera processada
     * @param   {object}  pEvent  Evento do mouse.
     * @return  void
     * @since   1.0
     **/
	function ajaxVerificaCaptcha(pEvent, pPagina) {
	  if ($('inputCaptcha').value.length==5) {
	    $('inputCaptcha').value = $('inputCaptcha').value.toUpperCase();
  	    submeterform($('formCaptcha'), pPagina, 'captchaVerificado');
	    $("avisoInscricoes").innerHTML = "<Br /><img src='"+PATHR+"lib/images/loading.gif' border='0' />Aguarde, verificando imagem!";
	    mudaCss('', 'display', $('avisoInscricoes'), true);
	  }
	}
	
    /**
     * Funcao responsavel pelo tratamento da resposta se o Captcha e valido
     *
     * @param   varchar  pResponse  Resposta
     * @return  void
     * @since   1.0
     **/
	function  captchaVerificado(pResposta) {
	  var arrJson    = (pResposta.length == undefined) ? pResposta.responseText.evalJSON(true) : pResposta.evalJSON(true);
	  var vResultado = arrJson[0];
	  var vMessage   = arrJson[1];
	  if (vResultado =="sucesso") {
	    $("avisoInscricoes").innerHTML = "<Br /><font color='blue'>SUCESSO</font>: "+vMessage;
	    vTempo = 0;
	    _exibeProcessamento(3,"avisoInscricoes");
	    mudaCss('', 'display', $('divJsProsseguir'), true);
	    $('inputCaptcha').readOnly = true;
	  } else {
	    $("avisoInscricoes").innerHTML = "<Br /><font color='red'>ERRO</font>: "+vMessage;
	    vTempo = 0;
	    _exibeProcessamento(3,"avisoInscricoes");
	    $('inputCaptcha').value = '';
	  }
	}
	
    /**
     * Funcao responsavel por solicitar a pagina.
     *
     * @param   varchar  pPagina  Pagina que sera processada
     * @param   {object} pEvent  Evento do mouse.
     * @since   1.0
     **/
	function ajaxAtualizaPagina(pEvent, pPagina) {
      new Ajax.Request(PATHR+pPagina, {parameters: '', onSuccess:paginaAtualizada});
	}
	
    /**
     * Funcao responsavel por solicitar a pagina.
     *
     * @param   {object}  pEvent  Evento do mouse.
     * @param   {object}  pForm   Form a submeter
     * @param   {object}  pAction A��o
     * @param   varchar   pMetodo
     * @return  void
     * @since   1.0
     **/
    function ajaxSubmeterForm(pEvent, pForm, pAction, pMetodo) {
      var vOk = function (pRetorno) {
        if (location.hostname == '127.0.0.1')		
          prompt('Retorno',pRetorno.responseText);
        (pRetorno.responseText.length < 150) ? eval(pMetodo+"('"+pRetorno.responseText+"')") : eval(pMetodo+"(pRetorno)");
      }
      new Ajax.Request(PATHR+pAction, {method: 'post', encoding: 'UTF-8', parameters: $(pForm.id).serialize(), onSuccess:vOk});
    }
    	  
    /**
     * Funcao responsavel por receber a pagina solicitada.
     *
     * @param   varchar  pResponse  Html da pagina
     * @param   varchar  pUrl       Url de destino
     * @return  void
     * @since   1.0
     **/
	function paginaAtualizada(pResponse) {
	  var pResponse = pResponse.responseText;
	  document.getElementById("conteudoc").innerHTML = pResponse;
	  frwCssEval(pResponse);
      frwScriptEval(pResponse);	    
	}
	
    /**
     * 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 ajaxVerificaCep(pEvent, pPagina) {
	  $('inputLogradouro').value    = "Buscando..";
	  $('inputBairro').value        = "Buscando..";
	  $('inputCidade').value        = "Buscando..";
	  $('selectUf').value           = "Buscando..";
	  $('inputLogradouro').disabled = true;
	  $('inputBairro').disabled     = true;
	  $('inputCidade').disabled     = true;
	  $('selectUf').disabled        = true;    
	  new Ajax.Request(PATHR+pPagina, {method: 'post', parameters: "inpCep="+$('inputCep').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(pResposta) {
	  var arrJson    = (pResposta.length == undefined) ? pResposta.responseText.evalJSON(true) : pResposta.evalJSON(true);
	  var vResultado = arrJson[0];
	  var vEndereco  = arrJson[1];
	  if (vResultado == "sucesso") {
	    $('inputLogradouro').value = vEndereco['tipo']+' '+vEndereco['logradouro'];
	    $('inputBairro').value     = vEndereco['bairro'];
	    $('inputCidade').value     = vEndereco['cidade'];
	    uf                         = vEndereco['estado'];
	    i                          = $('selectUf').options.length;
	    while (i--)
	      if ($('selectUf').options[i].getAttribute("value") == uf)
	        break;

	    $('selectUf').selectedIndex    = i;
	  } else {
	    $('inputLogradouro').value    = "";
	    $('inputBairro').value        = "";
	    $('inputCidade').value        = "";
	    $('selectUf').value           = "";
	  }
	    
	  $('inputLogradouro').disabled = false;
	  $('inputBairro').disabled     = false;
	  $('inputCidade').disabled     = false;
	  $('selectUf').disabled        = false;    
	}
	
    /**
     * Funcao responsavel pela solicitacao para carregar os cursos da segunda opcao.
     *
     * @param   varchar  pPagina  Pagina que sera processada
     * @param   int      pCurso   Primeira opcao
     * @param   int      pCurso2  Segunda opcao
     * @return  void
     * @since   1.0
     **/
    var obj;
    function ajaxVerificaPrimeiraOpcao(pEvent, pPagina) {
	  new Ajax.Request(PATHR+pPagina, {parameters: "insc_curso="+$('selectCurso1').value , onSuccess:cursoPrimeiraOpcaoVerificado});
    }
    
    /**
     * Funcao responsavel pelo recebimento dos cursos da segunda opcao.
     *
     * @param   varchar  pResponse  Cursos
     * @return  void
     * @since   1.0
     **/
	function cursoPrimeiraOpcaoVerificado(pResposta) {
	  var arrJson    = (pResposta.length == undefined) ? pResposta.responseText.evalJSON(true) : pResposta.evalJSON(true);
	  var vResultado = arrJson[0];
	  var vCursos    = arrJson[1];
	  $('selectCurso2').options.length = 0;
	  $('selectCurso2').options[0] = new Option( '- Selecione um curso',0);
	  for( i = 0; i < vCursos.length; i++ ) {
		$('selectCurso2').options[i+1] = new Option( vCursos[i]['opcao'], vCursos[i]['codigo'] );
	  }
	}
    /**
     * Funcao responsavel pela solicitacao para carregar os cursos da terceira opcao.
     *
     * @param   varchar  pPagina  Pagina que sera processada
     * @param   int      pCurso   Primeira opcao
     * @param   int      pCurso2  Segunda opcao
     * @param   int      pCurso3  Terceira opcao
     * @return  void
     * @since   1.0
     **/
 	function ajaxVerificaSegundaOpcao(pEvent, pPagina) {
	  new Ajax.Request(PATHR+pPagina, {parameters: "insc_curso="+$('selectCurso1').value+"&insc_curso2="+$('selectCurso2').value , onSuccess:cursoSegundaOpcaoVerificado});
	}
	
    /**
     * Funcao responsavel pelo recebimento dos cursos da terceira opcao.
     *
     * @param   varchar  pResponse  Cursos
     * @return  void
     * @since   1.0
     **/
    function cursoSegundaOpcaoVerificado(pResposta) {
	  var arrJson    = (pResposta.length == undefined) ? pResposta.responseText.evalJSON(true) : pResposta.evalJSON(true);
	  var vResultado = arrJson[0];
	  var vCursos    = arrJson[1];
	  $('selectCurso3').options.length = 0;
	  $('selectCurso3').options[0] = new Option( '- Selecione um curso',0);
	  for( i = 0; i < vCursos.length; i++ ) {
		$('selectCurso3').options[i+1] = new Option( vCursos[i]['opcao'], vCursos[i]['codigo'] );
	  }
	}
	
    /**
     * 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 ajaxVerificaDados(pEvent, pPagina, pForm) {
	  submeterform(pForm, pPagina, 'dadosVerificados');
	  object = pForm;
	  for (i=0; i<pForm.length; i++)
	    if (pForm[i].tagName == "INPUT" || pForm[i].tagName == "SELECT")
	      pForm[i].disabled = true;
	  $('btnAlterar').disabled = false;
	  $('btnConfirmar').disabled = false;
	  $('avisoInscricoes').innerHTML = "<br><img src='"+PATHR+"lib/images/loading.gif' border='0' />Aguarde, processando informações";
	  mudaCss('', 'display', $('avisoInscricoes'), true);
	}
	
    /**
     * Funcao responsavel pelo tratamento da resposta se os dados da Inscricao sao validos
     *
     * @param   varchar  pResponse  Resposta
     * @return  void
     * @since   1.0
     **/
	function dadosVerificados(pResposta) {
	  var arrJson    = (pResposta.length == undefined) ? pResposta.responseText.evalJSON(true) : pResposta.evalJSON(true);
	  var vResultado = arrJson[0];
	  var vMessage   = arrJson[1];
	  if (vResultado =="sucesso") {
	    mudaCss('', 'display', $('divVerificacao'), false);
	    mudaCss('', 'display', $('divConfirmacao'), true);	      	    
	    $("avisoInscricoes").innerHTML = "<br><font color='blue'> OK</font>: "+vMessage;
	  } else {
	    $("avisoInscricoes").innerHTML = "<br><font color='red'> ERRO</font>: "+vMessage;
	    alteraDados('', $('formInscricoes'));
	  }
	    
	  vTempo = 0;
	  _exibeProcessamento(3,"avisoInscricoes");
	}
	
    /**
     * Funcao responsavel pela atualizacao do CAPTCHA
     *
     * @return  void
     * @since   1.0
     **/
	function atualizaCaptcha(pEvent) {
	  img     = document.getElementById("imgCaptcha");
	  img.src = img.src;
	}
	
    /**
     * Funcao responsavel pelo controle dos campos dependentes da Instituicao
     *
     * @return  void
     * @since   1.0
     **/
	function verificaInstituicao(pEvent) {
	  if ($('checkboxOutraInstituicao').checked ) {
	    $('selectInstituicao').disabled     = true;
	    $('inputOutraInstituicao').disabled = false;
	  } else {
	    $('selectInstituicao').disabled     = false;
	    $('inputOutraInstituicao').disabled = true;
	  }
	}
	
    /**
     * Funcao responsavel pelo controle da confirmacao do Treinante
     *
     * @return  void
     * @since   1.0
     **/
	function verificaTreinante(pEvent) {
	  if ($('checkboxTreinante').checked)
	    if (!confirm('Ao solicitar por experiencia, voce nao estara concorrendo a uma vaga. Deseja manter?')) 
	      $('checkboxTreinante').checked=false;
	}
	
    /**
	 * 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 alteraDados(pEvent, pObj) {
	  var location = ""+window.location+"";
      mudaCss('', 'display', $('divVerificacao'), false);
	  mudaCss('', 'display', $('divConfirmacao'), false);	      	    

	  for (i=0; i<pObj.length; i++)
	    if (pObj[i].tagName == "INPUT" || pObj[i].tagName == "SELECT")
          pObj[i].disabled = false;

 	  if ($('checkboxOutraInstituicao').checked) {
	    $('selectInstituicao').disabled = true;
	    $('inputOutraInstituicao').disabled = false;
	  } else { 
	    $('selectInstituicao').disabled = false;
	    $('inputOutraInstituicao').disabled = true;
      }
        
      if($('selectCurso3').value != '1') 
	    $('selectCurso3').selectedIndex = 0;
	  else 
		$('selectCurso2').selectedIndex = 0;
	}
	
    /**
     * Fun��o respons�vel por verficar
     *
     * @param   varchar  pPagina   Pagina que sera processada
     * @param   object   pForm
     * @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;
	}
    /**
     * Funcao responsavel por abrir a janela de acessibilidade.
     *
     * @param   varchar  pUrl     Url que sera aberta
     * @return  void
     * @since   1.0
     **/
    function AbreJanelaAcess(URL) {
      window.open(URL, 'acessibilidade', 'width=302, height=430, top=1, left=1, scrollbars=no, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');
    }
    
    /**
     * Funcao responsavel por abrir a janela de impressao.
     *
     * @param   varchar  pUrl     Url que sera aberta
     * @return  void
     * @since   1.0
     **/
    function AbreJanelaImpressao(URL) {
      window.open(URL, 'Impressao', 'width=600, height=450, top=1, left=1, scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');
    }
    
    /**
     * Funcao responsavel por copiar o nome do candidato para o nome do responsavel.
     *
     * @param   varchar  pUrl     Url que sera aberta
     * @return  void
     * @since   1.0
     **/
    function replicaNome(pEvent,pInputFinal,pInputInicial) {
      $(pInputFinal).value = $(pInputInicial).value;
    }