Commit 6f7a7286ab94b472d62a6734c4e35f3e4ffa0e7a

Authored by Edmar Moretti
1 parent e7466624

-

ferramentas/graficointerativo1/index.js
@@ -427,6 +427,7 @@ i3GEOF.graficointerativo1 = @@ -427,6 +427,7 @@ i3GEOF.graficointerativo1 =
427 * dados {JSON} - dados para o gráfico 427 * dados {JSON} - dados para o gráfico
428 */ 428 */
429 iniciaJanelaFlutuante : function(dados) { 429 iniciaJanelaFlutuante : function(dados) {
  430 + var minimiza, cabecalho, janela, divid, temp, titulo, idjanela;
430 // id utilizado para diferenciar cada janela e seus respectivos 431 // id utilizado para diferenciar cada janela e seus respectivos
431 // componentes 432 // componentes
432 idjanela = "graficoi" + parseInt(Math.random() * 1000000, 10); 433 idjanela = "graficoi" + parseInt(Math.random() * 1000000, 10);
@@ -445,7 +446,7 @@ i3GEOF.graficointerativo1 = @@ -445,7 +446,7 @@ i3GEOF.graficointerativo1 =
445 if (dados) { 446 if (dados) {
446 i3GEOF.graficointerativo1.propJanelas[idjanela].dados = dados; 447 i3GEOF.graficointerativo1.propJanelas[idjanela].dados = dados;
447 } 448 }
448 - var minimiza, cabecalho, janela, divid, temp, titulo; 449 +
449 // cria a janela flutuante 450 // cria a janela flutuante
450 cabecalho = function() { 451 cabecalho = function() {
451 i3GEOF.graficointerativo1.ativaFoco(idjanela); 452 i3GEOF.graficointerativo1.ativaFoco(idjanela);
@@ -482,6 +483,7 @@ i3GEOF.graficointerativo1 = @@ -482,6 +483,7 @@ i3GEOF.graficointerativo1 =
482 true, 483 true,
483 i3GEO.configura.locaplic + "/imagens/oxygen/16x16/view-statistics.png", 484 i3GEO.configura.locaplic + "/imagens/oxygen/16x16/view-statistics.png",
484 duplica); 485 duplica);
  486 +
485 divid = janela[2].id; 487 divid = janela[2].id;
486 i3GEOF.graficointerativo1.aguarde = $i(idjanela + "_imagemCabecalho").style; 488 i3GEOF.graficointerativo1.aguarde = $i(idjanela + "_imagemCabecalho").style;
487 $i(idjanela + "_corpo").style.backgroundColor = "white"; 489 $i(idjanela + "_corpo").style.backgroundColor = "white";
@@ -496,25 +498,44 @@ i3GEOF.graficointerativo1 = @@ -496,25 +498,44 @@ i3GEOF.graficointerativo1 =
496 + temp + "' type=checkbox />&nbsp;" + $trad(53, i3GEOF.graficointerativo1.dicionario) + " (" + idjanela + ")</div>"); 498 + temp + "' type=checkbox />&nbsp;" + $trad(53, i3GEOF.graficointerativo1.dicionario) + " (" + idjanela + ")</div>");
497 499
498 i3GEOF.graficointerativo1.inicia(divid, idjanela); 500 i3GEOF.graficointerativo1.inicia(divid, idjanela);
499 - if (i3GEO.Interface) {  
500 - temp = function() {  
501 - i3GEOF.graficointerativo1.janelas.remove(idjanela);  
502 - i3GEOF.graficointerativo1.propJanelas[idjanela] = null;  
503 - if (i3GEOF.graficointerativo1.janelas.length === 0) {  
504 - if (i3GEO.Interface.ATUAL === "openlayers") {  
505 - i3GEO.eventos.NAVEGAMAPA.remove("i3GEOF.graficointerativo1.atualizaListaDeRegistros()");  
506 - }  
507 - if (i3GEO.Interface.ATUAL === "googlemaps") {  
508 - google.maps.event.removeListener(graficointerativo1Dragend);  
509 - google.maps.event.removeListener(graficointerativo1Zoomend);  
510 - }  
511 - if (i3GEO.Interface.ATUAL === "googleearth") {  
512 - google.earth.removeEventListener(graficointerativo1Dragend);  
513 - }  
514 - }  
515 - };  
516 - YAHOO.util.Event.addListener(janela[0].close, "click", temp); 501 +
  502 + if (!i3GEO.Interface) {
  503 + return;
  504 + }
  505 + i3GEO.janela.tempoMsg($trad(37, i3GEOF.graficointerativo1.dicionario));
  506 + if (i3GEO.Interface.ATUAL === "openlayers") {
  507 + i3GEO.eventos.NAVEGAMAPA.push("i3GEOF.graficointerativo1.atualizaListaDeRegistros()");
  508 + }
  509 + if (i3GEO.Interface.ATUAL === "googlemaps") {
  510 + graficointerativo1Dragend = GEvent.addListener(i3GeoMap, "dragend", function() {
  511 + i3GEOF.graficointerativo1.atualizaListaDeRegistros();
  512 + });
  513 + graficointerativo1Zoomend = GEvent.addListener(i3GeoMap, "zoomend", function() {
  514 + i3GEOF.graficointerativo1.atualizaListaDeRegistros();
  515 + });
  516 + }
  517 + if (i3GEO.Interface.ATUAL === "googleearth") {
  518 + graficointerativo1Dragend = google.earth.addEventListener(i3GeoMap.getView(), "viewchangeend", function() {
  519 + i3GEOF.graficointerativo1.atualizaListaDeRegistros();
  520 + });
517 } 521 }
  522 + temp = function() {
  523 + i3GEOF.graficointerativo1.janelas.remove(idjanela);
  524 + i3GEOF.graficointerativo1.propJanelas[idjanela] = null;
  525 + if (i3GEOF.graficointerativo1.janelas.length === 0) {
  526 + if (i3GEO.Interface.ATUAL === "openlayers") {
  527 + i3GEO.eventos.NAVEGAMAPA.remove("i3GEOF.graficointerativo1.atualizaListaDeRegistros()");
  528 + }
  529 + if (i3GEO.Interface.ATUAL === "googlemaps") {
  530 + google.maps.event.removeListener(graficointerativo1Dragend);
  531 + google.maps.event.removeListener(graficointerativo1Zoomend);
  532 + }
  533 + if (i3GEO.Interface.ATUAL === "googleearth") {
  534 + google.earth.removeEventListener(graficointerativo1Dragend);
  535 + }
  536 + }
  537 + };
  538 + YAHOO.util.Event.addListener(janela[0].close, "click", temp);
