/* Title: Ajuda File: i3geo/classesjs/classe_ajuda.js 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@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 = new Array(); } /* Class: i3GEO.ajuda Manipulação das janelas de ajuda e outras coisas relacionadas. Permite definir a mensagem padrão da janela de mensagens. Abrir a janela e definir seu conteúdo. Controla também o letreiro móvel que mostra mensagens especiais definidas em cada layer adicionado ao mapa. Exemplos: Se vc não quiser que a janela seja aberta, inclua em seu HTML ou javascript i3GEO.ajuda.ATIVAJANELA = false; Para enviar uma mensagem para a janela, utilize i3GEO.ajuda.mostraJanela("texto"); */ i3GEO.ajuda = { /* Property: ATIVAJANELA Define se a janela de mensagens pode ou não ser aberta. Default: true Type: {Boolean} */ ATIVAJANELA: true, /* Property: DIVAJUDA Nome do elemento HTML, do tipo DIV, que irá conter os textos de ajuda. Se esse DIV for encontrado no mapa, os textos serão mostrados em seu interior. Default: i3geo_ajuda Type: {String} */ DIVAJUDA: "i3geo_ajuda", /* Property: DIVLETREIRO Id do elemento HTML onde será incluído o banner (letreiro) de mensagens. Esse tipo de mensagem é obtida do METADATA "MENSAGEM" que pode ser incluído em um layer. Default: i3geo_letreiro Type: {String} */ DIVLETREIRO: "i3geo_letreiro", /* Property: MENSAGEMPADRAO Mensagem que será incluída ao iniciar a janela de mensagens ou quando não houver mensagem definida para o elemento sobre o qual o mouse estaciona. Default: "" Type: {String} */ MENSAGEMPADRAO: "", /* Property: TRANSICAOSUAVE Altera a transparência quando o mouse sobrepõe à janela e quando sai Type: {boolean} Default: {true} */ TRANSICAOSUAVE: true, /* Property: OPACIDADE Valor da opacidade mínima utilizada quando TRANSICAOSUAVE for igual a true. Varia de 0 a 100 Type: {numeric} Default: {50} */ OPACIDADE: 20, /* Function: abreDoc Abre a documentacao do i3geo em uma nova janela do navegador */ abreDoc: function() {window.open(i3GEO.configura.locaplic+"/documentacao/index.html");}, /* Function: abreJanela Abre a janela flutuante para mostrar as mensagens de ajuda. Essa função é executada na inicialização do i3GEO */ abreJanela: function(){ try { if(i3GEO.ajuda.ATIVAJANELA == false){return;} if (!$i("janelaMenTexto")){ var nx = ""; var ny = ""; if($i(i3GEO.interface.IDCORPO)){ var pos = YAHOO.util.Dom.getXY($i(i3GEO.interface.IDCORPO)); var nx = pos[0] - 267; var ny = i3GEO.parametros.h - 70; } var texto = '
'+i3GEO.ajuda.MENSAGEMPADRAO+'
'; var janela = i3GEO.janela.cria("262","auto","",nx,ny," ","i3geo_janelaMensagens",false); janela[2].innerHTML = texto; YAHOO.util.Event.addListener(janela[0].close, "click", i3GEO.ajuda.fechaJanela); i3GEO.ajuda.ativaCookie(); } } catch(e){} }, /* Function: ativaCookie Ativa o cookie g_janelaMen e inclui o valor "sim". Toda a vez que a janela é aberta, o cookie é ativado. Ativando-se o cookie, a janela de mensagens será aberta automaticamente a próxima vez que o i3geo for iniciado */ ativaCookie: function(){ i3GEO.util.insereCookie("g_janelaMen","sim"); }, /* Function: ativaLetreiro Busca mensagens no metadata "MENSAGEM" existentes nos layers do mapa. Se existirem mensagens, as mesmas são incluídas no letreiro. O letreiro deve ser um elemento do tipo INPUT (text). Parameters: mensagem {String} - (opcional) texto que será mostrado no letreiro. Se não for informado será utilizado a variável i3GEO.parametros.mensagens */ ativaLetreiro: function(mensagem){ if($i(i3GEO.ajuda.DIVLETREIRO)) { if(arguments.length == 0) {var mensagem = i3GEO.parametros.mensagens;} if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.ajuda.ativaLetreiro()") < 0) {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.ajuda.ativaLetreiro()");} try {clearTimeout(i3GEO.ajuda.tempoLetreiro);} catch(e){i3GEO.ajuda.tempoLetreiro = "";} var l= $i(i3GEO.ajuda.DIVLETREIRO); if(l.style.display=="none"){return;} l.style.cursor="pointer"; if(mensagem == ""){ l.value = ""; return; } if (l.size == 1) {l.size = i3GEO.parametros.w / 8;} BMessage = mensagem + " ---Clique para parar--- "; l.onclick = function() {l.style.display = "none";}; if (BMessage != " ---Clique para parar--- "){ BQuantas = 0; BSize = l.size; BPos=BSize; BSpeed = 1; BSpaces = ""; i3GEO.ajuda.mostraLetreiro(); } i3GEO.ajuda.mostraLetreiro(mensagem); } }, /* Function: desativaCookie Desativa o cookie g_janelaMen. Toda a vez que a janela é fechada, o cookie é desativado. Desativando-se o cookie, a janela de mensagens não será aberta automaticamente a próxima vez que o i3geo for iniciado */ desativaCookie: function(){ i3GEO.util.insereCookie("g_janelaMen","nao"); }, /* Function: fechaJanela. Fecha a janela de ajuda. */ fechaJanela: function(){ i3GEO.ajuda.desativaCookie(); if($i("i3geo_janelaMensagens_c")) document.body.removeChild($i("i3geo_janelaMensagens_c")); }, /* Function: mostraJanela Mostra um texto dentro da janela de mensagens padrão. Parameters: texto {String} - texto a ser mostrado */ mostraJanela: function(texto){ if ($i(i3GEO.ajuda.DIVAJUDA)){ if (texto == ""){$i(i3GEO.ajuda.DIVAJUDA).innerHTML="-";} else {$i(i3GEO.ajuda.DIVAJUDA).innerHTML= texto;} } else{ if($i("janelaMenTexto") && i3GEO.ajuda.TRANSICAOSUAVE){ if(texto != ""){ if (navm) {$i("i3geo_janelaMensagens").style.filter='alpha(opacity=100)';} else {$i("i3geo_janelaMensagens").style.opacity= 1;} } else{ if (navm) {$i("i3geo_janelaMensagens").style.filter='alpha(opacity='+i3GEO.ajuda.OPACIDADE+')';} else {$i("i3geo_janelaMensagens").style.opacity= i3GEO.ajuda.OPACIDADE / 100;} } } if($i("janelaMenTexto")) $i("janelaMenTexto").innerHTML= texto; } }, /* Private: mostraLetreiro Preenche o elemento INPUT com a mesnagem de texto e faz a movimentação das letras. O aparecimento das letras é controlado por um temporizador e asmensagens são mostradas apenas duas vezes, desde o início do redesenho do mapa. */ mostraLetreiro: function(){ for (count=0; count