function FrameBanco(banco, container, sid, resultadopesquisa, palavraspesquisadas, ehfrase, qtdocorrencias)
{
	this.codigobanco = banco;
	this.codigoexibido = banco * 10000 + 1;
	this.codigorelacionalexibido = 0;
	this.codigo
	this.tipostr = "";
	this.nomebanco = "";
	this.apelidobanco = "";
	this.descricaobanco = "";
	this.bancoatualizadoate = "";
	
	this.div = container;
	this.dadosdodoc = "";
	this.indicedobanco = "";
	this.ultimodocbanco = -1;
	this.sid = sid;
	
	this.destacadorpalavras = new ObjDestaquePalavras();
	
	this.textooriginaldodoc = "";
	
	this.resultadopesquisa = resultadopesquisa;
	this.palavraspesquisadas = palavraspesquisadas;
	this.ehfrase = ehfrase;
	this.qtdocorrencias = qtdocorrencias;
	
	this.qtd_referencias = 0;
	this.indice_referencias = 0;
	
	this.qtd_remissoes = 0;
	this.indice_remissoes = 0;
	
	this.qtd_doutrinas = 0;
	this.indice_doutrinas = 0;
	
	this.qtd_mps = 0;
	this.indice_mps = 0;
	
	this.qtd_sumulas = 0;
	this.indice_sumulas = 0;
	
	this.qtd_vinculantes = 0;
	this.indice_vinculantes = 0;
	
	this.qtd_modelos = 0;
	this.indice_modelos = 0;
	
	this.qtd_sentencas = 0;
	this.indice_sentencas = 0;
	
	this.tvanalitico = null;
	this.tvremissivo = null;
	this.tvpesquisa = null;
	this.navegoupeloindice = false;
	
	this.abarelacionalativa = 0;
	
	var resposta = ajax_carregapagina("frame_banco.htm");
	var coll = null;
	var i = 0;
	
	if (resposta)
	{
		this.div.innerHTML = retornavalor(resposta, "RESULTADO");//recebo o HTML do Frame
		
		//dados do banco...
		resposta = ajax_detalhesdobanco(banco);
		
		if (resposta)
		{
			this.nomebanco = retornavalor(resposta, "BANCO");
			this.apelidobanco = retornavalor(resposta, "HINT").split('|')[0];
			this.descricaobanco = retornavalor(resposta, "HINT").split('|')[1];
			this.bancoatualizadoate = retornavalor(resposta, "ATZATE");
		}
		else
		{
			this.nomebanco = "INDETERMINADO";
			this.apelidobanco = "INDETERMINADO";
			this.descricaobanco = "INDETERMINADO";
			this.bancoatualizadoate = "INDETERMINADO";
		
		}
		
		
		/*
		
		
		posicionamentos
		
		
		*/
		
		//
		// larguras
		//
		RetornaElementosComID(this.div, "pEsquerda")[0].width = parseInt(document.documentElement.clientWidth) * 2/3 + "px";
    RetornaElementosComID(document, 'barra_navegador')[0].style.width = parseInt(document.documentElement.clientWidth) * 2/3 + 14 + "px";		
    //
    // alturas
    //
    RetornaElementosComID(this.div, "pBaseTextoDoc")[0].style.height = parseInt(document.documentElement.clientHeight) - 236 + "px";
		coll = RetornaElementosComID(this.div, "spIndice");
		for (i = 0; i< coll.length; i++)
      coll[i].style.height = parseInt(document.documentElement.clientHeight) - ((i==coll.length-1)?198:201) + "px";
    
		coll = RetornaElementosComID(this.div, "pBaseTextoIndices");
		for (i = 0; i< coll.length; i++)
      coll[i].style.height = (i==coll.length - 1)?parseInt(document.documentElement.clientHeight) - 201 + "px":parseInt(document.documentElement.clientHeight) - 250 + "px";

/*		


		RetornaElementosComID(document, 'barra_navegador')[0].style.width = sprintf("%d",container.style.width) * 2/3 + parseInt(RetornaElementosComID(this.div, 'pSplitter')[0].style.width) + 5 + "px";
		RetornaElementosComID(this.div, "pTVAnalitico")[0].style.height = sprintf("%d",container.style.height) - 94  + "px";
		RetornaElementosComID(this.div, "pTVAnalitico")[0].width = RetornaElementosComID(this.div, "pDireita")[0].width + "px";
		RetornaElementosComID(this.div, "pTVRemissivo")[0].style.height = sprintf("%d",container.style.height) - 94 + "px";
		RetornaElementosComID(this.div, "pTVRemissivo")[0].width = RetornaElementosComID(this.div, "pDireita")[0].width + "px";
		RetornaElementosComID(this.div, "pTVPesquisa")[0].style.height = sprintf("%d",container.style.height) - 94 + "px";
		RetornaElementosComID(this.div, "pTVPesquisa")[0].width = RetornaElementosComID(this.div, "pDireita")[0].width + "px";
		
*/		
		/*
		
		
		tratadores de eventos...
		
		
		*/
		
		var elemento = RetornaElementosComID(this.div, "pEsquerda")[0]; 
		elemento.onmousemove = function(event){tratamousemovesplitter(event)};
		elemento.onmouseup   = function(event){tratamouseupsplitter(event)};
		
		elemento = RetornaElementosComID(this.div, "pSplitter")[0];
		elemento.onmousemove = function(event){tratamousemovesplitter(event)};
		elemento.onmousedown = function(event){tratamousedownsplitter(event)};
		elemento.onmouseup   = function(event){tratamouseupsplitter(event)};
		
		elemento = RetornaElementosComID(this.div, "imgSplitter")[0];
		elemento.onmousemove = function(event){tratamousemoveimgsplitter(event)};
		elemento.onmousedown = function(event){tratamousedownimgsplitter(event)};
		elemento.onmouseup   = function(event){tratamouseupimgsplitter(event)};
		
		elemento = RetornaElementosComID(this.div, "pDireita")[0];
		elemento.onmousemove = function(event){tratamousemovesplitter(event)};
		elemento.onmouseup   = function(event){tratamouseupsplitter(event)};
	
		
		/*

						TreeViews
		
		*/
		/*                    ANALITICO                  */
		this.tvanalitico = new FdrTV(RetornaElementosComID(this.div, "pTVAnalitico")[0]);
		this.tvanalitico.imagemmais = "/imagens/treeview/plus.gif";
		this.tvanalitico.imagemmenos = "/imagens/treeview/minus.gif";
		this.tvanalitico.imagemmarcador = "/imagens/treeview/marker.gif";
		this.tvanalitico.onclick = trataclickindice;
		this.tvanalitico.corfonte = "black";
		this.tvanalitico.nosemvetor = null;//property dinamica
		this.tvanalitico.nosemvetorindice = 0;
		
		
		/*                    PESQUISA					*/
		this.tvpesquisa = new FdrTV(RetornaElementosComID(this.div, "pTVPesquisa")[0]);
		this.tvpesquisa.imagemmais = "/imagens/treeview/plus.gif";
		this.tvpesquisa.imagemmenos = "/imagens/treeview/minus.gif";
		this.tvpesquisa.imagemmarcador = "/imagens/treeview/marker.gif";
		this.tvpesquisa.corfonte = "black";
		this.tvpesquisa.onclick = trataclickindice;
		this.tvpesquisa.onantesexpandir  = trataantesexpandirtvpesquisa;
		
		this.tvpesquisa.nosemvetor = null;
		this.tvpesquisa.nosemvetorindice = 0;
		
		/*
		
		carrego o primeiro da lista
		
		*/
		
		this.exibecodigo(this.codigoexibido, (resultadopesquisa == null));
	
		return this;
	}
	else return null;
}

