/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: false */ /* Title: Guias Arquivo: i3geo/classesjs/classe_guias.js Licenca: GPL2 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@mma.gov.br 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; tanto a versão 2 da Licença. 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(i3GEO) === 'undefined'){ i3GEO = []; } /* Classe: i3GEO.guias Cria e controla as guias de opções mostradas no mapa principal e as guias das ferramentas Para configurar as guias do mapa principal utilize i3GEO.guias.configura = ... As guias das ferramentas são configuradas nos scripts específicos de cada ferramenta */ i3GEO.guias = { /* Propriedade: CONFIGURA Define os parâmetros de cada guia que será mostrada no mapa, como título, conteúdo, etc. Exemplo i3GEO.guias.CONFIGURA.legenda = { titulo:"Legenda do mapa", id:"guia4", idconteudo:"guia4obj",//id do elemento HTML que contém o conteúdo da guia click: function(){ i3GEO.guias.mostra("legenda");//mostra a guia i3GEO.mapa.legendaHTML.cria("guia4obj"); } } Tipo: {JSON} */ CONFIGURA: { "temas":{ titulo:$trad("g4a"), id:"guia1", idconteudo:"guia1obj", click:"" }, "adiciona":{ titulo:"+"+$trad("g1"), id:"guia2", idconteudo:"guia2obj", click: function(){ var ondeArvore; i3GEO.guias.mostra("adiciona"); if(!$i("arvoreAdicionaTema")) { ondeArvore = "guia2obj"; if(typeof(objmapa) !== 'undefined'){ if (typeof(objmapa.guiaMenu) !== 'undefined') {ondeArvore = objmapa.guiaMenu+"obj";} } } else {ondeArvore = "arvoreAdicionaTema";} //para efeitos de compatibilidade if(document.getElementById("outrasOpcoesAdiciona")){ i3GEO.arvoreDeTemas.OPCOESADICIONAIS.idonde = "outrasOpcoesAdiciona"; i3GEO.arvoreDeTemas.OPCOESADICIONAIS.incluiArvore = false; } i3GEO.arvoreDeTemas.cria(i3GEO.configura.sid,i3GEO.configura.locaplic,ondeArvore); } }, "legenda":{ titulo:$trad("g3"), id:"guia4", idconteudo:"guia4obj", click: function(){ i3GEO.guias.mostra("legenda"); i3GEO.mapa.legendaHTML.cria("guia4obj"); } }, "mapas":{ titulo:"Links", id:"guia5", idconteudo:"guia5obj", click: function(){ var pegaMapas = function(retorno){ var ins,mapa,ig1lt,ig1,nome,lkd,link; ins = "
"; mapa = retorno.data.mapas; ig1lt = mapa.length; ig1=0; if(ig1lt > 0){ do{ nome = mapa[ig1].NOME; if(mapa[ig1].PUBLICADO){ if(mapa[ig1].PUBLICADO === "NAO" || mapa[ig1].PUBLICADO === "nao") {nome = ""+nome+"";} } lkd = mapa[ig1].LINK; link = i3GEO.configura.locaplic+"/ms_criamapa.php?temasa="+mapa[ig1].TEMAS+"&layers="+mapa[ig1].LIGADOS; if (mapa[ig1].EXTENSAO !== "") {link += "&mapext="+mapa[ig1].EXTENSAO;} if (mapa[ig1].OUTROS !== "") {link += "&"+mapa[ig1].OUTROS;} if (lkd !== "") {link = lkd;} ins += "

"; ins += "

"+nome+"


"; ig1++; } while(ig1"; }; $i(i3GEO.guias.CONFIGURA.mapas.idconteudo).innerHTML = "Aguarde..."; i3GEO.guias.mostra("mapas"); i3GEO.php.pegaMapas(pegaMapas); } } }, /* Propriedade: ATUAL Guia que está ativa O nome da guia é a definida na variável i3GEO.guias.CONFIGURA Tipo: {string} Default: {"temas"} */ ATUAL: "temas", /* Propriedade: idguias ID do elemento DOM, criado pelo YUI, onde serão inseridas as guias Tipo: {String} Default: {"guiasYUI"} */ IDGUIAS: "guiasYUI", /* Function: cria Cria as guias com base na variável configura. As guias podem ser definidas no HTML do mapa, sem necessariamente estarem na variável configura. As guias, nesse caso, devem ter como ID "guia'n'", por exemplo id="guia6". Para cada uma dessas guias deve haver um DIV com o conteúdo. Esse DIV deve ter como ID "guia'n'obj", por exemplo id="guia6obj" Parametro: onde {String} - id do elemento que conterá as guias */ cria: function(onde){ if(typeof(console) !== 'undefined'){console.info("i3GEO.guias.cria()");} // //obtém outras guias que podem existir no mapa // var onf,outf,guiaconteudo,id,guia,guias,nguias,g,re,ng,tituloguia,i,ins; guias = i3GEO.util.listaChaves(i3GEO.guias.CONFIGURA); nguias = guias.length; for(g=0;g<12;g++){ tituloguia = ""; if($i("guia"+g)){ tituloguia = $i("guia"+g).innerHTML; re = new RegExp(" ", "g"); tituloguia = tituloguia.replace(re,''); for(ng=0;ng'+i3GEO.guias.CONFIGURA[guias[ng]].titulo+'
';} } } ins += ""; onde.innerHTML = ins; onf = function(){ var bcg,cor; bcg = this.parentNode.parentNode.style; cor = bcg.background.split(" ")[0]; if(cor !== "white") {bcg.background = "#bfdaff";} }; outf = function(){ var bcg,cor; bcg = this.parentNode.parentNode.style; cor = bcg.background.split(" ")[0]; if(cor !== "white") {bcg.background = "transparent";} }; for(g=0;g