Commit 3dc1e0838c3b1e2f49699cf7aa6cf82eeaa10806

Authored by Edmar Moretti
1 parent 4e6c4c65

Inclusão das funções que salvam e recuperam graficos no mapfile em uso

admin/admin.db
No preview for this file type
admin/php/mapas.php
@@ -23,7 +23,7 @@ Este programa é distribuído na expectativa de que seja útil @@ -23,7 +23,7 @@ Este programa é distribuído na expectativa de que seja útil
23 porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita 23 porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
24 de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. 24 de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
25 Consulte a Licença Pública Geral do GNU para mais detalhes. 25 Consulte a Licença Pública Geral do GNU para mais detalhes.
26 -Você deve ter recebido uma cópia da Licença Pública Geral do 26 +Você deve ter recebido uma cópia da Licença Pública Geral do
27 GNU junto com este programa; se não, escreva para a 27 GNU junto com este programa; se não, escreva para a
28 Free Software Foundation, Inc., no endereço 28 Free Software Foundation, Inc., no endereço
29 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. 29 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
@@ -36,7 +36,7 @@ Parametros: @@ -36,7 +36,7 @@ Parametros:
36 36
37 O parâmetro principal é "funcao", que define qual operação será executada, por exemplo, mapas.php?funcao=pegamapas. 37 O parâmetro principal é "funcao", que define qual operação será executada, por exemplo, mapas.php?funcao=pegamapas.
38 38
39 -Cada operação possuí seus próprios parâmetros, que devem ser enviados também na requisição da operação. 39 +Cada operação possuí seus próprios parâmetros, que devem ser enviados também na requisição da operação.
40 40
41 */ 41 */
42 42
@@ -162,7 +162,7 @@ switch (strtoupper($funcao)) @@ -162,7 +162,7 @@ switch (strtoupper($funcao))
162 162
163 titulo {string} - titulo do mapa 163 titulo {string} - titulo do mapa
164 164
165 - mapfile {string} - mapfile na pasta temporária 165 + mapfile {string} - mapfile na pasta temporária
166 166
167 Retorno: 167 Retorno:
168 168
@@ -174,7 +174,7 @@ switch (strtoupper($funcao)) @@ -174,7 +174,7 @@ switch (strtoupper($funcao))
174 break; 174 break;
175 } 175 }
176 function salvaMapfile(){ 176 function salvaMapfile(){
177 - global $esquemaadmin,$nome_mapa,$arqmapfile,$url,$id_mapa,$preferenciasbase64,$geometriasbase64; 177 + global $esquemaadmin,$nome_mapa,$arqmapfile,$url,$id_mapa,$preferenciasbase64,$geometriasbase64,$graficosbase64;
178 //as preferencias sao criadas via javascript e guardadas junto com o mapa 178 //as preferencias sao criadas via javascript e guardadas junto com o mapa
179 try{ 179 try{
180 // 180 //
@@ -186,9 +186,10 @@ function salvaMapfile(){ @@ -186,9 +186,10 @@ function salvaMapfile(){
186 //o parser para reconstruir os valores e feito em javascript, no cliente 186 //o parser para reconstruir os valores e feito em javascript, no cliente
187 // 187 //
188 $customizacoesinit = array(); 188 $customizacoesinit = array();
189 - if(isset($preferenciasbase64) || isset($geometriasbase64)){ 189 + if(isset($preferenciasbase64) || isset($geometriasbase64) || isset($graficosbase64)){
190 $customizacoesinit[] = '"preferenciasbase64":"'.$preferenciasbase64.'"'; 190 $customizacoesinit[] = '"preferenciasbase64":"'.$preferenciasbase64.'"';
191 $customizacoesinit[] = '"geometriasbase64":"'.$geometriasbase64.'"'; 191 $customizacoesinit[] = '"geometriasbase64":"'.$geometriasbase64.'"';
  192 + $customizacoesinit[] = '"graficosbase64":"'.$graficosbase64.'"';
192 $m = ms_newMapObj($arqmapfile); 193 $m = ms_newMapObj($arqmapfile);
193 $m->setmetadata("CUSTOMIZACOESINIT",'{'.implode(",",$customizacoesinit).'}'); 194 $m->setmetadata("CUSTOMIZACOESINIT",'{'.implode(",",$customizacoesinit).'}');
194 $m->save($arqmapfile); 195 $m->save($arqmapfile);
classesjs/classe_i3geo.js
@@ -341,6 +341,7 @@ var i3GEO = { @@ -341,6 +341,7 @@ var i3GEO = {
341 // 341 //
342 //obtem os parametros que foram armazenados ao salvar o mapa 342 //obtem os parametros que foram armazenados ao salvar o mapa
343 //caso o mapa atual tenha sido recuperado do banco de dados 343 //caso o mapa atual tenha sido recuperado do banco de dados
  344 + //os parametros sao armazenados em base64 no objeto metadata do mapfile
344 // 345 //
345 if(retorno.data.customizacoesinit){ 346 if(retorno.data.customizacoesinit){
346 preferencias = YAHOO.lang.JSON.parse(retorno.data.customizacoesinit); 347 preferencias = YAHOO.lang.JSON.parse(retorno.data.customizacoesinit);
@@ -390,8 +391,15 @@ var i3GEO = { @@ -390,8 +391,15 @@ var i3GEO = {
390 //caso o mapa atual tenha sido recuperado do banco de dados 391 //caso o mapa atual tenha sido recuperado do banco de dados
391 // 392 //
392 if(retorno.data.customizacoesinit){ 393 if(retorno.data.customizacoesinit){
393 - temp = i3GEO.util.base64decode(preferencias.geometriasbase64);  
394 - i3GEO.mapa.desCompactaLayerGrafico(temp); 394 + //recupera os layers graficos
  395 + if(preferencias.geometriasbase64 && preferencias.geometriasbase64 != ""){
  396 + temp = i3GEO.util.base64decode(preferencias.geometriasbase64);
  397 + i3GEO.mapa.desCompactaLayerGrafico(temp);
  398 + }
  399 + //recupera os graficos
  400 + if(preferencias.graficosbase64 && preferencias.graficosbase64 != ""){
  401 + i3GEO.mapa.restauraGraficos(preferencias.graficosbase64);
  402 + }
395 } 403 }
396 } 404 }
397 else 405 else
classesjs/classe_mapa.js
@@ -35,1162 +35,1219 @@ GNU junto com este programa; se não, escreva para a @@ -35,1162 +35,1219 @@ GNU junto com este programa; se não, escreva para a
35 Free Software Foundation, Inc., no endereço 35 Free Software Foundation, Inc., no endereço
36 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. 36 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
37 37
38 -*/  
39 -if(typeof(i3GEO) === 'undefined'){ 38 + */
  39 +if (typeof (i3GEO) === 'undefined') {
40 var i3GEO = {}; 40 var i3GEO = {};
41 } 41 }
42 -i3GEO.mapa = {  
43 - /*  
44 - Propriedade: TEMASINICIAISLIGADOS  
45 -  
46 - Lista indicando quais temas serao adicionados ao mapa na inicializacao  
47 -  
48 - Esse valor e utilizado para completar a variavel mashuppar utilizada por i3GEO.  
49 -  
50 - Os temas sao aqueles que aparecem em i3geo/temas  
51 -  
52 - Type:  
53 - {string}  
54 -  
55 - Default:  
56 - {}  
57 - */  
58 - TEMASINICIAISLIGADOS: "",  
59 - /*  
60 - Propriedade: TEMASINICIAISLIGADOS  
61 -  
62 - Lista indicando quais temas serao ligados na inicializacao  
63 -  
64 - Esse valor e utilizado para completar a variavel mashuppar utilizada por i3GEO.  
65 -  
66 - Os temas sao aqueles que aparecem em i3geo/temas  
67 -  
68 - Type:  
69 - {string}  
70 -  
71 - Default:  
72 - {}  
73 - */  
74 - TEMASINICIAIS: "",  
75 - /*  
76 - Propriedade: AUTORESIZE  
77 -  
78 - Indica se o tamanho do mapa sera ajustado toda vez que o navegador for redimensionado  
79 -  
80 - Type:  
81 - {boolean}  
82 -  
83 - Default:  
84 - {false}  
85 - */  
86 - AUTORESIZE: false,  
87 - /*  
88 - Armazena o nome dos objetos geoXml adicionados ao mapa pela API do google maps  
89 -  
90 - Tipo:  
91 - {Array}  
92 - */  
93 - GEOXML: [],  
94 - /*  
95 - Function: insereDobraPagina  
96 -  
97 - Insere o icone do tipo "dobra de pagina" que permite alterar o renderizador do mapa  
98 -  
99 - Parametros:  
100 -  
101 - tipo {string} - tipo de icone googlemaps|openlayers  
102 -  
103 - imagem {string} - endereco da imagem que sera utilizada no icone  
104 - */  
105 - insereDobraPagina: function(tipo,imagem){  
106 - var novoel = $i("i3GEOdobraPagina");  
107 - if(!novoel){  
108 - novoel = document.createElement("img");  
109 - }  
110 - novoel.src = imagem;  
111 - novoel.id = "i3GEOdobraPagina";  
112 - if(tipo === "googlemaps"){  
113 - novoel.onclick = function(evt){  
114 - i3GEO.Interface.atual2gm.inicia();  
115 - };  
116 - }  
117 - if(tipo === "openlayers"){  
118 - novoel.onclick = function(evt){  
119 - i3GEO.Interface.atual2ol.inicia();  
120 - };  
121 - }  
122 - novoel.style.cursor = "pointer";  
123 - novoel.style.position = "absolute";  
124 - novoel.style.top = i3GEO.parametros.h - 35 + "px";  
125 - novoel.style.zIndex = "50000";  
126 - novoel.style.left = i3GEO.parametros.w - 35 + "px";  
127 - $i(i3GEO.Interface.IDMAPA).appendChild(novoel);  
128 - YAHOO.util.Event.addListener("i3GEOdobraPagina", "click", YAHOO.util.Event.stopPropagation);  
129 - YAHOO.util.Event.addListener("i3GEOdobraPagina", "click", YAHOO.util.Event.preventDefault);  
130 - },  
131 - /*  
132 - Reposiciona o icone do tipo "dobra de pagina"  
133 - */  
134 - reposicionaDobraPagina: function(){  
135 - var novoel = $i("i3GEOdobraPagina");  
136 - if(!novoel){  
137 - return;  
138 - }  
139 - novoel.style.top = i3GEO.parametros.h - 35 + "px";  
140 - novoel.style.left = i3GEO.parametros.w - 35 + "px";  
141 - },  
142 - /*  
143 - Ativa o redimensionamento automatico do mapa sempre que o navegador for redimensionado  
144 -  
145 - e definido como um evento do elemento window  
146 - */  
147 - ativaAutoResize: function(){  
148 - window.onresize = function(){  
149 - var Dw,Dh, r = false;  
150 - Dw = YAHOO.util.Dom.getViewportWidth();  
151 - Dh = YAHOO.util.Dom.getViewportHeight();  
152 - if(Math.abs(Dw - i3GEO.tamanhodoc[0]) > 50){  
153 - r = true; 42 +i3GEO.mapa =
  43 + {
  44 + /*
  45 + * Propriedade: TEMASINICIAISLIGADOS
  46 + *
  47 + * Lista indicando quais temas serao adicionados ao mapa na inicializacao
  48 + *
  49 + * Esse valor e utilizado para completar a variavel mashuppar utilizada por i3GEO.
  50 + *
  51 + * Os temas sao aqueles que aparecem em i3geo/temas
  52 + *
  53 + * Type: {string}
  54 + *
  55 + * Default: {}
  56 + */
  57 + TEMASINICIAISLIGADOS : "",
  58 + /*
  59 + * Propriedade: TEMASINICIAISLIGADOS
  60 + *
  61 + * Lista indicando quais temas serao ligados na inicializacao
  62 + *
  63 + * Esse valor e utilizado para completar a variavel mashuppar utilizada por i3GEO.
  64 + *
  65 + * Os temas sao aqueles que aparecem em i3geo/temas
  66 + *
  67 + * Type: {string}
  68 + *
  69 + * Default: {}
  70 + */
  71 + TEMASINICIAIS : "",
  72 + /*
  73 + * Propriedade: AUTORESIZE
  74 + *
  75 + * Indica se o tamanho do mapa sera ajustado toda vez que o navegador for redimensionado
  76 + *
  77 + * Type: {boolean}
  78 + *
  79 + * Default: {false}
  80 + */
  81 + AUTORESIZE : false,
  82 + /*
  83 + * Armazena o nome dos objetos geoXml adicionados ao mapa pela API do google maps
  84 + *
  85 + * Tipo: {Array}
  86 + */
  87 + GEOXML : [],
  88 + /*
  89 + * Function: insereDobraPagina
  90 + *
  91 + * Insere o icone do tipo "dobra de pagina" que permite alterar o renderizador do mapa
  92 + *
  93 + * Parametros:
  94 + *
  95 + * tipo {string} - tipo de icone googlemaps|openlayers
  96 + *
  97 + * imagem {string} - endereco da imagem que sera utilizada no icone
  98 + */
  99 + insereDobraPagina : function(tipo, imagem) {
  100 + var novoel = $i("i3GEOdobraPagina");
  101 + if (!novoel) {
  102 + novoel = document.createElement("img");
154 } 103 }
155 - if(Math.abs(Dh - i3GEO.tamanhodoc[1]) > 50){  
156 - r = true; 104 + novoel.src = imagem;
  105 + novoel.id = "i3GEOdobraPagina";
  106 + if (tipo === "googlemaps") {
  107 + novoel.onclick = function(evt) {
  108 + i3GEO.Interface.atual2gm.inicia();
  109 + };
157 } 110 }
158 - if(r === false)  
159 - {return;}  
160 - i3GEO.tamanhodoc = [Dw,Dh];  
161 - setTimeout(function(){  
162 - i3GEO.reCalculaTamanho();  
163 - i3GEO.barraDeBotoes.recria("i3geo_barra2");  
164 - if(i3GEO.Interface.TABLET === true)  
165 - {i3GEO.guias.escondeGuias();return;}  
166 - if(i3GEO.guias.TIPO === "movel")  
167 - {i3GEO.guias.guiaMovel.reposiciona();}  
168 - else  
169 - {i3GEO.guias.ajustaAltura();}  
170 - i3GEO.mapa.reposicionaDobraPagina();  
171 - },2000);  
172 - };  
173 - },  
174 - /*  
175 - Ajusta o posicionamento do corpo do mapa  
176 -  
177 - Esse ajuste e necessario na inicializacao, uma vez que o mapa utiliza style.position='absolute'  
178 -  
179 - Parameters:  
180 -  
181 - elemento {String} - id do elemento HTML que devera ser ajustado e que contem o mapa  
182 - */  
183 - ajustaPosicao: function(elemento){  
184 - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.ajustaPosicao()");}  
185 - if(arguments.length === 0){return;}  
186 - var imagemxi = 0,  
187 - imagemyi = 0,  
188 - dc = $i(elemento),  
189 - c;  
190 - if(!dc){return;}  
191 - try{  
192 - while ((dc.offsetParent) && (dc.offsetParent.id !== "i3geo")){  
193 - dc = dc.offsetParent;  
194 - imagemxi += dc.offsetLeft;  
195 - imagemyi += dc.offsetTop; 111 + if (tipo === "openlayers") {
  112 + novoel.onclick = function(evt) {
  113 + i3GEO.Interface.atual2ol.inicia();
  114 + };
196 } 115 }
197 - c = $i(i3GEO.Interface.IDCORPO);  
198 - if (c){  
199 - c.style.position="absolute";  
200 - if(navm)  
201 - {$left(i3GEO.Interface.IDCORPO,imagemxi - 1);}  
202 - else  
203 - {$left(i3GEO.Interface.IDCORPO,imagemxi);}  
204 - $top(i3GEO.Interface.IDCORPO,imagemyi); 116 + novoel.style.cursor = "pointer";
  117 + novoel.style.position = "absolute";
  118 + novoel.style.top = i3GEO.parametros.h - 35 + "px";
  119 + novoel.style.zIndex = "50000";
  120 + novoel.style.left = i3GEO.parametros.w - 35 + "px";
  121 + $i(i3GEO.Interface.IDMAPA).appendChild(novoel);
  122 + YAHOO.util.Event.addListener("i3GEOdobraPagina", "click", YAHOO.util.Event.stopPropagation);
  123 + YAHOO.util.Event.addListener("i3GEOdobraPagina", "click", YAHOO.util.Event.preventDefault);
  124 + },
  125 + /*
  126 + * Reposiciona o icone do tipo "dobra de pagina"
  127 + */
  128 + reposicionaDobraPagina : function() {
  129 + var novoel = $i("i3GEOdobraPagina");
  130 + if (!novoel) {
  131 + return;
205 } 132 }
206 - }  
207 - catch(e){i3GEO.janela.tempoMsg("Ocorreu um erro. i3GEO.mapa.ajustaPosicao "+e);}  
208 - },  
209 - /*  
210 - Function: ativaTema  
211 -  
212 - Altera a variavel i3GEO.temaAtivo e atualiza a interface em funcao do novo tema que for ativado  
213 -  
214 - O tema anteriormente ativo tem sua cor alterada para a cor normal e o novo tema e destacado com uma cor diferente  
215 -  
216 - Executa tambem as funcoes armazenadas em i3GEO.eventos.ATIVATEMA  
217 -  
218 - Parametros:  
219 -  
220 - codigo {string} - codigo da camada  
221 - */  
222 - ativaTema: function(codigo){  
223 - if(codigo){  
224 - if(codigo === "")  
225 - {return;}  
226 - if(i3GEO.temaAtivo !== "")  
227 - {i3GEO.util.defineValor("ArvoreTituloTema"+i3GEO.temaAtivo,"style.color","");}  
228 - i3GEO.temaAtivo = codigo;  
229 - i3GEO.util.defineValor("ArvoreTituloTema"+codigo,"style.color","brown");  
230 - }  
231 - },  
232 - /*  
233 - Function: ativaLogo  
234 -  
235 - Ativa ou desativa a logo marca.  
236 - */  
237 - ativaLogo: function(){  
238 - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.ativaLogo()");}  
239 - if(i3GEO.Interface.ATUAL === "googlemaps")  
240 - {alert($trad("x21"));return;}  
241 - i3GEO.php.ativalogo(i3GEO.atualiza);  
242 - var cr = $i("i3GEOcopyright");  
243 - if(cr){  
244 - if(cr.style.display === "block")  
245 - {cr.style.display = "none";}  
246 - else  
247 - {cr.style.display = "block";}  
248 - }  
249 - },  
250 - /*  
251 - Verifica se ocorreu algum problema na atualizacao do corpo do mapa e inicia o processo de tentativa de recuperacao  
252 -  
253 - Parametro:  
254 -  
255 - retorno {string} - objeto recebido da funcao PHP de atualizacao do mapa  
256 - */  
257 - verifica:function(retorno){  
258 - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.verifica()");}  
259 - try{  
260 - if(retorno.data)  
261 - {retorno = retorno.data;}  
262 - if (retorno.variaveis)  
263 - {retorno = retorno.variaveis;}  
264 - if ((retorno === "erro") || (typeof(retorno) === 'undefined')){  
265 - i3GEO.mapa.ajustaPosicao();  
266 - i3GEO.janela.fechaAguarde();  
267 - i3GEO.mapa.recupera.inicia(); 133 + novoel.style.top = i3GEO.parametros.h - 35 + "px";
  134 + novoel.style.left = i3GEO.parametros.w - 35 + "px";
  135 + },
  136 + /*
  137 + * Ativa o redimensionamento automatico do mapa sempre que o navegador for redimensionado
  138 + *
  139 + * e definido como um evento do elemento window
  140 + */
  141 + ativaAutoResize : function() {
  142 + window.onresize = function() {
  143 + var Dw, Dh, r = false;
  144 + Dw = YAHOO.util.Dom.getViewportWidth();
  145 + Dh = YAHOO.util.Dom.getViewportHeight();
  146 + if (Math.abs(Dw - i3GEO.tamanhodoc[0]) > 50) {
  147 + r = true;
  148 + }
  149 + if (Math.abs(Dh - i3GEO.tamanhodoc[1]) > 50) {
  150 + r = true;
  151 + }
  152 + if (r === false) {
  153 + return;
  154 + }
  155 + i3GEO.tamanhodoc = [
  156 + Dw,
  157 + Dh
  158 + ];
  159 + setTimeout(function() {
  160 + i3GEO.reCalculaTamanho();
  161 + i3GEO.barraDeBotoes.recria("i3geo_barra2");
  162 + if (i3GEO.Interface.TABLET === true) {
  163 + i3GEO.guias.escondeGuias();
  164 + return;
  165 + }
  166 + if (i3GEO.guias.TIPO === "movel") {
  167 + i3GEO.guias.guiaMovel.reposiciona();
  168 + } else {
  169 + i3GEO.guias.ajustaAltura();
  170 + }
  171 + i3GEO.mapa.reposicionaDobraPagina();
  172 + }, 2000);
  173 + };
  174 + },
  175 + /*
  176 + * Ajusta o posicionamento do corpo do mapa
  177 + *
  178 + * Esse ajuste e necessario na inicializacao, uma vez que o mapa utiliza style.position='absolute'
  179 + *
  180 + * Parameters:
  181 + *
  182 + * elemento {String} - id do elemento HTML que devera ser ajustado e que contem o mapa
  183 + */
  184 + ajustaPosicao : function(elemento) {
  185 + if (typeof (console) !== 'undefined') {
  186 + console.info("i3GEO.mapa.ajustaPosicao()");
268 } 187 }
269 - i3GEO.mapa.recupera.TENTATIVA = 0;  
270 - }  
271 - catch(e){  
272 - if(i3GEO.Interface.ATUAL === "openlayers" || i3GEO.Interface.ATUAL === "googlemaps"){  
273 - i3GEO.janela.fechaAguarde(); 188 + if (arguments.length === 0) {
274 return; 189 return;
275 } 190 }
276 - if(this.recupera.TENTATIVA === 0){  
277 - i3GEO.janela.tempoMsg("Erro no mapa. Sera feita uma tentativa de recuperacao.");  
278 - i3GEO.mapa.recupera.inicia(); 191 + var imagemxi = 0, imagemyi = 0, dc = $i(elemento), c;
  192 + if (!dc) {
  193 + return;
279 } 194 }
280 - else{  
281 - i3GEO.janela.tempoMsg("Recuperacao impossivel. Sera feita uma tentativa de reiniciar o mapa.");  
282 - if (this.recupera.TENTATIVA === 1){  
283 - this.recupera.TENTATIVA = 2;  
284 - i3GEO.php.reiniciaMapa(i3GEO.atualiza); 195 + try {
  196 + while ((dc.offsetParent) && (dc.offsetParent.id !== "i3geo")) {
  197 + dc = dc.offsetParent;
  198 + imagemxi += dc.offsetLeft;
  199 + imagemyi += dc.offsetTop;
285 } 200 }
  201 + c = $i(i3GEO.Interface.IDCORPO);
  202 + if (c) {
  203 + c.style.position = "absolute";
  204 + if (navm) {
  205 + $left(i3GEO.Interface.IDCORPO, imagemxi - 1);
  206 + } else {
  207 + $left(i3GEO.Interface.IDCORPO, imagemxi);
  208 + }
  209 + $top(i3GEO.Interface.IDCORPO, imagemyi);
  210 + }
  211 + } catch (e) {
  212 + i3GEO.janela.tempoMsg("Ocorreu um erro. i3GEO.mapa.ajustaPosicao " + e);
286 } 213 }
287 - if(typeof(console) !== 'undefined'){console.error("i3GEO.mapa.verifica "+e);}  
288 - }  
289 - },  
290 - /*  
291 - Tenta recuperar o mapa caso ocorra algum problema  
292 -  
293 - O i3Geo mantem sempre uma copia do arquivo mapfile em uso. Essa funcao tenta  
294 - usar essa copia para restaurar o funcionamento do mapa  
295 - */  
296 - recupera:{  
297 - /*  
298 - Armazena a quantidade de tentativas de recuperacao que foram feitas  
299 -  
300 - Tipo:  
301 - {Integer}  
302 - */  
303 - TENTATIVA: 0, 214 + },
304 /* 215 /*
305 - Inicia a tentativa de recuperacao  
306 - */  
307 - inicia: function(){  
308 - i3GEO.mapa.ajustaPosicao();  
309 - i3GEO.janela.fechaAguarde();  
310 - if(this.recupera.TENTATIVA === 0){  
311 - this.recupera.TENTATIVA++;  
312 - this.recupera.restaura(); 216 + * Function: ativaTema
  217 + *
  218 + * Altera a variavel i3GEO.temaAtivo e atualiza a interface em funcao do novo tema que for ativado
  219 + *
  220 + * O tema anteriormente ativo tem sua cor alterada para a cor normal e o novo tema e destacado com uma cor diferente
  221 + *
  222 + * Executa tambem as funcoes armazenadas em i3GEO.eventos.ATIVATEMA
  223 + *
  224 + * Parametros:
  225 + *
  226 + * codigo {string} - codigo da camada
  227 + */
  228 + ativaTema : function(codigo) {
  229 + if (codigo) {
  230 + if (codigo === "") {
  231 + return;
  232 + }
  233 + if (i3GEO.temaAtivo !== "") {
  234 + i3GEO.util.defineValor("ArvoreTituloTema" + i3GEO.temaAtivo, "style.color", "");
  235 + }
  236 + i3GEO.temaAtivo = codigo;
  237 + i3GEO.util.defineValor("ArvoreTituloTema" + codigo, "style.color", "brown");
313 } 238 }
314 }, 239 },
315 /* 240 /*
316 - Restaura o mapa para a copia de seguranca existente no servidor  
317 - */  
318 - restaura: function(){  
319 - i3GEO.php.recuperamapa(i3GEO.atualiza);  
320 - }  
321 - },  
322 - /*  
323 - Classe: i3GEO.mapa.legendaHTML  
324 -  
325 - Controla a obtencao da legenda do mapa formatada em HTML.  
326 -  
327 - util para mostrar a legenda na tela  
328 - */  
329 - legendaHTML:{  
330 - /*  
331 - Propriedade: incluiBotaoLibera  
332 -  
333 - Define se na legenda sera incluido o botao para liberar a legenda e inclui-la em uma janela flutuante  
334 -  
335 - Tipo:  
336 - {boolean}  
337 -  
338 - Default:  
339 - {true}  
340 - */  
341 - incluiBotaoLibera: false,  
342 - /*  
343 - Armazena o id definido na criacao da legenda  
344 - */  
345 - ID: "",  
346 - /*  
347 - * Armazena a lista de camadas que devem ficar escondidas na legenda 241 + * Function: ativaLogo
  242 + *
  243 + * Ativa ou desativa a logo marca.
348 */ 244 */
349 - CAMADASSEMLEGENDA: [],  
350 - /*  
351 - Function: cria  
352 -  
353 - Cria a legenda HTML  
354 -  
355 - O elemento HTML definido em ID deve ter style=display:block  
356 -  
357 - A legenda e incluida no id definido. Se id for igual a "", sera apenas definido o evento de atualizacao,  
358 - permitindo que seja criada a janela flutuante, por exemplo:  
359 -  
360 - i3GEO.mapa.legendaHTML.cria("");  
361 - i3GEO.mapa.legendaHTML.libera();  
362 -  
363 - Parametros:  
364 -  
365 - id {String} - id do elemento que recebera a legenda  
366 - */  
367 - cria: function(id){  
368 - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.legendaHTML.cria()");}  
369 - if(arguments.length === 0)  
370 - {id = "";}  
371 - i3GEO.mapa.legendaHTML.ID = id;  
372 - if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.mapa.legendaHTML.atualiza()") < 0)  
373 - {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.mapa.legendaHTML.atualiza()");}  
374 - i3GEO.mapa.legendaHTML.atualiza(); 245 + ativaLogo : function() {
  246 + if (typeof (console) !== 'undefined') {
  247 + console.info("i3GEO.mapa.ativaLogo()");
  248 + }
  249 + if (i3GEO.Interface.ATUAL === "googlemaps") {
  250 + alert($trad("x21"));
  251 + return;
  252 + }
  253 + i3GEO.php.ativalogo(i3GEO.atualiza);
  254 + var cr = $i("i3GEOcopyright");
  255 + if (cr) {
  256 + if (cr.style.display === "block") {
  257 + cr.style.display = "none";
  258 + } else {
  259 + cr.style.display = "block";
  260 + }
  261 + }
375 }, 262 },
376 /* 263 /*
377 - Function: atualiza  
378 -  
379 - Atualiza o elemento HTML do mapa utilizado para mostrar a legenda  
380 - */  
381 - atualiza: function(){  
382 - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.legendaHTML.atualiza()");}  
383 - var idleg = $i("wlegenda_corpo"),  
384 - temp = function(retorno){  
385 - var legenda = "",ins,re;  
386 - re = new RegExp("<img src='' />", "g");  
387 - if (retorno.data !== "erro" && retorno.data !== undefined ){  
388 - legenda = "<div onclick='i3GEO.mapa.legendaHTML.mostraTodosOsTemas()' style=cursor:pointer;font-size:10px;text-align:left; >Mostra tudo</div><br>"+retorno.data.legenda;  
389 - }  
390 - if(legenda != "" && idleg){  
391 - ins = "";  
392 - if(i3GEO.mapa.legendaHTML.incluiBotaoLibera === true){  
393 - ins += '<div style="cursor: pointer; text-align: left; font-size: 10px; display: block; height: 35px;" onclick="i3GEO.mapa.legendaHTML.libera()"><img id="soltaLeg" src="../imagens/branco.gif" title="clique para liberar" style="margin: 5px; position: relative;"> <p style="position: relative; left: -35px; top: -22px;">'+$trad("x11")+'</p></div>';  
394 - }  
395 - legenda = legenda.replace(re,"");  
396 - ins += "<div id='corpoLegi' >"+ legenda + "</div>";  
397 -  
398 - idleg.innerHTML = legenda;  
399 - }  
400 - i3GEO.mapa.legendaHTML.escondeTemasMarcados();  
401 - };  
402 - if (idleg && idleg.style.display === "block"){  
403 - //para o caso da legenda ja estar aberta  
404 - if(i3GEO.mapa.legendaHTML.ID !== ""){  
405 - idleg = $i(i3GEO.mapa.legendaHTML.ID);  
406 - if(idleg){  
407 - idleg.innerHTML = "";  
408 - }  
409 - }  
410 - idleg = $i("wlegenda_corpo");  
411 - i3GEO.mapa.legendaHTML.obtem(temp); 264 + * Verifica se ocorreu algum problema na atualizacao do corpo do mapa e inicia o processo de tentativa de recuperacao
  265 + *
  266 + * Parametro:
  267 + *
  268 + * retorno {string} - objeto recebido da funcao PHP de atualizacao do mapa
  269 + */
  270 + verifica : function(retorno) {
  271 + if (typeof (console) !== 'undefined') {
  272 + console.info("i3GEO.mapa.verifica()");
412 } 273 }
413 - else{  
414 - if(idleg){  
415 - idleg.innerHTML = ""; 274 + try {
  275 + if (retorno.data) {
  276 + retorno = retorno.data;
  277 + }
  278 + if (retorno.variaveis) {
  279 + retorno = retorno.variaveis;
  280 + }
  281 + if ((retorno === "erro") || (typeof (retorno) === 'undefined')) {
  282 + i3GEO.mapa.ajustaPosicao();
  283 + i3GEO.janela.fechaAguarde();
  284 + i3GEO.mapa.recupera.inicia();
416 } 285 }
417 - if(i3GEO.mapa.legendaHTML.ID !== ""){  
418 - idleg = $i(i3GEO.mapa.legendaHTML.ID);  
419 - if(idleg && idleg.style.display === "block"){  
420 - i3GEO.mapa.legendaHTML.obtem(temp); 286 + i3GEO.mapa.recupera.TENTATIVA = 0;
  287 + } catch (e) {
  288 + if (i3GEO.Interface.ATUAL === "openlayers" || i3GEO.Interface.ATUAL === "googlemaps") {
  289 + i3GEO.janela.fechaAguarde();
  290 + return;
  291 + }
  292 + if (this.recupera.TENTATIVA === 0) {
  293 + i3GEO.janela.tempoMsg("Erro no mapa. Sera feita uma tentativa de recuperacao.");
  294 + i3GEO.mapa.recupera.inicia();
  295 + } else {
  296 + i3GEO.janela.tempoMsg("Recuperacao impossivel. Sera feita uma tentativa de reiniciar o mapa.");
  297 + if (this.recupera.TENTATIVA === 1) {
  298 + this.recupera.TENTATIVA = 2;
  299 + i3GEO.php.reiniciaMapa(i3GEO.atualiza);
421 } 300 }
422 } 301 }
  302 + if (typeof (console) !== 'undefined') {
  303 + console.error("i3GEO.mapa.verifica " + e);
  304 + }
423 } 305 }
424 }, 306 },
425 /* 307 /*
426 - Faz a chamada em AJAX que gera a legenda  
427 -  
428 - O resultado e processado pela funcao passada como parametro  
429 -  
430 - Parametro:  
431 -  
432 - funcao {function} - funcao que recebera o resultado da chamada AJAX. O objeto CPAINT e enviado como parametro.  
433 - */  
434 - obtem: function(funcao){  
435 - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.legendaHTML.obtem()");}  
436 - i3GEO.php.criaLegendaHTML(funcao,"",i3GEO.configura.templateLegenda);  
437 - },  
438 - /*  
439 - Liga ou desliga um unico tema. Utilizado pela legenda HTML, permitindo que um tema seja processado diretamente na legenda.  
440 -  
441 - Parametro:  
442 -  
443 - inputbox {object) - objeto do tipo input checkbox com a propriedade value indicando o codigo do tema que sera processado  
444 - */  
445 - ativaDesativaTema: function(inputbox){  
446 - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.legendaHTML.ativaDesativaTema()");}  
447 - var temp = function(){  
448 - //i3GEO.contadorAtualiza++;  
449 - i3GEO.php.corpo(i3GEO.atualiza,i3GEO.configura.tipoimagem);  
450 - i3GEO.arvoreDeCamadas.atualiza("");  
451 - i3GEO.janela.fechaAguarde("redesenha");  
452 - };  
453 - if(!inputbox.checked)  
454 - {i3GEO.php.ligatemas(temp,inputbox.value,"");}  
455 - else  
456 - {i3GEO.php.ligatemas(temp,"",inputbox.value);}  
457 - },  
458 - escondeTema: function(tema){  
459 - var d = $i("legendaLayer_"+tema);  
460 - if(d){  
461 - d.style.display = "none";  
462 - i3GEO.mapa.legendaHTML.CAMADASSEMLEGENDA.push(tema);  
463 - }  
464 - },  
465 - escondeTemasMarcados: function(){  
466 - var temas = i3GEO.mapa.legendaHTML.CAMADASSEMLEGENDA,  
467 - n = temas.length,  
468 - i,temp;  
469 - for(i=0;i<n;i++){  
470 - temp = $i(temas[i]);  
471 - if(temp){  
472 - temp.style.display = "none"; 308 + * Tenta recuperar o mapa caso ocorra algum problema
  309 + *
  310 + * O i3Geo mantem sempre uma copia do arquivo mapfile em uso. Essa funcao tenta usar essa copia para restaurar o funcionamento do
  311 + * mapa
  312 + */
  313 + recupera : {
  314 + /*
  315 + * Armazena a quantidade de tentativas de recuperacao que foram feitas
  316 + *
  317 + * Tipo: {Integer}
  318 + */
  319 + TENTATIVA : 0,
  320 + /*
  321 + * Inicia a tentativa de recuperacao
  322 + */
  323 + inicia : function() {
  324 + i3GEO.mapa.ajustaPosicao();
  325 + i3GEO.janela.fechaAguarde();
  326 + if (this.recupera.TENTATIVA === 0) {
  327 + this.recupera.TENTATIVA++;
  328 + this.recupera.restaura();
473 } 329 }
  330 + },
  331 + /*
  332 + * Restaura o mapa para a copia de seguranca existente no servidor
  333 + */
  334 + restaura : function() {
  335 + i3GEO.php.recuperamapa(i3GEO.atualiza);
474 } 336 }
475 }, 337 },
476 - mostraTodosOsTemas: function(){  
477 - i3GEO.mapa.legendaHTML.CAMADASSEMLEGENDA = [];  
478 - i3GEO.mapa.legendaHTML.atualiza();  
479 - },  
480 /* 338 /*
481 - Function: libera  
482 -  
483 - Libera a legenda criando uma janela flutuante sobre o mapa  
484 -  
485 - Parametros: 339 + * Classe: i3GEO.mapa.legendaHTML
  340 + *
  341 + * Controla a obtencao da legenda do mapa formatada em HTML.
  342 + *
  343 + * util para mostrar a legenda na tela
  344 + */
  345 + legendaHTML : {
  346 + /*
  347 + * Propriedade: incluiBotaoLibera
  348 + *
  349 + * Define se na legenda sera incluido o botao para liberar a legenda e inclui-la em uma janela flutuante
  350 + *
  351 + * Tipo: {boolean}
  352 + *
  353 + * Default: {true}
  354 + */
  355 + incluiBotaoLibera : false,
  356 + /*
  357 + * Armazena o id definido na criacao da legenda
  358 + */
  359 + ID : "",
  360 + /*
  361 + * Armazena a lista de camadas que devem ficar escondidas na legenda
  362 + */
  363 + CAMADASSEMLEGENDA : [],
  364 + /*
  365 + * Function: cria
  366 + *
  367 + * Cria a legenda HTML
  368 + *
  369 + * O elemento HTML definido em ID deve ter style=display:block
  370 + *
  371 + * A legenda e incluida no id definido. Se id for igual a "", sera apenas definido o evento de atualizacao, permitindo que seja
  372 + * criada a janela flutuante, por exemplo:
  373 + *
  374 + * i3GEO.mapa.legendaHTML.cria(""); i3GEO.mapa.legendaHTML.libera();
  375 + *
  376 + * Parametros:
  377 + *
  378 + * id {String} - id do elemento que recebera a legenda
  379 + */
  380 + cria : function(id) {
  381 + if (typeof (console) !== 'undefined') {
  382 + console.info("i3GEO.mapa.legendaHTML.cria()");
  383 + }
  384 + if (arguments.length === 0) {
  385 + id = "";
  386 + }
  387 + i3GEO.mapa.legendaHTML.ID = id;
  388 + if (i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.mapa.legendaHTML.atualiza()") < 0) {
  389 + i3GEO.eventos.NAVEGAMAPA.push("i3GEO.mapa.legendaHTML.atualiza()");
  390 + }
  391 + i3GEO.mapa.legendaHTML.atualiza();
  392 + },
  393 + /*
  394 + * Function: atualiza
  395 + *
  396 + * Atualiza o elemento HTML do mapa utilizado para mostrar a legenda
  397 + */
  398 + atualiza : function() {
  399 + if (typeof (console) !== 'undefined') {
  400 + console.info("i3GEO.mapa.legendaHTML.atualiza()");
  401 + }
  402 + var idleg = $i("wlegenda_corpo"), temp =
  403 + function(retorno) {
  404 + var legenda = "", ins, re;
  405 + re = new RegExp("<img src='' />", "g");
  406 + if (retorno.data !== "erro" && retorno.data !== undefined) {
  407 + legenda =
  408 + "<div onclick='i3GEO.mapa.legendaHTML.mostraTodosOsTemas()' style=cursor:pointer;font-size:10px;text-align:left; >Mostra tudo</div><br>"
  409 + + retorno.data.legenda;
  410 + }
  411 + if (legenda != "" && idleg) {
  412 + ins = "";
  413 + if (i3GEO.mapa.legendaHTML.incluiBotaoLibera === true) {
  414 + ins +=
  415 + '<div style="cursor: pointer; text-align: left; font-size: 10px; display: block; height: 35px;" onclick="i3GEO.mapa.legendaHTML.libera()"><img id="soltaLeg" src="../imagens/branco.gif" title="clique para liberar" style="margin: 5px; position: relative;"> <p style="position: relative; left: -35px; top: -22px;">'
  416 + + $trad("x11") + '</p></div>';
  417 + }
  418 + legenda = legenda.replace(re, "");
  419 + ins += "<div id='corpoLegi' >" + legenda + "</div>";
486 420
487 - ck - sim|nao - (opcional) inclui ou nao o checkbox que permitem desligar a camada  
488 - */  
489 - libera: function(ck,largura,altura,topo,esquerda){  
490 - if(!ck){  
491 - ck = "nao";  
492 - }  
493 - if(!largura){  
494 - largura = 302;  
495 - }  
496 - if(!altura){  
497 - altura = 300;  
498 - }  
499 - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.legendaHTML.libera()");}  
500 - var cabecalho,minimiza,janela;  
501 - if (!$i("wlegenda")){  
502 - cabecalho = function(){  
503 - };  
504 - minimiza = function(){  
505 - i3GEO.janela.minimiza("wlegenda"); 421 + idleg.innerHTML = legenda;
  422 + }
  423 + i3GEO.mapa.legendaHTML.escondeTemasMarcados();
  424 + };
  425 + if (idleg && idleg.style.display === "block") {
  426 + // para o caso da legenda ja estar aberta
  427 + if (i3GEO.mapa.legendaHTML.ID !== "") {
  428 + idleg = $i(i3GEO.mapa.legendaHTML.ID);
  429 + if (idleg) {
  430 + idleg.innerHTML = "";
  431 + }
  432 + }
  433 + idleg = $i("wlegenda_corpo");
  434 + i3GEO.mapa.legendaHTML.obtem(temp);
  435 + } else {
  436 + if (idleg) {
  437 + idleg.innerHTML = "";
  438 + }
  439 + if (i3GEO.mapa.legendaHTML.ID !== "") {
  440 + idleg = $i(i3GEO.mapa.legendaHTML.ID);
  441 + if (idleg && idleg.style.display === "block") {
  442 + i3GEO.mapa.legendaHTML.obtem(temp);
  443 + }
  444 + }
  445 + }
  446 + },
  447 + /*
  448 + * Faz a chamada em AJAX que gera a legenda
  449 + *
  450 + * O resultado e processado pela funcao passada como parametro
  451 + *
  452 + * Parametro:
  453 + *
  454 + * funcao {function} - funcao que recebera o resultado da chamada AJAX. O objeto CPAINT e enviado como parametro.
  455 + */
  456 + obtem : function(funcao) {
  457 + if (typeof (console) !== 'undefined') {
  458 + console.info("i3GEO.mapa.legendaHTML.obtem()");
  459 + }
  460 + i3GEO.php.criaLegendaHTML(funcao, "", i3GEO.configura.templateLegenda);
  461 + },
  462 + /*
  463 + * Liga ou desliga um unico tema. Utilizado pela legenda HTML, permitindo que um tema seja processado diretamente na legenda.
  464 + *
  465 + * Parametro:
  466 + *
  467 + * inputbox {object) - objeto do tipo input checkbox com a propriedade value indicando o codigo do tema que sera processado
  468 + */
  469 + ativaDesativaTema : function(inputbox) {
  470 + if (typeof (console) !== 'undefined') {
  471 + console.info("i3GEO.mapa.legendaHTML.ativaDesativaTema()");
  472 + }
  473 + var temp = function() {
  474 + // i3GEO.contadorAtualiza++;
  475 + i3GEO.php.corpo(i3GEO.atualiza, i3GEO.configura.tipoimagem);
  476 + i3GEO.arvoreDeCamadas.atualiza("");
  477 + i3GEO.janela.fechaAguarde("redesenha");
506 }; 478 };
507 - janela = i3GEO.janela.cria(  
508 - largura+"px",  
509 - altura+"px",  
510 - "",  
511 - "",  
512 - "",  
513 - $trad("p3"),  
514 - "wlegenda",  
515 - false,  
516 - "hd",  
517 - cabecalho,  
518 - minimiza  
519 - );  
520 - }  
521 - else{  
522 - janela = YAHOO.i3GEO.janela.manager.find("wlegenda");  
523 - janela.show();  
524 - }  
525 - $i("wlegenda_corpo").style.backgroundColor = "white"; 479 + if (!inputbox.checked) {
  480 + i3GEO.php.ligatemas(temp, inputbox.value, "");
  481 + } else {
  482 + i3GEO.php.ligatemas(temp, "", inputbox.value);
  483 + }
  484 + },
  485 + escondeTema : function(tema) {
  486 + var d = $i("legendaLayer_" + tema);
  487 + if (d) {
  488 + d.style.display = "none";
  489 + i3GEO.mapa.legendaHTML.CAMADASSEMLEGENDA.push(tema);
  490 + }
  491 + },
  492 + escondeTemasMarcados : function() {
  493 + var temas = i3GEO.mapa.legendaHTML.CAMADASSEMLEGENDA, n = temas.length, i, temp;
  494 + for (i = 0; i < n; i++) {
  495 + temp = $i(temas[i]);
  496 + if (temp) {
  497 + temp.style.display = "none";
  498 + }
  499 + }
  500 + },
  501 + mostraTodosOsTemas : function() {
  502 + i3GEO.mapa.legendaHTML.CAMADASSEMLEGENDA = [];
  503 + i3GEO.mapa.legendaHTML.atualiza();
  504 + },
  505 + /*
  506 + * Function: libera
  507 + *
  508 + * Libera a legenda criando uma janela flutuante sobre o mapa
  509 + *
  510 + * Parametros:
  511 + *
  512 + * ck - sim|nao - (opcional) inclui ou nao o checkbox que permitem desligar a camada
  513 + */
  514 + libera : function(ck, largura, altura, topo, esquerda) {
  515 + if (!ck) {
  516 + ck = "nao";
  517 + }
  518 + if (!largura) {
  519 + largura = 302;
  520 + }
  521 + if (!altura) {
  522 + altura = 300;
  523 + }
  524 + if (typeof (console) !== 'undefined') {
  525 + console.info("i3GEO.mapa.legendaHTML.libera()");
  526 + }
  527 + var cabecalho, minimiza, janela;
  528 + if (!$i("wlegenda")) {
  529 + cabecalho = function() {
  530 + };
  531 + minimiza = function() {
  532 + i3GEO.janela.minimiza("wlegenda");
  533 + };
  534 + janela =
  535 + i3GEO.janela.cria(
  536 + largura + "px",
  537 + altura + "px",
  538 + "",
  539 + "",
  540 + "",
  541 + $trad("p3"),
  542 + "wlegenda",
  543 + false,
  544 + "hd",
  545 + cabecalho,
  546 + minimiza);
  547 + } else {
  548 + janela = YAHOO.i3GEO.janela.manager.find("wlegenda");
  549 + janela.show();
  550 + }
  551 + $i("wlegenda_corpo").style.backgroundColor = "white";
526 552
527 - if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.mapa.legendaHTML.atualiza()") < 0)  
528 - {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.mapa.legendaHTML.atualiza()");}  
529 - i3GEO.mapa.legendaHTML.atualiza();  
530 - if(topo && esquerda){  
531 - janela = YAHOO.i3GEO.janela.manager.find("wlegenda");  
532 - janela.moveTo(esquerda,topo); 553 + if (i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.mapa.legendaHTML.atualiza()") < 0) {
  554 + i3GEO.eventos.NAVEGAMAPA.push("i3GEO.mapa.legendaHTML.atualiza()");
  555 + }
  556 + i3GEO.mapa.legendaHTML.atualiza();
  557 + if (topo && esquerda) {
  558 + janela = YAHOO.i3GEO.janela.manager.find("wlegenda");
  559 + janela.moveTo(esquerda, topo);
  560 + }
533 } 561 }
534 - }  
535 - },  
536 - /*  
537 - Controla a obtencao da legenda do mapa na forma de uma imagem  
538 -  
539 - e utilizado principalmente para armazenar as imagens para a funcao de  
540 - obtencao do historico do mapa  
541 - */  
542 - legendaIMAGEM:{  
543 - /*  
544 - Faz a chamada em AJAX que gera a legenda  
545 -  
546 - O resultado e processado pela funcao passada como parametro  
547 -  
548 - Parametro:  
549 -  
550 - funcao {function} - funcao que recebera o resultado da chamada AJAX. O objeto CPAINT e enviado como parametro.  
551 - */  
552 - obtem: function(funcao){  
553 - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.legendaIMAGEML.obtem()");}  
554 - i3GEO.php.criaLegendaImagem(funcao);  
555 - }  
556 - },  
557 - /*  
558 - Classe: i3GEO.mapa.dialogo  
559 -  
560 - Abre as telas de dialogo das opcoes de manipulacao do mapa atual  
561 - */  
562 - dialogo:{  
563 - /*  
564 - Function: geolocal  
565 -  
566 - Abre a janela de dialogo da ferramenta de geolocalizacao do usuario  
567 - */  
568 - geolocal: function(){  
569 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.geolocal()","geolocal","geolocal");  
570 }, 562 },
571 /* 563 /*
572 - Function: listaDeMapasBanco  
573 -  
574 - Lista os mapas cadastrados no sistema de administracao do i3geo  
575 - */  
576 - listaDeMapasBanco: function(){  
577 - if(i3GEO.guias.CONFIGURA["mapas"]){  
578 - var janela,divid;  
579 - janela = i3GEO.janela.cria(  
580 - "200px",  
581 - "450px",  
582 - "",  
583 - "",  
584 - "",  
585 - "",  
586 - "i3GEOFsalvaMapaLista",  
587 - false,  
588 - "hd"  
589 - );  
590 - divid = janela[2].id;  
591 - //a funcao que mostra a lista de mapas e a mesma que pode ser utilizada ao incluir a lista de mapas  
592 - //como uma guia  
593 - i3GEO.guias.CONFIGURA["mapas"].click.call(this,divid);  
594 - }  
595 - else{  
596 - window.open(i3GEO.configura.locaplic+"/admin/rssmapas.php","_blank"); 564 + * Controla a obtencao da legenda do mapa na forma de uma imagem
  565 + *
  566 + * e utilizado principalmente para armazenar as imagens para a funcao de obtencao do historico do mapa
  567 + */
  568 + legendaIMAGEM : {
  569 + /*
  570 + * Faz a chamada em AJAX que gera a legenda
  571 + *
  572 + * O resultado e processado pela funcao passada como parametro
  573 + *
  574 + * Parametro:
  575 + *
  576 + * funcao {function} - funcao que recebera o resultado da chamada AJAX. O objeto CPAINT e enviado como parametro.
  577 + */
  578 + obtem : function(funcao) {
  579 + if (typeof (console) !== 'undefined') {
  580 + console.info("i3GEO.mapa.legendaIMAGEML.obtem()");
  581 + }
  582 + i3GEO.php.criaLegendaImagem(funcao);
597 } 583 }
598 }, 584 },
599 /* 585 /*
600 - Function: congelaMapa  
601 -  
602 - Congela a vis&atilde;o atual do mapa mostrando-o em uma janela flutuante  
603 - */  
604 - congelaMapa: function(){  
605 - var url="",  
606 - idjanela = YAHOO.util.Dom.generateId(),  
607 - cabecalho = function(){  
608 - },  
609 - minimiza = function(){ 586 + * Classe: i3GEO.mapa.dialogo
  587 + *
  588 + * Abre as telas de dialogo das opcoes de manipulacao do mapa atual
  589 + */
  590 + dialogo : {
  591 + /*
  592 + * Function: geolocal
  593 + *
  594 + * Abre a janela de dialogo da ferramenta de geolocalizacao do usuario
  595 + */
  596 + geolocal : function() {
  597 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.geolocal()", "geolocal", "geolocal");
  598 + },
  599 + /*
  600 + * Function: listaDeMapasBanco
  601 + *
  602 + * Lista os mapas cadastrados no sistema de administracao do i3geo
  603 + */
  604 + listaDeMapasBanco : function() {
  605 + if (i3GEO.guias.CONFIGURA["mapas"]) {
  606 + var janela, divid;
  607 + janela = i3GEO.janela.cria("200px", "450px", "", "", "", "", "i3GEOFsalvaMapaLista", false, "hd");
  608 + divid = janela[2].id;
  609 + // a funcao que mostra a lista de mapas e a mesma que pode ser utilizada ao incluir a lista de mapas
  610 + // como uma guia
  611 + i3GEO.guias.CONFIGURA["mapas"].click.call(this, divid);
  612 + } else {
  613 + window.open(i3GEO.configura.locaplic + "/admin/rssmapas.php", "_blank");
  614 + }
  615 + },
  616 + /*
  617 + * Function: congelaMapa
  618 + *
  619 + * Congela a vis&atilde;o atual do mapa mostrando-o em uma janela flutuante
  620 + */
  621 + congelaMapa : function() {
  622 + var url = "", idjanela = YAHOO.util.Dom.generateId(), cabecalho = function() {
  623 + }, minimiza = function() {
610 i3GEO.janela.minimiza(idjanela); 624 i3GEO.janela.minimiza(idjanela);
611 }; 625 };
612 - if(i3GEO.Interface.ATUAL === "openlayers" || i3GEO.Interface.ATUAL === "googlemaps"){  
613 - url = i3GEO.configura.locaplic+"/ferramentas/congelamapa/openlayers.php?g_sid="+i3GEO.configura.sid+"&ext="+i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten); 626 + if (i3GEO.Interface.ATUAL === "openlayers" || i3GEO.Interface.ATUAL === "googlemaps") {
  627 + url =
  628 + i3GEO.configura.locaplic + "/ferramentas/congelamapa/openlayers.php?g_sid=" + i3GEO.configura.sid + "&ext="
  629 + + i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten);
  630 + i3GEO.janela.cria("500px", "350px", url, "", "", $trad("x64"), idjanela, false, "hd", cabecalho, minimiza);
  631 + }
  632 + },
  633 + /*
  634 + * Function: metaestat
  635 + *
  636 + * Abre a janela de dialogo da ferramenta de cartogramas estatisticos METAESTAT
  637 + */
  638 + metaestat : function() {
  639 + var temp = function() {
  640 + i3GEOF.metaestat.MULTIPARAMETROS = true;
  641 + i3GEOF.metaestat.inicia();
  642 + };
  643 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.metaestat()", "metaestat", "metaestat", "index.js", temp);
  644 + },
  645 + /*
  646 + * Function: metaestatListaMapas
  647 + *
  648 + * Lista os mapas publicados no METAESTAT
  649 + */
  650 + metaestatListaMapas : function() {
  651 + i3GEO.util.dialogoFerramenta(
  652 + "i3GEO.mapa.dialogo.metaestatListaMapas()",
  653 + "metaestat",
  654 + "listamapas",
  655 + "listamapas.js",
  656 + "i3GEOF.listamapas.iniciaJanelaFlutuante()");
  657 + },
  658 + /*
  659 + * Function: preferencias
  660 + *
  661 + * Preferencias do usuario
  662 + */
  663 + preferencias : function() {
  664 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.preferencias()", "preferencias", "preferencias");
  665 + },
  666 + /*
  667 + * Function: locregiao
  668 + *
  669 + * Abre a janela de dialogo da ferramenta de busca de regiao cadastrada no METAESTAT
  670 + */
  671 + locregiao : function() {
  672 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.locregiao()", "metaestat", "locregiao", "locregiao.js");
  673 + },
  674 + /*
  675 + * Function: filtraregiao
  676 + *
  677 + * Abre a janela de dialogo da ferramenta de busca de regioes cadastradas no METAESTAT com opcao de filtrar a regiao escolhida
  678 + */
  679 + filtraregiao : function() {
  680 + i3GEO.util.dialogoFerramenta(
  681 + "i3GEO.mapa.dialogo.filtraregiao()",
  682 + "metaestat",
  683 + "locregiao",
  684 + "locregiao.js",
  685 + "i3GEOF.locregiao.abreComFiltro()");
  686 + },
  687 + /*
  688 + * Function: animacao
  689 + *
  690 + * Abre a janela de dialogo da ferramenta que permite animar o mapa atual
  691 + */
  692 + animacao : function() {
  693 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.animacao()", "animacao", "animacao");
  694 + },
  695 + /*
  696 + * Function: opacidade
  697 + *
  698 + * Abre a janela de dialogo da ferramenta de definicao da transparencia das camadas principais do mapa
  699 + */
  700 + opacidade : function() {
  701 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.opacidade()", "opacidademapa", "opacidademapa");
  702 + },
  703 + /*
  704 + * Function: telaRemota
  705 + *
  706 + * Abre a janela de dialogo da ferramenta de configuracao de uma tela remota
  707 + */
  708 + telaRemota : function() {
  709 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.telaremota()", "telaremota", "telaremota");
  710 + },
  711 + /*
  712 + * Function: t3d
  713 + *
  714 + * Abre a janela de dialogo da ferramenta de geracao da visualizacao em 3d
  715 + */
  716 + t3d : function() {
  717 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.t3d()", "3d", "t3d");
  718 + },
  719 + /*
  720 + * Function: imprimir
  721 + *
  722 + * Abre a janela de dialogo da ferramenta que permite imprimir o mapa atual
  723 + */
  724 + imprimir : function() {
  725 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.imprimir()", "imprimir", "imprimir");
  726 + },
  727 + /*
  728 + * Function: mostraExten
  729 + *
  730 + * Abre a janela de dialogo da ferramenta que mostra a extensao geografica atual do mapa
  731 + */
  732 + mostraExten : function() {
  733 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.mostraExten()", "mostraexten", "mostraExten");
  734 + },
  735 + /*
  736 + * Function: outputformat
  737 + *
  738 + * Abre a janela de dialogo da ferramenta outputformat
  739 + */
  740 + outputformat : function() {
  741 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.outputformat()", "outputformat", "outputformat");
  742 + },
  743 + /*
  744 + * Function: autoredesenha
  745 + *
  746 + * Abre a janela de dialogo da ferramenta opcoes_autoredesenha
  747 + */
  748 + autoredesenha : function() {
  749 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.autoredesenha()", "opcoes_autoredesenha", "opcoesTempo");
  750 + },
  751 + /*
  752 + * Function: salvaMapa
  753 + *
  754 + * Abre a janela de dialogo da ferramenta salvamapa
  755 + */
  756 + salvaMapa : function() {
  757 + if (i3GEO.parametros === "") {
  758 + i3GEO.janela
  759 + .tempoMsg("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");
  760 + return;
  761 + }
  762 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.salvaMapa()", "salvamapa", "salvaMapa");
  763 + },
  764 + /*
  765 + * Function: carregaMapa
  766 + *
  767 + * Abre a janela de dialogo da ferramenta carregamapa
  768 + */
  769 + carregaMapa : function() {
  770 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.carregaMapa()", "carregamapa", "carregaMapa");
  771 + },
  772 + /*
  773 + * Function: convertews
  774 + *
  775 + * Abre a janela de dialogo da ferramenta convertews
  776 + */
  777 + convertews : function() {
  778 + if (i3GEO.parametros.mapfile === "") {
  779 + i3GEO.janela
  780 + .tempoMsg("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");
  781 + return;
  782 + }
  783 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.convertews()", "convertews", "converteMapaWS");
  784 + },
  785 + /*
  786 + * Function: convertekml
  787 + *
  788 + * Abre a janela de dialogo da ferramenta convertemapakml
  789 + */
  790 + convertekml : function() {
  791 + if (i3GEO.parametros.mapfile === "") {
  792 + alert("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");
  793 + return;
  794 + }
  795 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.convertekml()", "convertemapakml", "converteMapaKml");
  796 + },
  797 + /*
  798 + * Function: queryMap
  799 + *
  800 + * Abre a janela de dialogo da ferramenta opcoes_querymap
  801 + */
  802 + queryMap : function() {
  803 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.queryMap()", "opcoes_querymap", "opcoesQuery");
  804 + },
  805 + /*
  806 + * Function: template
  807 + *
  808 + * Abre a janela de dialogo da ferramenta template
  809 + */
  810 + template : function() {
614 i3GEO.janela.cria( 811 i3GEO.janela.cria(
615 - "500px",  
616 - "350px",  
617 - url, 812 + "300px",
  813 + "400px",
  814 + i3GEO.configura.locaplic + "/ferramentas/template/index.htm",
618 "", 815 "",
619 "", 816 "",
620 - $trad("x64"),  
621 - idjanela,  
622 - false,  
623 - "hd",  
624 - cabecalho,  
625 - minimiza  
626 - );  
627 - }  
628 - },  
629 - /*  
630 - Function: metaestat  
631 -  
632 - Abre a janela de dialogo da ferramenta de cartogramas estatisticos METAESTAT  
633 - */  
634 - metaestat: function(){  
635 - var temp = function(){  
636 - i3GEOF.metaestat.MULTIPARAMETROS = true;  
637 - i3GEOF.metaestat.inicia();  
638 - };  
639 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.metaestat()","metaestat","metaestat","index.js",temp);  
640 - },  
641 - /*  
642 - Function: metaestatListaMapas  
643 -  
644 - Lista os mapas publicados no METAESTAT  
645 - */  
646 - metaestatListaMapas: function(){  
647 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.metaestatListaMapas()","metaestat","listamapas","listamapas.js","i3GEOF.listamapas.iniciaJanelaFlutuante()");  
648 - },  
649 - /*  
650 - Function: preferencias  
651 -  
652 - Preferencias do usuario  
653 - */  
654 - preferencias: function(){  
655 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.preferencias()","preferencias","preferencias");  
656 - },  
657 - /*  
658 - Function: locregiao  
659 -  
660 - Abre a janela de dialogo da ferramenta de busca de regiao cadastrada no METAESTAT  
661 - */  
662 - locregiao: function(){  
663 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.locregiao()","metaestat","locregiao","locregiao.js");  
664 - },  
665 - /*  
666 - Function: filtraregiao  
667 -  
668 - Abre a janela de dialogo da ferramenta de busca de regioes cadastradas no METAESTAT com opcao de filtrar a regiao escolhida  
669 - */  
670 - filtraregiao: function(){  
671 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.filtraregiao()","metaestat","locregiao","locregiao.js","i3GEOF.locregiao.abreComFiltro()");  
672 - },  
673 - /*  
674 - Function: animacao  
675 -  
676 - Abre a janela de dialogo da ferramenta que permite animar o mapa atual  
677 - */  
678 - animacao: function(){  
679 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.animacao()","animacao","animacao");  
680 - },  
681 - /*  
682 - Function: opacidade  
683 -  
684 - Abre a janela de dialogo da ferramenta de definicao da transparencia das camadas principais do mapa  
685 - */  
686 - opacidade: function(){  
687 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.opacidade()","opacidademapa","opacidademapa");  
688 - },  
689 - /*  
690 - Function: telaRemota  
691 -  
692 - Abre a janela de dialogo da ferramenta de configuracao de uma tela remota  
693 - */  
694 - telaRemota: function(){  
695 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.telaremota()","telaremota","telaremota");  
696 - },  
697 - /*  
698 - Function: t3d  
699 -  
700 - Abre a janela de dialogo da ferramenta de geracao da visualizacao em 3d  
701 - */  
702 - t3d: function(){  
703 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.t3d()","3d","t3d");  
704 - },  
705 - /*  
706 - Function: imprimir  
707 -  
708 - Abre a janela de dialogo da ferramenta que permite imprimir o mapa atual  
709 - */  
710 - imprimir: function(){  
711 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.imprimir()","imprimir","imprimir");  
712 - },  
713 - /*  
714 - Function: mostraExten  
715 -  
716 - Abre a janela de dialogo da ferramenta que mostra a extensao geografica atual do mapa  
717 - */  
718 - mostraExten: function(){  
719 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.mostraExten()","mostraexten","mostraExten");  
720 - },  
721 - /*  
722 - Function: outputformat  
723 -  
724 - Abre a janela de dialogo da ferramenta outputformat  
725 - */  
726 - outputformat: function(){  
727 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.outputformat()","outputformat","outputformat");  
728 - },  
729 - /*  
730 - Function: autoredesenha  
731 -  
732 - Abre a janela de dialogo da ferramenta opcoes_autoredesenha  
733 - */  
734 - autoredesenha: function(){  
735 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.autoredesenha()","opcoes_autoredesenha","opcoesTempo");  
736 - },  
737 - /*  
738 - Function: salvaMapa  
739 -  
740 - Abre a janela de dialogo da ferramenta salvamapa  
741 - */  
742 - salvaMapa: function(){  
743 - if(i3GEO.parametros === "")  
744 - {i3GEO.janela.tempoMsg("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");return;}  
745 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.salvaMapa()","salvamapa","salvaMapa");  
746 - },  
747 - /*  
748 - Function: carregaMapa  
749 -  
750 - Abre a janela de dialogo da ferramenta carregamapa  
751 - */  
752 - carregaMapa: function(){  
753 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.carregaMapa()","carregamapa","carregaMapa");  
754 - },  
755 - /*  
756 - Function: convertews  
757 -  
758 - Abre a janela de dialogo da ferramenta convertews  
759 - */  
760 - convertews: function(){  
761 - if(i3GEO.parametros.mapfile === "")  
762 - {i3GEO.janela.tempoMsg("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");return;}  
763 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.convertews()","convertews","converteMapaWS");  
764 - },  
765 - /*  
766 - Function: convertekml  
767 -  
768 - Abre a janela de dialogo da ferramenta convertemapakml  
769 - */  
770 - convertekml: function(){  
771 - if(i3GEO.parametros.mapfile === "")  
772 - {alert("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");return;}  
773 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.convertekml()","convertemapakml","converteMapaKml");  
774 - },  
775 - /*  
776 - Function: queryMap  
777 -  
778 - Abre a janela de dialogo da ferramenta opcoes_querymap  
779 - */  
780 - queryMap: function(){  
781 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.queryMap()","opcoes_querymap","opcoesQuery");  
782 - },  
783 - /*  
784 - Function: template  
785 -  
786 - Abre a janela de dialogo da ferramenta template  
787 - */  
788 - template: function()  
789 - {i3GEO.janela.cria("300px","400px",i3GEO.configura.locaplic+"/ferramentas/template/index.htm","","","Template <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=8' >&nbsp;&nbsp;&nbsp;</a>");},  
790 - /*  
791 - Function: tamanho  
792 -  
793 - Abre a janela de dialogo da ferramenta opcoes_tamanho  
794 - */  
795 - tamanho: function(){  
796 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.tamanho()","opcoes_tamanho","opcoesTamanho");  
797 - },  
798 - /*  
799 - Function: tipoimagem  
800 -  
801 - Abre a janela de dialogo da ferramenta tipoimagem  
802 - */  
803 - tipoimagem: function(){  
804 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.tipoimagem()","tipoimagem","tipoimagem");  
805 - },  
806 - /*  
807 - Function: corFundo  
808 -  
809 - Abre a janela de dialogo da ferramenta opcoes_fundo  
810 - */  
811 - corFundo: function(){  
812 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.corFundo()","opcoes_fundo","opcoesFundo");  
813 - },  
814 - /*  
815 - Function: opcoesEscala  
816 -  
817 - Abre a janela de dialogo da ferramenta opcoes_escala  
818 - */  
819 - opcoesEscala: function(){  
820 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.opcoesEscala()","opcoes_escala","opcoesEscala");  
821 - },  
822 - /*  
823 - Function: opcoesLegenda  
824 -  
825 - Abre a janela de dialogo da ferramenta opcoes_legenda  
826 - */  
827 - opcoesLegenda: function(){  
828 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.opcoesLegenda()","opcoes_legenda","opcoesLegenda");  
829 - },  
830 - /*  
831 - Function: gradeCoord  
832 -  
833 - Abre a janela de dialogo da ferramenta gradecoord  
834 - */  
835 - gradeCoord: function(){  
836 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.gradeCoord()","gradecoord","gradeCoord");  
837 - },  
838 - /*  
839 - Function: cliqueTexto  
840 -  
841 - Abre a janela de dialogo da ferramenta inseretxt  
842 - */  
843 - cliqueTexto: function(){  
844 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.cliqueTexto()","inseretxt","inseretxt");  
845 - },  
846 - /*  
847 - Function: selecao  
848 -  
849 - Abre a janela de dialogo da ferramenta selecao  
850 - */  
851 - selecao: function(){  
852 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.selecao()","selecao","selecao");  
853 - },  
854 - /*  
855 - Function: cliquePonto  
856 -  
857 - Abre a janela de dialogo da ferramenta inserexy2  
858 - */  
859 - cliquePonto: function(){  
860 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.cliquePonto()","inserexy2","inserexy");  
861 - },  
862 - /*  
863 - Function: cliqueGrafico  
864 -  
865 - Abre a janela de dialogo da ferramenta inseregrafico  
866 - */  
867 - cliqueGrafico: function(){  
868 - i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.cliqueGrafico()","inseregrafico","insereGrafico");  
869 - },  
870 - /*  
871 - Function: cliqueIdentificaDefault  
872 -  
873 - Abre a janela de dialogo da ferramenta identifica  
874 -  
875 - Parameters:  
876 -  
877 - x,y - opcional  
878 -  
879 - */  
880 - cliqueIdentificaDefault: function(x,y){  
881 - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.dialogo.cliqueIdentificaDefault()");}  
882 - //@FIXIT nada elegante  
883 - //evita clicar sobre a barra do googlemaps  
884 - if(objposicaocursor.imgx < 70){  
885 - return;  
886 - }  
887 - //evita ativar a ferramenta se o botao nao estiver ativo  
888 - //e estiver no modo de clique permanente  
889 - if(i3GEO.barraDeBotoes.BOTAOCLICADO !== "identifica" && i3GEO.eventos.cliquePerm.ativo === false){  
890 - return;  
891 - }  
892 - i3GEO.eventos.MOUSEPARADO.remove("verificaTip()");  
893 - //na interface googleearth verifica se existe mais eventos no mouseclick  
894 - if(i3GEO.Interface.ATUAL === "googleearth" && i3GEO.eventos.MOUSECLIQUE.length > 1){  
895 - return;  
896 - }  
897 - //javascript nao foi carregado  
898 - if(typeof(i3GEOF.identifica) === 'undefined'){  
899 - //javascript que sera carregado  
900 - var js = i3GEO.configura.locaplic+"/ferramentas/identifica/index.js",  
901 - temp = function(){  
902 - if(x){  
903 - i3GEOF.identifica.criaJanelaFlutuante(x,y);  
904 - }  
905 - else{  
906 - i3GEOF.identifica.criaJanelaFlutuante(objposicaocursor.ddx,objposicaocursor.ddy); 817 + "Template <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic
  818 + + "/ajuda_usuario.php?idcategoria=1&idajuda=8' >&nbsp;&nbsp;&nbsp;</a>");
  819 + },
  820 + /*
  821 + * Function: tamanho
  822 + *
  823 + * Abre a janela de dialogo da ferramenta opcoes_tamanho
  824 + */
  825 + tamanho : function() {
  826 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.tamanho()", "opcoes_tamanho", "opcoesTamanho");
  827 + },
  828 + /*
  829 + * Function: tipoimagem
  830 + *
  831 + * Abre a janela de dialogo da ferramenta tipoimagem
  832 + */
  833 + tipoimagem : function() {
  834 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.tipoimagem()", "tipoimagem", "tipoimagem");
  835 + },
  836 + /*
  837 + * Function: corFundo
  838 + *
  839 + * Abre a janela de dialogo da ferramenta opcoes_fundo
  840 + */
  841 + corFundo : function() {
  842 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.corFundo()", "opcoes_fundo", "opcoesFundo");
  843 + },
  844 + /*
  845 + * Function: opcoesEscala
  846 + *
  847 + * Abre a janela de dialogo da ferramenta opcoes_escala
  848 + */
  849 + opcoesEscala : function() {
  850 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.opcoesEscala()", "opcoes_escala", "opcoesEscala");
  851 + },
  852 + /*
  853 + * Function: opcoesLegenda
  854 + *
  855 + * Abre a janela de dialogo da ferramenta opcoes_legenda
  856 + */
  857 + opcoesLegenda : function() {
  858 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.opcoesLegenda()", "opcoes_legenda", "opcoesLegenda");
  859 + },
  860 + /*
  861 + * Function: gradeCoord
  862 + *
  863 + * Abre a janela de dialogo da ferramenta gradecoord
  864 + */
  865 + gradeCoord : function() {
  866 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.gradeCoord()", "gradecoord", "gradeCoord");
  867 + },
  868 + /*
  869 + * Function: cliqueTexto
  870 + *
  871 + * Abre a janela de dialogo da ferramenta inseretxt
  872 + */
  873 + cliqueTexto : function() {
  874 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.cliqueTexto()", "inseretxt", "inseretxt");
  875 + },
  876 + /*
  877 + * Function: selecao
  878 + *
  879 + * Abre a janela de dialogo da ferramenta selecao
  880 + */
  881 + selecao : function() {
  882 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.selecao()", "selecao", "selecao");
  883 + },
  884 + /*
  885 + * Function: cliquePonto
  886 + *
  887 + * Abre a janela de dialogo da ferramenta inserexy2
  888 + */
  889 + cliquePonto : function() {
  890 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.cliquePonto()", "inserexy2", "inserexy");
  891 + },
  892 + /*
  893 + * Function: cliqueGrafico
  894 + *
  895 + * Abre a janela de dialogo da ferramenta inseregrafico
  896 + */
  897 + cliqueGrafico : function() {
  898 + i3GEO.util.dialogoFerramenta("i3GEO.mapa.dialogo.cliqueGrafico()", "inseregrafico", "insereGrafico");
  899 + },
  900 + /*
  901 + * Function: cliqueIdentificaDefault
  902 + *
  903 + * Abre a janela de dialogo da ferramenta identifica
  904 + *
  905 + * Parameters:
  906 + *
  907 + * x,y - opcional
  908 + *
  909 + */
  910 + cliqueIdentificaDefault : function(x, y) {
  911 + if (typeof (console) !== 'undefined') {
  912 + console.info("i3GEO.mapa.dialogo.cliqueIdentificaDefault()");
  913 + }
  914 + // @FIXIT nada elegante
  915 + // evita clicar sobre a barra do googlemaps
  916 + if (objposicaocursor.imgx < 70) {
  917 + return;
  918 + }
  919 + // evita ativar a ferramenta se o botao nao estiver ativo
  920 + // e estiver no modo de clique permanente
  921 + if (i3GEO.barraDeBotoes.BOTAOCLICADO !== "identifica" && i3GEO.eventos.cliquePerm.ativo === false) {
  922 + return;
  923 + }
  924 + i3GEO.eventos.MOUSEPARADO.remove("verificaTip()");
  925 + // na interface googleearth verifica se existe mais eventos no mouseclick
  926 + if (i3GEO.Interface.ATUAL === "googleearth" && i3GEO.eventos.MOUSECLIQUE.length > 1) {
  927 + return;
  928 + }
  929 + // javascript nao foi carregado
  930 + if (typeof (i3GEOF.identifica) === 'undefined') {
  931 + // javascript que sera carregado
  932 + var js = i3GEO.configura.locaplic + "/ferramentas/identifica/index.js", temp = function() {
  933 + if (x) {
  934 + i3GEOF.identifica.criaJanelaFlutuante(x, y);
  935 + } else {
  936 + i3GEOF.identifica.criaJanelaFlutuante(objposicaocursor.ddx, objposicaocursor.ddy);
907 } 937 }
908 }; 938 };
909 - //carrega o script  
910 - i3GEO.util.scriptTag(js,temp,"i3GEOF.identifica_script");  
911 - }  
912 - else{  
913 - if(x){  
914 - i3GEOF.identifica.buscaDadosTema(i3GEO.temaAtivo,x,y); 939 + // carrega o script
  940 + i3GEO.util.scriptTag(js, temp, "i3GEOF.identifica_script");
  941 + } else {
  942 + if (x) {
  943 + i3GEOF.identifica.buscaDadosTema(i3GEO.temaAtivo, x, y);
  944 + } else {
  945 + i3GEOF.identifica.buscaDadosTema(i3GEO.temaAtivo, objposicaocursor.ddx, objposicaocursor.ddy);
  946 + }
  947 + return;
915 } 948 }
916 - else{  
917 - i3GEOF.identifica.buscaDadosTema(i3GEO.temaAtivo,objposicaocursor.ddx,objposicaocursor.ddy); 949 + },
  950 + /*
  951 + * Mostra etiquetas no mapa com informacoes sobre os temas com etiquetas ativas
  952 + *
  953 + * Essa e a funcao padrao definida em i3GEO.configura
  954 + */
  955 + verificaTipDefault : function(e) {
  956 + // evita clicar sobre a barra do googlemaps
  957 + // @FIXIT nada elegante
  958 + // console.warn(objposicaocursor.imgx)
  959 + if (objposicaocursor.imgx < 70) {
  960 + return;
918 } 961 }
919 - return;  
920 - }  
921 - },  
922 - /*  
923 - Mostra etiquetas no mapa com informacoes sobre os temas com etiquetas ativas 962 + if (typeof (console) !== 'undefined') {
  963 + console.info("i3GEO.mapa.dialogo.verificaTipDefault()");
  964 + }
  965 + if (i3GEO.barraDeBotoes.BOTAOCLICADO !== "identificaBalao" && i3GEO.eventos.cliquePerm.ativo === false) {
  966 + return;
  967 + }
  968 + // na interface googleearth verifica se existe mais eventos no mouseclick
  969 + if (i3GEO.Interface.ATUAL === "googleearth" && i3GEO.eventos.MOUSECLIQUE.length > 1) {
  970 + return;
  971 + }
  972 + var ntemas, etiquetas, j, retorna, targ = "";
924 973
925 - Essa e a funcao padrao definida em i3GEO.configura  
926 - */  
927 - verificaTipDefault: function(e){  
928 - //evita clicar sobre a barra do googlemaps  
929 - //@FIXIT nada elegante  
930 - //console.warn(objposicaocursor.imgx)  
931 - if(objposicaocursor.imgx < 70){  
932 - return;  
933 - }  
934 - if(typeof(console) !== 'undefined'){console.info("i3GEO.mapa.dialogo.verificaTipDefault()");}  
935 - if(i3GEO.barraDeBotoes.BOTAOCLICADO !== "identificaBalao" && i3GEO.eventos.cliquePerm.ativo === false){  
936 - return;  
937 - }  
938 - //na interface googleearth verifica se existe mais eventos no mouseclick  
939 - if(i3GEO.Interface.ATUAL === "googleearth" && i3GEO.eventos.MOUSECLIQUE.length > 1){  
940 - return;  
941 - }  
942 - var ntemas,etiquetas,j,retorna,targ = ""; 974 + if (!e) {
  975 + e = window.event;
  976 + }
  977 + try {
  978 + if (e.target) {
  979 + targ = e.target;
  980 + } else {
  981 + if (e.srcElement) {
  982 + targ = e.srcElement;
  983 + }
  984 + }
  985 + if (targ.parentNode) {
  986 + container = targ.parentNode.id;
  987 + // alert(container);
  988 + }
943 989
944 - if (!e){  
945 - e = window.event;  
946 - }  
947 - try{  
948 - if (e.target){  
949 - targ = e.target; 990 + } catch (erro) {
  991 + targ = null;
950 } 992 }
951 - else{  
952 - if (e.srcElement){  
953 - targ = e.srcElement; 993 +
  994 + ntemas = i3GEO.arvoreDeCamadas.CAMADAS.length;
  995 + etiquetas = false;
  996 + for (j = 0; j < ntemas; j += 1) {
  997 + if (i3GEO.arvoreDeCamadas.CAMADAS[j].etiquetas !== "") {
  998 + etiquetas = true;
954 } 999 }
955 } 1000 }
956 - if(targ.parentNode){  
957 - container = targ.parentNode.id;  
958 - //alert(container); 1001 + if (etiquetas === false) {
  1002 + return;
959 } 1003 }
960 -  
961 - }  
962 - catch(erro){ targ = null;}  
963 -  
964 - ntemas = i3GEO.arvoreDeCamadas.CAMADAS.length;  
965 - etiquetas = false;  
966 - for(j=0;j<ntemas;j += 1)  
967 - {if(i3GEO.arvoreDeCamadas.CAMADAS[j].etiquetas !== "")  
968 - {etiquetas = true;}}  
969 - if(etiquetas === false)  
970 - {return;}  
971 - if(i3GEO.Interface.ATUAL === "googleearth")  
972 - {i3GEO.Interface.googleearth.aguarde.visibility = "visible";}  
973 - retorna = function(retorno){  
974 - var classeCor,pos,temp,n,i,mostra,res,temas,ntemas,titulo,tips,j,ntips,ins,r,ds,nds,s,balloon,  
975 - configura = i3GEO.configura,  
976 - tipotip = configura.tipotip;  
977 - i = $i("i3geo_rosa");  
978 - if(i)  
979 - {i.style.display="none";}  
980 - mostra = false;  
981 - //try{  
982 - retorno = retorno.data;  
983 - if (retorno !== "")  
984 - {  
985 - res = "";  
986 - temas = retorno;  
987 - if(!temas){return;}  
988 - ntemas = temas.length;  
989 - for(j=0;j<ntemas;j += 1){  
990 - titulo = temas[j].nome;  
991 - if (tipotip === "completo" || tipotip === "balao")  
992 - {titulo = "<span class='toolTipBalaoTitulo'><b>"+titulo+"</b></span><br>";}  
993 - else  
994 - {titulo = "";}  
995 - tips = (temas[j].resultado.tips).split(",");  
996 - ntips = tips.length;  
997 - ins = "";  
998 - ds = temas[j].resultado.dados;  
999 - if(ds !== " " && ds[0] && ds[0] != " "){  
1000 - try{  
1001 - nds = ds.length;  
1002 - classeCor = "toolTipBalaoTexto";  
1003 - for(s=0;s<nds;s += 1){  
1004 - ins += "<div class='"+classeCor+"'>";  
1005 - for(r=0;r<ntips;r += 1){  
1006 - try{  
1007 - eval("var alias = ds[s]."+tips[r]+".alias");  
1008 - eval("var valor = ds[s]."+tips[r]+".valor");  
1009 - eval("var link = ds[s]."+tips[r]+".link");  
1010 - eval("var img = ds[s]."+tips[r]+".img");  
1011 - if (tipotip === "completo" || tipotip === "balao"){  
1012 - if(valor !== "" && link === "")  
1013 - {ins += "<span>" + alias + " :" + valor + "</span><br>";}  
1014 - if(valor !== "" && link !== "")  
1015 - {ins += "<span>" + alias + " : <a style='color:blue;cursor:pointer' target=_blanck href='"+link+"' >" + valor + "</a></span><br>";}  
1016 - if(img !== "")  
1017 - {ins += img+"<br>";}  
1018 - mostra = true;  
1019 - }  
1020 - else{  
1021 - ins += "<span>" + valor + "</span><br>";  
1022 - mostra = true; 1004 + if (i3GEO.Interface.ATUAL === "googleearth") {
  1005 + i3GEO.Interface.googleearth.aguarde.visibility = "visible";
  1006 + }
  1007 + retorna =
  1008 + function(retorno) {
  1009 + var classeCor, pos, temp, n, i, mostra, res, temas, ntemas, titulo, tips, j, ntips, ins, r, ds, nds, s, balloon, configura =
  1010 + i3GEO.configura, tipotip = configura.tipotip;
  1011 + i = $i("i3geo_rosa");
  1012 + if (i) {
  1013 + i.style.display = "none";
  1014 + }
  1015 + mostra = false;
  1016 + // try{
  1017 + retorno = retorno.data;
  1018 + if (retorno !== "") {
  1019 + res = "";
  1020 + temas = retorno;
  1021 + if (!temas) {
  1022 + return;
  1023 + }
  1024 + ntemas = temas.length;
  1025 + for (j = 0; j < ntemas; j += 1) {
  1026 + titulo = temas[j].nome;
  1027 + if (tipotip === "completo" || tipotip === "balao") {
  1028 + titulo = "<span class='toolTipBalaoTitulo'><b>" + titulo + "</b></span><br>";
  1029 + } else {
  1030 + titulo = "";
  1031 + }
  1032 + tips = (temas[j].resultado.tips).split(",");
  1033 + ntips = tips.length;
  1034 + ins = "";
  1035 + ds = temas[j].resultado.dados;
  1036 + if (ds !== " " && ds[0] && ds[0] != " ") {
  1037 + try {
  1038 + nds = ds.length;
  1039 + classeCor = "toolTipBalaoTexto";
  1040 + for (s = 0; s < nds; s += 1) {
  1041 + ins += "<div class='" + classeCor + "'>";
  1042 + for (r = 0; r < ntips; r += 1) {
  1043 + try {
  1044 + eval("var alias = ds[s]." + tips[r] + ".alias");
  1045 + eval("var valor = ds[s]." + tips[r] + ".valor");
  1046 + eval("var link = ds[s]." + tips[r] + ".link");
  1047 + eval("var img = ds[s]." + tips[r] + ".img");
  1048 + if (tipotip === "completo" || tipotip === "balao") {
  1049 + if (valor !== "" && link === "") {
  1050 + ins += "<span>" + alias + " :" + valor + "</span><br>";
  1051 + }
  1052 + if (valor !== "" && link !== "") {
  1053 + ins +=
  1054 + "<span>" + alias
  1055 + + " : <a style='color:blue;cursor:pointer' target=_blanck href='"
  1056 + + link + "' >" + valor + "</a></span><br>";
  1057 + }
  1058 + if (img !== "") {
  1059 + ins += img + "<br>";
  1060 + }
  1061 + mostra = true;
  1062 + } else {
  1063 + ins += "<span>" + valor + "</span><br>";
  1064 + mostra = true;
  1065 + }
  1066 + } catch (e) {
1023 } 1067 }
1024 } 1068 }
1025 - catch(e){}  
1026 - }  
1027 - if(classeCor === "toolTipBalaoTexto"){  
1028 - classeCor = "toolTipBalaoTexto1"; 1069 + if (classeCor === "toolTipBalaoTexto") {
  1070 + classeCor = "toolTipBalaoTexto1";
  1071 + } else {
  1072 + classeCor = "toolTipBalaoTexto";
  1073 + }
  1074 + ins += "</div>";
1029 } 1075 }
1030 - else{  
1031 - classeCor = "toolTipBalaoTexto"; 1076 +
  1077 + } catch (e) {
  1078 + if (typeof (console) !== 'undefined') {
  1079 + console.error(e);
1032 } 1080 }
1033 - ins += "</div>";  
1034 } 1081 }
1035 -  
1036 -  
1037 } 1082 }
1038 - catch(e){  
1039 - if(typeof(console) !== 'undefined'){console.error(e);} 1083 + if (ins !== "") {
  1084 + res += titulo + ins;
1040 } 1085 }
1041 } 1086 }
1042 - if(ins !== "")  
1043 - {res += titulo + ins;}  
1044 - }  
1045 - if(!mostra){  
1046 - if($i("tip"))  
1047 - {$i("tip").style.display="none";}  
1048 - }  
1049 - else{  
1050 - if(tipotip !== "balao"){  
1051 - n = i3GEO.janela.tip();  
1052 - $i(n).style.textAlign="left";  
1053 - $i(n).innerHTML += res;  
1054 - }  
1055 - else{  
1056 - if(i3GEO.Interface.ATUAL === "googleearth"){  
1057 - i3GEO.Interface.googleearth.balao(res,objposicaocursor.ddx,objposicaocursor.ddy);  
1058 - i3GEO.Interface.googleearth.aguarde.visibility = "hidden"; 1087 + if (!mostra) {
  1088 + if ($i("tip")) {
  1089 + $i("tip").style.display = "none";
1059 } 1090 }
1060 - else{  
1061 - i3GEO.util.criaPin('marcaIdentifica',configura.locaplic+"/imagens/grabber.gif","12px","12px");  
1062 - i3GEO.janela.TIPS.push('marcaIdentifica');  
1063 - pos = i3GEO.util.posicionaImagemNoMapa("marcaIdentifica");  
1064 - balloon = new Balloon();  
1065 - BalloonConfig(balloon,'GBox');  
1066 - balloon.delayTime = 0;  
1067 - res = "<div style=text-align:left;overflow:auto;height:"+configura.alturatip+";width:"+configura.larguratip+"; >"+res+"</div>";  
1068 - temp = $i('marcaIdentifica');  
1069 - if(temp){  
1070 - balloon.showTooltip(temp,res,null,null,null,pos[1],pos[0]);  
1071 - balloon.addCloseButton();  
1072 - temp.onclick = function(e){  
1073 - if (!e){e = window.event;}  
1074 - document.body.removeChild(balloon.getEventTarget(e));  
1075 - balloon.hideTooltip();  
1076 - }; 1091 + } else {
  1092 + if (tipotip !== "balao") {
  1093 + n = i3GEO.janela.tip();
  1094 + $i(n).style.textAlign = "left";
  1095 + $i(n).innerHTML += res;
  1096 + } else {
  1097 + if (i3GEO.Interface.ATUAL === "googleearth") {
  1098 + i3GEO.Interface.googleearth.balao(res, objposicaocursor.ddx, objposicaocursor.ddy);
  1099 + i3GEO.Interface.googleearth.aguarde.visibility = "hidden";
  1100 + } else {
  1101 + i3GEO.util.criaPin('marcaIdentifica', configura.locaplic + "/imagens/grabber.gif", "12px", "12px");
  1102 + i3GEO.janela.TIPS.push('marcaIdentifica');
  1103 + pos = i3GEO.util.posicionaImagemNoMapa("marcaIdentifica");
  1104 + balloon = new Balloon();
  1105 + BalloonConfig(balloon, 'GBox');
  1106 + balloon.delayTime = 0;
  1107 + res =
  1108 + "<div style=text-align:left;overflow:auto;height:" + configura.alturatip + ";width:"
  1109 + + configura.larguratip + "; >" + res + "</div>";
  1110 + temp = $i('marcaIdentifica');
  1111 + if (temp) {
  1112 + balloon.showTooltip(temp, res, null, null, null, pos[1], pos[0]);
  1113 + balloon.addCloseButton();
  1114 + temp.onclick = function(e) {
  1115 + if (!e) {
  1116 + e = window.event;
  1117 + }
  1118 + document.body.removeChild(balloon.getEventTarget(e));
  1119 + balloon.hideTooltip();
  1120 + };
1077 1121
  1122 + }
1078 } 1123 }
1079 } 1124 }
1080 } 1125 }
1081 } 1126 }
  1127 + if ($i(i3GEO.Interface.IDMAPA)) {
  1128 + $i(i3GEO.Interface.IDMAPA).title = "";
  1129 + temp = "identifica";
  1130 + if (i3GEO.Interface.ATIVAMENUCONTEXTO) {
  1131 + temp = "identifica_contexto";
  1132 + }
  1133 + i3GEO.util.mudaCursor(configura.cursores, temp, i3GEO.Interface.IDMAPA, configura.locaplic);
  1134 + }
  1135 + };
  1136 + xy = i3GEO.navega.centroDoMapa();
  1137 + i3GEO.php.identifica3(
  1138 + retorna,
  1139 + objposicaocursor.ddx,
  1140 + objposicaocursor.ddy,
  1141 + "5",
  1142 + "tip",
  1143 + i3GEO.configura.locaplic,
  1144 + i3GEO.configura.sid,
  1145 + "ligados",
  1146 + i3GEO.parametros.mapexten);
  1147 + }
  1148 + },
  1149 + /*
  1150 + * Function: compactaLayerGrafico
  1151 + *
  1152 + * Retorna uma string no formato base64 + JSON contendo as geometrias existentes no layer grafico do mapa Essas geometrias podem ser
  1153 + * criadas com o editor vetorial
  1154 + */
  1155 + compactaLayerGrafico : function() {
  1156 + var geos = false, geometrias = [], n = 0, i, g;
  1157 + if (i3GEO.editorOL && i3GEO.desenho.layergrafico && i3GEO.desenho.layergrafico.features) {
  1158 + geos = i3GEO.desenho.layergrafico.features;
  1159 + n = geos.length;
  1160 + for (i = 0; i < n; i++) {
  1161 + g = {
  1162 + "atributos" : geos[i].attributes,
  1163 + "geometria" : geos[i].geometry.toString()
  1164 + };
  1165 + geometrias.push(g);
  1166 + }
  1167 + }
  1168 + g = YAHOO.lang.JSON.stringify(geometrias);
  1169 + return i3GEO.util.base64encode(g);
  1170 + },
  1171 + /*
  1172 + * Function: desCompactaLayerGrafico
  1173 + *
  1174 + * Descompacta um layer grafico criado com compactaLayerGrafico
  1175 + */
  1176 + desCompactaLayerGrafico : function(geometrias) {
  1177 + geometrias = YAHOO.lang.JSON.parse(geometrias);
  1178 + // carrega o script do editor vetorial
  1179 + if (geometrias.length > 0) {
  1180 + var inicia = function() {
  1181 + i3GEO.barraDeBotoes.editor.ativaPainel();
  1182 + var n = geometrias.length, i;
  1183 + for (i = 0; i < n; i++) {
  1184 + i3GEO.editorOL.adicionaFeatureWkt(geometrias[i].geometria, geometrias[i].atributos);
1082 } 1185 }
1083 - if($i(i3GEO.Interface.IDMAPA)){  
1084 - $i(i3GEO.Interface.IDMAPA).title = "";  
1085 - temp = "identifica";  
1086 - if(i3GEO.Interface.ATIVAMENUCONTEXTO)  
1087 - {temp = "identifica_contexto";}  
1088 - i3GEO.util.mudaCursor(configura.cursores,temp,i3GEO.Interface.IDMAPA,configura.locaplic);  
1089 - }  
1090 - };  
1091 - xy = i3GEO.navega.centroDoMapa();  
1092 - i3GEO.php.identifica3(retorna,objposicaocursor.ddx,objposicaocursor.ddy,"5","tip",i3GEO.configura.locaplic,i3GEO.configura.sid,"ligados",i3GEO.parametros.mapexten);  
1093 - }  
1094 - },  
1095 - /*  
1096 - Function: compactaLayerGrafico  
1097 -  
1098 - Retorna uma string no formato base64 + JSON contendo as geometrias existentes no layer grafico do mapa  
1099 - Essas geometrias podem ser criadas com o editor vetorial  
1100 - */  
1101 - compactaLayerGrafico: function(){  
1102 - var geos = false,  
1103 - geometrias = [],  
1104 - n = 0,  
1105 - i,g;  
1106 - if(i3GEO.editorOL && i3GEO.desenho.layergrafico && i3GEO.desenho.layergrafico.features){  
1107 - geos = i3GEO.desenho.layergrafico.features;  
1108 - n = geos.length;  
1109 - for(i = 0;i < n; i++){  
1110 - g = {  
1111 - "atributos": geos[i].attributes,  
1112 - "geometria": geos[i].geometry.toString() 1186 + $i(i3GEO.editorOL.layergrafico.id).style.zIndex = 5000;
1113 }; 1187 };
1114 - geometrias.push(g); 1188 + i3GEO.util.scriptTag(i3GEO.configura.locaplic + "/mashups/openlayers.js", inicia, "openlayers.js", true);
1115 } 1189 }
1116 - }  
1117 - g = YAHOO.lang.JSON.stringify(geometrias);  
1118 - return i3GEO.util.base64encode(g);  
1119 - },  
1120 - /*  
1121 - Function: desCompactaLayerGrafico  
1122 -  
1123 - Descompacta um layer grafico criado com compactaLayerGrafico  
1124 - */  
1125 - desCompactaLayerGrafico: function(geometrias){  
1126 - geometrias = YAHOO.lang.JSON.parse(geometrias);  
1127 - //carrega o script do editor vetorial  
1128 - if(geometrias.length > 0){  
1129 - var inicia = function(){  
1130 - i3GEO.barraDeBotoes.editor.ativaPainel();  
1131 - var n = geometrias.length,  
1132 - i;  
1133 - for(i=0;i<n;i++){  
1134 - i3GEO.editorOL.adicionaFeatureWkt(geometrias[i].geometria,geometrias[i].atributos);  
1135 - }  
1136 - $i(i3GEO.editorOL.layergrafico.id).style.zIndex = 5000;  
1137 - };  
1138 - i3GEO.util.scriptTag(  
1139 - i3GEO.configura.locaplic+"/mashups/openlayers.js",  
1140 - inicia,  
1141 - "openlayers.js",  
1142 - true  
1143 - );  
1144 - }  
1145 - },  
1146 - //  
1147 - //aplica as preferencias armazenadas localmente ou vindas de um mapa salvo no banco de dados  
1148 - //  
1149 - aplicaPreferencias: function(cookies){  
1150 - //aplica preferencias do usuario  
1151 - var props,  
1152 - nprops,  
1153 - i,  
1154 - temp = [],  
1155 - pint;  
1156 - if(!cookies){  
1157 - cookies = i3GEO.util.pegaDadosLocal("preferenciasDoI3Geo");  
1158 - }  
1159 - if(cookies){  
1160 - props = cookies.split("::");  
1161 - nprops = props.length;  
1162 - for(i=0;i<nprops;i++){  
1163 - try{  
1164 - temp = props[i].split("|");  
1165 - pint = parseInt(temp[1],10);  
1166 - if(temp[1] === 'true' || temp[1] === 'false'){  
1167 - if(temp[1] === 'true'){  
1168 - temp[1] = true; 1190 + },
  1191 + /*
  1192 + * Function: restauraGraficos
  1193 + *
  1194 + * Descompacta graficos salvos no mapa atual
  1195 + */
  1196 + restauraGraficos : function(graficos) {
  1197 + // carrega o script do editor vetorial
  1198 + if (graficos.length > 0) {
  1199 + var inicia = function() {
  1200 + i3GEOF.graficointerativo1.restauraGraficos(graficos);
  1201 + };
  1202 + i3GEO.util.scriptTag(
  1203 + i3GEO.configura.locaplic + "/ferramentas/graficointerativo1/dependencias.php",
  1204 + inicia,
  1205 + "graficointerativo1",
  1206 + true);
  1207 + }
  1208 + },
  1209 + //
  1210 + // aplica as preferencias armazenadas localmente ou vindas de um mapa salvo no banco de dados
  1211 + //
  1212 + aplicaPreferencias : function(cookies) {
  1213 + // aplica preferencias do usuario
  1214 + var props, nprops, i, temp = [], pint;
  1215 + if (!cookies) {
  1216 + cookies = i3GEO.util.pegaDadosLocal("preferenciasDoI3Geo");
  1217 + }
  1218 + if (cookies) {
  1219 + props = cookies.split("::");
  1220 + nprops = props.length;
  1221 + for (i = 0; i < nprops; i++) {
  1222 + try {
  1223 + temp = props[i].split("|");
  1224 + pint = parseInt(temp[1], 10);
  1225 + if (temp[1] === 'true' || temp[1] === 'false') {
  1226 + if (temp[1] === 'true') {
  1227 + temp[1] = true;
  1228 + }
  1229 + if (temp[1] === 'false') {
  1230 + temp[1] = false;
  1231 + }
  1232 + eval(temp[0] + " = " + temp[1] + ";");
  1233 + } else if (pint + "px" == temp[1]) {
  1234 + eval(temp[0] + " = '" + temp[1] + "';");
  1235 + } else if (YAHOO.lang.isNumber(pint)) {
  1236 + eval(temp[0] + " = " + temp[1] + ";");
  1237 + } else {
  1238 + eval(temp[0] + " = '" + temp[1] + "';");
1169 } 1239 }
1170 - if(temp[1] === 'false'){  
1171 - temp[1] = false; 1240 + // algumas propriedades usam cookies
  1241 + if (temp[0] == "i3GEO.configura.mapaRefDisplay") {
  1242 + i3GEO.util.insereCookie("i3GEO.configura.mapaRefDisplay", temp[1]);
  1243 + }
  1244 + } catch (e) {
  1245 + if (typeof (console) !== 'undefined') {
  1246 + console.warn(temp[0] + " = " + temp[1] + ";");
1172 } 1247 }
1173 - eval(temp[0]+" = "+temp[1]+";");  
1174 - }  
1175 - else if(pint+"px" == temp[1]){  
1176 - eval(temp[0]+" = '"+temp[1]+"';");  
1177 - }  
1178 - else if(YAHOO.lang.isNumber(pint)){  
1179 - eval(temp[0]+" = "+temp[1]+";");  
1180 - }  
1181 - else{  
1182 - eval(temp[0]+" = '"+temp[1]+"';");  
1183 - }  
1184 - //algumas propriedades usam cookies  
1185 - if(temp[0] == "i3GEO.configura.mapaRefDisplay"){  
1186 - i3GEO.util.insereCookie("i3GEO.configura.mapaRefDisplay",temp[1]);  
1187 } 1248 }
1188 } 1249 }
1189 - catch(e){  
1190 - if(typeof(console) !== 'undefined'){console.warn(temp[0]+" = "+temp[1]+";");}  
1191 - }  
1192 } 1250 }
1193 } 1251 }
1194 - }  
1195 -};  
1196 -//YAHOO.log("carregou classe mapa", "Classes i3geo"); 1252 + };
  1253 +// YAHOO.log("carregou classe mapa", "Classes i3geo");
classesjs/classe_php.js
@@ -1670,7 +1670,7 @@ i3GEO.php = { @@ -1670,7 +1670,7 @@ i3GEO.php = {
1670 1670
1671 Salva o mapfile atual no banco de dados de administracao 1671 Salva o mapfile atual no banco de dados de administracao
1672 */ 1672 */
1673 - salvaMapaBanco: function(funcao,titulo,id_mapa,preferencias,geometrias){ 1673 + salvaMapaBanco: function(funcao,titulo,id_mapa,preferencias,geometrias,graficos){
1674 //pega as preferencias do usuario tambem 1674 //pega as preferencias do usuario tambem
1675 if(preferencias){ 1675 if(preferencias){
1676 try{ 1676 try{
@@ -1698,6 +1698,22 @@ i3GEO.php = { @@ -1698,6 +1698,22 @@ i3GEO.php = {
1698 else{ 1698 else{
1699 geometrias = ""; 1699 geometrias = "";
1700 } 1700 }
  1701 + //pega as ferramentas do tipo grafico
  1702 + if(graficos && i3GEOF && i3GEOF.graficointerativo1){
  1703 + try{
  1704 + graficos = i3GEOF.graficointerativo1.compactaConfig();
  1705 + if(!graficos){
  1706 + graficos = "";
  1707 + }
  1708 + }
  1709 + catch(e){
  1710 + graficos = "";
  1711 + }
  1712 + }
  1713 + else{
  1714 + graficos = "";
  1715 + }
  1716 +
1701 var url = (window.location.href.split("?")[0]), 1717 var url = (window.location.href.split("?")[0]),
1702 p = i3GEO.configura.locaplic+"/admin/php/mapas.php?"; 1718 p = i3GEO.configura.locaplic+"/admin/php/mapas.php?";
1703 par = "funcao=salvaMapfile" + 1719 par = "funcao=salvaMapfile" +
@@ -1708,7 +1724,7 @@ i3GEO.php = { @@ -1708,7 +1724,7 @@ i3GEO.php = {
1708 cp = new cpaint(); 1724 cp = new cpaint();
1709 cp.set_transfer_mode('POST'); 1725 cp.set_transfer_mode('POST');
1710 cp.set_response_type("JSON"); 1726 cp.set_response_type("JSON");
1711 - cp.call(p+par,"foo",funcao,"&preferenciasbase64=" + preferencias + "&geometriasbase64=" + geometrias); 1727 + cp.call(p+par,"foo",funcao,"&preferenciasbase64=" + preferencias + "&geometriasbase64=" + geometrias + "&graficosbase64=" + graficos);
1712 }, 1728 },
1713 /* 1729 /*
1714 Function: marcadores2shp 1730 Function: marcadores2shp
classesjs/classe_util.js
@@ -2882,7 +2882,7 @@ i3GEO.util = { @@ -2882,7 +2882,7 @@ i3GEO.util = {
2882 YAHOO.util.Connect.asyncRequest("GET", sUrl, callback); 2882 YAHOO.util.Connect.asyncRequest("GET", sUrl, callback);
2883 }, 2883 },
2884 /* 2884 /*
2885 - Verifica se a fun��o html de armazenamento local esta disponivel no navegador 2885 + Verifica se a funcao html de armazenamento local esta disponivel no navegador
2886 */ 2886 */
2887 verifica_html5_storage: function(){ 2887 verifica_html5_storage: function(){
2888 if(typeof(Storage)!=="undefined"){ 2888 if(typeof(Storage)!=="undefined"){
classesphp/mapa_inicia.php
@@ -372,7 +372,7 @@ function iniciaMapa() @@ -372,7 +372,7 @@ function iniciaMapa()
372 //parametros de inicializacao armazenados com o mapa quando o usuario utiliza a opcao de salvar mapa no nbanco de dados 372 //parametros de inicializacao armazenados com o mapa quando o usuario utiliza a opcao de salvar mapa no nbanco de dados
373 $customizacoesinit = $m->mapa->getmetadata("CUSTOMIZACOESINIT"); 373 $customizacoesinit = $m->mapa->getmetadata("CUSTOMIZACOESINIT");
374 $res["editavel"] = $m->mapa->getmetadata("EDITAVEL"); 374 $res["editavel"] = $m->mapa->getmetadata("EDITAVEL");
375 - $m->mapa->setmetadata("CUSTOMIZACOESINIT",""); 375 + //$m->mapa->setmetadata("CUSTOMIZACOESINIT","");
376 $m->salva(); 376 $m->salva();
377 copy($map_file,(str_replace(".map","reinc.map",$map_file))); 377 copy($map_file,(str_replace(".map","reinc.map",$map_file)));
378 copy($map_file,(str_replace(".map","seguranca.map",$map_file))); 378 copy($map_file,(str_replace(".map","seguranca.map",$map_file)));
ferramentas/graficointerativo1/index.js
1 /** 1 /**
2 * Title: Gr&aacute;fico interativo 1 2 * Title: Gr&aacute;fico interativo 1
3 - * 3 + *
4 * Representa&ccedil;&atilde;o gr&aacute;fica de dados. O gr&aacute;fico &eacute; constru&iacute;do tendo como base os atributos de um tema 4 * Representa&ccedil;&atilde;o gr&aacute;fica de dados. O gr&aacute;fico &eacute; constru&iacute;do tendo como base os atributos de um tema
5 * e &eacute; modificado conforme o usu&aacute;rio navega pelo mapa. A renderiza&ccedil;&atilde;o do gr&aacute;fico &eacute; feito pelo 5 * e &eacute; modificado conforme o usu&aacute;rio navega pelo mapa. A renderiza&ccedil;&atilde;o do gr&aacute;fico &eacute; feito pelo
6 * navegador por meio do aplicativo openflashchart. Os dados que ser&atilde;o utilizados no gr&aacute;fico s&atilde;o baseados em um 6 * navegador por meio do aplicativo openflashchart. Os dados que ser&atilde;o utilizados no gr&aacute;fico s&atilde;o baseados em um
7 * elemento TABLE. Esse elemento pode ser montado com base na tabela de atributos e editada pelo usu&aacute;rio. Os dados podem 7 * elemento TABLE. Esse elemento pode ser montado com base na tabela de atributos e editada pelo usu&aacute;rio. Os dados podem
8 * tamb&eacute;m ser inseridos como par&acirc;metros na inicializa&ccedil;&atilde;o da ferramenta, permitindo que o gr&aacute;fico seja 8 * tamb&eacute;m ser inseridos como par&acirc;metros na inicializa&ccedil;&atilde;o da ferramenta, permitindo que o gr&aacute;fico seja
9 * utilizado por outras ferramentas. 9 * utilizado por outras ferramentas.
10 - * 10 + *
  11 + * Gr&aacute;ficos podem ser salvos no mapa. Veja a fun&ccedil;&atilde;o compactaConfig que gera uma string em base64 com as configura&ccedil;&otilde;es em JSON
  12 + * de todos os gr&aacute;ficos abertos no mapa
  13 + *
  14 + * Os gr&aacute;ficos podem ser restaurados usando-se a fun&ccedil;&atilde;o restauraGraficos
  15 + *
11 * Veja: 16 * Veja:
12 - * 17 + *
13 * <i3GEO.analise.dialogo.graficointerativo1> 18 * <i3GEO.analise.dialogo.graficointerativo1>
14 - * 19 + *
15 * Arquivo: 20 * Arquivo:
16 - * 21 + *
17 * i3geo/ferramentas/graficointerativo1/index.js.php 22 * i3geo/ferramentas/graficointerativo1/index.js.php
18 - * 23 + *
19 * Licenca: 24 * Licenca:
20 - * 25 + *
21 * GPL2 26 * GPL2
22 - * 27 + *
23 * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet 28 * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
24 - * 29 + *
25 * Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com 30 * Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
26 - * 31 + *
27 * Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a 32 * Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a
28 * P&uacute;blica Geral GNU conforme publicada pela Free Software Foundation; 33 * P&uacute;blica Geral GNU conforme publicada pela Free Software Foundation;
29 - * 34 + *
30 * Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til, por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a 35 * Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til, por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a
31 * garantia impl&iacute;cita de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA. Consulte a Licen&ccedil;a 36 * garantia impl&iacute;cita de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA. Consulte a Licen&ccedil;a
32 * P&uacute;blica Geral do GNU para mais detalhes. Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica Geral do 37 * P&uacute;blica Geral do GNU para mais detalhes. Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica Geral do
@@ -38,7 +43,7 @@ if (typeof (i3GEOF) === &#39;undefined&#39;) { @@ -38,7 +43,7 @@ if (typeof (i3GEOF) === &#39;undefined&#39;) {
38 } 43 }
39 /** 44 /**
40 * Classe: i3GEOF.graficointerativo1 45 * Classe: i3GEOF.graficointerativo1
41 - * 46 + *
42 */ 47 */
43 i3GEOF.graficointerativo1 = 48 i3GEOF.graficointerativo1 =
44 { 49 {
@@ -57,124 +62,304 @@ i3GEOF.graficointerativo1 = @@ -57,124 +62,304 @@ i3GEOF.graficointerativo1 =
57 mustacheHash : function(idjanela) { 62 mustacheHash : function(idjanela) {
58 return { 63 return {
59 "idjanela" : idjanela, 64 "idjanela" : idjanela,
60 - "idjanelaA" : '"'+idjanela+'"', 65 + "idjanelaA" : '"' + idjanela + '"',
61 "locaplic" : i3GEO.configura.locaplic, 66 "locaplic" : i3GEO.configura.locaplic,
62 - "prop": $trad("p13"),  
63 - "tipo": $trad(1, i3GEOF.graficointerativo1.dicionario),  
64 - "dados": $trad(2, i3GEOF.graficointerativo1.dicionario),  
65 - "grafico": $trad(3, i3GEOF.graficointerativo1.dicionario),  
66 - "escolhatipo": $trad(4, i3GEOF.graficointerativo1.dicionario),  
67 - "pizza2d": $trad(5, i3GEOF.graficointerativo1.dicionario),  
68 - "areasimp": $trad(6, i3GEOF.graficointerativo1.dicionario),  
69 - "distpt": $trad(7, i3GEOF.graficointerativo1.dicionario),  
70 - "linhassimp": $trad(8, i3GEOF.graficointerativo1.dicionario),  
71 - "arvore": $trad(9, i3GEOF.graficointerativo1.dicionario),  
72 - "barrasv": $trad(10, i3GEOF.graficointerativo1.dicionario),  
73 - "barrash": $trad(11, i3GEOF.graficointerativo1.dicionario),  
74 - "configgr": $trad(12, i3GEOF.graficointerativo1.dicionario),  
75 - "tema": $trad(13, i3GEOF.graficointerativo1.dicionario),  
76 - "titulo": $trad(50, i3GEOF.graficointerativo1.dicionario),  
77 - "titux": $trad(51, i3GEOF.graficointerativo1.dicionario),  
78 - "tituy":$trad(52, i3GEOF.graficointerativo1.dicionario),  
79 - "itemcx": $trad(14, i3GEOF.graficointerativo1.dicionario),  
80 - "itemcy": $trad(15, i3GEOF.graficointerativo1.dicionario),  
81 - "excluirval": $trad(16, i3GEOF.graficointerativo1.dicionario),  
82 - "geracor": $trad(17, i3GEOF.graficointerativo1.dicionario),  
83 - "obterdados": $trad(18, i3GEOF.graficointerativo1.dicionario),  
84 - "seescolher": $trad(19, i3GEOF.graficointerativo1.dicionario),  
85 - "inclinax": $trad(20, i3GEOF.graficointerativo1.dicionario),  
86 - "adlinbarras": $trad(21, i3GEOF.graficointerativo1.dicionario),  
87 - "utilizvalacum": $trad(22, i3GEOF.graficointerativo1.dicionario),  
88 - "utilizvalrelat": $trad(23, i3GEOF.graficointerativo1.dicionario),  
89 - "ordenax": $trad(24, i3GEOF.graficointerativo1.dicionario),  
90 - "naoprocessa": $trad(25, i3GEOF.graficointerativo1.dicionario),  
91 - "stacked": $trad(48, i3GEOF.graficointerativo1.dicionario),  
92 - "linhasnascols": $trad(49, i3GEOF.graficointerativo1.dicionario),  
93 - "media": $trad(27, i3GEOF.graficointerativo1.dicionario),  
94 - "tipoagregay": $trad(28, i3GEOF.graficointerativo1.dicionario),  
95 - "fatcalclarg": $trad(29, i3GEOF.graficointerativo1.dicionario),  
96 - "janelasep": $trad(30, i3GEOF.graficointerativo1.dicionario),  
97 - "soma": $trad(26, i3GEOF.graficointerativo1.dicionario),  
98 - "i3GEOgraficointerativo1Titulo": $inputText("", "", idjanela + "i3GEOgraficointerativo1Titulo", "", 40, ""),  
99 - "i3GEOgraficointerativo1TituloX": $inputText("", "", idjanela + "i3GEOgraficointerativo1TituloX", "", 40, ""),  
100 - "i3GEOgraficointerativo1TituloY": $inputText("", "", idjanela + "i3GEOgraficointerativo1TituloY", "", 40, ""),  
101 - "i3GEOgraficointerativo1excluir": $inputText("", "", idjanela + "i3GEOgraficointerativo1excluir", "", 3, "") 67 + "prop" : $trad("p13"),
  68 + "tipo" : $trad(1, i3GEOF.graficointerativo1.dicionario),
  69 + "dados" : $trad(2, i3GEOF.graficointerativo1.dicionario),
  70 + "grafico" : $trad(3, i3GEOF.graficointerativo1.dicionario),
  71 + "escolhatipo" : $trad(4, i3GEOF.graficointerativo1.dicionario),
  72 + "pizza2d" : $trad(5, i3GEOF.graficointerativo1.dicionario),
  73 + "areasimp" : $trad(6, i3GEOF.graficointerativo1.dicionario),
  74 + "distpt" : $trad(7, i3GEOF.graficointerativo1.dicionario),
  75 + "linhassimp" : $trad(8, i3GEOF.graficointerativo1.dicionario),
  76 + "arvore" : $trad(9, i3GEOF.graficointerativo1.dicionario),
  77 + "barrasv" : $trad(10, i3GEOF.graficointerativo1.dicionario),
  78 + "barrash" : $trad(11, i3GEOF.graficointerativo1.dicionario),
  79 + "configgr" : $trad(12, i3GEOF.graficointerativo1.dicionario),
  80 + "tema" : $trad(13, i3GEOF.graficointerativo1.dicionario),
  81 + "titulo" : $trad(50, i3GEOF.graficointerativo1.dicionario),
  82 + "titux" : $trad(51, i3GEOF.graficointerativo1.dicionario),
  83 + "tituy" : $trad(52, i3GEOF.graficointerativo1.dicionario),
  84 + "itemcx" : $trad(14, i3GEOF.graficointerativo1.dicionario),
  85 + "itemcy" : $trad(15, i3GEOF.graficointerativo1.dicionario),
  86 + "excluirval" : $trad(16, i3GEOF.graficointerativo1.dicionario),
  87 + "geracor" : $trad(17, i3GEOF.graficointerativo1.dicionario),
  88 + "obterdados" : $trad(18, i3GEOF.graficointerativo1.dicionario),
  89 + "seescolher" : $trad(19, i3GEOF.graficointerativo1.dicionario),
  90 + "inclinax" : $trad(20, i3GEOF.graficointerativo1.dicionario),
  91 + "adlinbarras" : $trad(21, i3GEOF.graficointerativo1.dicionario),
  92 + "utilizvalacum" : $trad(22, i3GEOF.graficointerativo1.dicionario),
  93 + "utilizvalrelat" : $trad(23, i3GEOF.graficointerativo1.dicionario),
  94 + "ordenax" : $trad(24, i3GEOF.graficointerativo1.dicionario),
  95 + "naoprocessa" : $trad(25, i3GEOF.graficointerativo1.dicionario),
  96 + "stacked" : $trad(48, i3GEOF.graficointerativo1.dicionario),
  97 + "linhasnascols" : $trad(49, i3GEOF.graficointerativo1.dicionario),
  98 + "media" : $trad(27, i3GEOF.graficointerativo1.dicionario),
  99 + "tipoagregay" : $trad(28, i3GEOF.graficointerativo1.dicionario),
  100 + "fatcalclarg" : $trad(29, i3GEOF.graficointerativo1.dicionario),
  101 + "janelasep" : $trad(30, i3GEOF.graficointerativo1.dicionario),
  102 + "soma" : $trad(26, i3GEOF.graficointerativo1.dicionario),
  103 + "i3GEOgraficointerativo1Titulo" : $inputText("", "", idjanela + "i3GEOgraficointerativo1Titulo", "", 40, ""),
  104 + "i3GEOgraficointerativo1TituloX" : $inputText("", "", idjanela + "i3GEOgraficointerativo1TituloX", "", 40, ""),
  105 + "i3GEOgraficointerativo1TituloY" : $inputText("", "", idjanela + "i3GEOgraficointerativo1TituloY", "", 40, ""),
  106 + "i3GEOgraficointerativo1excluir" : $inputText("", "", idjanela + "i3GEOgraficointerativo1excluir", "", 3, "")
102 }; 107 };
103 }, 108 },
104 /** 109 /**
105 * Propriedade: dados 110 * Propriedade: dados
106 - * 111 + *
107 * Dados que serao utilizados. Pode ser passado como parametro. 112 * Dados que serao utilizados. Pode ser passado como parametro.
108 - * 113 + *
109 * Default: {false} 114 * Default: {false}
110 */ 115 */
111 dados : false, 116 dados : false,
112 /** 117 /**
113 * Propriedade: titulo 118 * Propriedade: titulo
114 - * 119 + *
115 * T&iacute;tulo do gr&aacute;fico. Se for vazio, ser&aacute; obtido do nome do tema selecionado 120 * T&iacute;tulo do gr&aacute;fico. Se for vazio, ser&aacute; obtido do nome do tema selecionado
116 */ 121 */
117 titulo : "", 122 titulo : "",
118 /** 123 /**
119 * Propriedade: tipo 124 * Propriedade: tipo
120 - * 125 + *
121 * Tipo de gr&aacute;fico escolhido pelo usu&aacute;rio. 126 * Tipo de gr&aacute;fico escolhido pelo usu&aacute;rio.
122 */ 127 */
123 tipo : "", 128 tipo : "",
124 /** 129 /**
125 * Propriedade: acumula 130 * Propriedade: acumula
126 - * 131 + *
127 * Acumula os valores ao gerar o gr&aacute;fico 132 * Acumula os valores ao gerar o gr&aacute;fico
128 - * 133 + *
129 * Type: {boolean} 134 * Type: {boolean}
130 - * 135 + *
131 * Default: {false} 136 * Default: {false}
132 */ 137 */
133 acumula : false, 138 acumula : false,
134 /** 139 /**
135 * Propriedade: relativa 140 * Propriedade: relativa
136 - * 141 + *
137 * Utiliza valores relativos ao criar o gr&aacute;fico 142 * Utiliza valores relativos ao criar o gr&aacute;fico
138 - * 143 + *
139 * Type: {boolean} 144 * Type: {boolean}
140 - * 145 + *
141 * Default: {false} 146 * Default: {false}
142 */ 147 */
143 relativa : false, 148 relativa : false,
144 /** 149 /**
145 * Propriedade: dadospuros 150 * Propriedade: dadospuros
146 - * 151 + *
147 * N&atilde;o faz nenhum tipo de processamento nos dados antes de gerar o gr&aacute;fico 152 * N&atilde;o faz nenhum tipo de processamento nos dados antes de gerar o gr&aacute;fico
148 - * 153 + *
149 * Type: {boolean} 154 * Type: {boolean}
150 - * 155 + *
151 * Default: {false} 156 * Default: {false}
152 */ 157 */
153 dadospuros : false, 158 dadospuros : false,
154 /** 159 /**
155 - * Function: iniciaDicionario  
156 - * 160 + * iniciaDicionario (depreciado na versao 6.0)
  161 + *
157 * Carrega o dicion&aacute;rio e chama a fun&ccedil;&atilde;o que inicia a ferramenta 162 * Carrega o dicion&aacute;rio e chama a fun&ccedil;&atilde;o que inicia a ferramenta
158 - * 163 + *
159 * O Javascript &eacute; carregado com o id i3GEOF.nomedaferramenta.dicionario_script 164 * O Javascript &eacute; carregado com o id i3GEOF.nomedaferramenta.dicionario_script
160 */ 165 */
161 - iniciaDicionario : function(dados) {  
162 - i3GEOF.tabela.iniciaJanelaFlutuante(dados); 166 + iniciaDicionario : function(parametros) {
  167 + i3GEOF.tabela.iniciaJanelaFlutuante(parametros);
  168 + },
  169 + /**
  170 + * Configura o grafico conforme um objeto contendo parametros e opcionalmente os dados Alguns parametros possuem definicoes padrao,
  171 + * usadas quando o valor nao e passado
  172 + *
  173 + * Qualquer outro campo de formulario pode ter seu valor passado como parametro, desde que use o mesmo ID, excluindo-se do nome do
  174 + * ID o prefixo (codigo da janela)
  175 + *
  176 + * parametros {objeto} com os seguintes elementos:
  177 + *
  178 + * idjanela - id do grafico. Usado como prefixo para inserir os identificadores dos elementos DOM que fazem parte da interface do
  179 + * grafico. Se existir um elemento dom esse id, o grafico sera inserido nesse elemento
  180 + *
  181 + * tema - codigo do tema existente no mapa e que sera a fonte para os dados
  182 + *
  183 + * atualiza true|false - a janela sera atualizada na navegacao do mapa ou nao
  184 + *
  185 + * dados - dados que comporao o mapa. Caso nao existam, serao obtidos de tema
  186 + *
  187 + * acumula true|false - acumula os valores de cada elemento do grafico
  188 + *
  189 + * relativa true|false - utiliza valores relativos nos eixos
  190 + *
  191 + * dadospuros true|false - realiza ou nao processos de adequacao dos dados
  192 + */
  193 + configura : function(parametros) {
  194 + var idjanela;
  195 + if (!parametros.idjanela) {
  196 + idjanela = "graficoi" + parseInt(Math.random() * 1000000, 10);
  197 + } else {
  198 + idjanela = parametros.idjanela;
  199 + }
  200 + i3GEOF.graficointerativo1.janelas.push(idjanela);
  201 + if (parametros) {
  202 + i3GEOF.graficointerativo1.propJanelas[idjanela] = parametros;
  203 + } else {
  204 + i3GEOF.graficointerativo1.propJanelas[idjanela] = {};
  205 + }
  206 + if (!parametros.tema) {
  207 + i3GEOF.graficointerativo1.propJanelas[idjanela].tema = "";
  208 + }
  209 + if (!parametros.atualiza) {
  210 + i3GEOF.graficointerativo1.propJanelas[idjanela].atualiza = true;
  211 + }
  212 + // guarda para esse grafico alguns valores default obtidos dos
  213 + // parametros gerais da ferramenta
  214 + if (!parametros.acumula) {
  215 + i3GEOF.graficointerativo1.propJanelas[idjanela].acumula = parametros.acumula;
  216 + }
  217 + if (!parametros.relativa) {
  218 + i3GEOF.graficointerativo1.propJanelas[idjanela].relativa = parametros.relativa;
  219 + }
  220 + if (!parametros.dadospuros) {
  221 + i3GEOF.graficointerativo1.propJanelas[idjanela].dadospuros = parametros.dadospuros;
  222 + }
  223 + return idjanela;
  224 + },
  225 + /**
  226 + * Aplica ao grafico os parametros de configuracao definidos para cada interface que controla o grafico Os parametros de
  227 + * configuracao sao obtidos na inicializacao, passados como parametros Essa funcao deve ser executada apos os elementos html terem
  228 + * sido renderizados
  229 + */
  230 + aplicaConfig : function(idjanela) {
  231 + var config, i, atualizaConfigGr;
  232 + config = i3GEOF.graficointerativo1.propJanelas[idjanela];
  233 + nomesIds = i3GEO.util.listaChaves(config);
  234 + atualizaConfigGr = function() {
  235 + var i,o,n,j;
  236 + n = nomesIds.length;
  237 + for (j=0;j<n;j++) {
  238 + i = nomesIds[j];
  239 + o = $i(idjanela + i);
  240 + if (o && config[i]) {
  241 + if (o.type.toLowerCase() === "radio" || o.type.toLowerCase() === "checkbox") {
  242 + o.checked = config[i];
  243 + } else {
  244 + o.value = config[i];
  245 + }
  246 + }
  247 + }
  248 + };
  249 + // preenche os campos existentes
  250 + atualizaConfigGr();
  251 + // ativa o tipo de grafico
  252 + if (config.tema) {
  253 + i3GEOF.graficointerativo1.ativaTipo("", idjanela);
  254 + i3GEOF.graficointerativo1.comboTemas(idjanela);
  255 + // cria as entradas de parametros para o eixo y
  256 + if(config.numeroColunasY && config.numeroColunasY > 0){
  257 + for(i=0;i<config.numeroColunasY;i++){
  258 + i3GEOF.graficointerativo1.comboItensSel(idjanela);
  259 + }
  260 + }
  261 + // atualiza novamente os campos criados
  262 + atualizaConfigGr();
  263 + if (i3GEOF.graficointerativo1.propJanelas[idjanela].dados != "") {
  264 + i3GEOF.graficointerativo1.obterDados(idjanela);
  265 + }
  266 + }
  267 + },
  268 + /**
  269 + * Obtem os parametros de cada janela e converte em base64 Cada janela e inserida como um item em um objeto A compactacao e
  270 + * utilizada para salvar as configuracoes no mapfile atual
  271 + */
  272 + compactaConfig : function() {
  273 + var c,g, par, janelas, i,n;
  274 + par = [];
  275 + janelas = i3GEOF.graficointerativo1.janelas;
  276 + n = janelas.length;
  277 + for (i = 0; i < n; i++) {
  278 + c = i3GEOF.graficointerativo1.retornaConfig(janelas[i]);
  279 + par.push(c);
  280 + }
  281 + g = YAHOO.lang.JSON.stringify(par);
  282 + return i3GEO.util.base64encode(g);
  283 + },
  284 + restauraGraficos: function(par){
  285 + var n,i;
  286 + par = i3GEO.util.base64decode(par);
  287 + par = YAHOO.lang.JSON.parse(par);
  288 + n = par.length;
  289 + for(i=0;i<n;i++){
  290 + i3GEOF.graficointerativo1.iniciaJanelaFlutuante(par[i]);
  291 + }
  292 + },
  293 + /**
  294 + * Retorna um objeto contendo os valores de todos os parametros utilizados no grafico de tal forma que um grafico possa ser
  295 + * renderizado novamente
  296 + *
  297 + * A funcao i3GEO.php.salvaMapaBanco utiliza retornaConfig e cria um objeto que ira armazenar os parametros de cada janela
  298 + */
  299 + retornaConfig : function(idjanela) {
  300 + // as chaves do objeto correspondem ao ID de cada elemento
  301 + var c, par, objs, obj = "", contador = 0;
  302 + par = i3GEOF.graficointerativo1.propJanelas[idjanela];
  303 + c = $i(idjanela);
  304 + // pega todos os elementos do tipo checkbox
  305 + objs = c.getElementsByTagName("checkbox");
  306 + for (obj in objs) {
  307 + if (objs[obj].id) {
  308 + par[objs[obj].id] = objs[obj].checked;
  309 + }
  310 + }
  311 + // pega todos os elementos do tipo input
  312 + objs = c.getElementsByTagName("input");
  313 + for (obj in objs) {
  314 + // nao inclui agora os dados e cores
  315 + if (objs[obj].id && objs[obj].id.search(idjanela + "i3GEOgraficointerativo1Dados") < 0) {
  316 + par[objs[obj].id] = objs[obj].value;
  317 + }
  318 + }
  319 + // pega todos os elementos do tipo select
  320 + objs = c.getElementsByTagName("select");
  321 + for (obj in objs) {
  322 + if (objs[obj].id) {
  323 + par[objs[obj].id] = objs[obj].value;
  324 + }
  325 + }
  326 + // se a janela esta marcada para ser atualizada ao navegar, os dados nao devem ser incluidos
  327 + if (i3GEOF.graficointerativo1.propJanelas[idjanela].atualiza === false) {
  328 + // inclui a tabela com os dados
  329 + c = $i(idjanela + "i3GEOgraficointerativo1Dados");
  330 + objs = c.getElementsByTagName("input");
  331 + for (obj in objs) {
  332 + if (objs[obj].id) {
  333 + par[objs[obj].id] = objs[obj].value;
  334 + }
  335 + }
  336 + } else {
  337 + par.dados = "";
  338 + }
  339 + // conta o numero de combos do eixo y
  340 + c = $i(idjanela + "i3GEOgraficointerativo1ComboYlinha");
  341 + objs = c.getElementsByTagName("select");
  342 + for (obj in objs) {
  343 + if (objs[obj].value && objs[obj].value != "") {
  344 + contador++;
  345 + }
  346 + }
  347 + par["numeroColunasY"] = contador;
  348 + return par;
163 }, 349 },
164 /** 350 /**
165 * Function: inicia 351 * Function: inicia
166 - * 352 + *
167 * Inicia a ferramenta. &Eacute; chamado por criaJanelaFlutuante 353 * Inicia a ferramenta. &Eacute; chamado por criaJanelaFlutuante
168 - * 354 + *
169 * Parametros: 355 * Parametros:
170 - * 356 + *
171 * iddiv {String} - id do div que receber&aacute; o conteudo HTML da ferramenta 357 * iddiv {String} - id do div que receber&aacute; o conteudo HTML da ferramenta
172 - * 358 + *
173 * dados {JSON} - dados para o gr&aacute;fico (opcional) exemplo 359 * dados {JSON} - dados para o gr&aacute;fico (opcional) exemplo
174 * ["n;x","'Argentina';33796870","'Paraguay';4773464","'Brazil';151525400","'Chile';13772710"] 360 * ["n;x","'Argentina';33796870","'Paraguay';4773464","'Brazil';151525400","'Chile';13772710"]
175 */ 361 */
176 inicia : function(iddiv, idjanela) { 362 inicia : function(iddiv, idjanela) {
177 - // try{  
178 $i(iddiv).innerHTML += i3GEOF.graficointerativo1.html(idjanela); 363 $i(iddiv).innerHTML += i3GEOF.graficointerativo1.html(idjanela);
179 $i(idjanela + "i3GEOgraficointerativo1Acumula").checked = i3GEOF.graficointerativo1.propJanelas[idjanela].acumula; 364 $i(idjanela + "i3GEOgraficointerativo1Acumula").checked = i3GEOF.graficointerativo1.propJanelas[idjanela].acumula;
180 $i(idjanela + "i3GEOgraficointerativo1Relativa").checked = i3GEOF.graficointerativo1.propJanelas[idjanela].relativa; 365 $i(idjanela + "i3GEOgraficointerativo1Relativa").checked = i3GEOF.graficointerativo1.propJanelas[idjanela].relativa;
@@ -218,7 +403,7 @@ i3GEOF.graficointerativo1 = @@ -218,7 +403,7 @@ i3GEOF.graficointerativo1 =
218 }; 403 };
219 $i(idjanela + "i3GEOgraficointerativo1guia5").onclick = 404 $i(idjanela + "i3GEOgraficointerativo1guia5").onclick =
220 function() { 405 function() {
221 - if (i3GEOF.graficointerativo1.tipo === "") { 406 + if (i3GEOF.graficointerativo1.propJanelas[idjanela].tipo === "") {
222 alert($trad(4, i3GEOF.graficointerativo1.dicionario)); 407 alert($trad(4, i3GEOF.graficointerativo1.dicionario));
223 return; 408 return;
224 } 409 }
@@ -228,11 +413,11 @@ i3GEOF.graficointerativo1 = @@ -228,11 +413,11 @@ i3GEOF.graficointerativo1 =
228 i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOgraficointerativo1guia5", idjanela + "i3GEOgraficointerativo1guia"); 413 i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOgraficointerativo1guia5", idjanela + "i3GEOgraficointerativo1guia");
229 $i(idjanela + "i3GEOgraficointerativo1Grafico").style.display = "none"; 414 $i(idjanela + "i3GEOgraficointerativo1Grafico").style.display = "none";
230 $i(idjanela + "i3GEOgraficointerativo1guia5obj").innerHTML = 415 $i(idjanela + "i3GEOgraficointerativo1guia5obj").innerHTML =
231 - "<textarea rows='20' cols='52' >" + (i3GEOF.graficointerativo1.tabela2csv()).join("\n") + "</textarea>"; 416 + "<textarea rows='20' cols='52' >" + (i3GEOF.graficointerativo1.tabela2csv(idjanela)).join("\n") + "</textarea>";
232 }; 417 };
233 $i(idjanela + "i3GEOgraficointerativo1guia6").onclick = 418 $i(idjanela + "i3GEOgraficointerativo1guia6").onclick =
234 function() { 419 function() {
235 - if (i3GEOF.graficointerativo1.tipo === "") { 420 + if (i3GEOF.graficointerativo1.propJanelas[idjanela].tipo === "") {
236 alert($trad(4, i3GEOF.graficointerativo1.dicionario)); 421 alert($trad(4, i3GEOF.graficointerativo1.dicionario));
237 return; 422 return;
238 } 423 }
@@ -261,21 +446,27 @@ i3GEOF.graficointerativo1 = @@ -261,21 +446,27 @@ i3GEOF.graficointerativo1 =
261 } 446 }
262 } 447 }
263 }); 448 });
264 - if (i3GEOF.graficointerativo1.propJanelas[idjanela].dados  
265 - && i3GEOF.graficointerativo1.propJanelas[idjanela].dados != "undefined") { 449 + if (i3GEOF.graficointerativo1.propJanelas[idjanela].dados != "") {
266 i3GEOF.graficointerativo1.montaTabelaDados(idjanela, i3GEOF.graficointerativo1.propJanelas[idjanela].dados); 450 i3GEOF.graficointerativo1.montaTabelaDados(idjanela, i3GEOF.graficointerativo1.propJanelas[idjanela].dados);
267 $i(idjanela + "i3GEOgraficointerativo1guia4").onclick.call(); 451 $i(idjanela + "i3GEOgraficointerativo1guia4").onclick.call();
268 } else { 452 } else {
269 i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOgraficointerativo1guia1", idjanela + "i3GEOgraficointerativo1guia"); 453 i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOgraficointerativo1guia1", idjanela + "i3GEOgraficointerativo1guia");
270 } 454 }
  455 + //
  456 + // Apos todos os elementos HTML da ferramenta terem sido renderizados
  457 + // aplicam-se os parametros armazenados nas propriedades da janela atual
  458 + // Isso e necessario pois os parametros podem ter sido enviados na inicializacao da ferramenta,
  459 + // por exemplo, quando um mapa e salvo, os parametros sao armazenados e depois recuperados
  460 + //
  461 + i3GEOF.graficointerativo1.aplicaConfig(idjanela);
271 }, 462 },
272 /** 463 /**
273 * Function: html 464 * Function: html
274 - * 465 + *
275 * Gera o c&oacute;digo html para apresenta&ccedil;&atilde;o das op&ccedil;&otilde;es da ferramenta 466 * Gera o c&oacute;digo html para apresenta&ccedil;&atilde;o das op&ccedil;&otilde;es da ferramenta
276 - * 467 + *
277 * Retorno: 468 * Retorno:
278 - * 469 + *
279 * String com o c&oacute;digo html 470 * String com o c&oacute;digo html
280 */ 471 */
281 html : function(idjanela) { 472 html : function(idjanela) {
@@ -284,128 +475,138 @@ i3GEOF.graficointerativo1 = @@ -284,128 +475,138 @@ i3GEOF.graficointerativo1 =
284 }, 475 },
285 /** 476 /**
286 * Function: iniciaJanelaFlutuante 477 * Function: iniciaJanelaFlutuante
287 - * 478 + *
288 * Cria a janela flutuante para controle da ferramenta. 479 * Cria a janela flutuante para controle da ferramenta.
289 - *  
290 - * Parametro  
291 - *  
292 - * dados {JSON} - dados para o gr&aacute;fico 480 + *
  481 + * Parametro:
  482 + *
  483 + * parametros {obj} - parametros para o gr&aacute;fico. Contem parametros utilizados para configurar o grafico e tambem pode conter
  484 + * os dados. Para compatibilidade, se nao contiver o item com chave chamada dados, sera considerado como sendo um objeto com apenas
  485 + * os dados estatisticos
  486 + *
293 */ 487 */
294 - iniciaJanelaFlutuante : function(dados) { 488 + iniciaJanelaFlutuante : function(parametros) {
295 var minimiza, cabecalho, janela, divid, temp, titulo, idjanela; 489 var minimiza, cabecalho, janela, divid, temp, titulo, idjanela;
296 - // id utilizado para diferenciar cada janela e seus respectivos  
297 - // componentes  
298 - idjanela = "graficoi" + parseInt(Math.random() * 1000000, 10);  
299 - i3GEOF.graficointerativo1.janelas.push(idjanela);  
300 - i3GEOF.graficointerativo1.propJanelas[idjanela] = {};  
301 - i3GEOF.graficointerativo1.propJanelas[idjanela].tema = i3GEO.temaAtivo;  
302 - i3GEOF.graficointerativo1.propJanelas[idjanela].atualiza = true;  
303 - i3GEOF.graficointerativo1.propJanelas[idjanela].dados = dados;  
304 -  
305 - // guarda para esse grafico alguns valores default obtidos dos  
306 - // parametros gerais da ferramenta  
307 - i3GEOF.graficointerativo1.propJanelas[idjanela].acumula = i3GEOF.graficointerativo1.acumula;  
308 - i3GEOF.graficointerativo1.propJanelas[idjanela].relativa = i3GEOF.graficointerativo1.relativa;  
309 - i3GEOF.graficointerativo1.propJanelas[idjanela].dadospuros = i3GEOF.graficointerativo1.dadospuros;  
310 -  
311 - if (dados) {  
312 - i3GEOF.graficointerativo1.propJanelas[idjanela].dados = dados; 490 + //
  491 + // verifica se parametros contem dados, caso contrario compatibiliza o objeto
  492 + // com a versao 6.0 do i3Geo
  493 + //
  494 + if (!parametros) {
  495 + parametros = {
  496 + "dados": ""
  497 + };
  498 + } else if (!parametros.dados) {
  499 + parametros = {
  500 + "dados" : parametros
  501 + };
313 } 502 }
  503 + //
  504 + // configura o grafico baseado no objeto parametros
  505 + // se em parametros existir um idjanela, o mesmo e retornado, caso contrario, e criado
  506 + //
  507 + idjanela = i3GEOF.graficointerativo1.configura(parametros);
  508 + //
  509 + // se existir um elemento HTML com o mesmo ID da janela, a renderizacao ocorrera
  510 + // nesse elemento, caso contrario, sera criada uma janela flutuante
  511 + //
  512 + if (!$i(idjanela)) {
  513 + // cria a janela flutuante
  514 + cabecalho = function() {
  515 + i3GEOF.graficointerativo1.ativaFoco(idjanela);
  516 + };
  517 + minimiza = function() {
  518 + i3GEO.janela.minimiza(idjanela);
  519 + };
  520 + mudaTamanhoGrafico = function() {
  521 + var t = $i(idjanela + "i3GEOgraficointerativo1Grafico");
  522 + if (t.style.display === "block") {
  523 + i3GEOF.graficointerativo1.tabela2dados(idjanela);
  524 + }
  525 + };
  526 + duplica = function() {
  527 + i3GEOF.graficointerativo1.iniciaJanelaFlutuante();
  528 + };
  529 + titulo =
  530 + "&nbsp;&nbsp;&nbsp;" + $trad("t37b") + " <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic
  531 + + "/ajuda_usuario.php?idcategoria=3&idajuda=84' >&nbsp;&nbsp;&nbsp;</a>";
  532 + janela =
  533 + i3GEO.janela.cria(
  534 + "480px",
  535 + "450px",
  536 + "",
  537 + "",
  538 + "",
  539 + titulo,
  540 + idjanela,
  541 + false,
  542 + "hd",
  543 + cabecalho,
  544 + minimiza,
  545 + mudaTamanhoGrafico,
  546 + true,
  547 + i3GEO.configura.locaplic + "/imagens/oxygen/16x16/view-statistics.png",
  548 + duplica);
  549 + divid = janela[2].id;
  550 + $i(idjanela + "_corpo").style.backgroundColor = "white";
  551 + $i(idjanela + "_corpo").style.overflow = "auto";
  552 + // indica se a janela sera atualizada na navegacao
  553 + temp = 'i3GEOF.graficointerativo1.propJanelas["' + idjanela + '"].atualiza = this.checked';
  554 + janela[0]
  555 + .setFooter("<div style=background-color:#F2F2F2; ><input class='inputsb' checked style='cursor:pointer;position:relative;top:2px;' onclick='"
  556 + + temp + "' type=checkbox />&nbsp;" + $trad(53, i3GEOF.graficointerativo1.dicionario) + " (" + idjanela + ")</div>");
314 557
315 - // cria a janela flutuante  
316 - cabecalho = function() {  
317 - i3GEOF.graficointerativo1.ativaFoco(idjanela);  
318 - };  
319 - minimiza = function() {  
320 - i3GEO.janela.minimiza(idjanela);  
321 - };  
322 - mudaTamanhoGrafico = function() {  
323 - var t = $i(idjanela + "i3GEOgraficointerativo1Grafico");  
324 - if (t.style.display === "block") {  
325 - i3GEOF.graficointerativo1.tabela2dados(idjanela);  
326 - }  
327 - };  
328 - duplica = function() {  
329 - i3GEOF.graficointerativo1.iniciaJanelaFlutuante();  
330 - };  
331 - titulo =  
332 - "&nbsp;&nbsp;&nbsp;" + $trad("t37b") + " <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic  
333 - + "/ajuda_usuario.php?idcategoria=3&idajuda=84' >&nbsp;&nbsp;&nbsp;</a>";  
334 - janela =  
335 - i3GEO.janela.cria(  
336 - "480px",  
337 - "450px",  
338 - "",  
339 - "",  
340 - "",  
341 - titulo,  
342 - idjanela,  
343 - false,  
344 - "hd",  
345 - cabecalho,  
346 - minimiza,  
347 - mudaTamanhoGrafico,  
348 - true,  
349 - i3GEO.configura.locaplic + "/imagens/oxygen/16x16/view-statistics.png",  
350 - duplica); 558 + temp = function() {
  559 + i3GEOF.graficointerativo1.janelas.remove(idjanela);
  560 + i3GEOF.graficointerativo1.propJanelas[idjanela] = null;
  561 + if (i3GEOF.graficointerativo1.janelas.length === 0 && i3GEO.Interface) {
  562 + if (i3GEO.Interface.ATUAL === "openlayers") {
  563 + i3GEO.eventos.NAVEGAMAPA.remove("i3GEOF.graficointerativo1.atualizaListaDeRegistros()");
  564 + } else if (i3GEO.Interface.ATUAL === "googlemaps") {
  565 + google.maps.event.removeListener(graficointerativo1Dragend);
  566 + google.maps.event.removeListener(graficointerativo1Zoomend);
  567 + } else if (i3GEO.Interface.ATUAL === "googleearth") {
  568 + google.earth.removeEventListener(graficointerativo1Dragend);
  569 + }
  570 + i3GEOF.graficointerativo1.propJanelas = {};
  571 + i3GEOF.graficointerativo1.janelas = [];
  572 + }
  573 + };
  574 + YAHOO.util.Event.addListener(janela[0].close, "click", temp);
  575 + janela[0].bringToTop();
351 576
352 - divid = janela[2].id; 577 + } else {
  578 + // o grafico sera renderizado em $i(idjanela)
  579 + divid = idjanela;
  580 + }
353 i3GEOF.graficointerativo1.aguarde = $i(idjanela + "_imagemCabecalho").style; 581 i3GEOF.graficointerativo1.aguarde = $i(idjanela + "_imagemCabecalho").style;
354 - $i(idjanela + "_corpo").style.backgroundColor = "white";  
355 - $i(idjanela + "_corpo").style.overflow = "auto";  
356 -  
357 i3GEOF.graficointerativo1.propJanelas[idjanela].aguarde = $i(idjanela + "_imagemCabecalho").style; 582 i3GEOF.graficointerativo1.propJanelas[idjanela].aguarde = $i(idjanela + "_imagemCabecalho").style;
358 i3GEOF.graficointerativo1.propJanelas[idjanela].atualiza = true; 583 i3GEOF.graficointerativo1.propJanelas[idjanela].atualiza = true;
359 - // indica se a janela sera atualizada na navegacao  
360 - temp = 'i3GEOF.graficointerativo1.propJanelas["' + idjanela + '"].atualiza = this.checked';  
361 - janela[0]  
362 - .setFooter("<div style=background-color:#F2F2F2; ><input class='inputsb' checked style='cursor:pointer;position:relative;top:2px;' onclick='"  
363 - + temp + "' type=checkbox />&nbsp;" + $trad(53, i3GEOF.graficointerativo1.dicionario) + " (" + idjanela + ")</div>");  
364 584
365 i3GEOF.graficointerativo1.inicia(divid, idjanela); 585 i3GEOF.graficointerativo1.inicia(divid, idjanela);
366 586
367 - if (!i3GEO.Interface) {  
368 - return;  
369 - }  
370 - i3GEO.janela.tempoMsg($trad(37, i3GEOF.graficointerativo1.dicionario));  
371 - if (i3GEO.Interface.ATUAL === "openlayers") {  
372 - i3GEO.eventos.NAVEGAMAPA.push("i3GEOF.graficointerativo1.atualizaListaDeRegistros()");  
373 - }  
374 - if (i3GEO.Interface.ATUAL === "googlemaps") {  
375 - graficointerativo1Dragend = GEvent.addListener(i3GeoMap, "dragend", function() {  
376 - i3GEOF.graficointerativo1.atualizaListaDeRegistros();  
377 - });  
378 - graficointerativo1Zoomend = GEvent.addListener(i3GeoMap, "zoomend", function() {  
379 - i3GEOF.graficointerativo1.atualizaListaDeRegistros();  
380 - });  
381 - }  
382 - if (i3GEO.Interface.ATUAL === "googleearth") {  
383 - graficointerativo1Dragend = google.earth.addEventListener(i3GeoMap.getView(), "viewchangeend", function() {  
384 - i3GEOF.graficointerativo1.atualizaListaDeRegistros();  
385 - });  
386 - }  
387 - temp = function() {  
388 - i3GEOF.graficointerativo1.janelas.remove(idjanela);  
389 - i3GEOF.graficointerativo1.propJanelas[idjanela] = null;  
390 - if (i3GEOF.graficointerativo1.janelas.length === 0) {  
391 - if (i3GEO.Interface.ATUAL === "openlayers") {  
392 - i3GEO.eventos.NAVEGAMAPA.remove("i3GEOF.graficointerativo1.atualizaListaDeRegistros()");  
393 - }  
394 - if (i3GEO.Interface.ATUAL === "googlemaps") {  
395 - google.maps.event.removeListener(graficointerativo1Dragend);  
396 - google.maps.event.removeListener(graficointerativo1Zoomend);  
397 - }  
398 - if (i3GEO.Interface.ATUAL === "googleearth") {  
399 - google.earth.removeEventListener(graficointerativo1Dragend);  
400 - } 587 + // eventos que ocorrem no mapa e afetam os graficos
  588 + if (i3GEO.Interface) {
  589 + i3GEO.janela.tempoMsg($trad(37, i3GEOF.graficointerativo1.dicionario));
  590 + if (i3GEO.Interface.ATUAL === "openlayers"
  591 + && i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEOF.graficointerativo1.atualizaListaDeRegistros()") < 0) {
  592 + i3GEO.eventos.NAVEGAMAPA.push("i3GEOF.graficointerativo1.atualizaListaDeRegistros()");
  593 + } else if (i3GEO.Interface.ATUAL === "googlemaps" && graficointerativo1Dragend == undefined) {
  594 + graficointerativo1Dragend = GEvent.addListener(i3GeoMap, "dragend", function() {
  595 + i3GEOF.graficointerativo1.atualizaListaDeRegistros();
  596 + });
  597 + graficointerativo1Zoomend = GEvent.addListener(i3GeoMap, "zoomend", function() {
  598 + i3GEOF.graficointerativo1.atualizaListaDeRegistros();
  599 + });
  600 + } else if (i3GEO.Interface.ATUAL === "googleearth" && graficointerativo1Dragend == undefined) {
  601 + graficointerativo1Dragend = google.earth.addEventListener(i3GeoMap.getView(), "viewchangeend", function() {
  602 + i3GEOF.graficointerativo1.atualizaListaDeRegistros();
  603 + });
401 } 604 }
402 - };  
403 - YAHOO.util.Event.addListener(janela[0].close, "click", temp);  
404 - janela[0].bringToTop(); 605 + }
405 }, 606 },
406 /** 607 /**
407 * Function: ativaFoco 608 * Function: ativaFoco
408 - * 609 + *
409 * Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado 610 * Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado
410 */ 611 */
411 ativaFoco : function(idjanela) { 612 ativaFoco : function(idjanela) {
@@ -436,7 +637,7 @@ i3GEOF.graficointerativo1 = @@ -436,7 +637,7 @@ i3GEOF.graficointerativo1 =
436 }, 637 },
437 /** 638 /**
438 * Function: comboTemas 639 * Function: comboTemas
439 - * 640 + *
440 * Monta o combo para escolha do tema que ser&aacute; utilizado no gr&aacute;fico 641 * Monta o combo para escolha do tema que ser&aacute; utilizado no gr&aacute;fico
441 */ 642 */
442 comboTemas : function(idjanela) { 643 comboTemas : function(idjanela) {
@@ -452,19 +653,20 @@ i3GEOF.graficointerativo1 = @@ -452,19 +653,20 @@ i3GEOF.graficointerativo1 =
452 i3GEOF.graficointerativo1.comboItensSel(idjanela); 653 i3GEOF.graficointerativo1.comboItensSel(idjanela);
453 }; 654 };
454 } 655 }
455 - if (i3GEO.temaAtivo !== "") {  
456 - $i(idjanela + "i3GEOgraficointerativo1ComboTemasId").value = i3GEO.temaAtivo; 656 + var j = i3GEOF.graficointerativo1.propJanelas[idjanela];
  657 + if (j.tema && j.tema !== "") {
  658 + $i(idjanela + "i3GEOgraficointerativo1ComboTemasId").value = j.tema;
457 $i(idjanela + "i3GEOgraficointerativo1ComboTemasId").onchange.call(); 659 $i(idjanela + "i3GEOgraficointerativo1ComboTemasId").onchange.call();
458 } 660 }
459 }, idjanela + "i3GEOgraficointerativo1ComboTemas", "", false, "ligados", "font-size:12px;width:350px"); 661 }, idjanela + "i3GEOgraficointerativo1ComboTemas", "", false, "ligados", "font-size:12px;width:350px");
460 }, 662 },
461 /** 663 /**
462 * Function: ativaTipo 664 * Function: ativaTipo
463 - * 665 + *
464 * Define a vari&aacute;vel com o tipo de gr&aacute;fico e mostra a guia2 666 * Define a vari&aacute;vel com o tipo de gr&aacute;fico e mostra a guia2
465 */ 667 */
466 ativaTipo : function(obj, idjanela) { 668 ativaTipo : function(obj, idjanela) {
467 - if (obj) { 669 + if (obj && obj != "") {
468 i3GEOF.graficointerativo1.propJanelas[idjanela].tipo = obj.value; 670 i3GEOF.graficointerativo1.propJanelas[idjanela].tipo = obj.value;
469 } 671 }
470 if (i3GEOF.graficointerativo1.propJanelas[idjanela].tipo == "ponto_1") { 672 if (i3GEOF.graficointerativo1.propJanelas[idjanela].tipo == "ponto_1") {
@@ -492,9 +694,15 @@ i3GEOF.graficointerativo1 = @@ -492,9 +694,15 @@ i3GEOF.graficointerativo1 =
492 } 694 }
493 $i(idjanela + "i3GEOgraficointerativo1guia4").onclick.call(); 695 $i(idjanela + "i3GEOgraficointerativo1guia4").onclick.call();
494 }, 696 },
  697 + alteraFatorPixelMenos : function(tipo, idjanela) {
  698 + i3GEOF.graficointerativo1.alteraFatorPixel("menos", idjanela);
  699 + },
  700 + alteraFatorPixelMais : function(tipo, idjanela) {
  701 + i3GEOF.graficointerativo1.alteraFatorPixel("mais", idjanela);
  702 + },
495 /** 703 /**
496 * Function: configuraDados 704 * Function: configuraDados
497 - * 705 + *
498 * Configura o formul&aacute;rio para obten&ccedil;&atilde;o dos dados para cada tipo de gr&aacute;fico 706 * Configura o formul&aacute;rio para obten&ccedil;&atilde;o dos dados para cada tipo de gr&aacute;fico
499 */ 707 */
500 configuraDados : function(idjanela) { 708 configuraDados : function(idjanela) {
@@ -517,11 +725,11 @@ i3GEOF.graficointerativo1 = @@ -517,11 +725,11 @@ i3GEOF.graficointerativo1 =
517 }, 725 },
518 /** 726 /**
519 * Function: comboItensSel 727 * Function: comboItensSel
520 - * 728 + *
521 * Cria um combo para selecionar os itens do tema escolhido 729 * Cria um combo para selecionar os itens do tema escolhido
522 - * 730 + *
523 * Veja: 731 * Veja:
524 - * 732 + *
525 * <i3GEO.util.comboItens> 733 * <i3GEO.util.comboItens>
526 */ 734 */
527 comboItensSel : function(idjanela) { 735 comboItensSel : function(idjanela) {
@@ -584,11 +792,11 @@ i3GEOF.graficointerativo1 = @@ -584,11 +792,11 @@ i3GEOF.graficointerativo1 =
584 }, 792 },
585 /** 793 /**
586 * Function: obterDados 794 * Function: obterDados
587 - * 795 + *
588 * Obt&eacute;m os dados que ser&atilde;o utilizados no gr&aacute;fico 796 * Obt&eacute;m os dados que ser&atilde;o utilizados no gr&aacute;fico
589 - * 797 + *
590 * Veja: 798 * Veja:
591 - * 799 + *
592 * <GRAFICOSELECAO> 800 * <GRAFICOSELECAO>
593 */ 801 */
594 obterDados : function(idjanela) { 802 obterDados : function(idjanela) {
@@ -601,10 +809,9 @@ i3GEOF.graficointerativo1 = @@ -601,10 +809,9 @@ i3GEOF.graficointerativo1 =
601 var tema, excluir, cp, tipo, ordenax, monta, p, x, y, i, n, temp; 809 var tema, excluir, cp, tipo, ordenax, monta, p, x, y, i, n, temp;
602 810
603 tema = $i(idjanela + "i3GEOgraficointerativo1ComboTemasId"); 811 tema = $i(idjanela + "i3GEOgraficointerativo1ComboTemasId");
604 - if(!tema){ 812 + if (!tema) {
605 return; 813 return;
606 - }  
607 - else{ 814 + } else {
608 tema = tema.value; 815 tema = tema.value;
609 } 816 }
610 excluir = $i(idjanela + "i3GEOgraficointerativo1excluir").value; 817 excluir = $i(idjanela + "i3GEOgraficointerativo1excluir").value;
@@ -720,11 +927,11 @@ i3GEOF.graficointerativo1 = @@ -720,11 +927,11 @@ i3GEOF.graficointerativo1 =
720 }, 927 },
721 /** 928 /**
722 * Function: montaTabelaDados 929 * Function: montaTabelaDados
723 - * 930 + *
724 * Monta a tabela com os dados que ser&atilde;o utilizados no gr&aacute;fico 931 * Monta a tabela com os dados que ser&atilde;o utilizados no gr&aacute;fico
725 - * 932 + *
726 * Parametro: 933 * Parametro:
727 - * 934 + *
728 * retorno {JSON} - dados no formato JSON 935 * retorno {JSON} - dados no formato JSON
729 */ 936 */
730 montaTabelaDados : function(idjanela, retorno) { 937 montaTabelaDados : function(idjanela, retorno) {
@@ -783,7 +990,7 @@ i3GEOF.graficointerativo1 = @@ -783,7 +990,7 @@ i3GEOF.graficointerativo1 =
783 }, 990 },
784 /** 991 /**
785 * Function: tabela2csv 992 * Function: tabela2csv
786 - * 993 + *
787 * Obt&eacute;m os dados da tabela em CSV 994 * Obt&eacute;m os dados da tabela em CSV
788 */ 995 */
789 tabela2csv : function(idjanela) { 996 tabela2csv : function(idjanela) {
@@ -802,7 +1009,7 @@ i3GEOF.graficointerativo1 = @@ -802,7 +1009,7 @@ i3GEOF.graficointerativo1 =
802 }, 1009 },
803 /** 1010 /**
804 * Function: tabela2dados 1011 * Function: tabela2dados
805 - * 1012 + *
806 * Obt&eacute;m os dados da tabela para compor o gr&aacute;fico 1013 * Obt&eacute;m os dados da tabela para compor o gr&aacute;fico
807 */ 1014 */
808 tabela2dados : function(idjanela) { 1015 tabela2dados : function(idjanela) {
@@ -925,7 +1132,7 @@ i3GEOF.graficointerativo1 = @@ -925,7 +1132,7 @@ i3GEOF.graficointerativo1 =
925 }, 1132 },
926 /** 1133 /**
927 * Function: excluilinha 1134 * Function: excluilinha
928 - * 1135 + *
929 * Exclui uma linha da tabela de dados 1136 * Exclui uma linha da tabela de dados
930 */ 1137 */
931 excluilinha : function(celula) { 1138 excluilinha : function(celula) {
@@ -937,7 +1144,7 @@ i3GEOF.graficointerativo1 = @@ -937,7 +1144,7 @@ i3GEOF.graficointerativo1 =
937 }, 1144 },
938 /** 1145 /**
939 * Function: corj 1146 * Function: corj
940 - * 1147 + *
941 * Abre a janela para o usu&aacute;rio selecionar uma cor interativamente 1148 * Abre a janela para o usu&aacute;rio selecionar uma cor interativamente
942 */ 1149 */
943 corj : function(obj) { 1150 corj : function(obj) {
@@ -945,7 +1152,7 @@ i3GEOF.graficointerativo1 = @@ -945,7 +1152,7 @@ i3GEOF.graficointerativo1 =
945 }, 1152 },
946 /** 1153 /**
947 * Function: ordenaColuna 1154 * Function: ordenaColuna
948 - * 1155 + *
949 * Ordena uma coluna da tabela 1156 * Ordena uma coluna da tabela
950 */ 1157 */
951 ordenaColuna : function(coluna, cid) { 1158 ordenaColuna : function(coluna, cid) {
ferramentas/graficointerativo1/template_mst.html
1 <div id='{{{idjanela}}}i3GEOgraficointerativo1guiasYUI' class='yui-navset' style='top: 0px; cursor: pointer; left: 0px;'> 1 <div id='{{{idjanela}}}i3GEOgraficointerativo1guiasYUI' class='yui-navset' style='top: 0px; cursor: pointer; left: 0px;'>
2 <ul class='yui-nav' style='border-width: 0pt 0pt 0px; border-color: rgb(240, 240, 240); border-bottom-color: white;'> 2 <ul class='yui-nav' style='border-width: 0pt 0pt 0px; border-color: rgb(240, 240, 240); border-bottom-color: white;'>
3 - <li><a><em><div id='{{{idjanela}}}i3GEOgraficointerativo1guia3' style='text-align: center; left: 0px;'>  
4 - <img class='ticPropriedades2' style='height: 14px' title='{{{prop}}}' src='{{{locaplic}}}/imagens/visual/default/branco.gif'>  
5 - </div></em></a></li>  
6 - <li><a><em><div id='{{{idjanela}}}i3GEOgraficointerativo1guia1' style='text-align: center; left: 0px;'>{{{tipo}}}</div></em></a></li>  
7 - <li><a><em><div id='{{{idjanela}}}i3GEOgraficointerativo1guia2' style='text-align: center; left: 0px;'>{{{dados}}}</div></em></a></li>  
8 - <li><a><em><div id='{{{idjanela}}}i3GEOgraficointerativo1guia4' style='text-align: center; left: 0px;'>{{{grafico}}}</div></em></a></li>  
9 - <li><a><em><div id='{{{idjanela}}}i3GEOgraficointerativo1guia5' style='text-align: center; left: 0px;'>CSV</div></em></a></li>  
10 - <li><a><em><div id='{{{idjanela}}}i3GEOgraficointerativo1guia6' style='text-align: center; left: 0px;'>PNG</div></em></a></li> 3 + <li><div id='{{{idjanela}}}i3GEOgraficointerativo1guia3' style='text-align: center; left: 0px;'>
  4 + <a><em><img class='ticPropriedades2' style='height: 14px' title='{{{prop}}}'
  5 + src='{{{locaplic}}}/imagens/visual/default/branco.gif'></em> </a>
  6 + </div></li>
  7 + <li><div id='{{{idjanela}}}i3GEOgraficointerativo1guia1' style='text-align: center; left: 0px;'>
  8 + <a><em>{{{tipo}}}</em></a>
  9 + </div></li>
  10 + <li><div id='{{{idjanela}}}i3GEOgraficointerativo1guia2' style='text-align: center; left: 0px;'>
  11 + <a><em>{{{dados}}}</em></a>
  12 + </div></li>
  13 + <li><div id='{{{idjanela}}}i3GEOgraficointerativo1guia4' style='text-align: center; left: 0px;'>
  14 + <a><em>{{{grafico}}}</em></a>
  15 + </div></li>
  16 + <li><div id='{{{idjanela}}}i3GEOgraficointerativo1guia5' style='text-align: center; left: 0px;'>
  17 + <a><em>CSV</em></a>
  18 + </div></li>
  19 + <li><div id='{{{idjanela}}}i3GEOgraficointerativo1guia6' style='text-align: center; left: 0px;'>
  20 + <a><em>PNG</em></a>
  21 + </div></li>
11 </ul> 22 </ul>
12 </div> 23 </div>
13 <br> 24 <br>
@@ -16,7 +27,8 @@ @@ -16,7 +27,8 @@
16 <table class=lista6> 27 <table class=lista6>
17 <tr> 28 <tr>
18 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-pie-icon.png' /></td> 29 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-pie-icon.png' /></td>
19 - <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='pizza_1' name='tipoGrafico' style='border: 0px solid white; cursor: pointer'></td> 30 + <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='pizza_1' name='tipoGrafico'
  31 + style='border: 0px solid white; cursor: pointer'></td>
20 <td>{{{pizza2d}}}</td> 32 <td>{{{pizza2d}}}</td>
21 </tr> 33 </tr>
22 <tr> 34 <tr>
@@ -24,7 +36,8 @@ @@ -24,7 +36,8 @@
24 </tr> 36 </tr>
25 <tr> 37 <tr>
26 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-area-stacked-icon.png' /></td> 38 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-area-stacked-icon.png' /></td>
27 - <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='area_1' name='tipoGrafico' style='border: 0px solid white; cursor: pointer'></td> 39 + <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='area_1' name='tipoGrafico'
  40 + style='border: 0px solid white; cursor: pointer'></td>
28 <td>{{{areasimp}}}</td> 41 <td>{{{areasimp}}}</td>
29 </tr> 42 </tr>
30 <tr> 43 <tr>
@@ -32,7 +45,8 @@ @@ -32,7 +45,8 @@
32 </tr> 45 </tr>
33 <tr> 46 <tr>
34 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-scatter-icon.png' /></td> 47 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-scatter-icon.png' /></td>
35 - <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='ponto_1' name='tipoGrafico' style='border: 0px solid white; cursor: pointer'></td> 48 + <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='ponto_1' name='tipoGrafico'
  49 + style='border: 0px solid white; cursor: pointer'></td>
36 <td>{{{distpt}}}</td> 50 <td>{{{distpt}}}</td>
37 </tr> 51 </tr>
38 <tr> 52 <tr>
@@ -40,7 +54,8 @@ @@ -40,7 +54,8 @@
40 </tr> 54 </tr>
41 <tr> 55 <tr>
42 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-line-stacked-icon.png' /></td> 56 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-line-stacked-icon.png' /></td>
43 - <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='linha_1' name='tipoGrafico' style='border: 0px solid white; cursor: pointer'></td> 57 + <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='linha_1' name='tipoGrafico'
  58 + style='border: 0px solid white; cursor: pointer'></td>
44 <td>{{{linhassimp}}}</td> 59 <td>{{{linhassimp}}}</td>
45 </tr> 60 </tr>
46 <tr> 61 <tr>
@@ -48,7 +63,8 @@ @@ -48,7 +63,8 @@
48 </tr> 63 </tr>
49 <tr> 64 <tr>
50 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-bar-icon-t.png' /></td> 65 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-bar-icon-t.png' /></td>
51 - <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='arvore_1' name='tipoGrafico' style='border: 0px solid white; cursor: pointer'></td> 66 + <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='arvore_1' name='tipoGrafico'
  67 + style='border: 0px solid white; cursor: pointer'></td>
52 <td>{{{arvore}}}</td> 68 <td>{{{arvore}}}</td>
53 </tr> 69 </tr>
54 <tr> 70 <tr>
@@ -56,7 +72,8 @@ @@ -56,7 +72,8 @@
56 </tr> 72 </tr>
57 <tr> 73 <tr>
58 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-bar-icon.png' /></td> 74 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-bar-icon.png' /></td>
59 - <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='bar_1' name='tipoGrafico' style='border: 0px solid white; cursor: pointer'></td> 75 + <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='bar_1' name='tipoGrafico'
  76 + style='border: 0px solid white; cursor: pointer'></td>
60 <td>{{{barrasv}}}</td> 77 <td>{{{barrasv}}}</td>
61 </tr> 78 </tr>
62 <tr> 79 <tr>
@@ -64,7 +81,8 @@ @@ -64,7 +81,8 @@
64 </tr> 81 </tr>
65 <tr> 82 <tr>
66 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-bar-icon-h.png' /></td> 83 <td><img style='cursor: text;' src='{{{locaplic}}}/imagens/oxygen/22x22/Actions-office-chart-bar-icon-h.png' /></td>
67 - <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='bar_2' name='tipoGrafico' style='border: 0px solid white; cursor: pointer'></td> 84 + <td><input type=radio onclick='i3GEOF.graficointerativo1.ativaTipo(this,{{{idjanelaA}}})' value='bar_2' name='tipoGrafico'
  85 + style='border: 0px solid white; cursor: pointer'></td>
68 <td>{{{barrash}}}</td> 86 <td>{{{barrash}}}</td>
69 </tr> 87 </tr>
70 </table> 88 </table>
@@ -93,46 +111,39 @@ @@ -93,46 +111,39 @@
93 {{{geracor}}} 111 {{{geracor}}}
94 </p> 112 </p>
95 <p class=paragrafo> 113 <p class=paragrafo>
96 - <input id='{{{idjanela}}}i3GEOgraficointerativo1botao1' type='buttom' value='{{{obterdados}}}' /> 114 + <input id='{{{idjanela}}}i3GEOgraficointerativo1botao1' type='button' value='{{{obterdados}}}' />
97 </p> 115 </p>
98 <div id='{{{idjanela}}}i3GEOgraficointerativo1Dados'></div> 116 <div id='{{{idjanela}}}i3GEOgraficointerativo1Dados'></div>
99 <div class=paragrafo id='{{{idjanela}}}i3GEOgraficointerativo1AjudaPizza'>{{{seescolher}}}</div> 117 <div class=paragrafo id='{{{idjanela}}}i3GEOgraficointerativo1AjudaPizza'>{{{seescolher}}}</div>
100 </div> 118 </div>
101 <div class=guiaobj id='{{{idjanela}}}i3GEOgraficointerativo1guia3obj' style='left: 1px; display: none; top: -5px'> 119 <div class=guiaobj id='{{{idjanela}}}i3GEOgraficointerativo1guia3obj' style='left: 1px; display: none; top: -5px'>
102 <p class=paragrafo> 120 <p class=paragrafo>
103 - <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOgraficointerativo1xInclinado' checked />  
104 - {{{inclinax}}} 121 + <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOgraficointerativo1xInclinado' checked /> {{{inclinax}}}
105 </p> 122 </p>
106 <p class=paragrafo> 123 <p class=paragrafo>
107 - <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOgraficointerativo1AdLinhas' checked />  
108 - {{{adlinbarras}}} 124 + <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOgraficointerativo1AdLinhas' checked /> {{{adlinbarras}}}
109 </p> 125 </p>
110 <p class=paragrafo> 126 <p class=paragrafo>
111 - <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOgraficointerativo1Acumula' />  
112 - {{{utilizvalacum}}} 127 + <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOgraficointerativo1Acumula' /> {{{utilizvalacum}}}
113 </p> 128 </p>
114 <p class=paragrafo> 129 <p class=paragrafo>
115 - <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOgraficointerativo1Relativa' />  
116 - {{{utilizvalrelat}}} (%) 130 + <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOgraficointerativo1Relativa' /> {{{utilizvalrelat}}} (%)
117 </p> 131 </p>
118 <p class=paragrafo> 132 <p class=paragrafo>
119 - <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOgraficointerativo1OrdenaX' checked />  
120 - {{{ordenax}}} 133 + <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOgraficointerativo1OrdenaX' checked /> {{{ordenax}}}
121 </p> 134 </p>
122 <p class=paragrafo> 135 <p class=paragrafo>
123 - <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOgraficointerativo1DadosPuros' />  
124 - {{{naoprocessa}}} 136 + <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOgraficointerativo1DadosPuros' /> {{{naoprocessa}}}
125 </p> 137 </p>
126 <p class=paragrafo> 138 <p class=paragrafo>
127 - <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOFgraficointerativo1ativaStacked' />  
128 - {{{stacked}}} 139 + <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOFgraficointerativo1ativaStacked' /> {{{stacked}}}
129 </p> 140 </p>
130 <p class=paragrafo> 141 <p class=paragrafo>
131 - <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOFgraficointerativo1ativaRowsInColumns' />  
132 - {{{linhasnascols}}} 142 + <input style='cursor: pointer' type=checkbox id='{{{idjanela}}}i3GEOFgraficointerativo1ativaRowsInColumns' /> {{{linhasnascols}}}
133 </p> 143 </p>
134 <p class=paragrafo> 144 <p class=paragrafo>
135 - <select onchange='i3GEOF.graficointerativo1.obterDados()' id='{{{idjanela}}}i3GEOgraficointerativo1TipoAgregacao'><option value='soma'>{{{soma}}}</option> 145 + <select onchange='i3GEOF.graficointerativo1.obterDados()' id='{{{idjanela}}}i3GEOgraficointerativo1TipoAgregacao'><option
  146 + value='soma'>{{{soma}}}</option>
136 <option value='media'>{{{media}}}</option> 147 <option value='media'>{{{media}}}</option>
137 </select>{{{tipoagregay}}} 148 </select>{{{tipoagregay}}}
138 </p> 149 </p>
@@ -142,9 +153,10 @@ @@ -142,9 +153,10 @@
142 </p> 153 </p>
143 </div> 154 </div>
144 <div class=guiaobj id='{{{idjanela}}}i3GEOgraficointerativo1guia4obj' style='left: 1px; display: none; top: -10px'> 155 <div class=guiaobj id='{{{idjanela}}}i3GEOgraficointerativo1guia4obj' style='left: 1px; display: none; top: -10px'>
145 - <a style='position: absolute; left: 50px;' href='#' onclick='i3GEOF.graficointerativo1.novaJanela()'> {{{janelasep}}} </a>  
146 - <img onclick='i3GEOF.graficointerativo1.alteraFatorPixel(\'menos\',{{{idjanelaA}}})' style='position: absolute;' src='{{{locaplic}}}/imagens/player_volta.png' />  
147 - <img onclick='i3GEOF.graficointerativo1.alteraFatorPixel(\'mais\',{{{idjanelaA}}})' style='position: absolute; left: 20px;' src='{{{locaplic}}}/imagens/player_avanca.png' /> 156 + <a style='position: absolute; left: 50px;' href='#' onclick='i3GEOF.graficointerativo1.novaJanela()'> {{{janelasep}}} </a> <img
  157 + onclick='i3GEOF.graficointerativo1.alteraFatorPixelMenos({{{idjanelaA}}})' style='position: absolute;'
  158 + src='{{{locaplic}}}/imagens/player_volta.png' /> <img onclick='i3GEOF.graficointerativo1.alteraFatorPixelMais({{{idjanelaA}}})'
  159 + style='position: absolute; left: 20px;' src='{{{locaplic}}}/imagens/player_avanca.png' />
148 <div id='{{{idjanela}}}i3GEOgraficointerativo1guia4objCanvas' style='top: 15px;'></div> 160 <div id='{{{idjanela}}}i3GEOgraficointerativo1guia4objCanvas' style='top: 15px;'></div>
149 </div> 161 </div>
150 <div class=guiaobj id='{{{idjanela}}}i3GEOgraficointerativo1guia5obj' style='font-size: 10px; left: 10px; display: none; top: -0px'></div> 162 <div class=guiaobj id='{{{idjanela}}}i3GEOgraficointerativo1guia5obj' style='font-size: 10px; left: 10px; display: none; top: -0px'></div>
ferramentas/salvamapa/dicionario.js
@@ -79,7 +79,7 @@ i3GEOF.salvaMapa.dicionario = { @@ -79,7 +79,7 @@ i3GEOF.salvaMapa.dicionario = {
79 it:"" 79 it:""
80 }], 80 }],
81 14: [{ 81 14: [{
82 - pt:"Fa&ccedil;a login e cadastre o mapa atual no banco de dados existente no servidor web. Com isso o mapa ser&aacute; salvo de forma permanente e outros usu&aacute;rios poder�o utiliz&aacute;-lo. Consulte o admnistrador do site que voc� est� utilizando para saber mais sobre a pol&iacute;tica de uso do mapa que for salvo", 82 + pt:"Fa&ccedil;a login e cadastre o mapa atual no banco de dados existente no servidor web. Com isso o mapa ser&aacute; salvo de forma permanente e outros usu&aacute;rios poder&atilde;o utiliz&aacute;-lo. Consulte o admnistrador do site que voc&ecirc; est&aacute; utilizando para saber mais sobre a pol&iacute;tica de uso do mapa que for salvo",
83 en:"", 83 en:"",
84 es:"", 84 es:"",
85 it:"" 85 it:""
ferramentas/salvamapa/index.js
@@ -146,7 +146,7 @@ i3GEOF.salvaMapa = { @@ -146,7 +146,7 @@ i3GEOF.salvaMapa = {
146 } 146 }
147 } 147 }
148 }; 148 };
149 - i3GEO.php.salvaMapaBanco(temp,titulo,id_mapa,$i("i3GEOFsalvaPref").checked,true); 149 + i3GEO.php.salvaMapaBanco(temp,titulo,id_mapa,$i("i3GEOFsalvaPref").checked,true,true);
150 }; 150 };
151 texto = $trad(7,i3GEOF.salvaMapa.dicionario)+"<br><div id=i3GEOFsalvamapaMapa ></div><br><br><input style='position:relative;top:2px;' checked type=checkbox id=i3GEOFsalvaPref />"+$trad(15,i3GEOF.salvaMapa.dicionario); 151 texto = $trad(7,i3GEOF.salvaMapa.dicionario)+"<br><div id=i3GEOFsalvamapaMapa ></div><br><br><input style='position:relative;top:2px;' checked type=checkbox id=i3GEOFsalvaPref />"+$trad(15,i3GEOF.salvaMapa.dicionario);
152 i3GEO.janela.prompt(texto + "<br><br>"+$trad(8,i3GEOF.salvaMapa.dicionario),funcaoOK); 152 i3GEO.janela.prompt(texto + "<br><br>"+$trad(8,i3GEOF.salvaMapa.dicionario),funcaoOK);