FrameBanco.prototype.exibecodigo = FrameBancoexibecodigo;
FrameBanco.prototype.analisaindices = FrameBancoanalisaindices;
FrameBanco.prototype.ehresultadopesquisa = FrameBancoEhResultadoPesquisa;
FrameBanco.prototype.exibeindices = FrameBancoexibeindices;
FrameBanco.prototype.navega_primeiro = FrameBanconavega_primeiro;
FrameBanco.prototype.navega_anterior = FrameBanconavega_anterior;
FrameBanco.prototype.navega_proximo = FrameBanconavega_proximo;
FrameBanco.prototype.navega_ultimo = FrameBanconavega_ultimo;
FrameBanco.prototype.navega_qualquer = FrameBanconavega_qualquer;
FrameBanco.prototype.carregadadosaba = FrameBancocarregadadosaba;
FrameBanco.prototype.montaindice = FrameBancomontaindice;
FrameBanco.prototype.atualizaconteudoindice = FrameBancoAtualizaConteudoIndice;
FrameBanco.prototype.exibeocultarelacionais = FrameBancoExibeOcultaRelacionais
FrameBanco.prototype.buscanovetorocodigo = FrameBancobuscanovetorocodigo;

function FrameBancoexibecodigo(codigodoc, logar)
{
  if (Math.round(codigodoc/10000 - 0.5) != this.codigobanco)
  {
      var banco = Math.round(codigodoc/10000 - 0.5);
		  this.codigobanco = banco;
		  this.ultimodocbanco = -1;
       
  		var resposta = ajax_detalhesdobanco(banco);
  		
  		if (resposta)
  		{
  			this.nomebanco = retornavalor(resposta, "BANCO");
  			this.apelidobanco = retornavalor(resposta, "HINT").split('|')[0];
  			this.descricaobanco = retornavalor(resposta, "HINT").split('|')[1];
  			this.bancoatualizadoate = retornavalor(resposta, "ATZATE");
  		}
  		else
  		{
  			this.nomebanco = "INDETERMINADO";
  			this.apelidobanco = "INDETERMINADO";
  			this.descricaobanco = "INDETERMINADO";
  			this.bancoatualizadoate = "INDETERMINADO";
  		
  		}
  }
  
  if ((codigodoc <= 0) || ((this.ultimodocbanco != -1) && (codigodoc > this.ultimodocbanco)))
  {
    alert("Número de documento inválido. O intervalo vai de 1 a " + this.ultimodocbanco % 10000 + ".");
    return;
  }
	this.codigoexibido = codigodoc;
	
	if (this.palavraspesquisadas) 
    this.dadosdodoc = ajax_dadosdodoc(this.codigoexibido, logar, this.palavraspesquisadas); 
    else 
    this.dadosdodoc = ajax_dadosdodoc(this.codigoexibido, logar);
    
	var qtd = 0;
	
	try
	{
	  //no caso de navegar depois de ter sido exibido o localiza...
	  RetornaElementosComID(document, 'barra_navegador_ocorrencias')[0].style.display = "none";
    RetornaElementosComID(document, 'eLocalizaTexto')[0].value = "";
  }
  catch(e)
  {
    alert(e.message);
  }
  
	if (this.dadosdodoc)
	{
    this.textooriginaldodoc = retornavalor(this.dadosdodoc, "TEXTO");
    RetornaElementosComID(this.div, "pTextoDoc")[0].innerHTML = this.textooriginaldodoc;
		RetornaElementosComID(this.div, "pIndiceTexto")[0].innerHTML = retornavalor(this.dadosdodoc, "INDICE_DOC");
		
		this.ultimodocbanco = retornavalor(this.dadosdodoc, "ULTIMO_DOC");
		this.tipostr = retornavalor(this.dadosdodoc, "TIPOSTR");
		
    RetornaElementosComID(document, 'lTipoStr')[0].innerHTML = this.tipostr;
		//Referencias
		this.qtd_referencias = retornavalor(this.dadosdodoc, "QTD_REFERENCIAS");
		this.indice_referencias = 0;
		//Remissoes
		this.qtd_remissoes = retornavalor(this.dadosdodoc, "QTD_REMISSOES");
		this.indice_remissoes = 0;
		//Doutrinas
		this.qtd_doutrinas = retornavalor(this.dadosdodoc, "QTD_DOUTRINAS");
		this.indice_doutrinas = 0;
		//Medidas Provisórias
		this.qtd_mps = retornavalor(this.dadosdodoc, "QTD_MPS");
		this.indice_mps = 0;
		//Sumulas
		this.qtd_sumulas = retornavalor(this.dadosdodoc, "QTD_SUMULAS");
		this.indice_sumulas = 0;
		//Sumulas Vinculantes
		this.qtd_vinculantes = retornavalor(this.dadosdodoc, "QTD_VINCULANTES");
		this.indice_vinculantes = 0;
		//modelos
		this.qtd_modelos = retornavalor(this.dadosdodoc, "QTD_MODELOS");
		this.indice_modelos = 0;
		//sentenças
		this.qtd_sentencas = retornavalor(this.dadosdodoc, "QTD_SENTENCAS");
		this.indice_sentencas = 0;
		
		this.analisaindices();
		
	}
}

