/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: true */ /* Title: Busca de dados nos atributos de um tema O tema alvo é o definido na variável i3GEO.temaAtivo Veja: Arquivo: i3geo/ferramentas/busca/index.js.php About: Licença i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation; Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. */ if(typeof(i3GEOF) === 'undefined'){ var i3GEOF = {}; } /* Class: i3GEOF.busca */ i3GEOF.busca = { /* Variavel: nbuscas Número de buscas já feitas. Utilizado para posicionar as janelas de resultados. */ nbuscas: 0, /* Variavel: aguarde Objeto DOM com a imagem de aguarde existente no cabeçalho da janela. */ aguarde: "", /* Variavel: tema Código do tema utilizado na busca */ tema: i3GEO.temaAtivo, /* Para efeitos de compatibilidade antes da versão 4.7 que não tinha dicionário */ criaJanelaFlutuante: function(){ i3GEOF.busca.iniciaDicionario(); }, /* Function: iniciaDicionario Carrega o dicionário e chama a função que inicia a ferramenta O Javascript é carregado com o id i3GEOF.nomedaferramenta.dicionario_script */ iniciaDicionario: function(){ if(typeof(i3GEOF.busca.dicionario) === 'undefined'){ i3GEO.util.scriptTag( i3GEO.configura.locaplic+"/ferramentas/busca/dicionario.js", "i3GEOF.busca.iniciaJanelaFlutuante()", "i3GEOF.busca.dicionario_script" ); } else{ i3GEOF.busca.iniciaJanelaFlutuante(); } }, /* Function: inicia Inicia a ferramenta. É chamado por criaJanelaFlutuante Parametro: iddiv {String} - id do div que receberá o conteudo HTML da ferramenta */ inicia: function(iddiv){ i3GEO.janela.comboCabecalhoTemas("i3GEOFbuscaComboCabeca","i3GEOFbuscaComboCabecaSel","busca","ligadosComTabela"); if(i3GEO.temaAtivo === ""){ $i(iddiv).innerHTML = "";//'

'+$trad("x33")+'

'; return; } try{ $i(iddiv).innerHTML += i3GEOF.busca.html(); i3GEO.php.listaItensTema(i3GEOF.busca.montaListaItens,i3GEOF.busca.tema); new YAHOO.widget.Button( "i3GEObuscabotao1", {onclick:{fn: i3GEOF.busca.procurar}} ); i3GEO.janela.comboCabecalhoTemas("i3GEOFbuscaComboCabeca","i3GEOFbuscaComboCabecaSel","busca","ligadosComTabela"); } catch(erro){alert(erro);} }, /* Function: html Gera o código html para apresentação das opções da ferramenta Retorno: String com o código html */ html:function(){ var ins = ''; ins += '

'; ins += $inputText("","","i3GEObuscapalavra","",35,$trad(1,i3GEOF.busca.dicionario)); ins += '

'; ins += '

'; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += '
'+$trad(3,i3GEOF.busca.dicionario)+'
'+$trad(4,i3GEOF.busca.dicionario)+'
 
'+$trad(5,i3GEOF.busca.dicionario)+'
'+$trad(6,i3GEOF.busca.dicionario)+'
'; ins += '

'+$trad(7,i3GEOF.busca.dicionario)+''; ins += '

'; ins += '
'; return ins; }, /* Function: iniciaJanelaFlutuante Cria a janela flutuante para controle da ferramenta. */ iniciaJanelaFlutuante: function(){ var minimiza,cabecalho,janela,divid,temp,titulo; if($i("i3GEOF.busca")){ i3GEOF.busca.tema = i3GEO.temaAtivo; i3GEOF.busca.inicia("i3GEOF.busca_corpo"); return; } //funcao que sera executada ao ser clicado no cabeçalho da janela cabecalho = function(){ i3GEOF.busca.ativaFoco(); }; minimiza = function(){ i3GEO.janela.minimiza("i3GEOF.busca"); }; //cria a janela flutuante titulo = "
------
    "; janela = i3GEO.janela.cria( "290px", "330px", "", "", "", titulo, "i3GEOF.busca", false, "hd", cabecalho, minimiza ); divid = janela[2].id; i3GEOF.busca.aguarde = $i("i3GEOF.busca_imagemCabecalho").style; //i3GEOF.analisaGeometrias.aguarde.visibility = "visible"; i3GEOF.busca.inicia(divid); temp = function(){ if(i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search('i3GEO.janela.comboCabecalhoTemas("i3GEOFbuscaComboCabeca","i3GEOFbuscaComboCabecaSel","busca","ligadosComTabela")') > 0) {i3GEO.eventos.ATUALIZAARVORECAMADAS.remove('i3GEO.janela.comboCabecalhoTemas("i3GEOFbuscaComboCabeca","i3GEOFbuscaComboCabecaSel","busca","ligadosComTabela")');} }; YAHOO.util.Event.addListener(janela[0].close, "click", temp); }, /* Function: ativaFoco Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado */ ativaFoco: function(){ if(i3GEOF.busca.tema !== "" && i3GEO.arvoreDeCamadas.pegaTema(i3GEOF.busca.tema) === "") {alert($trad(8,i3GEOF.busca.dicionario));} var i = $i("i3GEOF.busca_c").style; i3GEO.janela.ULTIMOZINDEX++; i.zIndex = 21000 + i3GEO.janela.ULTIMOZINDEX; }, /* Function: montaListaItens Monta a lista de itens que poderão ser escolhidos. A lista é inserida no elemento html com id "i3GEObuscalistai" */ montaListaItens: function(retorno){ var ins = "", i, n; try{ ins += (""); n = retorno.data.valores.length; for (i=0;i"; ins += ""; } ins += "
 "+retorno.data.valores[i].item+" - "+retorno.data.valores[i].tema+"
"; $i("i3GEObuscalistai").innerHTML = ins; } catch(e) {$i("i3GEObuscalistai").innerHTML = "

"+$trad(9,i3GEOF.busca.dicionario)+"
"+e;} }, /* Function: procurar Executa a operação de busca Veja: */ procurar: function(){ if(i3GEOF.busca.aguarde.visibility === "visible") {return;} if(i3GEO.arvoreDeCamadas.pegaTema(i3GEOF.busca.tema) === "") {alert($trad(10,i3GEOF.busca.dicionario));return;} var inputs = $i("i3GEObuscalistai").getElementsByTagName("input"), n = inputs.length, listai = [], i, tipo = "exata", onde = "mapa", palavra = $i("i3GEObuscapalavra").value, p, cp; for (i=0;i", ins = [], linhas, nlinhas, linha, nlinha, valores, x, y, i, er, tr, tema, posicaoleft = parseInt($i("i3GEOF.busca_c").style.left,10)+(i3GEOF.busca.nbuscas*10), posicaotop = parseInt($i("i3GEOF.busca_c").style.top,10)+(i3GEOF.busca.nbuscas*10); i3GEOF.busca.nbuscas++; i3GEO.janela.cria("200px","200px","",posicaoleft+290,posicaotop,palavra,idJanela); if (retorno.data !== undefined) { nlinhas = retorno.data.length; for (tema=0;temazoom  "+$trad(13,i3GEOF.busca.dicionario)+""); for (i=0;i"+palavra+""); ins.push("

"+ linhas[linha].valores[i].item + ": " + tr + "

"); naoEncontrado = ""; } } } $i(idJanela+"_corpo").innerHTML = "
"+naoEncontrado+ins.join("")+"
"; } else {$i(idJanela+"_corpo").innerHTML = "

"+$trad(9,i3GEOF.busca.dicionario)+"
";} } };