518 janela[0].bringToTop(); 539 janela[0].bringToTop();
519 }, 540 },
520 /** 541 /**
@@ -714,7 +735,13 @@ i3GEOF.graficointerativo1 = @@ -714,7 +735,13 @@ i3GEOF.graficointerativo1 =
714 } 735 }
715 var tema, excluir, cp, tipo, ordenax, monta, p, x, y, i, n, temp; 736 var tema, excluir, cp, tipo, ordenax, monta, p, x, y, i, n, temp;
716 737
717 - tema = $i(idjanela + "i3GEOgraficointerativo1ComboTemasId").value; 738 + tema = $i(idjanela + "i3GEOgraficointerativo1ComboTemasId");
  739 + if(!tema){
  740 + return;
  741 + }
  742 + else{
  743 + tema = tema.value;
  744 + }
718 excluir = $i(idjanela + "i3GEOgraficointerativo1excluir").value; 745 excluir = $i(idjanela + "i3GEOgraficointerativo1excluir").value;
719 cp = new cpaint(); 746 cp = new cpaint();
720 tipo = $i(idjanela + "i3GEOgraficointerativo1TipoAgregacao").value; 747 tipo = $i(idjanela + "i3GEOgraficointerativo1TipoAgregacao").value;
@@ -1091,34 +1118,6 @@ i3GEOF.graficointerativo1 = @@ -1091,34 +1118,6 @@ i3GEOF.graficointerativo1 =
1091 } 1118 }
1092 tabela.innerHTML = ins; 1119 tabela.innerHTML = ins;
1093 }, 1120 },
1094 - /**  
1095 - * Function: ativaNavegacao  
1096 - *  
1097 - * Ativa a atualiza&ccedil;&atilde;o autom&aacute;tica ao navegar no mapa  
1098 - */  
1099 - ativaEventosNavegacao : function() {  
1100 - if (!i3GEO.Interface) {  
1101 - return;  
1102 - }  
1103 - i3GEO.janela.tempoMsg($trad(37, i3GEOF.graficointerativo1.dicionario));  
1104 - if (i3GEO.Interface.ATUAL === "openlayers") {  
1105 - i3GEO.eventos.NAVEGAMAPA.push("i3GEOF.graficointerativo1.atualizaListaDeRegistros()");  
1106 - }  
1107 - if (i3GEO.Interface.ATUAL === "googlemaps") {  
1108 - graficointerativo1Dragend = GEvent.addListener(i3GeoMap, "dragend", function() {  
1109 - i3GEOF.graficointerativo1.atualizaListaDeRegistros();  
1110 - });  
1111 - graficointerativo1Zoomend = GEvent.addListener(i3GeoMap, "zoomend", function() {  
1112 - i3GEOF.graficointerativo1.atualizaListaDeRegistros();  
1113 - });  
1114 - }  
1115 - if (i3GEO.Interface.ATUAL === "googleearth") {  
1116 - graficointerativo1Dragend = google.earth.addEventListener(i3GeoMap.getView(), "viewchangeend", function() {  
1117 - i3GEOF.graficointerativo1.atualizaListaDeRegistros();  
1118 - });  
1119 - }  
1120 -  
1121 - },  
1122 configDefault : function(idjanela, dados, maior, cores, legendaY, legendaX) { 1121 configDefault : function(idjanela, dados, maior, cores, legendaY, legendaX) {
1123 var temp, config = { 1122 var temp, config = {
1124 canvas : idjanela + "i3GEOgraficointerativo1guia4objCanvas", 1123 canvas : idjanela + "i3GEOgraficointerativo1guia4objCanvas",
ferramentas/tabela/index.js
@@ -4,648 +4,416 @@ if (typeof (i3GEOF) === &#39;undefined&#39;) { @@ -4,648 +4,416 @@ if (typeof (i3GEOF) === &#39;undefined&#39;) {
4 /* 4 /*
5 * Classe: i3GEOF.tabela 5 * Classe: i3GEOF.tabela
6 */ 6 */
7 -i3GEOF.tabela = {  
8 - /**  
9 - * Array com os ids das janelas ja criadas  
10 - */  
11 - janelas : [],  
12 - /**  
13 - * Objeto com as propriedades de cada janela. A chave e o id da janela  
14 - * armazenado em i3GEO.tabela.janelas  
15 - */  
16 - propJanelas : {},  
17 - /**  
18 - * Template no formato mustache  
19 - * E preenchido na carga do javascript com o programa dependencias.php  
20 - */  
21 - MUSTACHE : "",  
22 - /**  
23 - * Susbtitutos para o template  
24 - */  
25 - mustacheHash : function(idjanela) {  
26 - return {  
27 - "idjanela" : idjanela,  
28 - "locaplic" : i3GEO.configura.locaplic,  
29 - "propriedades" : $trad('p13'),  
30 - "registros" : $trad(  
31 - 3,  
32 - i3GEOF.tabela.dicionario),  
33 - "estatisticas" : $trad(  
34 - 4,  
35 - i3GEOF.tabela.dicionario),  
36 - "relat" : $trad(  
37 - 5,  
38 - i3GEOF.tabela.dicionario),  
39 - "atuatab" : $trad(  
40 - 8,  
41 - i3GEOF.tabela.dicionario),  
42 - "colleg" : $trad(  
43 - 9,  
44 - i3GEOF.tabela.dicionario),  
45 - "sellinhas" : $trad(  
46 - 10,  
47 - i3GEOF.tabela.dicionario),  
48 - "atvsel" : $trad(  
49 - 11,  
50 - i3GEOF.tabela.dicionario),  
51 - "limpselmap" : $trad(  
52 - 12,  
53 - i3GEOF.tabela.dicionario),  
54 - "limpsel" : $trad(  
55 - 13,  
56 - i3GEOF.tabela.dicionario),  
57 - "criatemasel" : $trad(  
58 - 14,  
59 - i3GEOF.tabela.dicionario),  
60 - "criatema" : $trad(  
61 - 15,  
62 - i3GEOF.tabela.dicionario),  
63 - "grafico" : $trad(  
64 - 42,  
65 - i3GEOF.tabela.dicionario),  
66 - "vinctab" : $trad(  
67 - 43,  
68 - i3GEOF.tabela.dicionario),  
69 - "vinculos" : $trad(  
70 - 44,  
71 - i3GEOF.tabela.dicionario),  
72 - "de" : $trad(  
73 - 16,  
74 - i3GEOF.tabela.dicionario),  
75 - "ini" : $inputText(  
76 - "",  
77 - "",  
78 - idjanela  
79 - + 'i3GEOtabelainicio',  
80 - "",  
81 - 5,  
82 - "1"),  
83 - "ate" : $trad(  
84 - 17,  
85 - i3GEOF.tabela.dicionario),  
86 - "fim" : $inputText(  
87 - "",  
88 - "",  
89 - idjanela  
90 - + 'i3GEOtabelafim',  
91 - "",  
92 - 5,  
93 - "20"),  
94 - "vertodos" : $trad(  
95 - 40,  
96 - i3GEOF.tabela.dicionario),  
97 - "atuareg" : $trad(  
98 - 18,  
99 - i3GEOF.tabela.dicionario),  
100 - "listar" : $trad(  
101 - 19,  
102 - i3GEOF.tabela.dicionario),  
103 - "itemcalc" : $trad(  
104 - 20,  
105 - i3GEOF.tabela.dicionario),  
106 - "excluicalc" : $trad(  
107 - 21,  
108 - i3GEOF.tabela.dicionario),  
109 - "calc" : $trad(  
110 - 22,  
111 - i3GEOF.tabela.dicionario),  
112 - "paraqueas" : $trad(  
113 - 23,  
114 - i3GEOF.tabela.dicionario),  
115 - "itensrel" : $trad(  
116 - 24,  
117 - i3GEOF.tabela.dicionario),  
118 - "itensagr" : $trad(  
119 - 25,  
120 - i3GEOF.tabela.dicionario),  
121 - "incarea" : $trad(  
122 - 26,  
123 - i3GEOF.tabela.dicionario),  
124 - "incestat" : $trad(  
125 - 27,  
126 - i3GEOF.tabela.dicionario),  
127 - "excvalor" : $trad(  
128 - 28,  
129 - i3GEOF.tabela.dicionario),  
130 - "excvalori" : $inputText(  
131 - "",  
132 - "",  
133 - idjanela  
134 - + 'i3GEOtabelaexcestat',  
135 - "",  
136 - 10,  
137 - ""),  
138 - "relattext" : $trad(  
139 - 29,  
140 - i3GEOF.tabela.dicionario),  
141 - "filtro" : $inputText(  
142 - "",  
143 - "",  
144 - idjanela  
145 - + 'i3GEOtabelafiltro1',  
146 - "",  
147 - 5,  
148 - "")  
149 - };  
150 - },  
151 - /*  
152 - * Function: iniciaDicionario (Depreciado na versao 6.0)  
153 - *  
154 - */  
155 - iniciaDicionario : function() {  
156 - i3GEOF.tabela.iniciaJanelaFlutuante();  
157 - },  
158 - /*  
159 - * Function: inicia  
160 - *  
161 - * Inicia a ferramenta. &Eacute; chamado por criaJanelaFlutuante  
162 - *  
163 - * Parametro:  
164 - *  
165 - * iddiv {String} - id do div que receber&aacute; o conteudo HTML da  
166 - * ferramenta  
167 - */  
168 - inicia : function(iddiv, idjanela) {  
169 - var onButtonClick = function(p_sType, p_aArgs, botao) {  
170 - var oMenuItem = p_aArgs[1];  
171 - if (oMenuItem) {  
172 - if (oMenuItem.value != "") {  
173 - i3GEO.mapa.ativaTema(oMenuItem.value);  
174 - botao.set(  
175 - "label",  
176 - "<span class='cabecalhoTemas' >"  
177 - + oMenuItem.cfg.getProperty("text")  
178 - + "</span>&nbsp;&nbsp;");  
179 - i3GEOF.tabela.propJanelas[idjanela].tema = oMenuItem.value;  
180 - $i(idjanela  
181 - + "_corpo").innerHTML = "";  
182 - i3GEOF.tabela.inicia(  
183 - iddiv,  
184 - idjanela); 7 +i3GEOF.tabela =
  8 + {
  9 + /**
  10 + * Array com os ids das janelas ja criadas
  11 + */
  12 + janelas : [],
  13 + /**
  14 + * Objeto com as propriedades de cada janela. A chave e o id da janela armazenado em i3GEO.tabela.janelas
  15 + */
  16 + propJanelas : {},
  17 + /**
  18 + * Template no formato mustache E preenchido na carga do javascript com o programa dependencias.php
  19 + */
  20 + MUSTACHE : "",
  21 + /**
  22 + * Susbtitutos para o template
  23 + */
  24 + mustacheHash : function(idjanela) {
  25 + return {
  26 + "idjanela" : idjanela,
  27 + "locaplic" : i3GEO.configura.locaplic,
  28 + "propriedades" : $trad('p13'),
  29 + "registros" : $trad(3, i3GEOF.tabela.dicionario),
  30 + "estatisticas" : $trad(4, i3GEOF.tabela.dicionario),
  31 + "relat" : $trad(5, i3GEOF.tabela.dicionario),
  32 + "atuatab" : $trad(8, i3GEOF.tabela.dicionario),
  33 + "colleg" : $trad(9, i3GEOF.tabela.dicionario),
  34 + "sellinhas" : $trad(10, i3GEOF.tabela.dicionario),
  35 + "atvsel" : $trad(11, i3GEOF.tabela.dicionario),
  36 + "limpselmap" : $trad(12, i3GEOF.tabela.dicionario),
  37 + "limpsel" : $trad(13, i3GEOF.tabela.dicionario),
  38 + "criatemasel" : $trad(14, i3GEOF.tabela.dicionario),
  39 + "criatema" : $trad(15, i3GEOF.tabela.dicionario),
  40 + "grafico" : $trad(42, i3GEOF.tabela.dicionario),
  41 + "vinctab" : $trad(43, i3GEOF.tabela.dicionario),
  42 + "vinculos" : $trad(44, i3GEOF.tabela.dicionario),
  43 + "de" : $trad(16, i3GEOF.tabela.dicionario),
  44 + "ini" : $inputText("", "", idjanela + 'i3GEOtabelainicio', "", 5, "1"),
  45 + "ate" : $trad(17, i3GEOF.tabela.dicionario),
  46 + "fim" : $inputText("", "", idjanela + 'i3GEOtabelafim', "", 5, "20"),
  47 + "vertodos" : $trad(40, i3GEOF.tabela.dicionario),
  48 + "atuareg" : $trad(18, i3GEOF.tabela.dicionario),
  49 + "listar" : $trad(19, i3GEOF.tabela.dicionario),
  50 + "itemcalc" : $trad(20, i3GEOF.tabela.dicionario),
  51 + "excluicalc" : $trad(21, i3GEOF.tabela.dicionario),
  52 + "calc" : $trad(22, i3GEOF.tabela.dicionario),
  53 + "paraqueas" : $trad(23, i3GEOF.tabela.dicionario),
  54 + "itensrel" : $trad(24, i3GEOF.tabela.dicionario),
  55 + "itensagr" : $trad(25, i3GEOF.tabela.dicionario),
  56 + "incarea" : $trad(26, i3GEOF.tabela.dicionario),
  57 + "incestat" : $trad(27, i3GEOF.tabela.dicionario),
  58 + "excvalor" : $trad(28, i3GEOF.tabela.dicionario),
  59 + "excvalori" : $inputText("", "", idjanela + 'i3GEOtabelaexcestat', "", 10, ""),
  60 + "relattext" : $trad(29, i3GEOF.tabela.dicionario),
  61 + "filtro" : $inputText("", "", idjanela + 'i3GEOtabelafiltro1', "", 5, "")
  62 + };
  63 + },
  64 + /*
  65 + * Function: iniciaDicionario (Depreciado na versao 6.0)
  66 + *
  67 + */
  68 + iniciaDicionario : function() {
  69 + i3GEOF.tabela.iniciaJanelaFlutuante();
  70 + },
  71 + /*
  72 + * Function: inicia
  73 + *
  74 + * Inicia a ferramenta. &Eacute; chamado por criaJanelaFlutuante
  75 + *
  76 + * Parametro:
  77 + *
  78 + * iddiv {String} - id do div que receber&aacute; o conteudo HTML da ferramenta
  79 + */
  80 + inicia : function(iddiv, idjanela) {
  81 + var onButtonClick = function(p_sType, p_aArgs, botao) {
  82 + var oMenuItem = p_aArgs[1];
  83 + if (oMenuItem) {
  84 + if (oMenuItem.value != "") {
  85 + i3GEO.mapa.ativaTema(oMenuItem.value);
  86 + botao.set("label", "<span class='cabecalhoTemas' >" + oMenuItem.cfg.getProperty("text") + "</span>&nbsp;&nbsp;");
  87 + i3GEOF.tabela.propJanelas[idjanela].tema = oMenuItem.value;
  88 + $i(idjanela + "_corpo").innerHTML = "";
  89 + i3GEOF.tabela.inicia(iddiv, idjanela);
  90 + }
185 } 91 }
186 - }  
187 - };  
188 - i3GEO.janela.comboCabecalhoTemas(  
189 - idjanela  
190 - + "i3GEOFtabelaComboCabeca",  
191 - idjanela  
192 - + "i3GEOFtabelaComboCabecaSel", 92 + };
  93 + i3GEO.janela.comboCabecalhoTemas(
  94 + idjanela + "i3GEOFtabelaComboCabeca",
  95 + idjanela + "i3GEOFtabelaComboCabecaSel",
193 "tabela", 96 "tabela",
194 "ligadosComTabela", 97 "ligadosComTabela",
195 onButtonClick); 98 onButtonClick);
196 - if (i3GEOF.tabela.propJanelas[idjanela].tema === "") {  
197 - $i(iddiv).innerHTML = "";  
198 - return;  
199 - }  
200 - try {  
201 - $i(iddiv).innerHTML = i3GEOF.tabela.html(idjanela);  
202 - i3GEO.guias.mostraGuiaFerramenta(  
203 - idjanela  
204 - + "i3GEOtabelaguia1",  
205 - idjanela  
206 - + "i3GEOtabelaguia");  
207 - // eventos das guias  
208 - $i(idjanela  
209 - + "i3GEOtabelaguia6").onclick = function() {  
210 - i3GEO.guias.mostraGuiaFerramenta(  
211 - idjanela  
212 - + "i3GEOtabelaguia6",  
213 - idjanela  
214 - + "i3GEOtabelaguia");  
215 - };  
216 - $i(idjanela  
217 - + "i3GEOtabelaguia1").onclick = function() {  
218 - i3GEO.guias.mostraGuiaFerramenta(  
219 - idjanela  
220 - + "i3GEOtabelaguia1",  
221 - idjanela  
222 - + "i3GEOtabelaguia");  
223 - };  
224 - $i(idjanela  
225 - + "i3GEOtabelaguia3").onclick = function() {  
226 - i3GEO.guias.mostraGuiaFerramenta(  
227 - idjanela  
228 - + "i3GEOtabelaguia3",  
229 - idjanela  
230 - + "i3GEOtabelaguia");  
231 - if (!$i(idjanela  
232 - + "i3GEOtabelaComboItensGuia3")) {  
233 - i3GEOF.tabela.comboItensEstat(idjanela);  
234 - }  
235 - };  
236 - // relatorio  
237 - $i(idjanela  
238 - + "i3GEOtabelaguia5").onclick = function() {  
239 - i3GEO.guias.mostraGuiaFerramenta(  
240 - idjanela  
241 - + "i3GEOtabelaguia5",  
242 - idjanela  
243 - + "i3GEOtabelaguia");  
244 - i3GEO.util.checkItensEditaveis(  
245 - i3GEOF.tabela.propJanelas[idjanela].tema,  
246 - function(retorno) { 99 + if (i3GEOF.tabela.propJanelas[idjanela].tema === "") {
  100 + $i(iddiv).innerHTML = "";
  101 + return;
  102 + }
  103 + try {
  104 + $i(iddiv).innerHTML = i3GEOF.tabela.html(idjanela);
  105 + i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia1", idjanela + "i3GEOtabelaguia");
  106 + // eventos das guias
  107 + $i(idjanela + "i3GEOtabelaguia6").onclick = function() {
  108 + i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia6", idjanela + "i3GEOtabelaguia");
  109 + };
  110 + $i(idjanela + "i3GEOtabelaguia1").onclick = function() {
  111 + i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia1", idjanela + "i3GEOtabelaguia");
  112 + };
  113 + $i(idjanela + "i3GEOtabelaguia3").onclick = function() {
  114 + i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia3", idjanela + "i3GEOtabelaguia");
  115 + if (!$i(idjanela + "i3GEOtabelaComboItensGuia3")) {
  116 + i3GEOF.tabela.comboItensEstat(idjanela);
  117 + }
  118 + };
  119 + // relatorio
  120 + $i(idjanela + "i3GEOtabelaguia5").onclick =
  121 + function() {
  122 + i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia5", idjanela + "i3GEOtabelaguia");
  123 + i3GEO.util.checkItensEditaveis(i3GEOF.tabela.propJanelas[idjanela].tema, function(retorno) {
247 if (retorno.tipo === "dados") { 124 if (retorno.tipo === "dados") {
248 - $i(idjanela  
249 - + "i3GEOtabelaitensrelatorio").innerHTML = retorno.dados; 125 + $i(idjanela + "i3GEOtabelaitensrelatorio").innerHTML = retorno.dados;
250 } 126 }
251 - },  
252 - idjanela  
253 - + "i3GEOtabelaitensrelatorio",  
254 - "320px",  
255 - "",  
256 - "sim");  
257 - i3GEO.util.comboItens(  
258 - idjanela  
259 - + "i3GEOtabelaagrupaItem",  
260 - i3GEOF.tabela.propJanelas[idjanela].tema,  
261 - function(retorno) { 127 + }, idjanela + "i3GEOtabelaitensrelatorio", "320px", "", "sim");
  128 + i3GEO.util.comboItens(idjanela + "i3GEOtabelaagrupaItem", i3GEOF.tabela.propJanelas[idjanela].tema, function(
  129 + retorno) {
262 if (retorno.tipo === "erro") { 130 if (retorno.tipo === "erro") {
263 - $i(idjanela  
264 - + "i3GEOtabelaagrupamento").innerHTML = "<br><br><span style='color:red'>"  
265 - + $trad(  
266 - 2,  
267 - i3GEOF.tabela.dicionario)  
268 - + "</span><br><br>"; 131 + $i(idjanela + "i3GEOtabelaagrupamento").innerHTML =
  132 + "<br><br><span style='color:red'>" + $trad(2, i3GEOF.tabela.dicionario) + "</span><br><br>";
269 } else { 133 } else {
270 - $i(idjanela  
271 - + "i3GEOtabelaagrupamento").innerHTML = retorno.dados; 134 + $i(idjanela + "i3GEOtabelaagrupamento").innerHTML = retorno.dados;
272 } 135 }
273 - },  
274 - idjanela  
275 - + "i3GEOtabelaagrupamento",  
276 - "");  
277 - };  
278 - new YAHOO.widget.Button(idjanela  
279 - + "i3GEOtabelabotao2", {  
280 - onclick : {  
281 - fn : function() {  
282 - i3GEOF.tabela.ativaSelecao(idjanela); 136 + }, idjanela + "i3GEOtabelaagrupamento", "");
  137 + };
  138 + new YAHOO.widget.Button(idjanela + "i3GEOtabelabotao2", {
  139 + onclick : {
  140 + fn : function() {
  141 + i3GEOF.tabela.ativaSelecao(idjanela);
  142 + }
283 } 143 }
284 - }  
285 - });  
286 - new YAHOO.widget.Button(idjanela  
287 - + "i3GEOtabelabotao3", {  
288 - onclick : {  
289 - fn : function() {  
290 - i3GEOF.tabela.limpaSelecao(idjanela); 144 + });
  145 + new YAHOO.widget.Button(idjanela + "i3GEOtabelabotao3", {
  146 + onclick : {
  147 + fn : function() {
  148 + i3GEOF.tabela.limpaSelecao(idjanela);
  149 + }
291 } 150 }
292 - }  
293 - });  
294 - new YAHOO.widget.Button(idjanela  
295 - + "i3GEOtabelabotao6", {  
296 - onclick : {  
297 - fn : function() {  
298 - i3GEOF.tabela.criaNovoTema(idjanela); 151 + });
  152 + new YAHOO.widget.Button(idjanela + "i3GEOtabelabotao6", {
  153 + onclick : {
  154 + fn : function() {
  155 + i3GEOF.tabela.criaNovoTema(idjanela);
  156 + }
299 } 157 }
300 - }  
301 - });  
302 - new YAHOO.widget.Button(idjanela  
303 - + "i3GEOtabelabotaoLista", {  
304 - onclick : {  
305 - fn : function() {  
306 - i3GEOF.tabela.pegaRegistros(idjanela); 158 + });
  159 + new YAHOO.widget.Button(idjanela + "i3GEOtabelabotaoLista", {
  160 + onclick : {
  161 + fn : function() {
  162 + i3GEOF.tabela.pegaRegistros(idjanela);
  163 + }
307 } 164 }
308 - }  
309 - });  
310 - new YAHOO.widget.Button(idjanela  
311 - + "i3GEOtabelaGraficoI", {  
312 - onclick : {  
313 - fn : function() {  
314 - i3GEO.mapa.ativaTema(i3GEOF.tabela.propJanelas[idjanela].tema);  
315 - i3GEO.analise.dialogo.graficoInterativo1(); 165 + });
  166 + new YAHOO.widget.Button(idjanela + "i3GEOtabelaGraficoI", {
  167 + onclick : {
  168 + fn : function() {
  169 + i3GEO.mapa.ativaTema(i3GEOF.tabela.propJanelas[idjanela].tema);
  170 + i3GEO.analise.dialogo.graficoInterativo1();
  171 + }
316 } 172 }
317 - }  
318 - });  
319 - $i(idjanela  
320 - + "i3GEOtabelabotaoLista-button").style.minHeight = "1em";  
321 - $i(idjanela  
322 - + "i3GEOtabelabotaoLista-button").style.padding = "0px 15px";  
323 - $i(idjanela  
324 - + "i3GEOtabelabotaoLista-button").style.lineHeight = "1.3";  
325 - $i(idjanela  
326 - + "i3GEOtabelabotaoLista").style.position = "relative";  
327 - $i(idjanela  
328 - + "i3GEOtabelabotaoLista").style.top = "2px"; 173 + });
  174 + $i(idjanela + "i3GEOtabelabotaoLista-button").style.minHeight = "1em";
  175 + $i(idjanela + "i3GEOtabelabotaoLista-button").style.padding = "0px 15px";
  176 + $i(idjanela + "i3GEOtabelabotaoLista-button").style.lineHeight = "1.3";
  177 + $i(idjanela + "i3GEOtabelabotaoLista").style.position = "relative";
  178 + $i(idjanela + "i3GEOtabelabotaoLista").style.top = "2px";
329 179
330 - new YAHOO.widget.Button(idjanela  
331 - + "i3GEOtabelabotao4", {  
332 - onclick : {  
333 - fn : function() {  
334 - i3GEOF.tabela.estatistica(idjanela); 180 + new YAHOO.widget.Button(idjanela + "i3GEOtabelabotao4", {
  181 + onclick : {
  182 + fn : function() {
  183 + i3GEOF.tabela.estatistica(idjanela);
  184 + }
335 } 185 }
336 - }  
337 - }); 186 + });
338 187
339 - new YAHOO.widget.Button(idjanela  
340 - + "i3GEOtabelabotao7", {  
341 - onclick : {  
342 - fn : function() {  
343 - i3GEOF.tabela.relatorioTabela(idjanela); 188 + new YAHOO.widget.Button(idjanela + "i3GEOtabelabotao7", {
  189 + onclick : {
  190 + fn : function() {
  191 + i3GEOF.tabela.relatorioTabela(idjanela);
  192 + }
344 } 193 }
345 - }  
346 - });  
347 - new YAHOO.widget.Button(idjanela  
348 - + "i3GEOtabelabotao5", {  
349 - onclick : {  
350 - fn : function() {  
351 - i3GEOF.tabela.relatorioTexto(idjanela); 194 + });
  195 + new YAHOO.widget.Button(idjanela + "i3GEOtabelabotao5", {
  196 + onclick : {
  197 + fn : function() {
  198 + i3GEOF.tabela.relatorioTexto(idjanela);
  199 + }
352 } 200 }
353 - }  
354 - });  
355 - new YAHOO.widget.Button(idjanela  
356 - + "i3GEOtabelabotaoVinculos", {  
357 - onclick : {  
358 - fn : function() {  
359 - i3GEOF.tabela.vinculos.iniciaJanelaFlutuante(); 201 + });
  202 + new YAHOO.widget.Button(idjanela + "i3GEOtabelabotaoVinculos", {
  203 + onclick : {
  204 + fn : function() {
  205 + i3GEOF.tabela.vinculos.iniciaJanelaFlutuante();
  206 + }
360 } 207 }
361 - }  
362 - });  
363 - i3GEO.util.mensagemAjuda(  
364 - idjanela  
365 - + "i3GEOtabelamen1",  
366 - $i(idjanela  
367 - + "i3GEOtabelamen1").innerHTML);  
368 -  
369 - if (i3GEO.parametros.r.toLowerCase() !== "sim") {  
370 - $i(idjanela  
371 - + "i3GEOtabelaguia4obj").innerHTML = $trad("x22");  
372 - }  
373 - i3GEOF.tabela.pegaRegistros(idjanela);  
374 - } catch (erro) {  
375 - i3GEO.janela.tempoMsg(erro);  
376 - }  
377 - },  
378 - /*  
379 - * Function: html  
380 - *  
381 - * Gera o c&oacute;digo html para apresenta&ccedil;&atilde;o das  
382 - * op&ccedil;&otilde;es da ferramenta  
383 - *  
384 - * Retorno:  
385 - *  
386 - * String com o c&oacute;digo html  
387 - */  
388 - html : function(idjanela) {  
389 - var ins = Mustache.render(  
390 - i3GEOF.tabela.MUSTACHE,  
391 - i3GEOF.tabela.mustacheHash(idjanela));  
392 - return ins;  
393 - },  
394 - /*  
395 - * Function: criaJanelaFlutuante  
396 - *  
397 - * Cria a janela flutuante para controle da ferramenta.  
398 - */  
399 - iniciaJanelaFlutuante : function() {  
400 - var minimiza, cabecalho, janela, divid, temp, titulo, id = "tabela"  
401 - + parseInt(  
402 - Math.random() * 1000000,  
403 - 10);  
404 - // i3GEO.janela.tempoMsg($trad(38,i3GEOF.tabela.dicionario));  
405 - i3GEOF.tabela.janelas.push(id);  
406 - i3GEOF.tabela.propJanelas[id] = {};  
407 - i3GEOF.tabela.propJanelas[id].colunas = {  
408 - "itens" : [],  
409 - "alias" : []  
410 - };  
411 - i3GEOF.tabela.propJanelas[id].registros = [];  
412 - i3GEOF.tabela.propJanelas[id].tema = i3GEO.temaAtivo;  
413 - i3GEOF.tabela.propJanelas[id].atualiza = false; 208 + });
  209 + i3GEO.util.mensagemAjuda(idjanela + "i3GEOtabelamen1", $i(idjanela + "i3GEOtabelamen1").innerHTML);
414 210
415 - cabecalho = function() {  
416 - i3GEOF.tabela.ativaFoco(id);  
417 - };  
418 - minimiza = function() {  
419 - i3GEO.janela.minimiza(id);  
420 - };  
421 - duplica = function() {  
422 - i3GEOF.tabela.iniciaJanelaFlutuante();  
423 - };  
424 - // cria a janela flutuante  
425 - titulo = "<div id='"  
426 - + id  
427 - + "i3GEOFtabelaComboCabeca' class='comboTemasCabecalho'></div>&nbsp;&nbsp;&nbsp;"  
428 - + $trad(  
429 - 1,  
430 - i3GEOF.tabela.dicionario)  
431 - + " <a class=ajuda_usuario target=_blank href='"  
432 - + i3GEO.configura.locaplic  
433 - + "/ajuda_usuario.php?idcategoria=5&idajuda=39' >&nbsp;&nbsp;&nbsp;</a>";  
434 - janela = i3GEO.janela.cria(  
435 - "500px",  
436 - "400px",  
437 - "",  
438 - "",  
439 - "",  
440 - titulo,  
441 - id,  
442 - false,  
443 - "hd",  
444 - cabecalho,  
445 - minimiza,  
446 - "",  
447 - true,  
448 - i3GEO.configura.locaplic  
449 - + "/imagens/oxygen/16x16/view-form-table.png",  
450 - duplica);  
451 - divid = janela[2].id;  
452 - if (i3GEOF.tabela.janelas.length > 1) {  
453 - temp = janela[0].cfg.config;  
454 - janela[0].moveTo(  
455 - temp.x.value  
456 - + (i3GEOF.tabela.janelas.length * 50),  
457 - temp.y.value  
458 - + (i3GEOF.tabela.janelas.length * 15));  
459 - }  
460 - $i(id  
461 - + "_corpo").style.backgroundColor = "white";  
462 - i3GEOF.tabela.propJanelas[id].aguarde = $i(id  
463 - + "_imagemCabecalho").style;  
464 - i3GEOF.tabela.propJanelas[id].atualiza = true;  
465 - // indica se a janela sera atualizada na navegacao  
466 - temp = 'i3GEOF.tabela.propJanelas["'  
467 - + id  
468 - + '"].atualiza = this.checked';  
469 - janela[0].setFooter("<div style=background-color:#F2F2F2; ><input class='inputsb' style='cursor:pointer;position:relative;top:2px;' onclick='"  
470 - + temp  
471 - + "' type=checkbox />&nbsp;"  
472 - + $trad(  
473 - 41,  
474 - i3GEOF.tabela.dicionario)  
475 - + " ("  
476 - + id  
477 - + ")</div>");  
478 -  
479 - i3GEOF.tabela.inicia(  
480 - divid,  
481 - id);  
482 - // inicia os eventos  
483 - if (i3GEO.Interface.ATUAL === "openlayers") {  
484 - if (i3GEO.eventos.NAVEGAMAPA.toString().search(  
485 - 'i3GEOF.tabela.atualizaListaDeRegistros()') < 0) {  
486 - i3GEO.eventos.NAVEGAMAPA.push("i3GEOF.tabela.atualizaListaDeRegistros()");  
487 - }  
488 - }  
489 - if (i3GEO.Interface.ATUAL === "googlemaps"  
490 - && !tabelaDragend) {  
491 - tabelaDragend = google.maps.event.addListener(  
492 - i3GeoMap,  
493 - "dragend",  
494 - function() {  
495 - i3GEOF.tabela.atualizaListaDeRegistros();  
496 - });  
497 - tabelaZoomend = google.maps.event.addListener(  
498 - i3GeoMap,  
499 - "zoomend",  
500 - function() {  
501 - i3GEOF.tebela.atualizaListaDeRegistros();  
502 - });  
503 - }  
504 - if (i3GEO.Interface.ATUAL === "googleearth"  
505 - && !tabelaDragend) {  
506 - tabelaDragend = google.earth.addEventListener(  
507 - i3GeoMap.getView(),  
508 - "viewchangeend",  
509 - function() {  
510 - i3GEOF.tabela.atualizaListaDeRegistros();  
511 - });  
512 - }  
513 -  
514 - temp = function() {  
515 - i3GEOF.tabela.janelas.remove(id);  
516 - i3GEOF.tabela.propJanelas[id] = null;  
517 - if (i3GEOF.tabela.janelas.length === 0) {  
518 - if (i3GEO.Interface.ATUAL === "openlayers") {  
519 - i3GEO.eventos.NAVEGAMAPA.remove("i3GEOF.tabela.atualizaListaDeRegistros()");  
520 - }  
521 - if (i3GEO.Interface.ATUAL === "googlemaps") {  
522 - google.maps.event.removeListener(tabelaDragend);  
523 - google.maps.event.removeListener(tabelaZoomend);  
524 - }  
525 - if (i3GEO.Interface.ATUAL === "googleearth") {  
526 - google.earth.removeEventListener(tabelaDragend); 211 + if (i3GEO.parametros.r.toLowerCase() !== "sim") {
  212 + $i(idjanela + "i3GEOtabelaguia4obj").innerHTML = $trad("x22");
527 } 213 }
  214 + i3GEOF.tabela.pegaRegistros(idjanela);
  215 + } catch (erro) {
  216 + i3GEO.janela.tempoMsg(erro);
528 } 217 }
529 - };  
530 - YAHOO.util.Event.addListener(  
531 - janela[0].close,  
532 - "click",  
533 - temp);  
534 - },  
535 - atualizaCombosCabecalhos : function() {  
536 - var i, id, n = i3GEOF.tabela.janelas.length;  
537 - for (i = 0; i < n; i++) {  
538 - id = i3GEOF.tabela.janelas[i];  
539 - i3GEO.janela.comboCabecalhoTemas(  
540 - id  
541 - + "i3GEOFtabelaComboCabeca",  
542 - id  
543 - + "i3GEOFtabelaComboCabecaSel",  
544 - "tabela",  
545 - "ligadosComTabela");  
546 - }  
547 - },  
548 - /*  
549 - * Function: ativaFoco  
550 - *  
551 - * Refaz a interface da ferramenta quando a janela flutuante tem seu foco  
552 - * ativado  
553 - */  
554 - ativaFoco : function(id) {  
555 - if (i3GEOF.tabela.propJanelas[id].tema !== ""  
556 - && i3GEO.arvoreDeCamadas.pegaTema(i3GEOF.tabela.propJanelas[id].tema) === "") {  
557 - i3GEO.janela.tempoMsg($trad(  
558 - 30,  
559 - i3GEOF.tabela.dicionario));  
560 - }  
561 - var i = $i(id  
562 - + "_c").style;  
563 - i3GEO.janela.ULTIMOZINDEX++;  
564 - i.zIndex = 21000 + i3GEO.janela.ULTIMOZINDEX;  
565 - },  
566 - vinculos : {  
567 - ligacoes : [], 218 + },
  219 + /*
  220 + * Function: html
  221 + *
  222 + * Gera o c&oacute;digo html para apresenta&ccedil;&atilde;o das op&ccedil;&otilde;es da ferramenta
  223 + *
  224 + * Retorno:
  225 + *
  226 + * String com o c&oacute;digo html
  227 + */
  228 + html : function(idjanela) {
  229 + var ins = Mustache.render(i3GEOF.tabela.MUSTACHE, i3GEOF.tabela.mustacheHash(idjanela));
  230 + return ins;
  231 + },
  232 + /*
  233 + * Function: criaJanelaFlutuante
  234 + *
  235 + * Cria a janela flutuante para controle da ferramenta.
  236 + */
568 iniciaJanelaFlutuante : function() { 237 iniciaJanelaFlutuante : function() {
569 - var janela, titulo; 238 + var minimiza, cabecalho, janela, divid, temp, titulo, id;
  239 + id = "tabela" + parseInt(Math.random() * 1000000, 10);
  240 + // i3GEO.janela.tempoMsg($trad(38,i3GEOF.tabela.dicionario));
  241 + i3GEOF.tabela.janelas.push(id);
  242 + i3GEOF.tabela.propJanelas[id] = {};
  243 + i3GEOF.tabela.propJanelas[id].colunas = {
  244 + "itens" : [],
  245 + "alias" : []
  246 + };
  247 + i3GEOF.tabela.propJanelas[id].registros = [];
  248 + i3GEOF.tabela.propJanelas[id].tema = i3GEO.temaAtivo;
  249 + i3GEOF.tabela.propJanelas[id].atualiza = false;
  250 +
  251 + cabecalho = function() {
  252 + i3GEOF.tabela.ativaFoco(id);
  253 + };
  254 + minimiza = function() {
  255 + i3GEO.janela.minimiza(id);
  256 + };
  257 + duplica = function() {
  258 + i3GEOF.tabela.iniciaJanelaFlutuante();
  259 + };
570 // cria a janela flutuante 260 // cria a janela flutuante
571 - titulo = "&nbsp;&nbsp;&nbsp;"  
572 - + $trad(  
573 - 44,  
574 - i3GEOF.tabela.dicionario)  
575 - + " <a class=ajuda_usuario target=_blank href='"  
576 - + i3GEO.configura.locaplic  
577 - + "/ajuda_usuario.php?idcategoria=5&idajuda=120' >&nbsp;&nbsp;&nbsp;</a>";  
578 - janela = i3GEO.janela.cria(  
579 - "300px",  
580 - "300px", 261 + titulo =
  262 + "<div id='" + id + "i3GEOFtabelaComboCabeca' class='comboTemasCabecalho'></div>&nbsp;&nbsp;&nbsp;"
  263 + + $trad(1, i3GEOF.tabela.dicionario) + " <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic
  264 + + "/ajuda_usuario.php?idcategoria=5&idajuda=39' >&nbsp;&nbsp;&nbsp;</a>";
  265 + janela =
  266 + i3GEO.janela.cria(
  267 + "500px",
  268 + "400px",
581 "", 269 "",
582 "", 270 "",
583 "", 271 "",
584 titulo, 272 titulo,
585 - "i3GEOFtabelaVinculos",  
586 - true, 273 + id,
  274 + false,
587 "hd", 275 "hd",
588 - "",  
589 - "", 276 + cabecalho,
  277 + minimiza,
590 "", 278 "",
591 true, 279 true,
592 - i3GEO.configura.locaplic  
593 - + "/imagens/oxygen/16x16/edit-table-cell-merge.png"); 280 + i3GEO.configura.locaplic + "/imagens/oxygen/16x16/view-form-table.png",
  281 + duplica);
594 divid = janela[2].id; 282 divid = janela[2].id;
595 if (i3GEOF.tabela.janelas.length > 1) { 283 if (i3GEOF.tabela.janelas.length > 1) {
596 temp = janela[0].cfg.config; 284 temp = janela[0].cfg.config;
597 - janela[0].moveTo(  
598 - temp.x.value  
599 - + (i3GEOF.tabela.janelas.length * 50),  
600 - temp.y.value  
601 - + (i3GEOF.tabela.janelas.length * 15)); 285 + janela[0].moveTo(temp.x.value + (i3GEOF.tabela.janelas.length * 50), temp.y.value + (i3GEOF.tabela.janelas.length * 15));
  286 + }
  287 + $i(id + "_corpo").style.backgroundColor = "white";
  288 + i3GEOF.tabela.propJanelas[id].aguarde = $i(id + "_imagemCabecalho").style;
  289 + i3GEOF.tabela.propJanelas[id].atualiza = true;
  290 + // indica se a janela sera atualizada na navegacao
  291 + temp = 'i3GEOF.tabela.propJanelas["' + id + '"].atualiza = this.checked';
  292 + janela[0]
  293 + .setFooter("<div style=background-color:#F2F2F2; ><input class='inputsb' checked style='cursor:pointer;position:relative;top:2px;' onclick='"
  294 + + temp + "' type=checkbox />&nbsp;" + $trad(41, i3GEOF.tabela.dicionario) + " (" + id + ")</div>");
  295 +
  296 + i3GEOF.tabela.inicia(divid, id);
  297 + // inicia os eventos
  298 + if (i3GEO.Interface.ATUAL === "openlayers") {
  299 + if (i3GEO.eventos.NAVEGAMAPA.toString().search('i3GEOF.tabela.atualizaListaDeRegistros()') < 0) {
  300 + i3GEO.eventos.NAVEGAMAPA.push("i3GEOF.tabela.atualizaListaDeRegistros()");
  301 + }
  302 + }
  303 + if (i3GEO.Interface.ATUAL === "googlemaps" && !tabelaDragend) {
  304 + tabelaDragend = google.maps.event.addListener(i3GeoMap, "dragend", function() {
  305 + i3GEOF.tabela.atualizaListaDeRegistros();
  306 + });
  307 + tabelaZoomend = google.maps.event.addListener(i3GeoMap, "zoomend", function() {
  308 + i3GEOF.tebela.atualizaListaDeRegistros();
  309 + });
602 } 310 }
603 - $i("i3GEOFtabelaVinculos_corpo").style.backgroundColor = "white";  
604 - i3GEOF.tabela.vinculos.inicia(); 311 + if (i3GEO.Interface.ATUAL === "googleearth" && !tabelaDragend) {
  312 + tabelaDragend = google.earth.addEventListener(i3GeoMap.getView(), "viewchangeend", function() {
  313 + i3GEOF.tabela.atualizaListaDeRegistros();
  314 + });
  315 + }
  316 +
  317 + temp = function() {
  318 + i3GEOF.tabela.janelas.remove(id);
  319 + i3GEOF.tabela.propJanelas[id] = null;
  320 + if (i3GEOF.tabela.janelas.length === 0) {
  321 + if (i3GEO.Interface.ATUAL === "openlayers") {
  322 + i3GEO.eventos.NAVEGAMAPA.remove("i3GEOF.tabela.atualizaListaDeRegistros()");
  323 + }
  324 + if (i3GEO.Interface.ATUAL === "googlemaps") {
  325 + google.maps.event.removeListener(tabelaDragend);
  326 + google.maps.event.removeListener(tabelaZoomend);
  327 + }
  328 + if (i3GEO.Interface.ATUAL === "googleearth") {
  329 + google.earth.removeEventListener(tabelaDragend);
  330 + }
  331 + }
  332 + };
  333 + YAHOO.util.Event.addListener(janela[0].close, "click", temp);
605 }, 334 },
606 - html : function() {  
607 - var ins = ""  
608 - + " <fieldset class=subbloco >"  
609 - + " <p class=paragrafo >"  
610 - + $trad(  
611 - 45,  
612 - i3GEOF.tabela.dicionario)  
613 - + "<br>"  
614 - + i3GEOF.tabela.comboJanelas(  
615 - "i3GEOFTabelaOpcoesAdicionaVinculoT1",  
616 - "i3GEOF.tabela.vinculos.comboColunasT1()")  
617 - + " <div id=i3GEOFTabelaVinculoT1Colunas style=position:relative;left:10px ></div>"  
618 - + " <p class=paragrafo >"  
619 - + $trad(  
620 - 46,  
621 - i3GEOF.tabela.dicionario)  
622 - + "<br>"  
623 - + i3GEOF.tabela.comboJanelas(  
624 - "i3GEOFTabelaOpcoesAdicionaVinculoT2",  
625 - "i3GEOF.tabela.vinculos.comboColunasT2()")  
626 - + " <div id=i3GEOFTabelaVinculoT2Colunas style=position:relative;left:10px ></div>"  
627 - + " <p class=paragrafo ><input id=i3GEOFTabelaVinculoBotaoCriar size=25 type=button value='"  
628 - + $trad(  
629 - 47,  
630 - i3GEOF.tabela.dicionario)  
631 - + "' /></p>"  
632 - + " </fieldset>"  
633 - + " <fieldset class=subbloco id=i3GEOFtabelaVinculosLista >"  
634 - + " </fieldset>";  
635 - return ins; 335 + atualizaCombosCabecalhos : function() {
  336 + var i, id, n = i3GEOF.tabela.janelas.length;
  337 + for (i = 0; i < n; i++) {
  338 + id = i3GEOF.tabela.janelas[i];
  339 + i3GEO.janela.comboCabecalhoTemas(
  340 + id + "i3GEOFtabelaComboCabeca",
  341 + id + "i3GEOFtabelaComboCabecaSel",
  342 + "tabela",
  343 + "ligadosComTabela");
  344 + }
  345 + },
  346 + /*
  347 + * Function: ativaFoco
  348 + *
  349 + * Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado
  350 + */
  351 + ativaFoco : function(id) {
  352 + if (i3GEOF.tabela.propJanelas[id].tema !== "" && i3GEO.arvoreDeCamadas.pegaTema(i3GEOF.tabela.propJanelas[id].tema) === "") {
  353 + i3GEO.janela.tempoMsg($trad(30, i3GEOF.tabela.dicionario));
  354 + }
  355 + var i = $i(id + "_c").style;
  356 + i3GEO.janela.ULTIMOZINDEX++;
  357 + i.zIndex = 21000 + i3GEO.janela.ULTIMOZINDEX;
636 }, 358 },
637 - inicia : function() {  
638 - $i("i3GEOFtabelaVinculos_corpo").innerHTML = i3GEOF.tabela.vinculos.html();  
639 - new YAHOO.widget.Button( 359 + vinculos : {
  360 + ligacoes : [],
  361 + iniciaJanelaFlutuante : function() {
  362 + var janela, titulo;
  363 + // cria a janela flutuante
  364 + titulo =
  365 + "&nbsp;&nbsp;&nbsp;" + $trad(44, i3GEOF.tabela.dicionario) + " <a class=ajuda_usuario target=_blank href='"
  366 + + i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=5&idajuda=120' >&nbsp;&nbsp;&nbsp;</a>";
  367 + janela =
  368 + i3GEO.janela.cria(
  369 + "300px",
  370 + "300px",
  371 + "",
  372 + "",
  373 + "",
  374 + titulo,
  375 + "i3GEOFtabelaVinculos",
  376 + true,
  377 + "hd",
  378 + "",
  379 + "",
  380 + "",
  381 + true,
  382 + i3GEO.configura.locaplic + "/imagens/oxygen/16x16/edit-table-cell-merge.png");
  383 + divid = janela[2].id;
  384 + if (i3GEOF.tabela.janelas.length > 1) {
  385 + temp = janela[0].cfg.config;
  386 + janela[0]
  387 + .moveTo(temp.x.value + (i3GEOF.tabela.janelas.length * 50), temp.y.value + (i3GEOF.tabela.janelas.length * 15));
  388 + }
  389 + $i("i3GEOFtabelaVinculos_corpo").style.backgroundColor = "white";
  390 + i3GEOF.tabela.vinculos.inicia();
  391 + },
  392 + html : function() {
  393 + var ins =
  394 + "" + " <fieldset class=subbloco >" + " <p class=paragrafo >" + $trad(45, i3GEOF.tabela.dicionario) + "<br>"
  395 + + i3GEOF.tabela.comboJanelas("i3GEOFTabelaOpcoesAdicionaVinculoT1", "i3GEOF.tabela.vinculos.comboColunasT1()")
  396 + + " <div id=i3GEOFTabelaVinculoT1Colunas style=position:relative;left:10px ></div>" + " <p class=paragrafo >"
  397 + + $trad(46, i3GEOF.tabela.dicionario) + "<br>"
  398 + + i3GEOF.tabela.comboJanelas("i3GEOFTabelaOpcoesAdicionaVinculoT2", "i3GEOF.tabela.vinculos.comboColunasT2()")
  399 + + " <div id=i3GEOFTabelaVinculoT2Colunas style=position:relative;left:10px ></div>"
  400 + + " <p class=paragrafo ><input id=i3GEOFTabelaVinculoBotaoCriar size=25 type=button value='"
  401 + + $trad(47, i3GEOF.tabela.dicionario) + "' /></p>" + " </fieldset>"
  402 + + " <fieldset class=subbloco id=i3GEOFtabelaVinculosLista >" + " </fieldset>";
  403 + return ins;
  404 + },
  405 + inicia : function() {
  406 + $i("i3GEOFtabelaVinculos_corpo").innerHTML = i3GEOF.tabela.vinculos.html();
  407 + new YAHOO.widget.Button(
640 "i3GEOFTabelaVinculoBotaoCriar", 408 "i3GEOFTabelaVinculoBotaoCriar",
641 { 409 {
642 onclick : { 410 onclick : {
643 fn : function() { 411 fn : function() {
644 - var t1 = $i("i3GEOFTabelaOpcoesAdicionaVinculoT1").value, t2 = $i("i3GEOFTabelaOpcoesAdicionaVinculoT2").value, c1 = $i("i3GEOFTabelaOpcoesAdicionaVinculoColunaT1").value, c2 = $i("i3GEOFTabelaOpcoesAdicionaVinculoColunaT1").value;  
645 - if (t1 != ""  
646 - && t2 != ""  
647 - && c1 != ""  
648 - && c2 != "") { 412 + var t1 = $i("i3GEOFTabelaOpcoesAdicionaVinculoT1").value, t2 =
  413 + $i("i3GEOFTabelaOpcoesAdicionaVinculoT2").value, c1 =
  414 + $i("i3GEOFTabelaOpcoesAdicionaVinculoColunaT1").value, c2 =
  415 + $i("i3GEOFTabelaOpcoesAdicionaVinculoColunaT1").value;
  416 + if (t1 != "" && t2 != "" && c1 != "" && c2 != "") {
649 i3GEOF.tabela.vinculos.ligacoes.push({ 417 i3GEOF.tabela.vinculos.ligacoes.push({
650 "t1" : t1, 418 "t1" : t1,
651 "t2" : t2, 419 "t2" : t2,
@@ -657,930 +425,674 @@ i3GEOF.tabela = { @@ -657,930 +425,674 @@ i3GEOF.tabela = {
657 } 425 }
658 } 426 }
659 }); 427 });
660 - i3GEOF.tabela.vinculos.lista();  
661 - },  
662 - comboColunasT1 : function() {  
663 - var colunas = i3GEOF.tabela.comboColunas(  
664 - $i("i3GEOFTabelaOpcoesAdicionaVinculoT1").value,  
665 - "i3GEOFTabelaOpcoesAdicionaVinculoColunaT1"), ins = "";  
666 - ins = " <p class=paragrafo >"  
667 - + $trad(  
668 - 48,  
669 - i3GEOF.tabela.dicionario)  
670 - + "<br>"  
671 - + colunas;  
672 - $i("i3GEOFTabelaVinculoT1Colunas").innerHTML = ins;  
673 - },  
674 - comboColunasT2 : function() {  
675 - var colunas = i3GEOF.tabela.comboColunas(  
676 - $i("i3GEOFTabelaOpcoesAdicionaVinculoT2").value,  
677 - "i3GEOFTabelaOpcoesAdicionaVinculoColunaT2"), ins = "";  
678 - ins = " <p class=paragrafo >"  
679 - + $trad(  
680 - 48,  
681 - i3GEOF.tabela.dicionario)  
682 - + "<br>"  
683 - + colunas;  
684 - $i("i3GEOFTabelaVinculoT2Colunas").innerHTML = ins;  
685 - },  
686 - lista : function() {  
687 - var v = i3GEOF.tabela.vinculos.ligacoes, n = v.length, ins = "<p class=paragrafo ><b>"  
688 - + $trad(  
689 - 44,  
690 - i3GEOF.tabela.dicionario)  
691 - + "</b></p>", i;  
692 - for (i = 0; i < n; i++) {  
693 - ins += "<p class=paragrafo ><img style='cursor:pointer;float:left;' src='"  
694 - + i3GEO.configura.locaplic  
695 - + "/imagens/oxygen/16x16/edit-delete.png' title='excluir' onclick='i3GEOF.tabela.vinculos.excluir(\""  
696 - + i  
697 - + "\")' />"  
698 - + v[i].t1  
699 - + " "  
700 - + v[i].c1  
701 - + " -> "  
702 - + v[i].t2  
703 - + " "  
704 - + v[i].c2  
705 - + "<p>";  
706 - }  
707 - $i("i3GEOFtabelaVinculosLista").innerHTML = ins;  
708 - },  
709 - excluir : function(i) {  
710 - i3GEOF.tabela.vinculos.ligacoes.splice(  
711 - parseInt(  
712 - i,  
713 - 10),  
714 - 1);  
715 - i3GEOF.tabela.vinculos.lista();  
716 - },  
717 - atualizaVinculos : function(tabelaOrigem, registro, marcado) {  
718 - var v = i3GEOF.tabela.vinculos.ligacoes, n = v.length, i, valor;  
719 - if (n > 0) { 428 + i3GEOF.tabela.vinculos.lista();
  429 + },
  430 + comboColunasT1 : function() {
  431 + var colunas =
  432 + i3GEOF.tabela
  433 + .comboColunas($i("i3GEOFTabelaOpcoesAdicionaVinculoT1").value, "i3GEOFTabelaOpcoesAdicionaVinculoColunaT1"), ins =
  434 + "";
  435 + ins = " <p class=paragrafo >" + $trad(48, i3GEOF.tabela.dicionario) + "<br>" + colunas;
  436 + $i("i3GEOFTabelaVinculoT1Colunas").innerHTML = ins;
  437 + },
  438 + comboColunasT2 : function() {
  439 + var colunas =
  440 + i3GEOF.tabela
  441 + .comboColunas($i("i3GEOFTabelaOpcoesAdicionaVinculoT2").value, "i3GEOFTabelaOpcoesAdicionaVinculoColunaT2"), ins =
  442 + "";
  443 + ins = " <p class=paragrafo >" + $trad(48, i3GEOF.tabela.dicionario) + "<br>" + colunas;
  444 + $i("i3GEOFTabelaVinculoT2Colunas").innerHTML = ins;
  445 + },
  446 + lista : function() {
  447 + var v = i3GEOF.tabela.vinculos.ligacoes, n = v.length, ins =
  448 + "<p class=paragrafo ><b>" + $trad(44, i3GEOF.tabela.dicionario) + "</b></p>", i;
  449 + for (i = 0; i < n; i++) {
  450 + ins +=
  451 + "<p class=paragrafo ><img style='cursor:pointer;float:left;' src='" + i3GEO.configura.locaplic
  452 + + "/imagens/oxygen/16x16/edit-delete.png' title='excluir' onclick='i3GEOF.tabela.vinculos.excluir(\"" + i
  453 + + "\")' />" + v[i].t1 + " " + v[i].c1 + " -> " + v[i].t2 + " " + v[i].c2 + "<p>";
  454 + }
  455 + $i("i3GEOFtabelaVinculosLista").innerHTML = ins;
  456 + },
  457 + excluir : function(i) {
  458 + i3GEOF.tabela.vinculos.ligacoes.splice(parseInt(i, 10), 1);
  459 + i3GEOF.tabela.vinculos.lista();
  460 + },
  461 + atualizaVinculos : function(tabelaOrigem, registro, marcado) {
  462 + var v = i3GEOF.tabela.vinculos.ligacoes, n = v.length, i, valor;
  463 + if (n > 0) {
  464 + for (i = 0; i < n; i++) {
  465 + // verifica se o vinculo existe
  466 + if (v[i].t1 === tabelaOrigem) {
  467 + // pega o valor do registro na tabela origem
  468 + valor = i3GEOF.tabela.vinculos.pegaValorRegistro(v[i].t1, v[i].c1, registro);
  469 + // marca o registro na tabela destino
  470 + i3GEOF.tabela.vinculos.registro(v[i].t2, v[i].c2, valor, marcado);
  471 + }
  472 + if (v[i].t2 === tabelaOrigem) {
  473 + // pega o valor do registro na tabela origem
  474 + valor = i3GEOF.tabela.vinculos.pegaValorRegistro(v[i].t2, v[i].c2, registro);
  475 + // marca o registro na tabela destino
  476 + i3GEOF.tabela.vinculos.registro(v[i].t1, v[i].c1, valor, marcado);
  477 + }
  478 + }
  479 + }
  480 + },
  481 + // verifica qtas colunas devem ser puladas em cada linha
  482 + colunasVazias : function(idjanela) {
  483 + var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), pular = 0, colunas, n, i;
  484 + colunas = linhas[0].getElementsByTagName("td");
  485 + n = colunas.length;
720 for (i = 0; i < n; i++) { 486 for (i = 0; i < n; i++) {
721 - // verifica se o vinculo existe  
722 - if (v[i].t1 === tabelaOrigem) {  
723 - // pega o valor do registro na tabela origem  
724 - valor = i3GEOF.tabela.vinculos.pegaValorRegistro(  
725 - v[i].t1,  
726 - v[i].c1,  
727 - registro);  
728 - // marca o registro na tabela destino  
729 - i3GEOF.tabela.vinculos.registro(  
730 - v[i].t2,  
731 - v[i].c2,  
732 - valor,  
733 - marcado); 487 + if (colunas[i].innerHTML == "") {
  488 + pular++;
734 } 489 }
735 - if (v[i].t2 === tabelaOrigem) {  
736 - // pega o valor do registro na tabela origem  
737 - valor = i3GEOF.tabela.vinculos.pegaValorRegistro(  
738 - v[i].t2,  
739 - v[i].c2,  
740 - registro);  
741 - // marca o registro na tabela destino  
742 - i3GEOF.tabela.vinculos.registro(  
743 - v[i].t1,  
744 - v[i].c1,  
745 - valor,  
746 - marcado); 490 + }
  491 + return pular;
  492 + },
  493 + // pega o indice de uma coluna em uma tabela buscando no cabecalho
  494 + // no valor de title em cada celula
  495 + indiceColuna : function(idjanela, t) {
  496 + var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), linha = linhas[0], colunas =
  497 + linha.getElementsByTagName("td"), indice = 0, n = colunas.length, i, s;
  498 + for (i = 0; i < n; i++) {
  499 + s = colunas[i].getElementsByTagName("span");
  500 + if (s && s[0] && s[0].title && s[0].title == t) {
  501 + return i;
747 } 502 }
748 } 503 }
749 - } 504 + return indice;
  505 + },
  506 + // retorna o indice de uma coluna que contem a tag input na tabela
  507 + // com a lista de valores
  508 + indiceColunaInput : function(idjanela) {
  509 + var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), linha = linhas[1], colunas =
  510 + linha.getElementsByTagName("td"), indice = 0, n = colunas.length, i;
  511 + for (i = 0; i < n; i++) {
  512 + if (colunas[i].getElementsByTagName("input").length > 0) {
  513 + return i;
  514 + }
  515 + }
  516 + return indice;
  517 + },
  518 + // pega o valor da coluna em uma tabela com a lista de valores com
  519 + // base no codigo do registro
  520 + pegaValorRegistro : function(idjanela, coluna, registro) {
  521 + var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), n = linhas.length, indiceColuna =
  522 + i3GEOF.tabela.vinculos.indiceColuna(idjanela, coluna), indiceColunaInput =
  523 + i3GEOF.tabela.vinculos.indiceColunaInput(idjanela), i, linha, colunas;
  524 + for (i = 1; i < n; i++) {
  525 + linha = linhas[i];
  526 + colunas = linha.getElementsByTagName("td");
  527 + if (colunas[indiceColunaInput].getElementsByTagName("input")[0].name == registro) {
  528 + return colunas[indiceColuna].innerHTML;
  529 + }
  530 + }
  531 + return "";
  532 + },
  533 + registro : function(idjanela, coluna, valor, marcado) {
  534 + var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), n = linhas.length, indiceColuna =
  535 + i3GEOF.tabela.vinculos.indiceColuna(idjanela, coluna), indiceColunaInput =
  536 + i3GEOF.tabela.vinculos.indiceColunaInput(idjanela), i, linha, colunas, reg;
  537 + for (i = 1; i < n; i++) {
  538 + linha = linhas[i];
  539 + colunas = linha.getElementsByTagName("td");
  540 + if (colunas[indiceColuna].innerHTML == valor) {
  541 + reg = colunas[indiceColunaInput].getElementsByTagName("input")[0];
  542 + reg.checked = marcado;
  543 + i3GEOF.tabela.propJanelas[idjanela].registros[reg.name] = marcado;
  544 + }
  545 + }
  546 + },
750 }, 547 },
751 - // verifica qtas colunas devem ser puladas em cada linha  
752 - colunasVazias : function(idjanela) {  
753 - var tabela = $i(idjanela  
754 - + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), pular = 0, colunas, n, i;  
755 - colunas = linhas[0].getElementsByTagName("td");  
756 - n = colunas.length; 548 + comboJanelas : function(idcombo, funcao, w) {
  549 + var i, n = i3GEOF.tabela.janelas.length;
  550 + if (!funcao) {
  551 + funcao = "";
  552 + }
  553 + if (!w) {
  554 + w = 260;
  555 + }
  556 + ins =
  557 + "" + " <select style='width:" + w + "px;' id='" + idcombo + "' onchange='" + funcao + "'>"
  558 + + " <option value='' >---</option>";
757 for (i = 0; i < n; i++) { 559 for (i = 0; i < n; i++) {
758 - if (colunas[i].innerHTML == "") {  
759 - pular++;  
760 - } 560 + ins += "<option value='" + i3GEOF.tabela.janelas[i] + "' >" + i3GEOF.tabela.janelas[i] + "</option>";
761 } 561 }
762 - return pular; 562 + ins += "</select>";
  563 + return ins;
763 }, 564 },
764 - // pega o indice de uma coluna em uma tabela buscando no cabecalho  
765 - // no valor de title em cada celula  
766 - indiceColuna : function(idjanela, t) {  
767 - var tabela = $i(idjanela  
768 - + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), linha = linhas[0], colunas = linha.getElementsByTagName("td"), indice = 0, n = colunas.length, i, s; 565 + comboColunas : function(idJanela, idcombo, funcao, w) {
  566 + var i, c = i3GEOF.tabela.propJanelas[idJanela].colunas, n = c.itens.length;
  567 + if (!funcao) {
  568 + funcao = "";
  569 + }
  570 + if (!w) {
  571 + w = 250;
  572 + }
  573 + ins =
  574 + "" + " <select style='width:" + w + "px;' id='" + idcombo + "' onchange='" + funcao + "'>"
  575 + + " <option value='' >---</option>";
769 for (i = 0; i < n; i++) { 576 for (i = 0; i < n; i++) {
770 - s = colunas[i].getElementsByTagName("span");  
771 - if (s  
772 - && s[0]  
773 - && s[0].title  
774 - && s[0].title == t) {  
775 - return i;  
776 - } 577 + ins += "<option value='" + c.itens[i] + "' >" + c.alias[i] + "</option>";
777 } 578 }
778 - return indice; 579 + ins += "</select>";
  580 + return ins;
779 }, 581 },
780 - // retorna o indice de uma coluna que contem a tag input na tabela  
781 - // com a lista de valores  
782 - indiceColunaInput : function(idjanela) {  
783 - var tabela = $i(idjanela  
784 - + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), linha = linhas[1], colunas = linha.getElementsByTagName("td"), indice = 0, n = colunas.length, i; 582 + /*
  583 + * Function: ativaAutoAtualiza
  584 + *
  585 + * Ativa ou desativa a atualiza&ccedil;&atilde;o autom&aacute;tica da tabela quando o usu&aacute;rio navega no mapa
  586 + */
  587 + atualizaListaDeRegistros : function() {
  588 + var i, janelas = i3GEOF.tabela.janelas, propJanelas = i3GEOF.tabela.propJanelas, n = janelas.length;
785 for (i = 0; i < n; i++) { 589 for (i = 0; i < n; i++) {
786 - if (colunas[i].getElementsByTagName("input").length > 0) {  
787 - return i; 590 + if (propJanelas[janelas[i]].atualiza === true) {
  591 + i3GEOF.tabela.pegaRegistros(janelas[i]);
788 } 592 }
789 } 593 }
790 - return indice;  
791 }, 594 },
792 - // pega o valor da coluna em uma tabela com a lista de valores com  
793 - // base no codigo do registro  
794 - pegaValorRegistro : function(idjanela, coluna, registro) {  
795 - var tabela = $i(idjanela  
796 - + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), n = linhas.length, indiceColuna = i3GEOF.tabela.vinculos.indiceColuna(  
797 - idjanela,  
798 - coluna), indiceColunaInput = i3GEOF.tabela.vinculos.indiceColunaInput(idjanela), i, linha, colunas;  
799 - for (i = 1; i < n; i++) {  
800 - linha = linhas[i];  
801 - colunas = linha.getElementsByTagName("td");  
802 - if (colunas[indiceColunaInput].getElementsByTagName("input")[0].name == registro) {  
803 - return colunas[indiceColuna].innerHTML;  
804 - } 595 + /*
  596 + * Function: pegaRegistros
  597 + *
  598 + * Pega os registros da tabela de atributos do tema
  599 + *
  600 + * Veja:
  601 + *
  602 + * <LISTAREGISTROS>
  603 + */
  604 + pegaRegistros : function(idjanela, tipolista, dadosDaClasse, inicio, fim, funcao) {
  605 + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {
  606 + return;
805 } 607 }
806 - return "";  
807 - },  
808 - registro : function(idjanela, coluna, valor, marcado) {  
809 - var tabela = $i(idjanela  
810 - + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), n = linhas.length, indiceColuna = i3GEOF.tabela.vinculos.indiceColuna(  
811 - idjanela,  
812 - coluna), indiceColunaInput = i3GEOF.tabela.vinculos.indiceColunaInput(idjanela), i, linha, colunas, reg;  
813 - for (i = 1; i < n; i++) {  
814 - linha = linhas[i];  
815 - colunas = linha.getElementsByTagName("td");  
816 - if (colunas[indiceColuna].innerHTML == valor) {  
817 - reg = colunas[indiceColunaInput].getElementsByTagName("input")[0];  
818 - reg.checked = marcado;  
819 - i3GEOF.tabela.propJanelas[idjanela].registros[reg.name] = marcado; 608 + if (!idjanela) {
  609 + idjanela = "";
  610 + }
  611 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";
  612 + $i(idjanela + "i3GEOtabelaregistros").innerHTML = "";
  613 + var p, ext, tiporeg = "brasil", cp = new cpaint();
  614 + // verifica se esta no modo de atualizacao automatica
  615 + if (i3GEOF.tabela.propJanelas[idjanela].atualiza === true) {
  616 + tiporeg = "mapa";
  617 + }
  618 + if (!tipolista) {
  619 + if ($i(idjanela + "i3GEOtabelatipolista").checked) {
  620 + tipolista = "selecionados";
  621 + } else {
  622 + tipolista = "tudo";
820 } 623 }
821 } 624 }
822 - },  
823 - },  
824 - comboJanelas : function(idcombo, funcao, w) {  
825 - var i, n = i3GEOF.tabela.janelas.length;  
826 - if (!funcao) {  
827 - funcao = "";  
828 - }  
829 - if (!w) {  
830 - w = 260;  
831 - }  
832 - ins = ""  
833 - + " <select style='width:"  
834 - + w  
835 - + "px;' id='"  
836 - + idcombo  
837 - + "' onchange='"  
838 - + funcao  
839 - + "'>"  
840 - + " <option value='' >---</option>";  
841 - for (i = 0; i < n; i++) {  
842 - ins += "<option value='"  
843 - + i3GEOF.tabela.janelas[i]  
844 - + "' >"  
845 - + i3GEOF.tabela.janelas[i]  
846 - + "</option>";  
847 - }  
848 - ins += "</select>";  
849 - return ins;  
850 - },  
851 - comboColunas : function(idJanela, idcombo, funcao, w) {  
852 - var i, c = i3GEOF.tabela.propJanelas[idJanela].colunas, n = c.itens.length;  
853 - if (!funcao) {  
854 - funcao = "";  
855 - }  
856 - if (!w) {  
857 - w = 250;  
858 - }  
859 - ins = ""  
860 - + " <select style='width:"  
861 - + w  
862 - + "px;' id='"  
863 - + idcombo  
864 - + "' onchange='"  
865 - + funcao  
866 - + "'>"  
867 - + " <option value='' >---</option>";  
868 - for (i = 0; i < n; i++) {  
869 - ins += "<option value='"  
870 - + c.itens[i]  
871 - + "' >"  
872 - + c.alias[i]  
873 - + "</option>";  
874 - }  
875 - ins += "</select>";  
876 - return ins;  
877 - },  
878 - /*  
879 - * Function: ativaAutoAtualiza  
880 - *  
881 - * Ativa ou desativa a atualiza&ccedil;&atilde;o autom&aacute;tica da tabela  
882 - * quando o usu&aacute;rio navega no mapa  
883 - */  
884 - atualizaListaDeRegistros : function() {  
885 - var i, janelas = i3GEOF.tabela.janelas, propJanelas = i3GEOF.tabela.propJanelas, n = janelas.length;  
886 - for (i = 0; i < n; i++) {  
887 - if (propJanelas[janelas[i]].atualiza === true) {  
888 - i3GEOF.tabela.pegaRegistros(janelas[i]); 625 + if (!dadosDaClasse) {
  626 + if ($i(idjanela + "i3GEOtabelalegenda").checked) {
  627 + dadosDaClasse = "sim";
  628 + } else {
  629 + dadosDaClasse = "nao";
  630 + }
889 } 631 }
890 - }  
891 - },  
892 - /*  
893 - * Function: pegaRegistros  
894 - *  
895 - * Pega os registros da tabela de atributos do tema  
896 - *  
897 - * Veja:  
898 - *  
899 - * <LISTAREGISTROS>  
900 - */  
901 - pegaRegistros : function(idjanela, tipolista, dadosDaClasse, inicio, fim, funcao) {  
902 - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {  
903 - return;  
904 - }  
905 - if (!idjanela) {  
906 - idjanela = "";  
907 - }  
908 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";  
909 - $i(idjanela  
910 - + "i3GEOtabelaregistros").innerHTML = "";  
911 - var p, ext, tiporeg = "brasil", cp = new cpaint();  
912 - // verifica se esta no modo de atualizacao automatica  
913 - if (i3GEOF.tabela.propJanelas[idjanela].atualiza === true) {  
914 - tiporeg = "mapa";  
915 - }  
916 - if (!tipolista) {  
917 - if ($i(idjanela  
918 - + "i3GEOtabelatipolista").checked) {  
919 - tipolista = "selecionados"; 632 + if (!inicio) {
  633 + inicio = $i(idjanela + "i3GEOtabelainicio").value - 1;
920 } else { 634 } else {
921 - tipolista = "tudo"; 635 + inicio = "";
922 } 636 }
923 - }  
924 - if (!dadosDaClasse) {  
925 - if ($i(idjanela  
926 - + "i3GEOtabelalegenda").checked) {  
927 - dadosDaClasse = "sim"; 637 + if (!fim) {
  638 + fim = $i(idjanela + "i3GEOtabelafim").value - 1;
928 } else { 639 } else {
929 - dadosDaClasse = "nao"; 640 + fim = "";
930 } 641 }
931 - }  
932 - if (!inicio) {  
933 - inicio = $i(idjanela  
934 - + "i3GEOtabelainicio").value - 1;  
935 - } else {  
936 - inicio = "";  
937 - }  
938 - if (!fim) {  
939 - fim = $i(idjanela  
940 - + "i3GEOtabelafim").value - 1;  
941 - } else {  
942 - fim = "";  
943 - }  
944 - if (!funcao) {  
945 - funcao = function(retorno) {  
946 - i3GEOF.tabela.propJanelas[idjanela].registros = [];  
947 - i3GEOF.tabela.montaTabela(  
948 - retorno,  
949 - idjanela);  
950 - };  
951 - }  
952 - ext = i3GEO.parametros.mapexten;  
953 - ext = i3GEO.util.extOSM2Geo(ext);  
954 - p = i3GEO.configura.locaplic  
955 - + "/classesphp/mapa_controle.php?g_sid="  
956 - + i3GEO.configura.sid  
957 - + "&funcao=listaregistros"  
958 - + "&inicio="  
959 - + inicio  
960 - + "&fim="  
961 - + fim  
962 - + "&tema="  
963 - + i3GEOF.tabela.propJanelas[idjanela].tema  
964 - + "&tipo="  
965 - + tiporeg  
966 - + "&tipolista="  
967 - + tipolista  
968 - + "&ext="  
969 - + ext  
970 - + "&dadosDaClasse="  
971 - + dadosDaClasse;  
972 - cp.set_response_type("JSON");  
973 - cp.call(  
974 - p,  
975 - "listaRegistros",  
976 - funcao);  
977 - },  
978 - /*  
979 - * Function: montaTabela  
980 - *  
981 - * Monta a visualiza&ccedil;&atilde;o da tabela de atributos  
982 - */  
983 - montaTabela : function(retorno, idjanela) {  
984 - if (retorno.data !== undefined) {  
985 - var ins, i, vals, cor, j, n, stat, imagem, registros = i3GEOF.tabela.propJanelas[idjanela].registros, i3GEOtabelalegenda = $i(idjanela  
986 - + "i3GEOtabelalegenda").checked;  
987 - // cabecalho da tabela  
988 - ins = "<table id="  
989 - + idjanela  
990 - + "i3GEOtabelatabelai class=lista8 >";  
991 - ins += "<tr><td style='background-color:yellow'></td><td style='background-color:yellow'></td><td style='background-color:yellow'></td><td style='background-color:yellow'></td>";  
992 - i3GEOF.tabela.propJanelas[idjanela].colunas = {  
993 - "itens" : retorno.data[0].itens,  
994 - "alias" : retorno.data[0].alias  
995 - };  
996 - n = retorno.data[0].itens.length;  
997 - for (i = 0; i < n; i++) {  
998 - ins += "<td accessKey='"  
999 - + (i * 1 + 4)  
1000 - + "' style='background-color:yellow' >"  
1001 - + "<img style=cursor:pointer onclick='i3GEOF.tabela.excluiColuna(this,"  
1002 - + (i * 1 + 4)  
1003 - + ",\""  
1004 - + idjanela  
1005 - + "\")' src='"  
1006 - + i3GEO.configura.locaplic  
1007 - + "/imagens/x.gif' title='"  
1008 - + $trad("t12")  
1009 - + "' />&nbsp;"  
1010 - + "<img style=cursor:pointer onclick='i3GEOF.tabela.ordenaColuna(this,"  
1011 - + (i * 1 + 4)  
1012 - + ",\""  
1013 - + idjanela  
1014 - + "\")' src='"  
1015 - + i3GEO.configura.locaplic  
1016 - + "/imagens/ordena1.gif' title='"  
1017 - + $trad(  
1018 - 31,  
1019 - i3GEOF.tabela.dicionario)  
1020 - + "' /><br><span title='"  
1021 - + retorno.data[0].itens[i]  
1022 - + "'> <b>"  
1023 - + retorno.data[0].alias[i]  
1024 - + "</b></span></td>"; 642 + if (!funcao) {
  643 + funcao = function(retorno) {
  644 + i3GEOF.tabela.propJanelas[idjanela].registros = [];
  645 + i3GEOF.tabela.montaTabela(retorno, idjanela);
  646 + };
1025 } 647 }
1026 - ins += "</tr>";  
1027 - cor = "linha";  
1028 - n = retorno.data[1].registros.length;  
1029 - if ($i(idjanela  
1030 - + "i3GEOtabelafim").value === "") {  
1031 - $i(idjanela  
1032 - + "i3GEOtabelafim").value = n - 1;  
1033 - }  
1034 - for (i = 0; i < n; i++) {  
1035 - ins += "<tr><td><img style=cursor:pointer onclick='i3GEOF.tabela.excluiLinha(this,\""  
1036 - + idjanela  
1037 - + "\")' src='"  
1038 - + i3GEO.configura.locaplic  
1039 - + "/imagens/x.gif' title='"  
1040 - + $trad("t12")  
1041 - + "' /></td>";  
1042 - ins += "<td>";  
1043 - if (retorno.data[1].registros[i].ext  
1044 - && retorno.data[1].registros[i].ext != "") {  
1045 - ins += "<img style=cursor:pointer onclick='i3GEOF.tabela.zoomExt(\""  
1046 - + retorno.data[1].registros[i].ext  
1047 - + "\",\""  
1048 - + idjanela  
1049 - + "\")' src='"  
1050 - + i3GEO.configura.locaplic  
1051 - + "/imagens/o.gif' title='zoom' ids="  
1052 - + retorno.data[1].registros[i].indice  
1053 - + " />"; 648 + ext = i3GEO.parametros.mapexten;
  649 + ext = i3GEO.util.extOSM2Geo(ext);
  650 + p =
  651 + i3GEO.configura.locaplic + "/classesphp/mapa_controle.php?g_sid=" + i3GEO.configura.sid + "&funcao=listaregistros"
  652 + + "&inicio=" + inicio + "&fim=" + fim + "&tema=" + i3GEOF.tabela.propJanelas[idjanela].tema + "&tipo=" + tiporeg
  653 + + "&tipolista=" + tipolista + "&ext=" + ext + "&dadosDaClasse=" + dadosDaClasse;
  654 + cp.set_response_type("JSON");
  655 + cp.call(p, "listaRegistros", funcao);
  656 + },
  657 + /*
  658 + * Function: montaTabela
  659 + *
  660 + * Monta a visualiza&ccedil;&atilde;o da tabela de atributos
  661 + */
  662 + montaTabela : function(retorno, idjanela) {
  663 + if (retorno.data !== undefined) {
  664 + var ins, i, vals, cor, j, n, stat, imagem, registros = i3GEOF.tabela.propJanelas[idjanela].registros, i3GEOtabelalegenda =
  665 + $i(idjanela + "i3GEOtabelalegenda").checked;
  666 + // cabecalho da tabela
  667 + ins = "<table id=" + idjanela + "i3GEOtabelatabelai class=lista8 >";
  668 + ins +=
  669 + "<tr><td style='background-color:yellow'></td><td style='background-color:yellow'></td><td style='background-color:yellow'></td><td style='background-color:yellow'></td>";
  670 + i3GEOF.tabela.propJanelas[idjanela].colunas = {
  671 + "itens" : retorno.data[0].itens,
  672 + "alias" : retorno.data[0].alias
  673 + };
  674 + n = retorno.data[0].itens.length;
  675 + for (i = 0; i < n; i++) {
  676 + ins +=
  677 + "<td accessKey='" + (i * 1 + 4) + "' style='background-color:yellow' >"
  678 + + "<img style=cursor:pointer onclick='i3GEOF.tabela.excluiColuna(this," + (i * 1 + 4) + ",\"" + idjanela
  679 + + "\")' src='" + i3GEO.configura.locaplic + "/imagens/x.gif' title='" + $trad("t12") + "' />&nbsp;"
  680 + + "<img style=cursor:pointer onclick='i3GEOF.tabela.ordenaColuna(this," + (i * 1 + 4) + ",\"" + idjanela
  681 + + "\")' src='" + i3GEO.configura.locaplic + "/imagens/ordena1.gif' title='"
  682 + + $trad(31, i3GEOF.tabela.dicionario) + "' /><br><span title='" + retorno.data[0].itens[i] + "'> <b>"
  683 + + retorno.data[0].alias[i] + "</b></span></td>";
1054 } 684 }
1055 - ins += "</td>";  
1056 - stat = "";  
1057 - if (retorno.data[1].registros[i].status === "CHECKED") {  
1058 - stat = "CHECKED"; 685 + ins += "</tr>";
  686 + cor = "linha";
  687 + n = retorno.data[1].registros.length;
  688 + if ($i(idjanela + "i3GEOtabelafim").value === "") {
  689 + $i(idjanela + "i3GEOtabelafim").value = n - 1;
1059 } 690 }
1060 - if (registros[retorno.data[1].registros[i].indice]) {  
1061 - if (registros[retorno.data[1].registros[i].indice] === true) { 691 + for (i = 0; i < n; i++) {
  692 + ins +=
  693 + "<tr><td><img style=cursor:pointer onclick='i3GEOF.tabela.excluiLinha(this,\"" + idjanela + "\")' src='"
  694 + + i3GEO.configura.locaplic + "/imagens/x.gif' title='" + $trad("t12") + "' /></td>";
  695 + ins += "<td>";
  696 + if (retorno.data[1].registros[i].ext && retorno.data[1].registros[i].ext != "") {
  697 + ins +=
  698 + "<img style=cursor:pointer onclick='i3GEOF.tabela.zoomExt(\"" + retorno.data[1].registros[i].ext + "\",\""
  699 + + idjanela + "\")' src='" + i3GEO.configura.locaplic + "/imagens/o.gif' title='zoom' ids="
  700 + + retorno.data[1].registros[i].indice + " />";
  701 + }
  702 + ins += "</td>";
  703 + stat = "";
  704 + if (retorno.data[1].registros[i].status === "CHECKED") {
1062 stat = "CHECKED"; 705 stat = "CHECKED";
  706 + }
  707 + if (registros[retorno.data[1].registros[i].indice]) {
  708 + if (registros[retorno.data[1].registros[i].indice] === true) {
  709 + stat = "CHECKED";
  710 + } else {
  711 + stat = "";
  712 + }
  713 + }
  714 + ins +=
  715 + "<td><input title='marca' onclick='i3GEOF.tabela.registraLinha(this,\"" + idjanela
  716 + + "\")' style='cursor:pointer;border:0px solid white;' type='checkbox' " + stat + " name="
  717 + + retorno.data[1].registros[i].indice + " /></td>";
  718 + if (i3GEOtabelalegenda == true) {
  719 + imagem = retorno.data.legenda[retorno.data[1].registros[i].classe["indice"]];
  720 + ins += "<td><img title='" + retorno.data[1].registros[i].classe["nome"] + "' src='" + imagem + "' /></td>";
1063 } else { 721 } else {
1064 - stat = ""; 722 + ins += "<td></td>";
  723 + }
  724 + if (stat === "CHECKED") {
  725 + registros[retorno.data[1].registros[i].indice] = true;
  726 + }
  727 + vals = retorno.data[1].registros[i].valores;
  728 + for (j = 0; j < vals.length; j++) {
  729 + ins += "<td class='" + cor + "'>" + vals[j].valor + "</td>";
  730 + }
  731 + if (cor === "linha") {
  732 + cor = "linha1";
  733 + } else {
  734 + cor = "linha";
1065 } 735 }
1066 } 736 }
1067 - ins += "<td><input title='marca' onclick='i3GEOF.tabela.registraLinha(this,\""  
1068 - + idjanela  
1069 - + "\")' style='cursor:pointer;border:0px solid white;' type='checkbox' "  
1070 - + stat  
1071 - + " name="  
1072 - + retorno.data[1].registros[i].indice  
1073 - + " /></td>";  
1074 - if (i3GEOtabelalegenda == true) {  
1075 - imagem = retorno.data.legenda[retorno.data[1].registros[i].classe["indice"]];  
1076 - ins += "<td><img title='"  
1077 - + retorno.data[1].registros[i].classe["nome"]  
1078 - + "' src='"  
1079 - + imagem  
1080 - + "' /></td>";  
1081 - } else {  
1082 - ins += "<td></td>";  
1083 - }  
1084 - if (stat === "CHECKED") {  
1085 - registros[retorno.data[1].registros[i].indice] = true; 737 + $i(idjanela + "i3GEOtabelaregistros").innerHTML = ins;
  738 + }
  739 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";
  740 + },
  741 + /*
  742 + * Function: mais
  743 + *
  744 + * Avan&ccedil;a o contador de registros para a listagem
  745 + */
  746 + mais : function(idjanela) {
  747 + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {
  748 + return;
  749 + }
  750 + var i = $i(idjanela + "i3GEOtabelainicio").value * 1, f = $i(idjanela + "i3GEOtabelafim").value * 1, d = f - i;
  751 + $i(idjanela + "i3GEOtabelainicio").value = f + 1;
  752 + $i(idjanela + "i3GEOtabelafim").value = f + d + 1;
  753 + i3GEOF.tabela.pegaRegistros(idjanela);
  754 + },
  755 + /*
  756 + * Function: todos
  757 + *
  758 + * Avan&ccedil;a o contador de registros para o fim da listagem
  759 + */
  760 + todos : function(idjanela) {
  761 + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {
  762 + return;
  763 + }
  764 + $i(idjanela + "i3GEOtabelainicio").value = 1;
  765 + $i(idjanela + "i3GEOtabelafim").value = "";
  766 + i3GEOF.tabela.pegaRegistros(idjanela, false, false, false, 1, true);
  767 + },
  768 + /*
  769 + * Function: menos
  770 + *
  771 + * Retrocede o contador de registros para a listagem
  772 + */
  773 + menos : function(idjanela) {
  774 + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {
  775 + return;
  776 + }
  777 + var i = $i(idjanela + "i3GEOtabelainicio").value * 1, f = $i(idjanela + "i3GEOtabelafim").value * 1, d = f - i;
  778 + $i(idjanela + "i3GEOtabelainicio").value = i - d - 1;
  779 + $i(idjanela + "i3GEOtabelafim").value = i - 1;
  780 + if ($i(idjanela + "i3GEOtabelainicio").value < 1) {
  781 + $i(idjanela + "i3GEOtabelainicio").value = 1;
  782 + $i(idjanela + "i3GEOtabelafim").value = 1 + d;
  783 + }
  784 + i3GEOF.tabela.pegaRegistros(idjanela);
  785 + },
  786 + /*
  787 + * Function: excluiColuna
  788 + *
  789 + * Exclui uma coluna da visualiza&ccedil;&atilde;o da tabela
  790 + */
  791 + excluiColuna : function(coluna, cid, idjanela) {
  792 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";
  793 + try {
  794 + var tabela = $i(idjanela + "i3GEOtabelatabelai"), trs, tds, i, t, nt, ni;
  795 + // pega o indice correto
  796 + tds = coluna.parentNode.parentNode.getElementsByTagName("td");
  797 + nt = tds.length;
  798 + for (t = 0; t < nt; t++) {
  799 + if (tds[t].accessKey == cid) {
  800 + cid = t;
  801 + break;
  802 + }
1086 } 803 }
1087 - vals = retorno.data[1].registros[i].valores;  
1088 - for (j = 0; j < vals.length; j++) {  
1089 - ins += "<td class='"  
1090 - + cor  
1091 - + "'>"  
1092 - + vals[j].valor  
1093 - + "</td>"; 804 + trs = tabela.getElementsByTagName("tr");
  805 + nt = trs.length;
  806 + for (t = 0; t < nt; t++) {
  807 + i = trs[t];
  808 + if (i.getElementsByTagName("td")[cid]) {
  809 + ni = i.getElementsByTagName("td")[cid];
  810 + i.removeChild(ni);
  811 + }
1094 } 812 }
1095 - if (cor === "linha") {  
1096 - cor = "linha1";  
1097 - } else {  
1098 - cor = "linha"; 813 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";
  814 + } catch (e) {
  815 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";
  816 + if (typeof (console) !== 'undefined') {
  817 + console.error(e);
1099 } 818 }
1100 } 819 }
1101 - $i(idjanela  
1102 - + "i3GEOtabelaregistros").innerHTML = ins;  
1103 - }  
1104 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";  
1105 - },  
1106 - /*  
1107 - * Function: mais  
1108 - *  
1109 - * Avan&ccedil;a o contador de registros para a listagem  
1110 - */  
1111 - mais : function(idjanela) {  
1112 - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {  
1113 - return;  
1114 - }  
1115 - var i = $i(idjanela  
1116 - + "i3GEOtabelainicio").value * 1, f = $i(idjanela  
1117 - + "i3GEOtabelafim").value * 1, d = f  
1118 - - i;  
1119 - $i(idjanela  
1120 - + "i3GEOtabelainicio").value = f + 1;  
1121 - $i(idjanela  
1122 - + "i3GEOtabelafim").value = f  
1123 - + d  
1124 - + 1;  
1125 - i3GEOF.tabela.pegaRegistros(idjanela);  
1126 - },  
1127 - /*  
1128 - * Function: todos  
1129 - *  
1130 - * Avan&ccedil;a o contador de registros para o fim da listagem  
1131 - */  
1132 - todos : function(idjanela) {  
1133 - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {  
1134 - return;  
1135 - }  
1136 - $i(idjanela  
1137 - + "i3GEOtabelainicio").value = 1;  
1138 - $i(idjanela  
1139 - + "i3GEOtabelafim").value = "";  
1140 - i3GEOF.tabela.pegaRegistros(  
1141 - idjanela,  
1142 - false,  
1143 - false,  
1144 - false,  
1145 - 1,  
1146 - true);  
1147 - },  
1148 - /*  
1149 - * Function: menos  
1150 - *  
1151 - * Retrocede o contador de registros para a listagem  
1152 - */  
1153 - menos : function(idjanela) {  
1154 - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {  
1155 - return;  
1156 - }  
1157 - var i = $i(idjanela  
1158 - + "i3GEOtabelainicio").value * 1, f = $i(idjanela  
1159 - + "i3GEOtabelafim").value * 1, d = f  
1160 - - i;  
1161 - $i(idjanela  
1162 - + "i3GEOtabelainicio").value = i  
1163 - - d  
1164 - - 1;  
1165 - $i(idjanela  
1166 - + "i3GEOtabelafim").value = i - 1;  
1167 - if ($i(idjanela  
1168 - + "i3GEOtabelainicio").value < 1) {  
1169 - $i(idjanela  
1170 - + "i3GEOtabelainicio").value = 1;  
1171 - $i(idjanela  
1172 - + "i3GEOtabelafim").value = 1 + d;  
1173 - }  
1174 - i3GEOF.tabela.pegaRegistros(idjanela);  
1175 - },  
1176 - /*  
1177 - * Function: excluiColuna  
1178 - *  
1179 - * Exclui uma coluna da visualiza&ccedil;&atilde;o da tabela  
1180 - */  
1181 - excluiColuna : function(coluna, cid, idjanela) {  
1182 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";  
1183 - try {  
1184 - var tabela = $i(idjanela  
1185 - + "i3GEOtabelatabelai"), trs, tds, i, t, nt, ni;  
1186 - // pega o indice correto  
1187 - tds = coluna.parentNode.parentNode.getElementsByTagName("td");  
1188 - nt = tds.length;  
1189 - for (t = 0; t < nt; t++) {  
1190 - if (tds[t].accessKey == cid) {  
1191 - cid = t;  
1192 - break; 820 + },
  821 + /*
  822 + * Function: ordenaColuna
  823 + *
  824 + * Ordena uma coluna da tabela
  825 + */
  826 + ordenaColuna : function(coluna, cid, idjanela) {
  827 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";
  828 + try {
  829 + var tabela = $i(idjanela + "i3GEOtabelatabelai"), trs = tabela.getElementsByTagName("tr"), ntrs = trs.length, tds, nt, conta =
  830 + 0, psort = [], t, psortfim, npsortfim, ins, p, e;
  831 + // pega o indice correto
  832 + tds = coluna.parentNode.parentNode.getElementsByTagName("td");
  833 + nt = tds.length;
  834 + for (t = 0; t < nt; t++) {
  835 + if (tds[t].accessKey == cid) {
  836 + cid = t;
  837 + break;
  838 + }
1193 } 839 }
1194 - }  
1195 - trs = tabela.getElementsByTagName("tr");  
1196 - nt = trs.length;  
1197 - for (t = 0; t < nt; t++) {  
1198 - i = trs[t];  
1199 - if (i.getElementsByTagName("td")[cid]) {  
1200 - ni = i.getElementsByTagName("td")[cid];  
1201 - i.removeChild(ni); 840 + for (t = 0; t < ntrs; t++) {
  841 + if (t < ntrs) {
  842 + if (trs[t].childNodes[cid].innerHTML) {
  843 + if (trs[t].childNodes[cid].innerHTML !== "undefined") {
  844 + psort[conta] = trs[t].childNodes[cid].innerHTML + "+" + conta;
  845 + conta = conta + 1;
  846 + }
  847 + }
  848 + }
  849 + }
  850 + // recosntroi a tabela
  851 + psortfim = psort.sort();
  852 + ins = "<table id=" + idjanela + "i3GEOtabelatabelai class=lista8 >";
  853 + npsortfim = psortfim.length;
  854 + for (p = 0; p < npsortfim; p++) {
  855 + e = psortfim[p].split("+")[1] * 1;
  856 + if (trs[e] !== undefined) {
  857 + ins += "<tr>" + trs[e].innerHTML + "</tr>";
  858 + }
  859 + }
  860 + $i(idjanela + "i3GEOtabelaregistros").innerHTML = ins + "</table>";
  861 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";
  862 + } catch (e) {
  863 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";
  864 + if (typeof (console) !== 'undefined') {
  865 + console.error(e);
1202 } 866 }
1203 } 867 }
1204 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";  
1205 - } catch (e) {  
1206 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";  
1207 - if (typeof (console) !== 'undefined') {  
1208 - console.error(e); 868 + },
  869 + excluiLinha : function(celula) {
  870 + var p = celula.parentNode.parentNode;
  871 + do {
  872 + p.removeChild(p.childNodes[0]);
  873 + } while (p.childNodes.length > 0);
  874 + p.parentNode.removeChild(p);
  875 + },
  876 + zoomExt : function(ext, idjanela) {
  877 + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {
  878 + return;
1209 } 879 }
1210 - }  
1211 - },  
1212 - /*  
1213 - * Function: ordenaColuna  
1214 - *  
1215 - * Ordena uma coluna da tabela  
1216 - */  
1217 - ordenaColuna : function(coluna, cid, idjanela) {  
1218 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";  
1219 - try {  
1220 - var tabela = $i(idjanela  
1221 - + "i3GEOtabelatabelai"), trs = tabela.getElementsByTagName("tr"), ntrs = trs.length, tds, nt, conta = 0, psort = [], t, psortfim, npsortfim, ins, p, e;  
1222 - // pega o indice correto  
1223 - tds = coluna.parentNode.parentNode.getElementsByTagName("td");  
1224 - nt = tds.length;  
1225 - for (t = 0; t < nt; t++) {  
1226 - if (tds[t].accessKey == cid) {  
1227 - cid = t;  
1228 - break; 880 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";
  881 + var funcao = function() {
  882 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";
  883 + i3GEOF.tabela.pegaRegistros(idjanela);
  884 + i3GEO.atualiza();
  885 + };
  886 + i3GEO.php.mudaext(funcao, "nenhum", ext);
  887 + },
  888 + registraLinha : function(linha, idjanela) {
  889 + i3GEOF.tabela.propJanelas[idjanela].registros[linha.name] = linha.checked;
  890 + i3GEOF.tabela.vinculos.atualizaVinculos(idjanela, linha.name, linha.checked);
  891 + },
  892 + /*
  893 + * Function: listaMarcados
  894 + *
  895 + * Retorna um array com os &iacute;ndices dos registros que est&atilde;o marcados.
  896 + */
  897 + listaMarcados : function(idjanela) {
  898 + var lista = [], registros = i3GEOF.tabela.propJanelas[idjanela].registros, i, n = registros.length;
  899 + for (i = 0; i < n; i++) {
  900 + if (registros[i] === true) {
  901 + lista.push(i);
1229 } 902 }
1230 } 903 }
1231 - for (t = 0; t < ntrs; t++) {  
1232 - if (t < ntrs) {  
1233 - if (trs[t].childNodes[cid].innerHTML) {  
1234 - if (trs[t].childNodes[cid].innerHTML !== "undefined") {  
1235 - psort[conta] = trs[t].childNodes[cid].innerHTML  
1236 - + "+"  
1237 - + conta;  
1238 - conta = conta + 1;  
1239 - }  
1240 - }  
1241 - } 904 + return lista;
  905 + },
  906 + /*
  907 + * Function: ativaSelecao
  908 + *
  909 + * Seleciona no mapa os elementos que estiverem marcados na guia 2
  910 + *
  911 + * Veja:
  912 + *
  913 + * <INCLUISEL>
  914 + */
  915 + ativaSelecao : function(idjanela) {
  916 + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {
  917 + return;
1242 } 918 }
1243 - // recosntroi a tabela  
1244 - psortfim = psort.sort();  
1245 - ins = "<table id="  
1246 - + idjanela  
1247 - + "i3GEOtabelatabelai class=lista8 >";  
1248 - npsortfim = psortfim.length;  
1249 - for (p = 0; p < npsortfim; p++) {  
1250 - e = psortfim[p].split("+")[1] * 1;  
1251 - if (trs[e] !== undefined) {  
1252 - ins += "<tr>"  
1253 - + trs[e].innerHTML  
1254 - + "</tr>"; 919 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";
  920 + var lista = i3GEOF.tabela.listaMarcados(idjanela), p, cp, temp = function(retorno) {
  921 + if (retorno) {
  922 + i3GEO.Interface.atualizaTema(retorno, i3GEOF.tabela.propJanelas[idjanela].tema);
  923 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";
1255 } 924 }
  925 + };
  926 + p =
  927 + i3GEO.configura.locaplic + "/ferramentas/tabela/exec.php?g_sid=" + i3GEO.configura.sid + "&funcao=incluisel&tema="
  928 + + i3GEOF.tabela.propJanelas[idjanela].tema + "&ids=" + lista.toString();
  929 + cp = new cpaint();
  930 + cp.set_response_type("JSON");
  931 + cp.call(p, "incluiSel", temp);
  932 + },
  933 + /*
  934 + * Function: limpaSelecao
  935 + *
  936 + * Limpa a sele&ccedil;&atilde;o do tema da tabela
  937 + */
  938 + limpaSelecao : function(idjanela) {
  939 + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {
  940 + return;
1256 } 941 }
1257 - $i(idjanela  
1258 - + "i3GEOtabelaregistros").innerHTML = ins  
1259 - + "</table>";  
1260 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";  
1261 - } catch (e) {  
1262 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";  
1263 - if (typeof (console) !== 'undefined') {  
1264 - console.error(e); 942 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";
  943 + i3GEO.tema.limpasel(i3GEOF.tabela.propJanelas[idjanela].tema);
  944 + i3GEOF.tabela.propJanelas[idjanela].registros = [];
  945 + var lista = $i(idjanela + "i3GEOtabelatabelai").getElementsByTagName("input"), n = lista.length, i;
  946 + for (i = 0; i < n; i++) {
  947 + lista[i].checked = false;
1265 } 948 }
1266 - }  
1267 - },  
1268 - excluiLinha : function(celula) {  
1269 - var p = celula.parentNode.parentNode;  
1270 - do {  
1271 - p.removeChild(p.childNodes[0]);  
1272 - } while (p.childNodes.length > 0);  
1273 - p.parentNode.removeChild(p);  
1274 - },  
1275 - zoomExt : function(ext, idjanela) {  
1276 - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {  
1277 - return;  
1278 - }  
1279 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";  
1280 - var funcao = function() {  
1281 i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; 949 i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";
1282 - i3GEOF.tabela.pegaRegistros(idjanela);  
1283 - i3GEO.atualiza();  
1284 - };  
1285 - i3GEO.php.mudaext(  
1286 - funcao,  
1287 - "nenhum",  
1288 - ext);  
1289 - },  
1290 - registraLinha : function(linha, idjanela) {  
1291 - i3GEOF.tabela.propJanelas[idjanela].registros[linha.name] = linha.checked;  
1292 - i3GEOF.tabela.vinculos.atualizaVinculos(  
1293 - idjanela,  
1294 - linha.name,  
1295 - linha.checked);  
1296 - },  
1297 - /*  
1298 - * Function: listaMarcados  
1299 - *  
1300 - * Retorna um array com os &iacute;ndices dos registros que est&atilde;o  
1301 - * marcados.  
1302 - */  
1303 - listaMarcados : function(idjanela) {  
1304 - var lista = [], registros = i3GEOF.tabela.propJanelas[idjanela].registros, i, n = registros.length;  
1305 - for (i = 0; i < n; i++) {  
1306 - if (registros[i] === true) {  
1307 - lista.push(i); 950 + },
  951 + /*
  952 + * Function: criaNovoTema
  953 + *
  954 + * Cria um novo tema contendo a sele&ccedil;&atilde;o existente
  955 + */
  956 + criaNovoTema : function(idjanela) {
  957 + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {
  958 + return;
1308 } 959 }
1309 - }  
1310 - return lista;  
1311 - },  
1312 - /*  
1313 - * Function: ativaSelecao  
1314 - *  
1315 - * Seleciona no mapa os elementos que estiverem marcados na guia 2  
1316 - *  
1317 - * Veja:  
1318 - *  
1319 - * <INCLUISEL>  
1320 - */  
1321 - ativaSelecao : function(idjanela) {  
1322 - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {  
1323 - return;  
1324 - }  
1325 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";  
1326 - var lista = i3GEOF.tabela.listaMarcados(idjanela), p, cp, temp = function(retorno) {  
1327 - if (retorno) {  
1328 - i3GEO.Interface.atualizaTema(  
1329 - retorno,  
1330 - i3GEOF.tabela.propJanelas[idjanela].tema); 960 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";
  961 + var temp = function(retorno) {
1331 i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; 962 i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";
  963 + i3GEO.atualiza(retorno);
  964 + };
  965 + i3GEO.php.criatemaSel(temp, i3GEOF.tabela.propJanelas[idjanela].tema);
  966 + },
  967 + /*
  968 + * Function: comboItens
  969 + *
  970 + * Cria um combo para selecionar um item do tema escolhido
  971 + */
  972 + comboItensEstat : function(idjanela) {
  973 + var tema = i3GEOF.tabela.propJanelas[idjanela].tema;
  974 + i3GEO.util.comboItens(idjanela + "i3GEOtabelaComboItensGuia3", tema, function(retorno) {
  975 + if (retorno.tipo === "erro") {
  976 + $i(idjanela + "i3GEOtabelaitensGuia3").innerHTML =
  977 + "<br><br><span style='color:red'>" + $trad(32, i3GEOF.tabela.dicionario) + "</span><br><br>";
  978 + } else {
  979 + $i(idjanela + "i3GEOtabelaitensGuia3").innerHTML = retorno.dados;
  980 + }
  981 + }, idjanela + "i3GEOtabelaitensGuia3", "");
  982 + },
  983 + estatistica : function(idjanela) {
  984 + if ($i(idjanela + "i3GEOtabelaComboItensGuia3").value === "") {
  985 + i3GEO.janela.tempoMsg("Escolha um item!");
  986 + return;
1332 } 987 }
1333 - };  
1334 - p = i3GEO.configura.locaplic  
1335 - + "/ferramentas/tabela/exec.php?g_sid="  
1336 - + i3GEO.configura.sid  
1337 - + "&funcao=incluisel&tema="  
1338 - + i3GEOF.tabela.propJanelas[idjanela].tema  
1339 - + "&ids="  
1340 - + lista.toString();  
1341 - cp = new cpaint();  
1342 - cp.set_response_type("JSON");  
1343 - cp.call(  
1344 - p,  
1345 - "incluiSel",  
1346 - temp);  
1347 - },  
1348 - /*  
1349 - * Function: limpaSelecao  
1350 - *  
1351 - * Limpa a sele&ccedil;&atilde;o do tema da tabela  
1352 - */  
1353 - limpaSelecao : function(idjanela) {  
1354 - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {  
1355 - return;  
1356 - }  
1357 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";  
1358 - i3GEO.tema.limpasel(i3GEOF.tabela.propJanelas[idjanela].tema);  
1359 - i3GEOF.tabela.propJanelas[idjanela].registros = [];  
1360 - var lista = $i(  
1361 - idjanela  
1362 - + "i3GEOtabelatabelai").getElementsByTagName(  
1363 - "input"), n = lista.length, i;  
1364 - for (i = 0; i < n; i++) {  
1365 - lista[i].checked = false;  
1366 - }  
1367 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";  
1368 - },  
1369 - /*  
1370 - * Function: criaNovoTema  
1371 - *  
1372 - * Cria um novo tema contendo a sele&ccedil;&atilde;o existente  
1373 - */  
1374 - criaNovoTema : function(idjanela) {  
1375 - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {  
1376 - return;  
1377 - }  
1378 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";  
1379 - var temp = function(retorno) {  
1380 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";  
1381 - i3GEO.atualiza(retorno);  
1382 - };  
1383 - i3GEO.php.criatemaSel(  
1384 - temp,  
1385 - i3GEOF.tabela.propJanelas[idjanela].tema);  
1386 - },  
1387 - /*  
1388 - * Function: comboItens  
1389 - *  
1390 - * Cria um combo para selecionar um item do tema escolhido  
1391 - */  
1392 - comboItensEstat : function(idjanela) {  
1393 - var tema = i3GEOF.tabela.propJanelas[idjanela].tema;  
1394 - i3GEO.util.comboItens(  
1395 - idjanela  
1396 - + "i3GEOtabelaComboItensGuia3",  
1397 - tema,  
1398 - function(retorno) {  
1399 - if (retorno.tipo === "erro") {  
1400 - $i(idjanela  
1401 - + "i3GEOtabelaitensGuia3").innerHTML = "<br><br><span style='color:red'>"  
1402 - + $trad(  
1403 - 32,  
1404 - i3GEOF.tabela.dicionario)  
1405 - + "</span><br><br>";  
1406 - } else {  
1407 - $i(idjanela  
1408 - + "i3GEOtabelaitensGuia3").innerHTML = retorno.dados;  
1409 - }  
1410 - },  
1411 - idjanela  
1412 - + "i3GEOtabelaitensGuia3",  
1413 - "");  
1414 - },  
1415 - estatistica : function(idjanela) {  
1416 - if ($i(idjanela  
1417 - + "i3GEOtabelaComboItensGuia3").value === "") {  
1418 - i3GEO.janela.tempoMsg("Escolha um item!");  
1419 - return;  
1420 - }  
1421 - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {  
1422 - return;  
1423 - }  
1424 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";  
1425 - try {  
1426 - var monta = function(retorno) {  
1427 - var ins = "", nome, valor, i, n;  
1428 - if (retorno.data.indices !== undefined) {  
1429 - if (retorno.data.indices) {  
1430 - n = retorno.data.indices.length;  
1431 - for (i = 0; i < n; i++) {  
1432 - nome = eval("retorno.data.variaveis."  
1433 - + retorno.data.indices[i]);  
1434 - valor = eval("retorno.data.valores."  
1435 - + retorno.data.indices[i]);  
1436 - ins += "<p style='text-align:left'> <span style='color:gray'>"  
1437 - + nome  
1438 - + ": </span>"  
1439 - + valor  
1440 - + "</p>"; 988 + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") {
  989 + return;
  990 + }
  991 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible";
  992 + try {
  993 + var monta = function(retorno) {
  994 + var ins = "", nome, valor, i, n;
  995 + if (retorno.data.indices !== undefined) {
  996 + if (retorno.data.indices) {
  997 + n = retorno.data.indices.length;
  998 + for (i = 0; i < n; i++) {
  999 + nome = eval("retorno.data.variaveis." + retorno.data.indices[i]);
  1000 + valor = eval("retorno.data.valores." + retorno.data.indices[i]);
  1001 + ins += "<p style='text-align:left'> <span style='color:gray'>" + nome + ": </span>" + valor + "</p>";
  1002 + }
1441 } 1003 }
  1004 + } else {
  1005 + ins = retorno.data;
1442 } 1006 }
1443 - } else {  
1444 - ins = retorno.data; 1007 + $i(idjanela + "i3GEOtabelaoperacoes").innerHTML = ins + "<br>";
  1008 + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";
  1009 + }, exclui = "", cp = new cpaint(), p;
  1010 + if ($i(idjanela + "i3GEOtabelafiltro1").value !== "") {
  1011 + exclui = $i("i3GEOtabelafiltro1").value;
1445 } 1012 }
1446 - $i(idjanela  
1447 - + "i3GEOtabelaoperacoes").innerHTML = ins  
1448 - + "<br>"; 1013 + p =
  1014 + i3GEO.configura.locaplic + "/ferramentas/tabela/exec.php?g_sid=" + i3GEO.configura.sid + "&funcao=estatistica&item="
  1015 + + $i(idjanela + "i3GEOtabelaComboItensGuia3").value + "&tema=" + i3GEOF.tabela.propJanelas[idjanela].tema
  1016 + + "&exclui=" + exclui + "&ext=" + i3GEO.parametros.mapexten;
  1017 + cp.set_response_type("JSON");
  1018 + cp.call(p, "estatDescritivas", monta);
  1019 + } catch (e) {
1449 i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; 1020 i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";
1450 - }, exclui = "", cp = new cpaint(), p;  
1451 - if ($i(idjanela  
1452 - + "i3GEOtabelafiltro1").value !== "") {  
1453 - exclui = $i("i3GEOtabelafiltro1").value; 1021 + $i("operacoes").innerHTML = "Ocorreu um erro: " + e;
1454 } 1022 }
1455 - p = i3GEO.configura.locaplic  
1456 - + "/ferramentas/tabela/exec.php?g_sid="  
1457 - + i3GEO.configura.sid  
1458 - + "&funcao=estatistica&item="  
1459 - + $i(idjanela  
1460 - + "i3GEOtabelaComboItensGuia3").value  
1461 - + "&tema="  
1462 - + i3GEOF.tabela.propJanelas[idjanela].tema  
1463 - + "&exclui="  
1464 - + exclui  
1465 - + "&ext="  
1466 - + i3GEO.parametros.mapexten;  
1467 - cp.set_response_type("JSON");  
1468 - cp.call(  
1469 - p,  
1470 - "estatDescritivas",  
1471 - monta);  
1472 - } catch (e) {  
1473 - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden";  
1474 - $i("operacoes").innerHTML = "Ocorreu um erro: "  
1475 - + e;  
1476 - }  
1477 - },  
1478 - tabelaTexto : function() {  
1479 - },  
1480 - /*  
1481 - * Function: relatorioTabela  
1482 - *  
1483 - * Monta o relat&oacute;rio padr&atilde;o em uma nova janela  
1484 - */  
1485 - relatorioTabela : function(idjanela) {  
1486 - try {  
1487 - $i(idjanela  
1488 - + "i3GEOtabelatiporelh").value = "";  
1489 - $i(idjanela  
1490 - + "i3GEOtabelaarearelh").value = $i(idjanela  
1491 - + "i3GEOtabelacalculaarea").checked;  
1492 - $i(idjanela  
1493 - + "i3GEOtabelastatrelh").value = $i(idjanela  
1494 - + "i3GEOtabelacalculaestat").checked;  
1495 - $i(idjanela  
1496 - + "i3GEOtabelaexcluirvalorh").value = $i(idjanela  
1497 - + "i3GEOtabelaexcestat").value;  
1498 - $i(idjanela  
1499 - + "i3GEOtabelatemarelh").value = i3GEOF.tabela.propJanelas[idjanela].tema;  
1500 - $i(idjanela  
1501 - + "i3GEOtabelag_sidh").value = i3GEO.configura.sid;  
1502 - $i(idjanela  
1503 - + "i3GEOtabelaitemagruparelh").value = $i(idjanela  
1504 - + "i3GEOtabelaagrupaItem").value;  
1505 - var inputs = $i(  
1506 - idjanela  
1507 - + "i3GEOtabelaitensrelatorio").getElementsByTagName(  
1508 - "input"), listai = [], listaordem = [], listanomes = [], nome, ordem, i, temp, n = inputs.length;  
1509 - for (i = 0; i < n; i++) {  
1510 - if (inputs[i].type === "checkbox"  
1511 - && inputs[i].checked == true) {  
1512 - listai.push(inputs[i].id  
1513 - + ";"  
1514 - + inputs[i].name);  
1515 - nome = $i(inputs[i].id  
1516 - + inputs[i].name).value;  
1517 - listanomes.push(nome);  
1518 - ordem = $i("ordem_"  
1519 - + inputs[i].id  
1520 - + inputs[i].name).value;  
1521 - if (ordem === "") {  
1522 - ordem = 0; 1023 + },
  1024 + tabelaTexto : function() {
  1025 + },
  1026 + /*
  1027 + * Function: relatorioTabela
  1028 + *
  1029 + * Monta o relat&oacute;rio padr&atilde;o em uma nova janela
  1030 + */
  1031 + relatorioTabela : function(idjanela) {
  1032 + try {
  1033 + $i(idjanela + "i3GEOtabelatiporelh").value = "";
  1034 + $i(idjanela + "i3GEOtabelaarearelh").value = $i(idjanela + "i3GEOtabelacalculaarea").checked;
  1035 + $i(idjanela + "i3GEOtabelastatrelh").value = $i(idjanela + "i3GEOtabelacalculaestat").checked;
  1036 + $i(idjanela + "i3GEOtabelaexcluirvalorh").value = $i(idjanela + "i3GEOtabelaexcestat").value;
  1037 + $i(idjanela + "i3GEOtabelatemarelh").value = i3GEOF.tabela.propJanelas[idjanela].tema;
  1038 + $i(idjanela + "i3GEOtabelag_sidh").value = i3GEO.configura.sid;
  1039 + $i(idjanela + "i3GEOtabelaitemagruparelh").value = $i(idjanela + "i3GEOtabelaagrupaItem").value;
  1040 + var inputs = $i(idjanela + "i3GEOtabelaitensrelatorio").getElementsByTagName("input"), listai = [], listaordem = [], listanomes =
  1041 + [], nome, ordem, i, temp, n = inputs.length;
  1042 + for (i = 0; i < n; i++) {
  1043 + if (inputs[i].type === "checkbox" && inputs[i].checked == true) {
  1044 + listai.push(inputs[i].id + ";" + inputs[i].name);
  1045 + nome = $i(inputs[i].id + inputs[i].name).value;
  1046 + listanomes.push(nome);
  1047 + ordem = $i("ordem_" + inputs[i].id + inputs[i].name).value;
  1048 + if (ordem === "") {
  1049 + ordem = 0;
  1050 + }
  1051 + listaordem.push(ordem);
1523 } 1052 }
1524 - listaordem.push(ordem);  
1525 } 1053 }
  1054 + $i(idjanela + "i3GEOtabelaordemrel").value = listaordem;
  1055 + $i(idjanela + "i3GEOtabelanomesrelh").value = listanomes;
  1056 + $i(idjanela + "i3GEOtabelaitensrelh").value = listai;
  1057 + temp = $i(idjanela + "i3GEOtabelarelatorio").action;
  1058 + $i(idjanela + "i3GEOtabelarelatorio").action += "?ext=" + i3GEO.parametros.mapexten;
  1059 + $i(idjanela + "i3GEOtabelarelatorio").submit();
  1060 + $i(idjanela + "i3GEOtabelarelatorio").action = temp;
  1061 + } catch (e) {
  1062 + i3GEO.janela.tempoMsg(e);
1526 } 1063 }
1527 - $i(idjanela  
1528 - + "i3GEOtabelaordemrel").value = listaordem;  
1529 - $i(idjanela  
1530 - + "i3GEOtabelanomesrelh").value = listanomes;  
1531 - $i(idjanela  
1532 - + "i3GEOtabelaitensrelh").value = listai;  
1533 - temp = $i(idjanela  
1534 - + "i3GEOtabelarelatorio").action;  
1535 - $i(idjanela  
1536 - + "i3GEOtabelarelatorio").action += "?ext="  
1537 - + i3GEO.parametros.mapexten;  
1538 - $i(  
1539 - idjanela  
1540 - + "i3GEOtabelarelatorio").submit();  
1541 - $i(idjanela  
1542 - + "i3GEOtabelarelatorio").action = temp;  
1543 - } catch (e) {  
1544 - i3GEO.janela.tempoMsg(e);  
1545 - }  
1546 - },  
1547 - /*  
1548 - * Function: relatorioTexto  
1549 - *  
1550 - * Gera o relat&oacute;rio no formato CSV  
1551 - */  
1552 - relatorioTexto : function() {  
1553 - try {  
1554 - $i("i3GEOtabelaarearelh").value = $i("i3GEOtabelacalculaarea").checked;  
1555 - $i("i3GEOtabelastatrelh").value = $i("i3GEOtabelacalculaestat").checked;  
1556 - $i("i3GEOtabelaexcluirvalorh").value = $i("i3GEOtabelaexcestat").value;  
1557 - $i("i3GEOtabelatemarelh").value = i3GEOF.tabela.tema;  
1558 - $i("i3GEOtabelag_sidh").value = i3GEO.configura.sid;  
1559 - $i("i3GEOtabelaitemagruparelh").value = $i("i3GEOtabelaagrupaItem").value;  
1560 - $i("i3GEOtabelatiporelh").value = "csv";  
1561 - var inputs = $i(  
1562 - "i3GEOtabelaitensrelatorio").getElementsByTagName(  
1563 - "input"), listai = [], listanomes = [], nome, i, temp, n = inputs.length;  
1564 - for (i = 0; i < n; i++) {  
1565 - if (inputs[i].checked === true) {  
1566 - listai.push(inputs[i].id  
1567 - + ";"  
1568 - + inputs[i].name);  
1569 - nome = $i(inputs[i].id  
1570 - + inputs[i].name).value;  
1571 - listanomes.push(nome); 1064 + },
  1065 + /*
  1066 + * Function: relatorioTexto
  1067 + *
  1068 + * Gera o relat&oacute;rio no formato CSV
  1069 + */
  1070 + relatorioTexto : function() {
  1071 + try {
  1072 + $i("i3GEOtabelaarearelh").value = $i("i3GEOtabelacalculaarea").checked;
  1073 + $i("i3GEOtabelastatrelh").value = $i("i3GEOtabelacalculaestat").checked;
  1074 + $i("i3GEOtabelaexcluirvalorh").value = $i("i3GEOtabelaexcestat").value;
  1075 + $i("i3GEOtabelatemarelh").value = i3GEOF.tabela.tema;
  1076 + $i("i3GEOtabelag_sidh").value = i3GEO.configura.sid;
  1077 + $i("i3GEOtabelaitemagruparelh").value = $i("i3GEOtabelaagrupaItem").value;
  1078 + $i("i3GEOtabelatiporelh").value = "csv";
  1079 + var inputs = $i("i3GEOtabelaitensrelatorio").getElementsByTagName("input"), listai = [], listanomes = [], nome, i, temp, n =
  1080 + inputs.length;
  1081 + for (i = 0; i < n; i++) {
  1082 + if (inputs[i].checked === true) {
  1083 + listai.push(inputs[i].id + ";" + inputs[i].name);
  1084 + nome = $i(inputs[i].id + inputs[i].name).value;
  1085 + listanomes.push(nome);
  1086 + }
1572 } 1087 }
  1088 + $i("i3GEOtabelanomesrelh").value = listanomes;
  1089 + $i("i3GEOtabelaitensrelh").value = listai;
  1090 + temp = $i("i3GEOtabelarelatorio").action;
  1091 + $i("i3GEOtabelarelatorio").action += "?ext=" + i3GEO.parametros.mapexten;
  1092 + $i("i3GEOtabelarelatorio").submit();
  1093 + $i("i3GEOtabelarelatorio").action = temp;
  1094 + } catch (e) {
  1095 + i3GEO.janela.tempoMsg(e);
1573 } 1096 }
1574 - $i("i3GEOtabelanomesrelh").value = listanomes;  
1575 - $i("i3GEOtabelaitensrelh").value = listai;  
1576 - temp = $i("i3GEOtabelarelatorio").action;  
1577 - $i("i3GEOtabelarelatorio").action += "?ext="  
1578 - + i3GEO.parametros.mapexten;  
1579 - $i(  
1580 - "i3GEOtabelarelatorio").submit();  
1581 - $i("i3GEOtabelarelatorio").action = temp;  
1582 - } catch (e) {  
1583 - i3GEO.janela.tempoMsg(e);  
1584 } 1097 }
1585 - }  
1586 -}; 1098 + };