function FrameBancoanalisaindices()
{
	var indice = -1;
	var coll = RetornaElementosComID(this.div, "pTextoIndices");
	var i = 0;
	
	if (this.resultadopesquisa) indice = 10;//resultado de pesquisa tem prioridade com relação aos demais
	else
	if (this.qtd_referencias > 0) indice = 0;
	else
	if (this.qtd_remissoes > 0) indice = 1;
	else
	if (this.qtd_doutrinas > 0) indice = 2;
	else
	if (this.qtd_mps > 0) indice = 3;
	else
	if (this.qtd_sumulas > 0) indice = 4;
	else
	if (this.qtd_vinculantes > 0) indice = 5;
	else
	if (this.qtd_modelos > 0) indice = 6;
	else
	if (this.qtd_sentencas > 0) indice = 7;
	else
	indice = 8;//indice analitico do documento
	
	for (i = 0; i < coll.length; i++) coll[i].innerHTML = "";	
	
	/*
	exibindo / ocultando as abas do índice
	*/
	coll = RetornaElementosComID(this.div, "abaindice");
	coll[0].style.display = (this.qtd_referencias > 0)?"block":"none";
	RetornaElementosComID(coll[0], 'abaindice_conteudo')[0].innerHTML = sprintf("Jur. %d/%d",this.indice_referencias + 1, this.qtd_referencias);
	coll[1].style.display = (this.qtd_remissoes > 0)?"block":"none";
	RetornaElementosComID(coll[1], 'abaindice_conteudo')[0].innerHTML = sprintf("Rem. %d/%d",this.indice_remissoes + 1, this.qtd_remissoes);
	coll[2].style.display = (this.qtd_doutrinas > 0)?"block":"none";
	RetornaElementosComID(coll[2], 'abaindice_conteudo')[0].innerHTML = sprintf("Dou. %d/%d",this.indice_doutrinas + 1, this.qtd_doutrinas);
	coll[3].style.display = (this.qtd_sumulas > 0)?"block":"none";
	RetornaElementosComID(coll[3], 'abaindice_conteudo')[0].innerHTML = sprintf("Sum. %d/%d",this.indice_sumulas + 1, this.qtd_sumulas);
	coll[4].style.display = (this.qtd_vinculantes > 0)?"block":"none";
	RetornaElementosComID(coll[4], 'abaindice_conteudo')[0].innerHTML = sprintf("Vin. %d/%d",this.indice_vinculantes + 1, this.qtd_vinculantes);
	coll[5].style.display = (this.qtd_modelos > 0)?"block":"none";
	RetornaElementosComID(coll[5], 'abaindice_conteudo')[0].innerHTML = sprintf("Mod. %d/%d",this.indice_modelos + 1, this.qtd_modelos);
	coll[6].style.display = (this.qtd_sentencas > 0)?"block":"none";
	RetornaElementosComID(coll[6], 'abaindice_conteudo')[0].innerHTML = sprintf("Sen. %d/%d",this.indice_sentencas + 1, this.qtd_sentencas);
	coll[7].style.display = (this.qtd_mps > 0)?"block":"none";
	RetornaElementosComID(coll[7], 'abaindice_conteudo')[0].innerHTML = sprintf("MPs. %d/%d",this.indice_mps + 1, this.qtd_mps);
	coll[9].style.display = "none";
	coll[10].style.display = (this.resultadopesquisa)?"block":"none";
	//
	// ajustando a largura do splitter de acordo com a qtd de abas abertas !
	//
	var largura = 0;
	for (i = 0; i < coll.length; i++)
	 if (coll[i].style.display == "block") largura += parseInt(coll[i].clientWidth);
	 
	if (largura > (parseInt(document.documentElement.clientWidth) - parseInt(RetornaElementosComID(this.div, 'pEsquerda')[0].clientWidth) - 100))
	{
    RetornaElementosComID(this.div, 'pEsquerda')[0].style.width = parseInt(this.div.clientWidth) - parseInt(largura) - 100 + "px";
    
  }
	
	this.exibeindices(indice);
}

