// JavaScript Document

//globais

var RP = new ResultadoPesquisa();

/*
function TituloAutorDaObra(biblioteca, idobra)
{
  var params = "BANCO=" + biblioteca + "&ID_OBRA=" + idobra;
  var resultado = ExecutaAjax("tituloautor", params);
  var aux = retornavalor(resultado, "RESULTADO").split('#');
  return {titulo: aux[0], autor: aux[1]};
}

function TituloAutorDaObraAssincrono(biblioteca, idobra, tratadora)
{
  var params = "BANCO=" + biblioteca + "&ID_OBRA=" + idobra;
  ExecutaAjaxAssincrono("tituloautor", params, tratadora);
}
*/

function Tratadora(biblioteca, continuarpesquisa, resultado)
{
  CntResultados++;

  var div = document.getElementById("aguarde");
  if (div.style.display != "block") div.style.display = "block";
  div.innerHTML = "Pesquisando, aguarde [ " + (CntResultados * 25) + " % ]";
  
  RP.parseia(biblioteca, resultado);
  
  if (biblioteca == "jurid")          
  {
    //monto o resultado do Jurid... 
    PlotaResultadoJURID();
    //e disparo demais pesquisas, se for o caso
    if (continuarpesquisa)
    {
      ExecutaPesquisa("bfw", [0,0,0,0], [100, 10, 100, 10], false, Tratadora);
      ExecutaPesquisa("blw", [0,0,0,0], [100, 10, 100, 10], false, Tratadora);
    }
    setTimeout('ExecutaPesquisa("rfw", [0,0,0,0], [100, 10, 100, 10], false, Tratadora)', 10);    
  }    
  else
  if (biblioteca == "bfw") PlotaResultadoBFW();
  else
  if (biblioteca == "blw") PlotaResultadoBLW();
  //observe que a RFW não tem um  "PlotaResultado" direito. Isso ocorre pq o mesmo
  //é gerado na mudança da aba
  
  if ((CntResultados == 4) || ((CntResultados == 2) && (!continuarpesquisa)))
  {
    div.style.display = "none";
    Abas.enable = true;
  }
}

function TratadoraProximas(biblioteca, continuar, resultado)
{
  RP.acrescenta(biblioteca, resultado);
  
  if (biblioteca == "jurid") 
  {
    //monto o resultado do Jurid... 
    PlotaResultadoJURID();
  }    
  else
  if (biblioteca == "rfw")
  {
    //monto o resultado da RFW
    PlotaResultadoRFW();
  }
}
                                               
function InformaNovaPesquisa(palavras, modo, filtro0, filtro1)
{
  SetCookie('ID_PESQUISA', -1);
  SetCookie('PALAVRAS', escape(palavras));
  SetCookie('MODO', modo);
  SetCookie('FILTRO0', filtro0);
  SetCookie('FILTRO1', filtro1);
  
  var params = "NOPS=0";
  var resultado = ExecutaAjax("nova", params);
  return retornavalor(resultado, "RESULTADO");
}

function ExecutaPesquisa(biblioteca, indices, qtds, continuarpesquisa, funcao_tratadora)
{
  var indicestr = "INDICES=";
  indicestr += indices[0];
  for (var i=1; i < indices.length; i++)
    indicestr += "|" + indices[i];
  
  var qtdstr = "QTDS=";
  qtdstr += qtds[0];
  for (var i=1; i < qtds.length; i++)
    qtdstr += "|" + qtds[i];

  var params = indicestr + "&" + qtdstr;
  
  var resultado = ExecutaAjaxAssincrono(biblioteca, params, function(resultado){ funcao_tratadora(biblioteca, continuarpesquisa, resultado);});
  return resultado;
}

function PesquisarEmTudo(palavras, modo, filtro0, filtro1)
{
  var idPesquisa = InformaNovaPesquisa(palavras, modo, filtro0, filtro1);
  if (idPesquisa == -1)
  {
    alert('ID de pesquisa inválido...');
    return false;
  }
  SetCookie('ID_PESQUISA', idPesquisa);
  //depois de setar todos os parametros, já mando para a página de resultados...
  window.location = "http://www.multipedia.com.br/resultado.do";
}

function PesquisarApenasJURID(palavras, modo, filtro0, filtro1)
{
  var idPesquisa = InformaNovaPesquisa(palavras, modo, filtro0, filtro1);
  if (idPesquisa == -1)
  {
    alert('ID de pesquisa inválido...');
    return false;
  }
  SetCookie('ID_PESQUISA', idPesquisa);
  //depois de setar todos os parametros, já mando para a página de resultados...
  var div = document.getElementById("aguarde");
  if (!div) return;
  if (div.style.display != 'block') div.style.display = "block";  
  CntResultados = 0;
  div.innerHTML = "Pesquisando, aguarde ...";
  ExecutaPesquisa("jurid", [0,0,0,0], [100, 10, 100, 10], false, Tratadora);
}


/*

  FUNÇÕES PARA LOGIN e LOGOUT
  
*/

function ExecutaLogIn(email, senha)
{
  var params = 'email=' + escape(email) + '&senha=' + escape(senha);
  var resultado = ExecutaAjax('login', params);
  if (resultado)
  {
    var dados = retornavalor(resultado, 'RESULTADO').split('|');
    SetCookie('SID', dados[0]);
    SetCookie('NOME', dados[1]);
    return true;
  }
  else
    return false;
}

function ExecutaLogInAuto()
{
  var params = 'nops';
  var resultado = ExecutaAjax('login', params, true);
  if (resultado)
  {
    var dados = retornavalor(resultado, 'RESULTADO').split('|');
    SetCookie('SID', dados[0]);
    SetCookie('NOME', dados[1]);
    return true;
  }
  else
    return false;
}

function ExecutaLogOut()
{
  var params = 'NOPS=S';
  var resultado = ExecutaAjax('logout', params);
  if (resultado)
  {
    DelCookie('SID');
    DelCookie('NOME');
  }
  return resultado;
}

function Tickar()
{
  var params="NOPS=S";
  var resultado = ExecutaAjax('tick', params);
  return true;
}