function FrameBancocarregadadosaba(indice)
{
	var coll = RetornaElementosComID(this.div, "spIndice");
	var resposta = "";
	
	switch (indice)
	{
		case 0: resposta = sprintf("REF%d", this.indice_referencias); break;
		case 1: resposta = sprintf("REM%d", this.indice_remissoes); break;
		case 2: resposta = sprintf("DOU%d", this.indice_doutrinas); break;
		case 3: resposta = sprintf("SUM%d", this.indice_sumulas); break;
		case 4: resposta = sprintf("VIN%d", this.indice_vinculantes); break;
		case 5: resposta = sprintf("MOD%d", this.indice_modelos); break;
		case 6: resposta = sprintf("SEN%d", this.indice_sentencas); break;
		case 7: resposta = sprintf("MPS%d", this.indice_mps); break;
		default:
			resposta = sprintf("REF%d", this.indice_referencias);
	}
	resposta = retornavalor(this.dadosdodoc, resposta);
	this.codigorelacionalexibido = parseInt(resposta);

	if (RetornaElementosComID(coll[indice], "pTextoIndices")[0].innerHTML == '')
	{
		if (resposta)
		{
      resposta = ajax_dadosdodoc(resposta);			

// 	if (this.palavraspesquisadas)
//       resposta = ajax_dadosdodoc(resposta, this.palavraspesquisadas); 
//       else
//       resposta = ajax_dadosdodoc(resposta); 

			if (resposta)
			{
				coll = RetornaElementosComID(this.div, "spIndice");
				RetornaElementosComID(coll[indice], "pTextoIndices")[0].innerHTML = retornavalor(resposta, "TEXTO");
				RetornaElementosComID(coll[indice], "pIndiceIndices")[0].innerHTML = retornavalor(resposta, "INDICE_DOC");
			}
		}
	}
}

function FrameBancoexibeindices(indice)
{
	var resposta = "";
	var coll = null;
	var i = 0;
	
	RetornaElementosComID(this.div, "barra_navegador_referencias")[0].style.display = (indice==10)?"none":"block";
	
	if (this.navegoupeloindice)
  {
  	coll = RetornaElementosComID(this.div, 'abaindice');
  	RetornaElementosComID(this.div, "barra_navegador_referencias_espacador")[0].style.width = parseInt(coll[this.abarelacionalativa].offsetLeft) + "px";
    return;  
  }
  
	if (indice < 8)
	{
		//está exibindo referencia, remissão, doutrina ou afins
		this.carregadadosaba(indice);
	}
	else
	{
		switch (indice)
		{
			case 8:
				if (!this.indicedobanco.length)
				{
					this.indicedobanco = ajax_indicedobanco(this.codigobanco);
					this.montaindice(this.indicedobanco, this.tvanalitico);
					this.tvanalitico.nosemvetor = this.tvanalitico.listarnosemvetor();
					this.tvanalitico.nosemvetorindice = 0;
				}
        this.tvanalitico.nosemvetorindice = this.buscanovetorocodigo(this.tvanalitico.nosemvetor, this.codigoexibido);
        this.tvanalitico.destacarno(this.tvanalitico.nosemvetor[this.tvanalitico.nosemvetorindice]);
				break;
			case 9:break;
			case 10:
				if (!this.tvpesquisa.filhos.length)
        { 
          montaresultadopesquisa(this.resultadopesquisa, this.tvpesquisa);
          this.tvpesquisa.nosemvetor = this.tvpesquisa.listarnosemvetor();
          this.tvpesquisa.nosemvetorindice = 0;
        }
				break;
		}
		
		//está exibindo o índice analitico, remissivo ou o resultado da pesquisa
	}
	//
	// exibindo o div relativo à aba
	//
	coll = RetornaElementosComID(this.div, 'spIndice');
	for (i = 0; i < coll.length; i++) coll[i].style.display = (i == indice)?"block":"none";
	//
	// exibindo a aba propriamente dita
	//
	coll = RetornaElementosComID(this.div, 'abaindice');
	for (i = 0; i < coll.length; i++)
	{
		coll[i].getElementsByTagName('img')[0].src = (i == indice)?'/imagens/aba_indice/aba_indice_on_01.gif':'/imagens/aba_indice/aba_indice_off_01.gif';
		RetornaElementosComID(coll[i], 'abaindice_conteudo')[0].className = (i == indice)?"abaindice_conteudo_on":"abaindice_conteudo_off";
		coll[i].getElementsByTagName('img')[1].src = (i == indice)?'/imagens/aba_indice/aba_indice_on_03.gif':'/imagens/aba_indice/aba_indice_off_03.gif';		
	}
	RetornaElementosComID(this.div, "barra_navegador_referencias_espacador")[0].style.width = parseInt(coll[indice].offsetLeft) + "px";
	this.abarelacionalativa = indice;
}

function FrameBancoAtualizaConteudoIndice()
{
  var indice = this.abarelacionalativa;
  
  if (indice == 8)
  {
    this.navegoupeloindice = true;
    this.exibecodigo(this.tvanalitico.nosemvetor[this.tvanalitico.nosemvetorindice].data);
    this.tvanalitico.destacarno(this.tvanalitico.nosemvetor[this.tvanalitico.nosemvetorindice]);
    
    return;
  }
  
  if ((indice < 0) || (indice > 7)) return;
  
	var coll = RetornaElementosComID(this.div, "abaindice");  
  
	switch (indice)
	{
		case 0: 
      resposta = sprintf("REF%d", this.indice_referencias);
      RetornaElementosComID(coll[0], 'abaindice_conteudo')[0].innerHTML = sprintf("Jur. %d/%d",this.indice_referencias + 1, this.qtd_referencias); 
    break;
		case 1:
      resposta = sprintf("REM%d", this.indice_remissoes);
      RetornaElementosComID(coll[1], 'abaindice_conteudo')[0].innerHTML = sprintf("Rem. %d/%d",this.indice_remissoes + 1, this.qtd_remissoes); 
    break;
		case 2: 
      resposta = sprintf("DOU%d", this.indice_doutrinas);
      RetornaElementosComID(coll[2], 'abaindice_conteudo')[0].innerHTML = sprintf("Dou. %d/%d",this.indice_doutrinas + 1, this.qtd_doutrinas); 
    break;
		case 3: 
      resposta = sprintf("SUM%d", this.indice_sumulas);
      RetornaElementosComID(coll[3], 'abaindice_conteudo')[0].innerHTML = sprintf("Sum. %d/%d",this.indice_sumulas + 1, this.qtd_sumulas); 
    break;
		case 4:
      resposta = sprintf("VIN%d", this.indice_vinculantes);
      RetornaElementosComID(coll[4], 'abaindice_conteudo')[0].innerHTML = sprintf("Vin. %d/%d",this.indice_vinculantes + 1, this.qtd_vinculantes); 
    break;
		case 5: 
      resposta = sprintf("MOD%d", this.indice_modelos);
      RetornaElementosComID(coll[5], 'abaindice_conteudo')[0].innerHTML = sprintf("Mod. %d/%d",this.indice_modelos + 1, this.qtd_modelos); 
    break;
		case 6: 
      resposta = sprintf("SEN%d", this.indice_sentencas);
      RetornaElementosComID(coll[6], 'abaindice_conteudo')[0].innerHTML = sprintf("Sen. %d/%d",this.indice_sentencas + 1, this.qtd_sentencas);       
    break;
		case 7:
      resposta = sprintf("MPS%d", this.indice_mps);
      RetornaElementosComID(coll[7], 'abaindice_conteudo')[0].innerHTML = sprintf("MPs. %d/%d",this.indice_mps + 1, this.qtd_mps); 
    break;
      
		default:
			resposta = sprintf("REF%d", this.indice_referencias);
	}
	
	resposta = retornavalor(this.dadosdodoc, resposta);
	
	if (resposta)
	{
    this.codigorelacionalexibido = parseInt(resposta);	
		resposta = ajax_dadosdodoc(resposta);
		if (resposta)
		{
			coll = RetornaElementosComID(this.div, "spIndice");
			RetornaElementosComID(coll[indice], "pTextoIndices")[0].innerHTML = retornavalor(resposta, "TEXTO");
			RetornaElementosComID(coll[indice], "pIndiceIndices")[0].innerHTML = retornavalor(resposta, "INDICE_DOC");
		}
	}
}


function FrameBanconavega_primeiro()
{
	this.navegoupeloindice = false;
	this.codigoexibido = this.codigobanco * 10000 + 1;
	this.exibecodigo(this.codigoexibido);
}

function FrameBanconavega_anterior()
{
 	if ((this.codigoexibido % 10000) > 1)
 	{
 		this.navegoupeloindice = false;
 		this.codigoexibido--;
 		this.exibecodigo(this.codigoexibido);
 	}
}

function FrameBanconavega_proximo()
{
	if (this.codigoexibido < this.ultimodocbanco) 
	{
		this.navegoupeloindice = false;
		this.codigoexibido++;
		this.exibecodigo(this.codigoexibido);
	}
}

function FrameBanconavega_ultimo()
{
	this.navegoupeloindice = false;
	this.codigoexibido = this.ultimodocbanco;
	this.exibecodigo(this.codigoexibido);
}

function FrameBanconavega_qualquer(codigo_sem_banco)
{
  var codigo = eval(this.codigobanco * 10000) + eval(codigo_sem_banco);
	this.navegoupeloindice = false;  
	this.exibecodigo(codigo);
}

/****************************************************************************************************************

								FUNÇÃO DE MONTAGEM DO INDICE

****************************************************************************************************************/

function FrameBancomontaindice(resposta, tv)
{
	var pilha = new Array();
	var vet_indice = retornavalor(resposta, "INDICE").split("#");
	var item = null;
	var i = 0;

	tv.limpar();
	tv.container.innerHTML = "";//limpando tudo
  tv.corfonte = "black";
  tv.cordestaque = "#8888FF";	

	
	pilha[0] = null;
	
	for (i=0;i<vet_indice.length;i++)
	{
		item = vet_indice[i].split("=");
		//item[0] = descrição
		//item[1] = nível
		//item[2] = codigo
		
		pilha[item[1]] = tv.adicionafilho(pilha[item[1] - 1], item[0]);
		pilha[item[1]].data = item[2];
	}
	if (tv.filhos.length) tv.exibir(tv.filhos[0]);
}

function montaresultadopesquisa(resultadopesquisa, tv)
{
	var pilha = new Array();
	var qtd = 0;
	var i = 0;
	
	tv.limpar();	
	tv.container.innerHTML = "";//limpando tudo
	tv.corfonte = "black";
	tv.cordestaque = "#8888FF";
	
	pilha[0] = null;
	
	for (i=0; i < resultadopesquisa.qtd(); i++)
	{
		pilha[resultadopesquisa.item(i).nivel + 1] = tv.adicionafilho(pilha[resultadopesquisa.item(i).nivel], resultadopesquisa.item(i).descricao);
		pilha[resultadopesquisa.item(i).nivel + 1].data = resultadopesquisa.item(i).codigo;
	}
}

function FrameBancoEhResultadoPesquisa()
{
	return this.sid;
}


function FrameBancobuscanovetorocodigo(vetor, codigodoc)
{
  var i = 0;
  for (i = 0; i < vetor.length; i++)
    if (vetor[i].data == codigodoc) return i;
     
  return -1;
}

/****************************************************************************************************************

								FUNÇÃO QUE EXIBE / OCULTA OS INDICES RELACIONAIS

****************************************************************************************************************/

function FrameBancoExibeOcultaRelacionais(status)
{
  ///
  //   ocultando as colunas da table
  ///
  RetornaElementosComID(this.div, 'pDireita')[0].style.display = (status)?"block":"none";
  RetornaElementosComID(this.div, 'pDireitaNavegadorReferencias')[0].style.display = (status)?"block":"none";
  RetornaElementosComID(this.div, 'pAbasAreas')[0].style.display = (status)?"block":"none";
  //ajustando o tamanho da barra de navegação, para ocupar a tela toda
  document.getElementById('barra_navegador').style.width = (status)?RetornaElementosComID(this.div, 'pAbasAreas')[0].offsetLeft + "px":document.documentElement.clientWidth - 20 + "px";
}






