Commit f179250a8e5835d3042006b3bfc6c81051be3dec

Authored by Edmar Moretti
1 parent c5d12525

Correção na função de ligar/desligar contorno das classes de um LAYER. Não estav…

…a funcionando nos casos de OUTLINE não definido.
Showing 59 changed files with 2078 additions and 2071 deletions   Show diff stats
admin/admin.db
No preview for this file type
classesphp/classe_metaestatinfo.php
@@ -219,7 +219,6 @@ class MetaestatInfo{ @@ -219,7 +219,6 @@ class MetaestatInfo{
219 // 219 //
220 //registros da medida da variavel 220 //registros da medida da variavel
221 $dados = $this->listaMedidaVariavel("",$id_medida_variavel); 221 $dados = $this->listaMedidaVariavel("",$id_medida_variavel);
222 -  
223 if(!empty($dados["filtro"])){ 222 if(!empty($dados["filtro"])){
224 if($filtro == ""){ 223 if($filtro == ""){
225 $filtro = $dados["filtro"]; 224 $filtro = $dados["filtro"];
@@ -253,6 +252,10 @@ class MetaestatInfo{ @@ -253,6 +252,10 @@ class MetaestatInfo{
253 else{ 252 else{
254 $dadosgeo = $this->listaTipoRegiao($dados["codigo_tipo_regiao"]); 253 $dadosgeo = $this->listaTipoRegiao($dados["codigo_tipo_regiao"]);
255 } 254 }
  255 + if(empty($dadosgeo)){
  256 + echo "Erro ao obter os dados do tipo de regiao";
  257 + exit;
  258 + }
256 if($tipolayer != "point"){ 259 if($tipolayer != "point"){
257 $colunageo = $dadosgeo["colunageo"]; 260 $colunageo = $dadosgeo["colunageo"];
258 $titulo .= " (pol) "; 261 $titulo .= " (pol) ";
classesphp/classe_temas.php
@@ -690,18 +690,21 @@ $valor - Novo nome. @@ -690,18 +690,21 @@ $valor - Novo nome.
690 $c = $ll->getclass($i); 690 $c = $ll->getclass($i);
691 $e = $c->getstyle(0); 691 $e = $c->getstyle(0);
692 $cor = $e->outlinecolor; 692 $cor = $e->outlinecolor;
693 - if( $c->getmetadata("CORORIGINAL") == "" && $cor == -1){ 693 + if( $c->getmetadata("CORORIGINAL") == "" && $cor->red == -1){
694 $cor->setrgb(255,255,255); 694 $cor->setrgb(255,255,255);
695 - }  
696 - $hex = $cor->red.",".$cor->green.",".$cor->blue;  
697 - if( $c->getmetadata("CORORIGINAL") == ""){ 695 + $hex = $cor->red.",".$cor->green.",".$cor->blue;
698 $c->setmetadata("CORORIGINAL",$hex); 696 $c->setmetadata("CORORIGINAL",$hex);
699 - }  
700 - if($e->outlinecolor->red == -1){  
701 - $hex = explode(",",$c->getmetadata("CORORIGINAL"));  
702 - $cor->setRgb($hex[0],$hex[1],$hex[2]);  
703 } else { 697 } else {
704 - $cor->setrgb(-1,-1,-1); 698 + $hex = $cor->red.",".$cor->green.",".$cor->blue;
  699 + if( $c->getmetadata("CORORIGINAL") == ""){
  700 + $c->setmetadata("CORORIGINAL",$hex);
  701 + }
  702 + if($e->outlinecolor->red == -1){
  703 + $hex = explode(",",$c->getmetadata("CORORIGINAL"));
  704 + $cor->setRgb($hex[0],$hex[1],$hex[2]);
  705 + } else {
  706 + $cor->setrgb(-1,-1,-1);
  707 + }
705 } 708 }
706 } 709 }
707 return ("ok"); 710 return ("ok");
css/i3geo7.css.php 100644 → 100755
ferramentas/editorgm/editorgm_compacto.js 100644 → 100755
ferramentas/editorol/editorol_compacto.js 100644 → 100755
ferramentas/metaestat/index.js
@@ -28,7 +28,7 @@ Free Software Foundation, Inc., no endereço @@ -28,7 +28,7 @@ Free Software Foundation, Inc., no endereço
28 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. 28 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
29 */ 29 */
30 if(typeof(i3GEOF) === 'undefined'){ 30 if(typeof(i3GEOF) === 'undefined'){
31 - var i3GEOF = {}; 31 + var i3GEOF = {};
32 } 32 }
33 /* 33 /*
34 Classe: i3GEOF.metaestat 34 Classe: i3GEOF.metaestat
@@ -36,2084 +36,2085 @@ Classe: i3GEOF.metaestat @@ -36,2084 +36,2085 @@ Classe: i3GEOF.metaestat
36 Gerencia os componentes do módulo de geração de cartogramas estatísticos utilizados no mapa interativo. 36 Gerencia os componentes do módulo de geração de cartogramas estatísticos utilizados no mapa interativo.
37 */ 37 */
38 i3GEOF.metaestat = { 38 i3GEOF.metaestat = {
39 - /**  
40 - * Tipo de interface utilizada para construcao dos parametros  
41 - *  
42 - * flutuante - uma janela flutuante sera criada e os componentes da ferramenta serao inseridos nessa janela  
43 - *  
44 - * flutuanteSimples -interface qd a medida da variavel ja tiver sido definida. Utilizada ao adicionar uma camada via catalogo de temas  
45 - *  
46 - * "" - os componentes serao inseridos em um div qualquer definido em i3GEOF.metaestat.inicia  
47 - */  
48 - INTERFACE: "flutuante",  
49 - /**  
50 - * guarda o valor do codigo da ultima variavel escolhida ou passada como parametro na inicializacao  
51 - */  
52 - CODIGO_VARIAVEL: "",  
53 - /**  
54 - * guarda o valor do codigo da ultima medidda da variavel escolhida ou passada como parametro na inicializacao  
55 - */  
56 - ID_MEDIDA_VARIAVEL: "",  
57 - /**  
58 - * codigo da conexao com o banco de dados que sera utilizada como default  
59 - * e utilizado em customizacoes da interface, como o geosaude, permitindo acessar as listas de esquemas e tabelas  
60 - */  
61 - CONEXAODEFAULT: 0,  
62 - /**  
63 - * Posicao em pixels da janela flutuante com os componentes da ferramenta  
64 - */  
65 - TOP: 50,  
66 - /**  
67 - * Posicao em pixels da janela flutuante com os componentes da ferramenta  
68 - */  
69 - LEFT: 100,  
70 - /**  
71 - * Largura em pixels da janela flutuante com os componentes da ferramenta  
72 - */  
73 - LARGURA: 350,  
74 - /**  
75 - * Altura em pixels da janela flutuante com os componentes da ferramenta  
76 - */  
77 - ALTURA: 280,  
78 - /**  
79 - * guarda a lista de camadas que foram adicionadas ao mapa  
80 - */  
81 - CAMADAS: [],  
82 - /**  
83 - * guarda os dados das medidas obtidos para a ultima variavel escolhida  
84 - */  
85 - DADOSMEDIDASVARIAVEL: [],  
86 - /**  
87 - * ativa o modo de selecao de multiplos valores nos combos de parametros  
88 - */  
89 - MULTIPARAMETROS: true,  
90 - //para efeitos de compatibilidade com i3GEO.mapa.dialogo  
91 - criaJanelaFlutuante: function(){  
92 - i3GEOF.metaestat.inicia();  
93 - },  
94 - //TODO desabilitar em producao  
95 - log: function(t){  
96 - if (typeof (console) !== 'undefined')  
97 - console.info(t); 39 + /**
  40 + * Tipo de interface utilizada para construcao dos parametros
  41 + *
  42 + * flutuante - uma janela flutuante sera criada e os componentes da ferramenta serao inseridos nessa janela
  43 + *
  44 + * flutuanteSimples -interface qd a medida da variavel ja tiver sido definida. Utilizada ao adicionar uma camada via catalogo de temas
  45 + *
  46 + * "" - os componentes serao inseridos em um div qualquer definido em i3GEOF.metaestat.inicia
  47 + */
  48 + INTERFACE: "flutuante",
  49 + /**
  50 + * guarda o valor do codigo da ultima variavel escolhida ou passada como parametro na inicializacao
  51 + */
  52 + CODIGO_VARIAVEL: "",
  53 + /**
  54 + * guarda o valor do codigo da ultima medidda da variavel escolhida ou passada como parametro na inicializacao
  55 + */
  56 + ID_MEDIDA_VARIAVEL: "",
  57 + /**
  58 + * codigo da conexao com o banco de dados que sera utilizada como default
  59 + * e utilizado em customizacoes da interface, como o geosaude, permitindo acessar as listas de esquemas e tabelas
  60 + */
  61 + CONEXAODEFAULT: 0,
  62 + /**
  63 + * Posicao em pixels da janela flutuante com os componentes da ferramenta
  64 + */
  65 + TOP: 50,
  66 + /**
  67 + * Posicao em pixels da janela flutuante com os componentes da ferramenta
  68 + */
  69 + LEFT: 100,
  70 + /**
  71 + * Largura em pixels da janela flutuante com os componentes da ferramenta
  72 + */
  73 + LARGURA: 350,
  74 + /**
  75 + * Altura em pixels da janela flutuante com os componentes da ferramenta
  76 + */
  77 + ALTURA: 280,
  78 + /**
  79 + * guarda a lista de camadas que foram adicionadas ao mapa
  80 + */
  81 + CAMADAS: [],
  82 + /**
  83 + * guarda os dados das medidas obtidos para a ultima variavel escolhida
  84 + */
  85 + DADOSMEDIDASVARIAVEL: [],
  86 + /**
  87 + * ativa o modo de selecao de multiplos valores nos combos de parametros
  88 + */
  89 + MULTIPARAMETROS: true,
  90 + //para efeitos de compatibilidade com i3GEO.mapa.dialogo
  91 + criaJanelaFlutuante: function(){
  92 + i3GEOF.metaestat.inicia();
  93 + },
  94 + //TODO desabilitar em producao
  95 + log: function(t){
  96 + if (typeof (console) !== 'undefined')
  97 + console.info(t);
98 98
99 - },  
100 - /**  
101 - * Inicia a ferramenta  
102 - * Carrega o dicionario de traducao com i3GEOF.metaestat.comum.iniciaDicionario() que por sua vez inicia a ferramenta com i3GEOF.metaestat.principal.inicia()  
103 - * @param tipo de interface veja i3GEOF.metaestat.INTERFACE. Para usar o default, utilize ""  
104 - * @param codigo da variavel que aparecera como selecionada no combo de selecao de variaveis. Default ""  
105 - * @param codigo da medida da variavel que aparecera como selecionada no combo de selecao de medidas. Default ""  
106 - */  
107 - inicia: function(Interface,codigo_variavel,id_medida_variavel){  
108 - i3GEOF.metaestat.log("i3GEOF.metaestat.inicia()");  
109 - if(Interface && Interface != ""){  
110 - i3GEOF.metaestat.INTERFACE = Interface;  
111 - }  
112 - i3GEOF.metaestat.CODIGO_VARIAVEL = "";  
113 - i3GEOF.metaestat.ID_MEDIDA_VARIAVEL = "";  
114 - if(codigo_variavel && codigo_variavel != ""){  
115 - i3GEOF.metaestat.CODIGO_VARIAVEL = codigo_variavel;  
116 - }  
117 - if(id_medida_variavel && id_medida_variavel != ""){  
118 - i3GEOF.metaestat.ID_MEDIDA_VARIAVEL = id_medida_variavel;  
119 - }  
120 - i3GEOF.metaestat.principal.inicia();  
121 - },  
122 - /**  
123 - * Funcoes e variaveis que controlam as opcoes de analise (botoes da janela de analise)  
124 - */  
125 - analise: {  
126 - MUSTACHE : "",  
127 - mustacheHash : function() {  
128 - var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.metaestat.dicionario);  
129 - dicionario["locaplic"] = i3GEO.configura.locaplic;  
130 - dicionario["t42"] = $trad("t42");  
131 - dicionario["t49"] = $trad("t49");  
132 - return dicionario;  
133 - },  
134 - /**  
135 - * Inicia a ferramenta ativando os componentes da interface  
136 - * Executa as funcoes i3GEOF.metaestat.analise.abreJanela() e i3GEOF.metaestat.analise.comboCamadas()  
137 - * @param id do div que recebera os componentes HTML da ferramenta  
138 - */  
139 - inicia: function(iddiv){  
140 - i3GEOF.metaestat.log("i3GEOF.metaestat.analise.inicia()"); 99 + },
  100 + /**
  101 + * Inicia a ferramenta
  102 + * Carrega o dicionario de traducao com i3GEOF.metaestat.comum.iniciaDicionario() que por sua vez inicia a ferramenta com i3GEOF.metaestat.principal.inicia()
  103 + * @param tipo de interface veja i3GEOF.metaestat.INTERFACE. Para usar o default, utilize ""
  104 + * @param codigo da variavel que aparecera como selecionada no combo de selecao de variaveis. Default ""
  105 + * @param codigo da medida da variavel que aparecera como selecionada no combo de selecao de medidas. Default ""
  106 + */
  107 + inicia: function(Interface,codigo_variavel,id_medida_variavel){
  108 + i3GEOF.metaestat.log("i3GEOF.metaestat.inicia()");
  109 + if(Interface && Interface != ""){
  110 + i3GEOF.metaestat.INTERFACE = Interface;
  111 + }
  112 + i3GEOF.metaestat.CODIGO_VARIAVEL = "";
  113 + i3GEOF.metaestat.ID_MEDIDA_VARIAVEL = "";
  114 + if(codigo_variavel && codigo_variavel != ""){
  115 + i3GEOF.metaestat.CODIGO_VARIAVEL = codigo_variavel;
  116 + }
  117 + if(id_medida_variavel && id_medida_variavel != ""){
  118 + i3GEOF.metaestat.ID_MEDIDA_VARIAVEL = id_medida_variavel;
  119 + }
  120 + i3GEOF.metaestat.principal.inicia();
  121 + },
  122 + /**
  123 + * Funcoes e variaveis que controlam as opcoes de analise (botoes da janela de analise)
  124 + */
  125 + analise: {
  126 + MUSTACHE : "",
  127 + mustacheHash : function() {
  128 + var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.metaestat.dicionario);
  129 + dicionario["locaplic"] = i3GEO.configura.locaplic;
  130 + dicionario["t42"] = $trad("t42");
  131 + dicionario["t49"] = $trad("t49");
  132 + return dicionario;
  133 + },
  134 + /**
  135 + * Inicia a ferramenta ativando os componentes da interface
  136 + * Executa as funcoes i3GEOF.metaestat.analise.abreJanela() e i3GEOF.metaestat.analise.comboCamadas()
  137 + * @param id do div que recebera os componentes HTML da ferramenta
  138 + */
  139 + inicia: function(iddiv){
  140 + i3GEOF.metaestat.log("i3GEOF.metaestat.analise.inicia()");
141 141
142 - if(i3GEOF.metaestat.analise.MUSTACHE == ""){  
143 - $.get(i3GEO.configura.locaplic + "/ferramentas/metaestat/template_analise_mst.html", function(template) {  
144 - i3GEOF.metaestat.analise.MUSTACHE = template;  
145 - i3GEOF.metaestat.analise.inicia(iddiv);  
146 - });  
147 - return;  
148 - } 142 + if(i3GEOF.metaestat.analise.MUSTACHE == ""){
  143 + $.get(i3GEO.configura.locaplic + "/ferramentas/metaestat/template_analise_mst.html", function(template) {
  144 + i3GEOF.metaestat.analise.MUSTACHE = template;
  145 + i3GEOF.metaestat.analise.inicia(iddiv);
  146 + });
  147 + return;
  148 + }
149 149
150 - var ics,n,i;  
151 - if(!iddiv || !$i(iddiv)){  
152 - iddiv = "i3geoCartoAnalise_corpo";  
153 - }  
154 - if(i3GEOF.metaestat.INTERFACE == "flutuante"){  
155 - i3GEOF.metaestat.analise.abreJanela();  
156 - }  
157 - $i(iddiv).innerHTML = i3GEOF.metaestat.analise.html();  
158 - ics = $i(iddiv).getElementsByTagName("button");  
159 - n = ics.length;  
160 - for(i=0;i<n;i++){  
161 - ics[i].style.backgroundColor = "white";  
162 - ics[i].className = "iconeGuiaMovel";  
163 - ics[i].onmouseout = function(){this.className = "iconeGuiaMovel iconeGuiaMovelMouseOut";};  
164 - ics[i].onmouseover = function(){this.className = "iconeGuiaMovel iconeGuiaMovelMouseOver";};  
165 - ics[i].style.backgroundImage = "none";  
166 - ics[i].style.height = "32px";  
167 - ics[i].style.width = "32px";  
168 - ics[i].style.border = "1px solid gray";  
169 - ics[i].style.margin = "0px";  
170 - ics[i].style.position = "relative";  
171 - }  
172 - i3GEOF.metaestat.analise.comboCamadas();  
173 - },  
174 - /**  
175 - * Abre a janela flutuante com os componentes da ferramenta  
176 - * Para recuperar o objeto YUI utilize janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoAnalise")  
177 - */  
178 - abreJanela: function(){  
179 - var cabecalho,minimiza,imagemxy,janela;  
180 - if (!$i("i3geoCartoAnalise")){  
181 - cabecalho = function(){  
182 - };  
183 - minimiza = function(){  
184 - i3GEO.janela.minimiza("i3geoCartoAnalise",200);  
185 - };  
186 - janela = i3GEO.janela.cria(  
187 - "320px",  
188 - "350px",  
189 - "",  
190 - "",  
191 - "",  
192 - "<span class='i3GeoTituloJanelaBsNolink' >" + $trad('analise',i3GEOF.metaestat.dicionario) + "</span></div>",  
193 - "i3geoCartoAnalise",  
194 - false,  
195 - "hd",  
196 - cabecalho,  
197 - minimiza,  
198 - "",  
199 - false,  
200 - "",  
201 - "",  
202 - "",  
203 - ""  
204 - );  
205 - janela = janela[0];  
206 - YAHOO.i3GEO.janela.manager.register(janela);  
207 - janela.render();  
208 - }  
209 - else{  
210 - janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoAnalise");  
211 - }  
212 - janela.show();  
213 - imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO));  
214 - janela.moveTo(imagemxy[0]+(i3GEOF.metaestat.LEFT*2)+i3GEOF.metaestat.LARGURA+10,i3GEOF.metaestat.TOP);  
215 - },  
216 - /**  
217 - * Monta o HTML contendo os elementos DIV que receberao os principais componentes da ferramenta  
218 - * Utilizado para criar a janela da ferramenta  
219 - * @return HTML  
220 - */  
221 - html: function(){  
222 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.html()");  
223 - var ins = Mustache.render(i3GEOF.metaestat.analise.MUSTACHE, i3GEOF.metaestat.analise.mustacheHash());  
224 - return ins;  
225 - },  
226 - /**  
227 - * Monta um combo contendo a lista de camadas originadas do sistema de metadados estatisticos  
228 - * A lista de camadas e obtida com i3GEO.php.listaCamadasMetaestat()  
229 - * O combo e utilizado para o usuario escolher qual a camada que sera alvo de determinado porcesso de analise  
230 - * O combo e inserido no elemento DOM com ID i3geoCartoAnaliseCamadas  
231 - */  
232 - comboCamadas: function(){  
233 - if(!$i("i3geoCartoAnaliseCamadas")){  
234 - return;  
235 - }  
236 - var temp = function(retorno){  
237 - var temas = retorno.data,  
238 - n = temas.length,  
239 - i,t,ins;  
240 - ins = "<p class=paragrafo style='position:relative;top:5px;'>Ativar a camada:</p><select id='i3geoCartoAnaliseCamadasCombo' onchange='i3GEOF.metaestat.comum.ativaCamada(this.value)' style='width:250px;' ><option value=''>---</option>";  
241 - for(i=0;i<n;i++){  
242 - t = i3GEO.arvoreDeCamadas.pegaTema(temas[i]);  
243 - if(t != ""){  
244 - ins += "<option value='"+temas[i]+"'>"+t.tema+"</option>";  
245 - }  
246 - }  
247 - $i("i3geoCartoAnaliseCamadas").innerHTML = ins+"</select>";  
248 - if(i3GEO.temaAtivo != ""){  
249 - $i("i3geoCartoAnaliseCamadasCombo").value = i3GEO.temaAtivo;  
250 - }  
251 - $i("i3geoCartoAnaliseCamadas").style.display = "block";  
252 - i3GEOF.metaestat.comum.aguarde("hidden");  
253 - };  
254 - i3GEO.php.listaCamadasMetaestat(temp);  
255 - }  
256 - },  
257 - /**  
258 - * Funcoes que controlam a janela de parametros  
259 - * Os parametros permitem que o usuario modifique as opcoes default  
260 - * aplicadas quando uma camada e adicionada ao mapa  
261 - */  
262 - classes:{  
263 - /**  
264 - * Inicia a ferramenta  
265 - * Preenche os componetes da interface conforme o tipo definido em i3GEOF.metaestat.INTERFACE  
266 - * Executa as funcoes que constroem os combos  
267 - * Executa i3GEOF.metaestat.classes.abreJanela(); e i3GEOF.metaestat.classes.html();  
268 - * @param ID do div que recebera os componentes da ferramenta  
269 - */  
270 - inicia: function(iddiv){  
271 - if(!$i("i3geoCartoComboMedidasVariavel")){  
272 - i3GEO.janela.tempoMsg("erro: i3geoCartoComboMedidasVariavel???");  
273 - return;  
274 - }  
275 - if($i("i3geoCartoComboMedidasVariavel").value === ""){  
276 - i3GEO.janela.tempoMsg("erro: i3geoCartoComboMedidasVariavel???");  
277 - return;  
278 - }  
279 - if(!iddiv || !$i(iddiv)){  
280 - iddiv = "i3geoCartoClasses_corpo";  
281 - }  
282 - if(i3GEOF.metaestat.INTERFACE == "flutuante"){  
283 - i3GEOF.metaestat.classes.abreJanela();  
284 - $i(iddiv).innerHTML = i3GEOF.metaestat.classes.html();  
285 - i3GEOF.metaestat.classes.comboTipoRep();  
286 - i3GEOF.metaestat.classes.comboTipoClassificacao();  
287 - i3GEOF.metaestat.classes.comboRegiao();  
288 - }  
289 - if(i3GEOF.metaestat.INTERFACE == "flutuanteSimples"){  
290 - i3GEOF.metaestat.classes.abreJanela();  
291 - $i(iddiv).innerHTML = i3GEOF.metaestat.classes.html();  
292 - i3GEOF.metaestat.classes.comboTipoClassificacao();  
293 - }  
294 - },  
295 - /**  
296 - * Abre a janela flutuante da ferramenta  
297 - */  
298 - abreJanela: function(){  
299 - var cabecalho,minimiza,janela;  
300 - if (!$i("i3geoCartoClasses")){  
301 - cabecalho = function(){  
302 - };  
303 - minimiza = function(){  
304 - };  
305 - janela = i3GEO.janela.cria(  
306 - i3GEOF.metaestat.LARGURA+10+"px",  
307 - i3GEOF.metaestat.ALTURA - 50 +"px",  
308 - "",  
309 - "",  
310 - "",  
311 - "</div><div class='i3GeoTituloJanelaBs'>" + $trad('classes',i3GEOF.metaestat.dicionario) + "</div>",  
312 - "i3geoCartoClasses",  
313 - true,  
314 - "hd",  
315 - cabecalho,  
316 - minimiza,  
317 - "",  
318 - false  
319 - );  
320 - janela = janela[0];  
321 - YAHOO.i3GEO.janela.manager.register(janela);  
322 - janela.render();  
323 - }  
324 - else{  
325 - janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoClasses");  
326 - }  
327 - janela.show();  
328 - i3GEOF.metaestat.classes.botaoAplicar();  
329 - },  
330 - /**  
331 - * Ativa o botao que aplica e guarda os parametros escolhidos  
332 - * O botao e o elemento com ID i3GEOcartoClassesBotaoAaplicar  
333 - * A funcao a ser executada e i3GEOF.metaestat.classes.aplicar()  
334 - */  
335 - botaoAplicar: function(){  
336 - YAHOO.i3GEO.janela.manager.find("i3geoCartoClasses").setFooter('<input type="button" id="i3GEOcartoClassesBotaoAaplicar" value="Aplicar" class="paragrafo" style="width:200px;cursor:pointer;color:blue" />');  
337 - new YAHOO.widget.Button(  
338 - "i3GEOcartoClassesBotaoAaplicar",  
339 - {onclick:{fn: i3GEOF.metaestat.classes.aplicar}}  
340 - );  
341 - $i("i3GEOcartoClassesBotaoAaplicar-button").style.width = i3GEOF.metaestat.LARGURA - 15 + "px";  
342 - },  
343 - /**  
344 - * Aplica os parametros  
345 - * Os valores sao armazenados nas variaveis  
346 - * i3GEOF.metaestat.comum.tipoRep  
347 - * i3GEOF.metaestat.comum.tipoClassificacao  
348 - * i3GEOF.metaestat.comum.tipoRegiao  
349 - */  
350 - aplicar: function(){  
351 - i3GEOF.metaestat.log("i3GEOF.metaestat.classes.aplicar()"); 150 + var ics,n,i;
  151 + if(!iddiv || !$i(iddiv)){
  152 + iddiv = "i3geoCartoAnalise_corpo";
  153 + }
  154 + if(i3GEOF.metaestat.INTERFACE == "flutuante"){
  155 + i3GEOF.metaestat.analise.abreJanela();
  156 + }
  157 + $i(iddiv).innerHTML = i3GEOF.metaestat.analise.html();
  158 + ics = $i(iddiv).getElementsByTagName("button");
  159 + n = ics.length;
  160 + for(i=0;i<n;i++){
  161 + ics[i].style.backgroundColor = "white";
  162 + ics[i].className = "iconeGuiaMovel";
  163 + ics[i].onmouseout = function(){this.className = "iconeGuiaMovel iconeGuiaMovelMouseOut";};
  164 + ics[i].onmouseover = function(){this.className = "iconeGuiaMovel iconeGuiaMovelMouseOver";};
  165 + ics[i].style.backgroundImage = "none";
  166 + ics[i].style.height = "32px";
  167 + ics[i].style.width = "32px";
  168 + ics[i].style.border = "1px solid gray";
  169 + ics[i].style.margin = "0px";
  170 + ics[i].style.position = "relative";
  171 + }
  172 + i3GEOF.metaestat.analise.comboCamadas();
  173 + },
  174 + /**
  175 + * Abre a janela flutuante com os componentes da ferramenta
  176 + * Para recuperar o objeto YUI utilize janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoAnalise")
  177 + */
  178 + abreJanela: function(){
  179 + var cabecalho,minimiza,imagemxy,janela;
  180 + if (!$i("i3geoCartoAnalise")){
  181 + cabecalho = function(){
  182 + };
  183 + minimiza = function(){
  184 + i3GEO.janela.minimiza("i3geoCartoAnalise",200);
  185 + };
  186 + janela = i3GEO.janela.cria(
  187 + "320px",
  188 + "350px",
  189 + "",
  190 + "",
  191 + "",
  192 + "<span class='i3GeoTituloJanelaBsNolink' >" + $trad('analise',i3GEOF.metaestat.dicionario) + "</span></div>",
  193 + "i3geoCartoAnalise",
  194 + false,
  195 + "hd",
  196 + cabecalho,
  197 + minimiza,
  198 + "",
  199 + false,
  200 + "",
  201 + "",
  202 + "",
  203 + ""
  204 + );
  205 + janela = janela[0];
  206 + YAHOO.i3GEO.janela.manager.register(janela);
  207 + janela.render();
  208 + }
  209 + else{
  210 + janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoAnalise");
  211 + }
  212 + janela.show();
  213 + imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO));
  214 + janela.moveTo(imagemxy[0]+(i3GEOF.metaestat.LEFT*2)+i3GEOF.metaestat.LARGURA+10,i3GEOF.metaestat.TOP);
  215 + },
  216 + /**
  217 + * Monta o HTML contendo os elementos DIV que receberao os principais componentes da ferramenta
  218 + * Utilizado para criar a janela da ferramenta
  219 + * @return HTML
  220 + */
  221 + html: function(){
  222 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.html()");
  223 + var ins = Mustache.render(i3GEOF.metaestat.analise.MUSTACHE, i3GEOF.metaestat.analise.mustacheHash());
  224 + return ins;
  225 + },
  226 + /**
  227 + * Monta um combo contendo a lista de camadas originadas do sistema de metadados estatisticos
  228 + * A lista de camadas e obtida com i3GEO.php.listaCamadasMetaestat()
  229 + * O combo e utilizado para o usuario escolher qual a camada que sera alvo de determinado porcesso de analise
  230 + * O combo e inserido no elemento DOM com ID i3geoCartoAnaliseCamadas
  231 + */
  232 + comboCamadas: function(){
  233 + if(!$i("i3geoCartoAnaliseCamadas")){
  234 + return;
  235 + }
  236 + var temp = function(retorno){
  237 + var temas = retorno.data,
  238 + n = temas.length,
  239 + i,t,ins;
  240 + ins = "<p class=paragrafo style='position:relative;top:5px;'>Ativar a camada:</p><select id='i3geoCartoAnaliseCamadasCombo' onchange='i3GEOF.metaestat.comum.ativaCamada(this.value)' style='width:250px;' ><option value=''>---</option>";
  241 + for(i=0;i<n;i++){
  242 + t = i3GEO.arvoreDeCamadas.pegaTema(temas[i]);
  243 + if(t != ""){
  244 + ins += "<option value='"+temas[i]+"'>"+t.tema+"</option>";
  245 + }
  246 + }
  247 + $i("i3geoCartoAnaliseCamadas").innerHTML = ins+"</select>";
  248 + if(i3GEO.temaAtivo != ""){
  249 + $i("i3geoCartoAnaliseCamadasCombo").value = i3GEO.temaAtivo;
  250 + }
  251 + $i("i3geoCartoAnaliseCamadas").style.display = "block";
  252 + i3GEOF.metaestat.comum.aguarde("hidden");
  253 + };
  254 + i3GEO.php.listaCamadasMetaestat(temp);
  255 + }
  256 + },
  257 + /**
  258 + * Funcoes que controlam a janela de parametros
  259 + * Os parametros permitem que o usuario modifique as opcoes default
  260 + * aplicadas quando uma camada e adicionada ao mapa
  261 + */
  262 + classes:{
  263 + /**
  264 + * Inicia a ferramenta
  265 + * Preenche os componetes da interface conforme o tipo definido em i3GEOF.metaestat.INTERFACE
  266 + * Executa as funcoes que constroem os combos
  267 + * Executa i3GEOF.metaestat.classes.abreJanela(); e i3GEOF.metaestat.classes.html();
  268 + * @param ID do div que recebera os componentes da ferramenta
  269 + */
  270 + inicia: function(iddiv){
  271 + if(!$i("i3geoCartoComboMedidasVariavel")){
  272 + i3GEO.janela.tempoMsg("erro: i3geoCartoComboMedidasVariavel???");
  273 + return;
  274 + }
  275 + if($i("i3geoCartoComboMedidasVariavel").value === ""){
  276 + i3GEO.janela.tempoMsg("erro: i3geoCartoComboMedidasVariavel???");
  277 + return;
  278 + }
  279 + if(!iddiv || !$i(iddiv)){
  280 + iddiv = "i3geoCartoClasses_corpo";
  281 + }
  282 + if(i3GEOF.metaestat.INTERFACE == "flutuante"){
  283 + i3GEOF.metaestat.classes.abreJanela();
  284 + $i(iddiv).innerHTML = i3GEOF.metaestat.classes.html();
  285 + i3GEOF.metaestat.classes.comboTipoRep();
  286 + i3GEOF.metaestat.classes.comboTipoClassificacao();
  287 + i3GEOF.metaestat.classes.comboRegiao();
  288 + }
  289 + if(i3GEOF.metaestat.INTERFACE == "flutuanteSimples"){
  290 + i3GEOF.metaestat.classes.abreJanela();
  291 + $i(iddiv).innerHTML = i3GEOF.metaestat.classes.html();
  292 + i3GEOF.metaestat.classes.comboTipoClassificacao();
  293 + }
  294 + },
  295 + /**
  296 + * Abre a janela flutuante da ferramenta
  297 + */
  298 + abreJanela: function(){
  299 + var cabecalho,minimiza,janela;
  300 + if (!$i("i3geoCartoClasses")){
  301 + cabecalho = function(){
  302 + };
  303 + minimiza = function(){
  304 + };
  305 + janela = i3GEO.janela.cria(
  306 + i3GEOF.metaestat.LARGURA+10+"px",
  307 + i3GEOF.metaestat.ALTURA - 50 +"px",
  308 + "",
  309 + "",
  310 + "",
  311 + "</div><div class='i3GeoTituloJanelaBs'>" + $trad('classes',i3GEOF.metaestat.dicionario) + "</div>",
  312 + "i3geoCartoClasses",
  313 + true,
  314 + "hd",
  315 + cabecalho,
  316 + minimiza,
  317 + "",
  318 + false
  319 + );
  320 + janela = janela[0];
  321 + YAHOO.i3GEO.janela.manager.register(janela);
  322 + janela.render();
  323 + }
  324 + else{
  325 + janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoClasses");
  326 + }
  327 + janela.show();
  328 + i3GEOF.metaestat.classes.botaoAplicar();
  329 + },
  330 + /**
  331 + * Ativa o botao que aplica e guarda os parametros escolhidos
  332 + * O botao e o elemento com ID i3GEOcartoClassesBotaoAaplicar
  333 + * A funcao a ser executada e i3GEOF.metaestat.classes.aplicar()
  334 + */
  335 + botaoAplicar: function(){
  336 + YAHOO.i3GEO.janela.manager.find("i3geoCartoClasses").setFooter('<input type="button" id="i3GEOcartoClassesBotaoAaplicar" value="Aplicar" class="paragrafo" style="width:200px;cursor:pointer;color:blue" />');
  337 + new YAHOO.widget.Button(
  338 + "i3GEOcartoClassesBotaoAaplicar",
  339 + {onclick:{fn: i3GEOF.metaestat.classes.aplicar}}
  340 + );
  341 + $i("i3GEOcartoClassesBotaoAaplicar-button").style.width = i3GEOF.metaestat.LARGURA - 15 + "px";
  342 + },
  343 + /**
  344 + * Aplica os parametros
  345 + * Os valores sao armazenados nas variaveis
  346 + * i3GEOF.metaestat.comum.tipoRep
  347 + * i3GEOF.metaestat.comum.tipoClassificacao
  348 + * i3GEOF.metaestat.comum.tipoRegiao
  349 + */
  350 + aplicar: function(){
  351 + i3GEOF.metaestat.log("i3GEOF.metaestat.classes.aplicar()");
352 352
353 - if($i("i3geoCartoComboTipoRep") && $i("i3geoCartoComboTipoRep").options){  
354 - i3GEOF.metaestat.comum.tipoRep = [$i("i3geoCartoComboTipoRep").value,$i("i3geoCartoComboTipoRep").options[$i("i3geoCartoComboTipoRep").selectedIndex].label];  
355 - }  
356 - else{  
357 - i3GEOF.metaestat.comum.tipoRep = [$i("i3geoCartoComboTipoRep").value,""];  
358 - }  
359 - i3GEOF.metaestat.comum.tipoClassificacao = [$i("i3geoCartoComboTipoClassificacao").value,$i("i3geoCartoComboTipoClassificacao").options[$i("i3geoCartoComboTipoClassificacao").selectedIndex].label];  
360 - i3GEOF.metaestat.comum.tipoRegiao = [$i("i3geoCartoComboRegioesMedidasVariavel").value,$i("i3geoCartoComboRegioesMedidasVariavel").options[$i("i3geoCartoComboRegioesMedidasVariavel").selectedIndex].label]; 353 + if($i("i3geoCartoComboTipoRep") && $i("i3geoCartoComboTipoRep").options){
  354 + i3GEOF.metaestat.comum.tipoRep = [$i("i3geoCartoComboTipoRep").value,$i("i3geoCartoComboTipoRep").options[$i("i3geoCartoComboTipoRep").selectedIndex].label];
  355 + }
  356 + else{
  357 + i3GEOF.metaestat.comum.tipoRep = [$i("i3geoCartoComboTipoRep").value,""];
  358 + }
  359 + i3GEOF.metaestat.comum.tipoClassificacao = [$i("i3geoCartoComboTipoClassificacao").value,$i("i3geoCartoComboTipoClassificacao").options[$i("i3geoCartoComboTipoClassificacao").selectedIndex].label];
  360 + i3GEOF.metaestat.comum.tipoRegiao = [$i("i3geoCartoComboRegioesMedidasVariavel").value,$i("i3geoCartoComboRegioesMedidasVariavel").options[$i("i3geoCartoComboRegioesMedidasVariavel").selectedIndex].label];
361 361
362 - i3GEOF.metaestat.classes.destroiJanela();  
363 - },  
364 - /**  
365 - * Zera os parametros escolhidos alterando as variaveis  
366 - * i3GEOF.metaestat.comum.tipoRep  
367 - * i3GEOF.metaestat.comum.tipoClassificacao  
368 - * i3GEOF.metaestat.comum.tipoRegiao  
369 - */  
370 - zeraParametros: function(){  
371 - i3GEOF.metaestat.comum.tipoRep = ["",""];  
372 - i3GEOF.metaestat.comum.tipoClassificacao = ["",""];  
373 - i3GEOF.metaestat.comum.tipoRegiao = ["",""];  
374 - },  
375 - /**  
376 - * Destroi a janela com os parameros  
377 - */  
378 - destroiJanela: function(){  
379 - var janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoClasses");  
380 - if(janela){  
381 - janela.destroy();  
382 - }  
383 - },  
384 - /**  
385 - * Constroi o HtmL que recera os componentes da interface  
386 - * Usado pela funcao que abre a janela flutuante  
387 - * @return HTML  
388 - */  
389 - html: function(){  
390 - var ins = '<div id="i3geoCartoClassesContainer" style="margin-left:5px;">' +  
391 - '<div class="paragrafo" id="i3geoCartoTipoRep" >' +  
392 - '</div>' +  
393 - '<div class="paragrafo" id="i3geoCartoTipoClassificacao" >' +  
394 - '</div>' +  
395 - '<div class="paragrafo" id="i3geoCartoRegioesMedidasVariavel" >' +  
396 - '</div>' +  
397 - '</div>';  
398 - return ins;  
399 - },  
400 - /**  
401 - * Monta o combo com as opcoes de tipo de representacao  
402 - * @return HTML  
403 - */  
404 - comboTipoRep: function(){  
405 - var onde = $i("i3geoCartoTipoRep"),  
406 - ins,i,  
407 - dados = [  
408 - {"codigo":"polygon","nome":"pol&iacute;gonos"},  
409 - {"codigo":"point","nome":"pontos"}  
410 - ],  
411 - n = dados.length;  
412 - ins = '' +  
413 - '<h5>'+$trad('tipoRepresentaDados',i3GEOF.metaestat.dicionario)+'</h5>' +  
414 - //"<div class=styled-select style='"+(i3GEOF.metaestat.LARGURA - 30)+"px;'>" +  
415 - "<select class='form-control' id='i3geoCartoComboTipoRep' onchange=''>";  
416 - for(i=0;i<n;i++){  
417 - ins += "<option value='"+dados[i].codigo+"'>"+dados[i].nome+"</option>";  
418 - }  
419 - ins += "</select></div>";  
420 - if(onde){  
421 - onde.innerHTML = ins;  
422 - //i3GEOF.metaestat.classes.botaoAdicionarCamada();  
423 - }  
424 - return ins;  
425 - },  
426 - /**  
427 - * Monta o combo com as opcoes de tipo de classificacao  
428 - * Obtem a lista de i3GEO.php.listaClassificacaoMedida()  
429 - * @retrun HTML  
430 - */  
431 - comboTipoClassificacao: function(){  
432 - var onde = $i("i3geoCartoTipoClassificacao"),  
433 - combo = $i("i3geoCartoComboMedidasVariavel"),  
434 - temp = function(dados){  
435 - var n = dados.length,  
436 - ins = '<h5>'+$trad('selecionaTipoClassificacao',i3GEOF.metaestat.dicionario)+'</h5>',  
437 - i;  
438 - //ins += "<div class=styled-select style='"+(i3GEOF.metaestat.LARGURA - 30)+"px;'>";  
439 - ins += "<select class='form-control' id='i3geoCartoComboTipoClassificacao' onchange='i3GEOF.metaestat.classes.comboTipoClassificacaoOnchange(this)'><option value=''>---</option>";  
440 - for(i=0;i<n;i++){  
441 - ins += "<option title='"+dados[i].observacao+"' value='"+dados[i].id_classificacao+"'>"+dados[i].nome+"</option>";  
442 - }  
443 - ins += "</select>";  
444 - //{"id_classificacao":"1","nome":"Pela media","id_medida_variavel":"1","observacao":""}  
445 - if(onde){  
446 - onde.innerHTML = ins;  
447 - }  
448 - i3GEOF.metaestat.comum.aguarde("hidden");  
449 - return ins;  
450 - };  
451 - if(combo.value != ""){  
452 - i3GEOF.metaestat.comum.aguarde();  
453 - i3GEO.php.listaClassificacaoMedida(combo.value,temp);  
454 - }  
455 - else{  
456 - onde.innerHTML = "";  
457 - }  
458 - },  
459 - comboTipoClassificacaoOnchange: function(){ 362 + i3GEOF.metaestat.classes.destroiJanela();
  363 + },
  364 + /**
  365 + * Zera os parametros escolhidos alterando as variaveis
  366 + * i3GEOF.metaestat.comum.tipoRep
  367 + * i3GEOF.metaestat.comum.tipoClassificacao
  368 + * i3GEOF.metaestat.comum.tipoRegiao
  369 + */
  370 + zeraParametros: function(){
  371 + i3GEOF.metaestat.comum.tipoRep = ["",""];
  372 + i3GEOF.metaestat.comum.tipoClassificacao = ["",""];
  373 + i3GEOF.metaestat.comum.tipoRegiao = ["",""];
  374 + },
  375 + /**
  376 + * Destroi a janela com os parameros
  377 + */
  378 + destroiJanela: function(){
  379 + var janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoClasses");
  380 + if(janela){
  381 + janela.destroy();
  382 + }
  383 + },
  384 + /**
  385 + * Constroi o HtmL que recera os componentes da interface
  386 + * Usado pela funcao que abre a janela flutuante
  387 + * @return HTML
  388 + */
  389 + html: function(){
  390 + var ins = '<div id="i3geoCartoClassesContainer" style="margin-left:5px;">' +
  391 + '<div class="paragrafo" id="i3geoCartoTipoRep" >' +
  392 + '</div>' +
  393 + '<div class="paragrafo" id="i3geoCartoTipoClassificacao" >' +
  394 + '</div>' +
  395 + '<div class="paragrafo" id="i3geoCartoRegioesMedidasVariavel" >' +
  396 + '</div>' +
  397 + '</div>';
  398 + return ins;
  399 + },
  400 + /**
  401 + * Monta o combo com as opcoes de tipo de representacao
  402 + * @return HTML
  403 + */
  404 + comboTipoRep: function(){
  405 + var onde = $i("i3geoCartoTipoRep"),
  406 + ins,i,
  407 + dados = [
  408 + {"codigo":"polygon","nome":"pol&iacute;gonos"},
  409 + {"codigo":"point","nome":"pontos"}
  410 + ],
  411 + n = dados.length;
  412 + ins = '' +
  413 + '<h5>'+$trad('tipoRepresentaDados',i3GEOF.metaestat.dicionario)+'</h5>' +
  414 + //"<div class=styled-select style='"+(i3GEOF.metaestat.LARGURA - 30)+"px;'>" +
  415 + "<select class='form-control' id='i3geoCartoComboTipoRep' onchange=''>";
  416 + for(i=0;i<n;i++){
  417 + ins += "<option value='"+dados[i].codigo+"'>"+dados[i].nome+"</option>";
  418 + }
  419 + ins += "</select></div>";
  420 + if(onde){
  421 + onde.innerHTML = ins;
  422 + //i3GEOF.metaestat.classes.botaoAdicionarCamada();
  423 + }
  424 + return ins;
  425 + },
  426 + /**
  427 + * Monta o combo com as opcoes de tipo de classificacao
  428 + * Obtem a lista de i3GEO.php.listaClassificacaoMedida()
  429 + * @retrun HTML
  430 + */
  431 + comboTipoClassificacao: function(){
  432 + var onde = $i("i3geoCartoTipoClassificacao"),
  433 + combo = $i("i3geoCartoComboMedidasVariavel"),
  434 + temp = function(dados){
  435 + var n = dados.length,
  436 + ins = '<h5>'+$trad('selecionaTipoClassificacao',i3GEOF.metaestat.dicionario)+'</h5>',
  437 + i;
  438 + //ins += "<div class=styled-select style='"+(i3GEOF.metaestat.LARGURA - 30)+"px;'>";
  439 + ins += "<select class='form-control' id='i3geoCartoComboTipoClassificacao' onchange='i3GEOF.metaestat.classes.comboTipoClassificacaoOnchange(this)'><option value=''>---</option>";
  440 + for(i=0;i<n;i++){
  441 + ins += "<option title='"+dados[i].observacao+"' value='"+dados[i].id_classificacao+"'>"+dados[i].nome+"</option>";
  442 + }
  443 + ins += "</select>";
  444 + //{"id_classificacao":"1","nome":"Pela media","id_medida_variavel":"1","observacao":""}
  445 + if(onde){
  446 + onde.innerHTML = ins;
  447 + }
  448 + i3GEOF.metaestat.comum.aguarde("hidden");
  449 + return ins;
  450 + };
  451 + if(combo.value != ""){
  452 + i3GEOF.metaestat.comum.aguarde();
  453 + i3GEO.php.listaClassificacaoMedida(combo.value,temp);
  454 + }
  455 + else{
  456 + onde.innerHTML = "";
  457 + }
  458 + },
  459 + comboTipoClassificacaoOnchange: function(){
460 460
461 - },  
462 - /**  
463 - * Monta o combo com as opcoes de tipo de regiao  
464 - * Obtem a lista de i3GEO.php.listaRegioesMedidaVariavel()  
465 - * @retrun HTML  
466 - */  
467 - comboRegiao: function(id_medida_variavel){  
468 - i3GEOF.metaestat.comum.aguarde();  
469 - var onde = $i("i3geoCartoRegioesMedidasVariavel"),  
470 - combo = $i("i3geoCartoComboMedidasVariavel"),  
471 - temp = function(dados){  
472 - var n = dados.length,  
473 - ins = '<h5>'+$trad('selecionaTipoLimiteGeog',i3GEOF.metaestat.dicionario)+'</h5>',  
474 - i;  
475 - //ins += "<div class=styled-select style='"+(i3GEOF.metaestat.LARGURA - 30)+"px;'>";  
476 - ins += "<select class='form-control' id='i3geoCartoComboRegioesMedidasVariavel' ><option value=''>---</option>";  
477 - for(i=0;i<n;i++){  
478 - ins += "<option title='"+dados[i].observacao+"' value='"+dados[i].codigo_tipo_regiao+"'>"+dados[i].nome_tipo_regiao+"</option>";  
479 - }  
480 - ins += "</select>";  
481 - if(onde){  
482 - onde.innerHTML = ins;  
483 - }  
484 - i3GEOF.metaestat.comum.aguarde("hidden");  
485 - return ins;  
486 - };  
487 - if(combo.value != ""){  
488 - i3GEOF.metaestat.comum.aguarde();  
489 - i3GEO.php.listaRegioesMedidaVariavel(combo.value,temp);  
490 - }  
491 - }  
492 - },  
493 - /**  
494 - * Funcoes de uso comum das demais funcoes  
495 - */  
496 - comum:{  
497 - /**  
498 - * Faz a carga do dicionario de traducao e na sequencia inicia a ferramenta com i3GEOF.metaestat.principal.inicia()  
499 - */  
500 - iniciaDicionario: function(iddiv,largura, altura, topo, esquerda){  
501 - if(typeof(i3GEOF.metaestat.dicionario) === 'undefined'){  
502 - var temp = function(){  
503 - i3GEOF.metaestat.principal.inicia(iddiv,largura, altura, topo, esquerda);  
504 - };  
505 - i3GEO.util.scriptTag(  
506 - i3GEO.configura.locaplic+"/ferramentas/metaestat/dicionario.js",  
507 - temp,  
508 - "i3GEOF.metaestat.dicionario_script"  
509 - );  
510 - }  
511 - else{  
512 - i3GEOF.metaestat.principal.inicia(iddiv,largura, altura, topo, esquerda);  
513 - }  
514 - },  
515 - /**  
516 - * Aplica ao mapa o status de ligado/desligado de cada camada  
517 - * O status das camadas e mantido em i3GEOF.metaestat.CAMADAS  
518 - * Utiliza a funcao i3GEO.arvoreDeCamadas.ligaDesligaTemas  
519 - */  
520 - desligaCamadas: function(){  
521 - if(i3GEOF.metaestat.CAMADAS.length > 0){  
522 - i3GEO.arvoreDeCamadas.ligaDesligaTemas(i3GEOF.metaestat.CAMADAS.join(","),false);  
523 - }  
524 - },  
525 - /**  
526 - * Armazena o tipo de representacao que o usuario escolheu pela ultima vez  
527 - * O tipo de representacao corresponde ao tipo de geometria que sera utilizada para desenhar os componentes da camada  
528 - * E definida pelo onchange do combo criado por i3GEOF.metaestat.classes.comboTipoRep();  
529 - * Armazena o valor de [value,texto]  
530 - */  
531 - tipoRep: [],  
532 - /**  
533 - * Armazena o tipo de regiao que o usuario escolheu pela ultima vez  
534 - * O tipo de regiao corresponde ao tipo de limite geografico utilizado para desenhar a camada a ser escolhida  
535 - * E definida pelo onchange do combo criado por i3GEOF.metaestat.classes.comboRegiao();  
536 - * Armazena o valor de [value,texto]  
537 - */  
538 - tipoRegiao: [],  
539 - /**  
540 - * Armazena o tipo de classificacao que o usuario escolheu pela ultima vez  
541 - * E definida pelo onchange do combo criado por i3GEOF.metaestat.classes.comboTipoClassificacao();  
542 - * A classificacao define os intervalos de classe e simbologia utilizadas pela camada  
543 - * Armazena o valor de [value,texto]  
544 - */  
545 - tipoClassificacao: [],  
546 - /**  
547 - * Adiciona uma nova camada ao mapa conforme as opcoes escolhidas pelo usuario  
548 - * O usuario deve ter escolhido antes a variavel, medida e demais parametros  
549 - * Os parametros sao obtidos dos componentes de formulario ou variaveis ja definidas em  
550 - * funcao das escolhas feitas pelo usuario  
551 - * Ao executar, primeiro cria um mapfile temporario com i3GEO.php.mapfileMedidaVariavel() e  
552 - * depois adiciona com i3GEO.php.adtema()  
553 - * Atualiza o combo da janela de analise com i3GEOF.metaestat.analise.comboCamadas();  
554 - */  
555 - adicionaCamada: function(){  
556 - i3GEOF.metaestat.log("i3GEOF.metaestat.comum.adicionaCamada()");  
557 - //function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor=""){  
558 - var v = i3GEOF.metaestat.comum.verificaParametros(),  
559 - temp = function(retorno){  
560 - if(i3GEO.arvoreDeCamadas.pegaTema(retorno.layer) == ""){  
561 - i3GEOF.metaestat.comum.desligaCamadas();  
562 - var atualiza = function(){  
563 - i3GEOF.metaestat.comum.aguarde("hidden");  
564 - i3GEO.atualiza();  
565 - i3GEOF.metaestat.CAMADAS.push(retorno.layer);  
566 - i3GEO.mapa.ativaTema(retorno.layer);  
567 - i3GEOF.metaestat.analise.comboCamadas();  
568 - };  
569 - i3GEOF.metaestat.comum.aguarde();  
570 - i3GEO.php.adtema(atualiza,retorno.mapfile);  
571 - }  
572 - };  
573 - if(v != true){  
574 - i3GEO.janela.tempoMsg("erro: "+v);  
575 - return;  
576 - }  
577 - //e necessario obter os parametros nessa interface  
578 - if(i3GEOF.metaestat.INTERFACE == "flutuanteSimples"){  
579 - i3GEOF.metaestat.classes.aplicar();  
580 - }  
581 - if(i3GEO.Interface.ATUAL === "googlemaps"){  
582 - opacidade = 70;  
583 - }  
584 - else{  
585 - opacidade = "";  
586 - }  
587 - i3GEO.php.mapfileMedidaVariavel(  
588 - temp,  
589 - $i("i3geoCartoComboMedidasVariavel").value,  
590 - i3GEOF.metaestat.comum.defineFiltro(),  
591 - 0,  
592 - i3GEOF.metaestat.comum.tipoRep[0],  
593 - i3GEOF.metaestat.comum.defineTitulo(),  
594 - i3GEOF.metaestat.comum.tipoClassificacao[0],  
595 - i3GEOF.metaestat.comum.defineAgruparPor(),  
596 - i3GEOF.metaestat.comum.tipoRegiao[0],  
597 - opacidade  
598 - );  
599 - },  
600 - /**  
601 - * Mostra no mapa uma camada escolhida  
602 - * E usado quando uma nova camada e adicionada ao mapa  
603 - * Primeiro todas as camadas guardadas em i3GEOF.metaestat.CAMADAS sao desligadas  
604 - * @param identificador da camada que sera ligada. Correpsonde ao item "name" do mapfile atual do mapa  
605 - */  
606 - ativaCamada: function(camada){  
607 - i3GEOF.metaestat.log("i3GEOF.metaestat.comum.ativaCamada()");  
608 - if(i3GEOF.metaestat.CAMADAS.length > 0){  
609 - i3GEO.arvoreDeCamadas.ligaDesligaTemas(i3GEOF.metaestat.CAMADAS.join(","),false);  
610 - i3GEO.arvoreDeCamadas.ligaDesligaTemas(camada,true);  
611 - i3GEO.mapa.ativaTema(camada);  
612 - }  
613 - },  
614 - /**  
615 - * Avalia os parametros escolhidos pelo usuario e define qual sera o titulo da camada escolhida  
616 - * E usado quando uma camada e adicionada ao mapa  
617 - * @return string  
618 - */  
619 - defineTitulo: function(){  
620 - i3GEOF.metaestat.log("i3GEOF.metaestat.comum.defineTitulo()");  
621 - //se nao tiver parametros, filtro e vazio  
622 - if(i3GEOF.metaestat.parametros.dados.length == 0 || i3GEOF.metaestat.INTERFACE === "flutuanteSimples"){  
623 - return "";  
624 - }  
625 - //deixa vazio para que o titulo seja definido pelo PHP que monta o mapfile  
626 - if(i3GEOF.metaestat.comum.tipoRep[1] == ""){  
627 - return "";  
628 - }  
629 - var i,n,c,titulo="",  
630 - t=[],  
631 - dados = i3GEOF.metaestat.parametros.dados;  
632 - if($i("i3geoCartoComboVariavel") && $i("i3geoCartoComboVariavel").options){  
633 - titulo = $i("i3geoCartoComboVariavel").options[$i("i3geoCartoComboVariavel").selectedIndex].label +" - ";  
634 - }  
635 - titulo += $i("i3geoCartoComboMedidasVariavel").options[$i("i3geoCartoComboMedidasVariavel").selectedIndex].label +" - "+  
636 - i3GEOF.metaestat.comum.tipoRep[1] +" - "+  
637 - i3GEOF.metaestat.comum.tipoClassificacao[1] + " - " +  
638 - i3GEOF.metaestat.comum.tipoRegiao[1];  
639 - n = dados.length;  
640 - for(i=0;i<n;i++){  
641 - c = $i("comboparametro_"+dados[i].id_parametro_medida+"_"+dados[i].id_pai);  
642 - if(c && c.value != ""){  
643 - t.push(dados[i].nome+" = "+c.value);  
644 - }  
645 - }  
646 - if(t.length > 0){  
647 - return titulo+" - "+t.join(", ");  
648 - }  
649 - else{  
650 - return titulo;  
651 - }  
652 - },  
653 - /**  
654 - * Avalia os parametros escolhidos pelo usuario e define qual sera o filtro para a camada escolhida  
655 - * E usado quando uma camada e adicionada ao mapa  
656 - * @return string  
657 - */  
658 - defineFiltro: function(){  
659 - i3GEOF.metaestat.log("i3GEOF.metaestat.comum.defineFiltro()");  
660 - //se nao tiver parametros, filtro e vazio  
661 - if(i3GEOF.metaestat.parametros.dados.length == 0){  
662 - return "";  
663 - }  
664 - //se tiver parametro e todos estiverem vazios, aborta  
665 - var i,n,c,val,  
666 - t=[],  
667 - dados = i3GEOF.metaestat.parametros.dados;  
668 - n = dados.length;  
669 - for(i=0;i<n;i++){  
670 - c = $i("comboparametro_"+dados[i].id_parametro_medida+"_"+dados[i].id_pai);  
671 - if(c){  
672 - if(c.value != "" && i3GEOF.metaestat.MULTIPARAMETROS === false){  
673 - t.push(dados[i].coluna+'="'+c.value+'"');  
674 - }  
675 - else{  
676 - val = i3GEO.util.valoresCheckCombo(c.id);  
677 - if(val.length > 0){  
678 - t.push(dados[i].coluna+' IN ("'+val.join('","')+'")');  
679 - }  
680 - }  
681 - }  
682 - }  
683 - if(t.length > 0){  
684 - return t.join(" and ");  
685 - }  
686 - else{  
687 - return "";  
688 - }  
689 - },  
690 - /**  
691 - * Avalia os parametros escolhidos pelo usuario e define qual o nivel de agregacao dos dados para a camada escolhida  
692 - * E usado quando uma camada e adicionada ao mapa  
693 - * @return string  
694 - */  
695 - defineAgruparPor: function(){  
696 - i3GEOF.metaestat.log("i3GEOF.metaestat.comum.defineAgruparPor()");  
697 - //se nao tiver parametros, filtro e vazio  
698 - if(i3GEOF.metaestat.parametros.dados.length == 0){  
699 - return "";  
700 - }  
701 - //se tiver parametro e todos estiverem vazios, aborta  
702 - var i,n,c,  
703 - t=[],  
704 - dados = i3GEOF.metaestat.parametros.dados;  
705 - n = dados.length;  
706 - for(i=0;i<n;i++){  
707 - c = $i("comboparametro_"+dados[i].id_parametro_medida+"_"+dados[i].id_pai);  
708 - if(c && c.value != ""){  
709 - t.push(dados[i].coluna);  
710 - }  
711 - }  
712 - if(t.length > 0){  
713 - return t.join(",");  
714 - }  
715 - else{  
716 - return "";  
717 - }  
718 - },  
719 - /**  
720 - * Verifica se os parametros obrigatorios foram escolhidos  
721 - * Utilizado quando uma nova camada e adicionada ao mapa  
722 - */  
723 - verificaParametros: function(){  
724 - i3GEOF.metaestat.log("i3GEOF.metaestat.comum.verificaParametros()");  
725 - var ok = true,  
726 - combos = ["i3geoCartoComboMedidasVariavel"],  
727 - n = combos.length,  
728 - i,temp;  
729 - for(i=0;i<n;i++){  
730 - temp = $i(combos[i]);  
731 - if(!temp){  
732 - return combos[i];  
733 - }  
734 - if(temp.value == ""){  
735 - return combos[i];  
736 - }  
737 - }  
738 - return ok;  
739 - },  
740 - /**  
741 - * Torna visivel/invisivel a imagem com o sinal de aguarde  
742 - * @param objeto DOM que contem a imagem  
743 - * @return objeto DOM com a imagem caso nao exista  
744 - */  
745 - aguarde: function(v){  
746 - if(!v){  
747 - v = "visible";  
748 - }  
749 - var a = $i("aguardeMetaestat");  
750 - if(a){  
751 - a.style.visibility = v;  
752 - }  
753 - }  
754 - },  
755 - /**  
756 - * Funcoes que controlam o ajudante de edicao do cadastro de variaveis  
757 - */  
758 - editor: {  
759 - /**  
760 - * Inicia o editor carregando as dependencias de javascript necessarias  
761 - * Como as dependencias sao carregadas em paralelo, a carga e definida em funcoes em cascata  
762 - * Carrega ferramentas/metaestat/dicionario1.js  
763 - * Executa i3GEOF.metaestat.editor.dependenciasjs0()  
764 - */  
765 - inicia: function(){  
766 - YAHOO.namespace("admin.container");  
767 - if(typeof(i3GEOF.metaestat.dicionario1) === 'undefined'){  
768 - i3GEO.util.scriptTag(  
769 - i3GEO.configura.locaplic+"/ferramentas/metaestat/dicionario1.js",  
770 - "i3GEOF.metaestat.editor.dependenciasjs0()",  
771 - "i3GEOF.metaestat.dicionario1_script"  
772 - );  
773 - }  
774 - else{  
775 - i3GEOF.metaestat.editor.dependenciasjs0();  
776 - }  
777 - },  
778 - /**  
779 - * Carrega os javascripts do sistema de administracao do i3Geo e que tbm sao usados aqui  
780 - * Carrega admin/js/core.js  
781 - * Executa i3GEOF.metaestat.editor.dependenciasjs1()  
782 - */  
783 - dependenciasjs0: function(){  
784 - i3GEO.util.scriptTag(  
785 - i3GEO.configura.locaplic+"/admin/js/core.js",  
786 - "i3GEOF.metaestat.editor.dependenciasjs1()",  
787 - "i3GEOF.metaestat.dependenciasjs0_script"  
788 - );  
789 - },  
790 - /**  
791 - * Carrega os javascripts do sistema de administracao do i3Geo e que tbm sao usados aqui  
792 - * Carrega admin/js/estat_variavel.js  
793 - * Executa i3GEOF.metaestat.editor.ativa()  
794 - */  
795 - dependenciasjs1: function(){  
796 - i3GEO.util.scriptTag(  
797 - i3GEO.configura.locaplic+"/admin/js/estat_variavel.js",  
798 - "i3GEOF.metaestat.editor.ativa()",  
799 - "i3GEOF.metaestat.dependenciasjs1_script"  
800 - );  
801 - },  
802 - /**  
803 - * Inicia a ferramenta  
804 - * Verifica se o usuario esta logado  
805 - * Se estiver, chama a funcao para montagem da interface  
806 - * Executa i3GEOF.metaestat.editor.t0();  
807 - */  
808 - ativa: function(iddiv){  
809 - var loginok = function(){  
810 - i3GEOadmin.variaveis.inicia();  
811 - if(!iddiv){  
812 - iddiv = "i3geoCartoEditor_corpo";  
813 - }  
814 - if(i3GEOF.metaestat.INTERFACE == "flutuante"){  
815 - i3GEOF.metaestat.editor.abreJanela();  
816 - }  
817 - $i(iddiv).innerHTML = i3GEOF.metaestat.editor.html();  
818 - i3GEOF.metaestat.editor.t0();  
819 - },  
820 - loginNok = function(){  
821 - i3GEO.janela.tempoMsg("Voc&ecirc; precisa fazer login para usar essa op&ccedil;&atilde;o");  
822 - i3GEO.login.dialogo.abreLogin();  
823 - };  
824 - //verifica login  
825 - i3GEO.login.verificaOperacao("admin/metaestat/geral",i3GEO.configura.locaplic, loginok, "sessao",loginNok);  
826 - },  
827 - /**  
828 - * Funcao que abre a janela flutuante se i3GEOF.metaestat.INTERFACE == "flutuante"  
829 - */  
830 - abreJanela: function(){  
831 - var cabecalho,minimiza,imagemxy,janela;  
832 - if (!$i("i3geoCartoEditor")){  
833 - cabecalho = function(){};  
834 - minimiza = function(){  
835 - i3GEO.janela.minimiza("i3geoCartoEditor");  
836 - };  
837 - janela = i3GEO.janela.cria(  
838 - "400px",  
839 - "320px",  
840 - "",  
841 - "",  
842 - "",  
843 - "</div><div class='i3GeoTituloJanelaBs'>" + $trad('ajudanteEditor',i3GEOF.metaestat.dicionario1) + "</div>",  
844 - "i3geoCartoEditor",  
845 - false,  
846 - "hd",  
847 - cabecalho,  
848 - minimiza,  
849 - "",  
850 - false  
851 - );  
852 - janela = janela[0];  
853 - YAHOO.i3GEO.janela.manager.register(janela);  
854 - janela.render();  
855 - }  
856 - else{  
857 - janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoEditor");  
858 - }  
859 - janela.show();  
860 - imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO));  
861 - janela.moveTo(imagemxy[0]+i3GEOF.metaestat.LEFT+i3GEOF.metaestat.LARGURA+20,i3GEOF.metaestat.TOP+20);  
862 - },  
863 - /**  
864 - * Retorna o HTML com os elementos DIV, com id i3GEOFmetaestatEditor, onde os conteudos da interface serao inseridos  
865 - * @return HTML  
866 - */  
867 - html: function(){  
868 - var ins = '';  
869 - ins += '<div style="background-color:#F2F2F2;top:0px;left:0px;display:block;width:98%;margin-left:5px;" id="i3GEOFmetaestatEditor" >';  
870 - ins += '</div>';  
871 - return ins;  
872 - },  
873 - /**  
874 - * Abre o formulario para criacao de uma variavel  
875 - */  
876 - criaVariavel: function(){  
877 - i3GEOadmin.variaveis.aposGravar = function(){  
878 - core_carregando("desativa");  
879 - //refaz o conteudo para mostrar a nova adicao  
880 - i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t1");  
881 - // Enome e o id do input onde o usuario escolheu o nome da nova variavel  
882 - i3GEOF.metaestat.editor.t1(true,$i("Enome").value);  
883 - i3GEOF.metaestat.principal.inicia();  
884 - };  
885 - i3GEOadmin.variaveis.editar("variavel","");  
886 - },  
887 - /**  
888 - * Abre o formulario para edicao de uma variavel  
889 - */  
890 - editaVariavel: function(){  
891 - i3GEOadmin.variaveis.aposGravar = function(){  
892 - core_carregando("desativa");  
893 - //refaz o conteudo para mostrar a nova adicao  
894 - i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t1");  
895 - // Enome e o id do input onde o usuario escolheu o nome da nova variavel  
896 - i3GEOF.metaestat.editor.t1(true,$i("Enome").value);  
897 - i3GEOF.metaestat.principal.inicia();  
898 - };  
899 - var codigo_variavel = $i("i3geoCartoComboVariavelEditor").value;  
900 - if(codigo_variavel !== ""){  
901 - i3GEOadmin.variaveis.editar("variavel",codigo_variavel);  
902 - }  
903 - },  
904 - /**  
905 - * Abre o formulario para criacao de uma medida de variavel  
906 - * Os valores default sao definidos em i3GEOF.metaestat.inicia  
907 - */  
908 - criaMedidaVariavel: function(){  
909 - i3GEOadmin.variaveis.aposGravar = function(){  
910 - core_carregando("desativa");  
911 - //refaz o conteudo para mostrar a nova adicao  
912 - i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t2");  
913 - // Enomemedida e o id do input onde o usuario escolheu o nome da nova variavel  
914 - i3GEOF.metaestat.editor.t2(true,$i("Enomemedida").value);  
915 - i3GEOF.metaestat.principal.inicia();  
916 - };  
917 - i3GEOadmin.variaveis.editar("medidaVariavel","");  
918 - //insere uma opcao para ativar as opcoes adicionais que sao usadas quando o usuario quer  
919 - //usar dados ja existentes em um banco de dados  
920 - var temp,botoesdiv = $i("okcancel_checkbox"),  
921 - btn = document.createElement("div"),  
922 - oclick = '$i(\"editorMedidaDefault\").style.display = \"block\";$i(\"Eesquemadb\").style.display = \"block\";$i(\"Etabela\").style.display = \"block\";';  
923 - btn.innerHTML = "<br><input type=checkbox style='position:relative;top:3px;cursor:pointer;' onclick='javascript:"+oclick+"'/> Quero usar uma tabela j&aacute; existente ou alterar os par&acirc;metros adicionais";  
924 - botoesdiv.appendChild(btn); 461 + },
  462 + /**
  463 + * Monta o combo com as opcoes de tipo de regiao
  464 + * Obtem a lista de i3GEO.php.listaRegioesMedidaVariavel()
  465 + * @retrun HTML
  466 + */
  467 + comboRegiao: function(id_medida_variavel){
  468 + i3GEOF.metaestat.comum.aguarde();
  469 + var onde = $i("i3geoCartoRegioesMedidasVariavel"),
  470 + combo = $i("i3geoCartoComboMedidasVariavel"),
  471 + temp = function(dados){
  472 + var n = dados.length,
  473 + ins = '<h5>'+$trad('selecionaTipoLimiteGeog',i3GEOF.metaestat.dicionario)+'</h5>',
  474 + i;
  475 + //ins += "<div class=styled-select style='"+(i3GEOF.metaestat.LARGURA - 30)+"px;'>";
  476 + ins += "<select class='form-control' id='i3geoCartoComboRegioesMedidasVariavel' ><option value=''>---</option>";
  477 + for(i=0;i<n;i++){
  478 + ins += "<option title='"+dados[i].observacao+"' value='"+dados[i].codigo_tipo_regiao+"'>"+dados[i].nome_tipo_regiao+"</option>";
  479 + }
  480 + ins += "</select>";
  481 + if(onde){
  482 + onde.innerHTML = ins;
  483 + }
  484 + i3GEOF.metaestat.comum.aguarde("hidden");
  485 + return ins;
  486 + };
  487 + if(combo.value != ""){
  488 + i3GEOF.metaestat.comum.aguarde();
  489 + i3GEO.php.listaRegioesMedidaVariavel(combo.value,temp);
  490 + }
  491 + }
  492 + },
  493 + /**
  494 + * Funcoes de uso comum das demais funcoes
  495 + */
  496 + comum:{
  497 + /**
  498 + * Faz a carga do dicionario de traducao e na sequencia inicia a ferramenta com i3GEOF.metaestat.principal.inicia()
  499 + */
  500 + iniciaDicionario: function(iddiv,largura, altura, topo, esquerda){
  501 + if(typeof(i3GEOF.metaestat.dicionario) === 'undefined'){
  502 + var temp = function(){
  503 + i3GEOF.metaestat.principal.inicia(iddiv,largura, altura, topo, esquerda);
  504 + };
  505 + i3GEO.util.scriptTag(
  506 + i3GEO.configura.locaplic+"/ferramentas/metaestat/dicionario.js",
  507 + temp,
  508 + "i3GEOF.metaestat.dicionario_script"
  509 + );
  510 + }
  511 + else{
  512 + i3GEOF.metaestat.principal.inicia(iddiv,largura, altura, topo, esquerda);
  513 + }
  514 + },
  515 + /**
  516 + * Aplica ao mapa o status de ligado/desligado de cada camada
  517 + * O status das camadas e mantido em i3GEOF.metaestat.CAMADAS
  518 + * Utiliza a funcao i3GEO.arvoreDeCamadas.ligaDesligaTemas
  519 + */
  520 + desligaCamadas: function(){
  521 + if(i3GEOF.metaestat.CAMADAS.length > 0){
  522 + i3GEO.arvoreDeCamadas.ligaDesligaTemas(i3GEOF.metaestat.CAMADAS.join(","),false);
  523 + }
  524 + },
  525 + /**
  526 + * Armazena o tipo de representacao que o usuario escolheu pela ultima vez
  527 + * O tipo de representacao corresponde ao tipo de geometria que sera utilizada para desenhar os componentes da camada
  528 + * E definida pelo onchange do combo criado por i3GEOF.metaestat.classes.comboTipoRep();
  529 + * Armazena o valor de [value,texto]
  530 + */
  531 + tipoRep: [],
  532 + /**
  533 + * Armazena o tipo de regiao que o usuario escolheu pela ultima vez
  534 + * O tipo de regiao corresponde ao tipo de limite geografico utilizado para desenhar a camada a ser escolhida
  535 + * E definida pelo onchange do combo criado por i3GEOF.metaestat.classes.comboRegiao();
  536 + * Armazena o valor de [value,texto]
  537 + */
  538 + tipoRegiao: [],
  539 + /**
  540 + * Armazena o tipo de classificacao que o usuario escolheu pela ultima vez
  541 + * E definida pelo onchange do combo criado por i3GEOF.metaestat.classes.comboTipoClassificacao();
  542 + * A classificacao define os intervalos de classe e simbologia utilizadas pela camada
  543 + * Armazena o valor de [value,texto]
  544 + */
  545 + tipoClassificacao: [],
  546 + /**
  547 + * Adiciona uma nova camada ao mapa conforme as opcoes escolhidas pelo usuario
  548 + * O usuario deve ter escolhido antes a variavel, medida e demais parametros
  549 + * Os parametros sao obtidos dos componentes de formulario ou variaveis ja definidas em
  550 + * funcao das escolhas feitas pelo usuario
  551 + * Ao executar, primeiro cria um mapfile temporario com i3GEO.php.mapfileMedidaVariavel() e
  552 + * depois adiciona com i3GEO.php.adtema()
  553 + * Atualiza o combo da janela de analise com i3GEOF.metaestat.analise.comboCamadas();
  554 + */
  555 + adicionaCamada: function(){
  556 + i3GEOF.metaestat.log("i3GEOF.metaestat.comum.adicionaCamada()");
  557 + //function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor=""){
  558 + var v = i3GEOF.metaestat.comum.verificaParametros(),
  559 + temp = function(retorno){
  560 + if(i3GEO.arvoreDeCamadas.pegaTema(retorno.layer) == ""){
  561 + i3GEOF.metaestat.comum.desligaCamadas();
  562 + var atualiza = function(){
  563 + i3GEOF.metaestat.comum.aguarde("hidden");
  564 + i3GEO.atualiza();
  565 + i3GEOF.metaestat.CAMADAS.push(retorno.layer);
  566 + i3GEO.mapa.ativaTema(retorno.layer);
  567 + i3GEOF.metaestat.analise.comboCamadas();
  568 + };
  569 + i3GEOF.metaestat.comum.aguarde();
  570 + i3GEO.php.adtema(atualiza,retorno.mapfile);
  571 + }
  572 + };
  573 + if(v != true){
  574 + i3GEO.janela.tempoMsg("erro: "+v);
  575 + return;
  576 + }
  577 + //e necessario obter os parametros nessa interface
  578 + if(i3GEOF.metaestat.INTERFACE == "flutuanteSimples"){
  579 + i3GEOF.metaestat.classes.aplicar();
  580 + }
  581 + if(i3GEO.Interface.ATUAL === "googlemaps"){
  582 + opacidade = 70;
  583 + }
  584 + else{
  585 + opacidade = "";
  586 + }
  587 + i3GEO.php.mapfileMedidaVariavel(
  588 + temp,
  589 + $i("i3geoCartoComboMedidasVariavel").value,
  590 + i3GEOF.metaestat.comum.defineFiltro(),
  591 + 0,
  592 + i3GEOF.metaestat.comum.tipoRep[0],
  593 + i3GEOF.metaestat.comum.defineTitulo(),
  594 + i3GEOF.metaestat.comum.tipoClassificacao[0],
  595 + i3GEOF.metaestat.comum.defineAgruparPor(),
  596 + i3GEOF.metaestat.comum.tipoRegiao[0],
  597 + opacidade
  598 + );
  599 + },
  600 + /**
  601 + * Mostra no mapa uma camada escolhida
  602 + * E usado quando uma nova camada e adicionada ao mapa
  603 + * Primeiro todas as camadas guardadas em i3GEOF.metaestat.CAMADAS sao desligadas
  604 + * @param identificador da camada que sera ligada. Correpsonde ao item "name" do mapfile atual do mapa
  605 + */
  606 + ativaCamada: function(camada){
  607 + i3GEOF.metaestat.log("i3GEOF.metaestat.comum.ativaCamada()");
  608 + if(i3GEOF.metaestat.CAMADAS.length > 0){
  609 + i3GEO.arvoreDeCamadas.ligaDesligaTemas(i3GEOF.metaestat.CAMADAS.join(","),false);
  610 + i3GEO.arvoreDeCamadas.ligaDesligaTemas(camada,true);
  611 + i3GEO.mapa.ativaTema(camada);
  612 + }
  613 + },
  614 + /**
  615 + * Avalia os parametros escolhidos pelo usuario e define qual sera o titulo da camada escolhida
  616 + * E usado quando uma camada e adicionada ao mapa
  617 + * @return string
  618 + */
  619 + defineTitulo: function(){
  620 + i3GEOF.metaestat.log("i3GEOF.metaestat.comum.defineTitulo()");
  621 + //se nao tiver parametros, filtro e vazio
  622 + if(i3GEOF.metaestat.parametros.dados.length == 0 || i3GEOF.metaestat.INTERFACE === "flutuanteSimples"){
  623 + return "";
  624 + }
  625 + //deixa vazio para que o titulo seja definido pelo PHP que monta o mapfile
  626 + if(i3GEOF.metaestat.comum.tipoRep[1] == ""){
  627 + return "";
  628 + }
  629 + var i,n,c,titulo="",
  630 + t=[],
  631 + dados = i3GEOF.metaestat.parametros.dados;
  632 + if($i("i3geoCartoComboVariavel") && $i("i3geoCartoComboVariavel").options){
  633 + titulo = $i("i3geoCartoComboVariavel").options[$i("i3geoCartoComboVariavel").selectedIndex].label +" - ";
  634 + }
  635 + titulo += $i("i3geoCartoComboMedidasVariavel").options[$i("i3geoCartoComboMedidasVariavel").selectedIndex].label +" - "+
  636 + i3GEOF.metaestat.comum.tipoRep[1] +" - "+
  637 + i3GEOF.metaestat.comum.tipoClassificacao[1] + " - " +
  638 + i3GEOF.metaestat.comum.tipoRegiao[1];
  639 + n = dados.length;
  640 + for(i=0;i<n;i++){
  641 + c = $i("comboparametro_"+dados[i].id_parametro_medida+"_"+dados[i].id_pai);
  642 + if(c && c.value != ""){
  643 + t.push(dados[i].nome+" = "+c.value);
  644 + }
  645 + }
  646 + if(t.length > 0){
  647 + return titulo+" - "+t.join(", ");
  648 + }
  649 + else{
  650 + return titulo;
  651 + }
  652 + },
  653 + /**
  654 + * Avalia os parametros escolhidos pelo usuario e define qual sera o filtro para a camada escolhida
  655 + * E usado quando uma camada e adicionada ao mapa
  656 + * @return string
  657 + */
  658 + defineFiltro: function(){
  659 + i3GEOF.metaestat.log("i3GEOF.metaestat.comum.defineFiltro()");
  660 + //se nao tiver parametros, filtro e vazio
  661 + if(i3GEOF.metaestat.parametros.dados.length == 0){
  662 + return "";
  663 + }
  664 + //se tiver parametro e todos estiverem vazios, aborta
  665 + var i,n,c,val,
  666 + t=[],
  667 + dados = i3GEOF.metaestat.parametros.dados;
  668 + n = dados.length;
  669 + for(i=0;i<n;i++){
  670 + c = $i("comboparametro_"+dados[i].id_parametro_medida+"_"+dados[i].id_pai);
  671 + if(c){
  672 + if(c.value != "" && i3GEOF.metaestat.MULTIPARAMETROS === false){
  673 + t.push(dados[i].coluna+'="'+c.value+'"');
  674 + }
  675 + else{
  676 + val = i3GEO.util.valoresCheckCombo(c.id);
  677 + if(val.length > 0){
  678 + t.push(dados[i].coluna+' IN ("'+val.join('","')+'")');
  679 + }
  680 + }
  681 + }
  682 + }
  683 + if(t.length > 0){
  684 + return t.join(" and ");
  685 + }
  686 + else{
  687 + return "";
  688 + }
  689 + },
  690 + /**
  691 + * Avalia os parametros escolhidos pelo usuario e define qual o nivel de agregacao dos dados para a camada escolhida
  692 + * E usado quando uma camada e adicionada ao mapa
  693 + * @return string
  694 + */
  695 + defineAgruparPor: function(){
  696 + i3GEOF.metaestat.log("i3GEOF.metaestat.comum.defineAgruparPor()");
  697 + //se nao tiver parametros, filtro e vazio
  698 + if(i3GEOF.metaestat.parametros.dados.length == 0){
  699 + return "";
  700 + }
  701 + //se tiver parametro e todos estiverem vazios, aborta
  702 + var i,n,c,
  703 + t=[],
  704 + dados = i3GEOF.metaestat.parametros.dados;
  705 + n = dados.length;
  706 + for(i=0;i<n;i++){
  707 + c = $i("comboparametro_"+dados[i].id_parametro_medida+"_"+dados[i].id_pai);
  708 + if(c && c.value != ""){
  709 + t.push(dados[i].coluna);
  710 + }
  711 + }
  712 + if(t.length > 0){
  713 + return t.join(",");
  714 + }
  715 + else{
  716 + return "";
  717 + }
  718 + },
  719 + /**
  720 + * Verifica se os parametros obrigatorios foram escolhidos
  721 + * Utilizado quando uma nova camada e adicionada ao mapa
  722 + */
  723 + verificaParametros: function(){
  724 + i3GEOF.metaestat.log("i3GEOF.metaestat.comum.verificaParametros()");
  725 + var ok = true,
  726 + combos = ["i3geoCartoComboMedidasVariavel"],
  727 + n = combos.length,
  728 + i,temp;
  729 + for(i=0;i<n;i++){
  730 + temp = $i(combos[i]);
  731 + if(!temp){
  732 + return combos[i];
  733 + }
  734 + if(temp.value == ""){
  735 + return combos[i];
  736 + }
  737 + }
  738 + return ok;
  739 + },
  740 + /**
  741 + * Torna visivel/invisivel a imagem com o sinal de aguarde
  742 + * @param objeto DOM que contem a imagem
  743 + * @return objeto DOM com a imagem caso nao exista
  744 + */
  745 + aguarde: function(v){
  746 + if(!v){
  747 + v = "visible";
  748 + }
  749 + var a = $i("aguardeMetaestat");
  750 + if(a){
  751 + a.style.visibility = v;
  752 + }
  753 + }
  754 + },
  755 + /**
  756 + * Funcoes que controlam o ajudante de edicao do cadastro de variaveis
  757 + */
  758 + editor: {
  759 + /**
  760 + * Inicia o editor carregando as dependencias de javascript necessarias
  761 + * Como as dependencias sao carregadas em paralelo, a carga e definida em funcoes em cascata
  762 + * Carrega ferramentas/metaestat/dicionario1.js
  763 + * Executa i3GEOF.metaestat.editor.dependenciasjs0()
  764 + */
  765 + inicia: function(){
  766 + YAHOO.namespace("admin.container");
  767 + if(typeof(i3GEOF.metaestat.dicionario1) === 'undefined'){
  768 + i3GEO.util.scriptTag(
  769 + i3GEO.configura.locaplic+"/ferramentas/metaestat/dicionario1.js",
  770 + "i3GEOF.metaestat.editor.dependenciasjs0()",
  771 + "i3GEOF.metaestat.dicionario1_script"
  772 + );
  773 + }
  774 + else{
  775 + i3GEOF.metaestat.editor.dependenciasjs0();
  776 + }
  777 + },
  778 + /**
  779 + * Carrega os javascripts do sistema de administracao do i3Geo e que tbm sao usados aqui
  780 + * Carrega admin/js/core.js
  781 + * Executa i3GEOF.metaestat.editor.dependenciasjs1()
  782 + */
  783 + dependenciasjs0: function(){
  784 + i3GEO.util.scriptTag(
  785 + i3GEO.configura.locaplic+"/admin/js/core.js",
  786 + "i3GEOF.metaestat.editor.dependenciasjs1()",
  787 + "i3GEOF.metaestat.dependenciasjs0_script"
  788 + );
  789 + },
  790 + /**
  791 + * Carrega os javascripts do sistema de administracao do i3Geo e que tbm sao usados aqui
  792 + * Carrega admin/js/estat_variavel.js
  793 + * Executa i3GEOF.metaestat.editor.ativa()
  794 + */
  795 + dependenciasjs1: function(){
  796 + i3GEO.util.scriptTag(
  797 + i3GEO.configura.locaplic+"/admin/js/estat_variavel.js",
  798 + "i3GEOF.metaestat.editor.ativa()",
  799 + "i3GEOF.metaestat.dependenciasjs1_script"
  800 + );
  801 + },
  802 + /**
  803 + * Inicia a ferramenta
  804 + * Verifica se o usuario esta logado
  805 + * Se estiver, chama a funcao para montagem da interface
  806 + * Executa i3GEOF.metaestat.editor.t0();
  807 + */
  808 + ativa: function(iddiv){
  809 + var loginok = function(){
  810 + i3GEOadmin.variaveis.inicia();
  811 + if(!iddiv){
  812 + iddiv = "i3geoCartoEditor_corpo";
  813 + }
  814 + if(i3GEOF.metaestat.INTERFACE == "flutuante"){
  815 + i3GEOF.metaestat.editor.abreJanela();
  816 + }
  817 + $i(iddiv).innerHTML = i3GEOF.metaestat.editor.html();
  818 + i3GEOF.metaestat.editor.t0();
  819 + },
  820 + loginNok = function(){
  821 + i3GEO.janela.tempoMsg("Voc&ecirc; precisa fazer login para usar essa op&ccedil;&atilde;o");
  822 + i3GEO.login.dialogo.abreLogin();
  823 + };
  824 + //verifica login
  825 + i3GEO.login.verificaOperacao("admin/metaestat/geral",i3GEO.configura.locaplic, loginok, "sessao",loginNok);
  826 + },
  827 + /**
  828 + * Funcao que abre a janela flutuante se i3GEOF.metaestat.INTERFACE == "flutuante"
  829 + */
  830 + abreJanela: function(){
  831 + var cabecalho,minimiza,imagemxy,janela;
  832 + if (!$i("i3geoCartoEditor")){
  833 + cabecalho = function(){};
  834 + minimiza = function(){
  835 + i3GEO.janela.minimiza("i3geoCartoEditor");
  836 + };
  837 + janela = i3GEO.janela.cria(
  838 + "400px",
  839 + "320px",
  840 + "",
  841 + "",
  842 + "",
  843 + "</div><div class='i3GeoTituloJanelaBs'>" + $trad('ajudanteEditor',i3GEOF.metaestat.dicionario1) + "</div>",
  844 + "i3geoCartoEditor",
  845 + false,
  846 + "hd",
  847 + cabecalho,
  848 + minimiza,
  849 + "",
  850 + false
  851 + );
  852 + janela = janela[0];
  853 + YAHOO.i3GEO.janela.manager.register(janela);
  854 + janela.render();
  855 + }
  856 + else{
  857 + janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoEditor");
  858 + }
  859 + janela.show();
  860 + imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO));
  861 + janela.moveTo(imagemxy[0]+i3GEOF.metaestat.LEFT+i3GEOF.metaestat.LARGURA+20,i3GEOF.metaestat.TOP+20);
  862 + },
  863 + /**
  864 + * Retorna o HTML com os elementos DIV, com id i3GEOFmetaestatEditor, onde os conteudos da interface serao inseridos
  865 + * @return HTML
  866 + */
  867 + html: function(){
  868 + var ins = '';
  869 + ins += '<div style="background-color:#F2F2F2;top:0px;left:0px;display:block;width:98%;margin-left:5px;" id="i3GEOFmetaestatEditor" >';
  870 + ins += '</div>';
  871 + return ins;
  872 + },
  873 + /**
  874 + * Abre o formulario para criacao de uma variavel
  875 + */
  876 + criaVariavel: function(){
  877 + i3GEOadmin.variaveis.aposGravar = function(){
  878 + core_carregando("desativa");
  879 + //refaz o conteudo para mostrar a nova adicao
  880 + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t1");
  881 + // Enome e o id do input onde o usuario escolheu o nome da nova variavel
  882 + i3GEOF.metaestat.editor.t1(true,$i("Enome").value);
  883 + i3GEOF.metaestat.principal.inicia();
  884 + };
  885 + i3GEOadmin.variaveis.editar("variavel","");
  886 + },
  887 + /**
  888 + * Abre o formulario para edicao de uma variavel
  889 + */
  890 + editaVariavel: function(){
  891 + i3GEOadmin.variaveis.aposGravar = function(){
  892 + core_carregando("desativa");
  893 + //refaz o conteudo para mostrar a nova adicao
  894 + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t1");
  895 + // Enome e o id do input onde o usuario escolheu o nome da nova variavel
  896 + i3GEOF.metaestat.editor.t1(true,$i("Enome").value);
  897 + i3GEOF.metaestat.principal.inicia();
  898 + };
  899 + var codigo_variavel = $i("i3geoCartoComboVariavelEditor").value;
  900 + if(codigo_variavel !== ""){
  901 + i3GEOadmin.variaveis.editar("variavel",codigo_variavel);
  902 + }
  903 + },
  904 + /**
  905 + * Abre o formulario para criacao de uma medida de variavel
  906 + * Os valores default sao definidos em i3GEOF.metaestat.inicia
  907 + */
  908 + criaMedidaVariavel: function(){
  909 + i3GEOadmin.variaveis.aposGravar = function(){
  910 + core_carregando("desativa");
  911 + //refaz o conteudo para mostrar a nova adicao
  912 + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t2");
  913 + // Enomemedida e o id do input onde o usuario escolheu o nome da nova variavel
  914 + i3GEOF.metaestat.editor.t2(true,$i("Enomemedida").value);
  915 + i3GEOF.metaestat.principal.inicia();
  916 + };
  917 + i3GEOadmin.variaveis.editar("medidaVariavel","");
  918 + //insere uma opcao para ativar as opcoes adicionais que sao usadas quando o usuario quer
  919 + //usar dados ja existentes em um banco de dados
  920 + var temp,botoesdiv = $i("okcancel_checkbox"),
  921 + btn = document.createElement("div"),
  922 + oclick = '$i(\"editorMedidaDefault\").style.display = \"block\";$i(\"Eesquemadb\").style.display = \"block\";$i(\"Etabela\").style.display = \"block\";';
  923 + btn.innerHTML = "<br><input type=checkbox style='position:relative;top:3px;cursor:pointer;' onclick='javascript:"+oclick+"'/> Quero usar uma tabela j&aacute; existente ou alterar os par&acirc;metros adicionais";
  924 + botoesdiv.appendChild(btn);
925 925
926 - $i("editorMedidaDefault").style.display = "none";  
927 - $i("Eesquemadb").style.display = "none";  
928 - $i("Etabela").style.display = "none"; 926 + $i("editorMedidaDefault").style.display = "none";
  927 + $i("Eesquemadb").style.display = "none";
  928 + $i("Etabela").style.display = "none";
929 929
930 - //passa o codigo da variavel  
931 - $i("Ecodigo_variavel").value = $i("i3geoCartoComboVariavelEditor").value;  
932 - //define os valores que sao padrao  
933 - //a conexao e com o default  
934 - $i("Ecodigo_estat_conexao").value = i3GEOF.metaestat.CONEXAODEFAULT;  
935 - $i("Ecodigo_estat_conexao").style.width = "90%";  
936 - //o esquema e o public  
937 - $i("Eesquemadb").value = "i3geo_metaestat";  
938 - //a tabela onde ficarao os dados  
939 - $i("Etabela").value = "dados_medidas";  
940 - //coluna com os valores  
941 - $i("Ecolunavalor").value = "valor_num";  
942 - //id que liga com o geo  
943 - $i("Ecolunaidgeo").value = "codigoregiao";  
944 - //id unico  
945 - $i("Ecolunaidunico").value = "gid";  
946 - //unidade de medida  
947 - $i("Ecodigo_unidade_medida").value = 1;  
948 - $i("Ecodigo_unidade_medida").style.width = "90%";  
949 - //periodo  
950 - temp = $i("Ecodigo_tipo_periodo");  
951 - temp.value = 0;  
952 - temp.style.width = "90%";  
953 - //mostra os campos para definir os parametros de tempo  
954 - temp.onchange = function(){  
955 - $i("EparametrosTempo").style.display = "block";  
956 - if($i("editorMedidaDefault").style.display == "block"){  
957 - i3GEO.janela.tempoMsg("Especifique as colunas que cont&eacute;m os dados temporais no final do formul&aacute;rio");  
958 - }  
959 - if($i("EparametrosTempo").value == ""){  
960 - $i("EcolunaAno").value = "";  
961 - $i("EcolunaMes").value = "";  
962 - $i("EcolunaDia").value = "";  
963 - $i("EcolunaHora").value = "";  
964 - }  
965 - };  
966 - //impede a alteracao do filtro  
967 - $i("Efiltro").disabled = "disabled";  
968 - //altera a tabela quando escolher  
969 - $i("Ecodigo_tipo_regiao").style.width = "90%"; 930 + //passa o codigo da variavel
  931 + $i("Ecodigo_variavel").value = $i("i3geoCartoComboVariavelEditor").value;
  932 + //define os valores que sao padrao
  933 + //a conexao e com o default
  934 + $i("Ecodigo_estat_conexao").value = i3GEOF.metaestat.CONEXAODEFAULT;
  935 + $i("Ecodigo_estat_conexao").style.width = "90%";
  936 + //o esquema e o public
  937 + $i("Eesquemadb").value = "i3geo_metaestat";
  938 + //a tabela onde ficarao os dados
  939 + $i("Etabela").value = "dados_medidas";
  940 + //coluna com os valores
  941 + $i("Ecolunavalor").value = "valor_num";
  942 + //id que liga com o geo
  943 + $i("Ecolunaidgeo").value = "codigoregiao";
  944 + //id unico
  945 + $i("Ecolunaidunico").value = "gid";
  946 + //unidade de medida
  947 + $i("Ecodigo_unidade_medida").value = 1;
  948 + $i("Ecodigo_unidade_medida").style.width = "90%";
  949 + //periodo
  950 + temp = $i("Ecodigo_tipo_periodo");
  951 + temp.value = 0;
  952 + temp.style.width = "90%";
  953 + //mostra os campos para definir os parametros de tempo
  954 + temp.onchange = function(){
  955 + $i("EparametrosTempo").style.display = "block";
  956 + if($i("editorMedidaDefault").style.display == "block"){
  957 + i3GEO.janela.tempoMsg("Especifique as colunas que cont&eacute;m os dados temporais no final do formul&aacute;rio");
  958 + }
  959 + if($i("EparametrosTempo").value == ""){
  960 + $i("EcolunaAno").value = "";
  961 + $i("EcolunaMes").value = "";
  962 + $i("EcolunaDia").value = "";
  963 + $i("EcolunaHora").value = "";
  964 + }
  965 + };
  966 + //impede a alteracao do filtro
  967 + $i("Efiltro").disabled = "disabled";
  968 + //altera a tabela quando escolher
  969 + $i("Ecodigo_tipo_regiao").style.width = "90%";
970 970
971 - },  
972 - /**  
973 - * Abre o formulario para edicao de uma medida de variavel  
974 - */  
975 - editaMedidaVariavel: function(){  
976 - i3GEOadmin.variaveis.aposGravar = function(){  
977 - core_carregando("desativa");  
978 - //refaz o conteudo para mostrar a nova adicao  
979 - i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t2");  
980 - // Enome e o id do input onde o usuario escolheu o nome da nova variavel  
981 - i3GEOF.metaestat.editor.t2(true,$i("Enomemedida").value);  
982 - i3GEOF.metaestat.principal.inicia();  
983 - };  
984 - var id_medida_variavel = $i("i3geoCartoComboMedidaVariavelEditor").value;  
985 - if(id_medida_variavel !== ""){  
986 - i3GEOadmin.variaveis.editar("medidaVariavel",id_medida_variavel);  
987 - }  
988 - },  
989 - /**  
990 - * Abre o formulario para criacao de uma classificacao  
991 - */  
992 - criaClassificacao: function(){  
993 - i3GEOadmin.variaveis.aposGravar = function(){  
994 - core_carregando("desativa");  
995 - //refaz o conteudo para mostrar a nova adicao  
996 - i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3");  
997 - // Enome e o id do input onde o usuario escolheu o nome da nova variavel  
998 - i3GEOF.metaestat.editor.t3(true,$i("Enome").value);  
999 - };  
1000 - i3GEOadmin.variaveis.editar("classificacaoMedida","");  
1001 - $i("Eid_medida_variavel").value = $i("i3geoCartoComboMedidaVariavelEditor").value;  
1002 - },  
1003 - /**  
1004 - * Abre o formulario para edicao de uma classificacao  
1005 - */  
1006 - editaClassificacao: function(){  
1007 - i3GEOadmin.variaveis.aposGravar = function(){  
1008 - core_carregando("desativa");  
1009 - //refaz o conteudo para mostrar a nova adicao  
1010 - i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3");  
1011 - // Enome e o id do input onde o usuario escolheu o nome da nova variavel  
1012 - i3GEOF.metaestat.editor.t3(true,$i("Enome").value);  
1013 - };  
1014 - var id_classificacao = $i("i3geoCartoComboClassificacoesEditor").value;  
1015 - if(id_classificacao !== ""){  
1016 - i3GEOadmin.variaveis.editar("classificacaoMedida",id_classificacao);  
1017 - }  
1018 - },  
1019 - /**  
1020 - * Remove um elemento do DOM  
1021 - * @param id do elemento que sera removido  
1022 - */  
1023 - removeEl:function(id){  
1024 - var no = $i(id);  
1025 - if(no){  
1026 - no.parentNode.removeChild(no);  
1027 - }  
1028 - },  
1029 - /**  
1030 - * Define a selecao ativa de um combo com base no texto  
1031 - * @param id do combo  
1032 - * @param texto valor do texto  
1033 - */  
1034 - selComboPorTexto: function(idcombo,texto){  
1035 - var c = $i(idcombo),n,i;  
1036 - if(c){  
1037 - n = c.options.length;  
1038 - for(i=0;i<n;i++){  
1039 - if(c.options[i].label === texto){  
1040 - c.options[i].selected = true;  
1041 - return;  
1042 - }  
1043 - }  
1044 - }  
1045 - },  
1046 - /**  
1047 - * Obtem um parametro da medida variavel escolhida. Os parametros sao obtidos da chamada em ajax que pega a lista de medidas de uma variavel  
1048 - * @param nome do parametro  
1049 - */  
1050 - dadoMedidaSelecionada: function(parametro){  
1051 - var c = $i("i3geoCartoComboMedidaVariavelEditor"),n,i;  
1052 - if(c){  
1053 - n = c.options.length;  
1054 - for(i=0;i<n;i++){  
1055 - if(c.options[i].selected === true){  
1056 - if(i3GEOF.metaestat.DADOSMEDIDASVARIAVEL[i-1]){  
1057 - return i3GEOF.metaestat.DADOSMEDIDASVARIAVEL[i-1][parametro];  
1058 - }  
1059 - else{  
1060 - return "";  
1061 - }  
1062 - }  
1063 - }  
1064 - }  
1065 - else{  
1066 - return "";  
1067 - }  
1068 - },  
1069 - /**  
1070 - * Funcao executada quando o usuario escolhe uma variavel  
1071 - * Define a variavel i3GEOF.metaestat.CODIGO_VARIAVEL  
1072 - */  
1073 - comboVariaveisOnchange: function(){  
1074 - i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t2");  
1075 - i3GEOF.metaestat.CODIGO_VARIAVEL = $i("i3geoCartoComboVariavelEditor").value;  
1076 - },  
1077 - /**  
1078 - * Funcao executada quando o usuario escolhe uma medida de variavel  
1079 - * Define a variavel i3GEOF.metaestat.ID_MEDIDA_VARIAVEL  
1080 - */  
1081 - comboMedidaVariavelOnchange: function(combo){  
1082 - i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3");  
1083 - i3GEOF.metaestat.ID_MEDIDA_VARIAVEL = $i("i3geoCartoComboMedidaVariavelEditor").value;  
1084 - },  
1085 - /**  
1086 - * Calcula os intervalos de classe com base na tecnica de quartis  
1087 - * Altera uma classificacao ja existente  
1088 - * E necessario definir as cores das classes. Caso o usuario nao as tenha escolhido, e aberta a janela para escolha  
1089 - * Executa admin/php/metaestat.php?funcao=calculaClassificacao&tipo=quartil  
1090 - */  
1091 - quartis: function(){  
1092 - var id_medida_variavel = $i("i3geoCartoComboMedidaVariavelEditor").value,  
1093 - id_classificacao = $i("i3geoCartoComboClassificacoesEditor").value,  
1094 - cores = $i("listaColourRampEditor").value,  
1095 - p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=calculaClassificacao&tipo=quartil&cores="+cores+"&id_classificacao="+id_classificacao+"&id_medida_variavel="+id_medida_variavel+"&g_sid="+i3GEO.configura.sid,  
1096 - temp = function(retorno){  
1097 - core_carregando("desativa");  
1098 - //fecha o editor  
1099 - if(retorno == "erro"){  
1100 - alert("N&atilde;o foi poss&iacute;vel gerar as classes. Verifique se j&aacute; existem dados para essa medida");  
1101 - }  
1102 - else{  
1103 - YAHOO.i3GEO.janela.manager.find("i3geoCartoEditor").destroy();  
1104 - }  
1105 - };  
1106 - if(cores == ""){  
1107 - i3GEO.janela.tempoMsg("Escolha as cores primeiro. Depois acione a op&ccedil;&atilde;o de classifica&ccedil;&atilde;o novamente");  
1108 - $i("listaColourRampEditor").onchange = function(){i3GEOF.metaestat.editor.quartis();};  
1109 - i3GEO.util.abreColourRamp("","listaColourRampEditor",5);  
1110 - return;  
1111 - }  
1112 - core_carregando("ativa");  
1113 - i3GEO.util.ajaxGet(p,temp);  
1114 - },  
1115 - /**  
1116 - * Calcula os intervalos de classe com base na tecnica de intervalos iguais  
1117 - * Altera uma classificacao ja existente  
1118 - * O usuario deve definir o menor e o maior valor  
1119 - * E necessario definir as cores das classes. Caso o usuario nao as tenha escolhido, e aberta a janela para escolha  
1120 - * Executa admin/php/metaestat.php?funcao=calculaClassificacao&tipo=intiguais5mm  
1121 - */  
1122 - intervalosIguaisMM: function(){  
1123 - var id_medida_variavel = $i("i3geoCartoComboMedidaVariavelEditor").value,  
1124 - id_classificacao = $i("i3geoCartoComboClassificacoesEditor").value,  
1125 - cores = $i("listaColourRampEditor").value,  
1126 - p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=calculaClassificacao&tipo=intiguaismm" +  
1127 - "&numintervalos="+$i("i3GEOFmetaestatEditorNumInt").value +  
1128 - "&cores="+cores+"&id_classificacao="+id_classificacao+"&id_medida_variavel="+id_medida_variavel+  
1129 - "&min="+$i("i3GEOFmetaestatEditorVmin").value +  
1130 - "&max="+$i("i3GEOFmetaestatEditorVmax").value +  
1131 - "&g_sid="+i3GEO.configura.sid,  
1132 - temp = function(retorno){  
1133 - core_carregando("desativa");  
1134 - YAHOO.i3GEO.janela.manager.find("i3geoCartoEditor").destroy();  
1135 - };  
1136 - if(cores == ""){  
1137 - alert("Escolha as cores primeiro");  
1138 - $i("listaColourRampEditor").onchange = function(){i3GEOF.metaestat.editor.intervalosIguaisMM();};  
1139 - i3GEO.util.abreColourRamp("","listaColourRampEditor",5);  
1140 - return;  
1141 - }  
1142 - core_carregando("ativa");  
1143 - i3GEO.util.ajaxGet(p,temp);  
1144 - },  
1145 - /**  
1146 - * Calcula os intervalos de classe com base na tecnica de intervalos iguais  
1147 - * Altera uma classificacao ja existente  
1148 - * O menor e maior valor sao calculados com base nos valores da medida da variavel  
1149 - * E necessario definir as cores das classes. Caso o usuario nao as tenha escolhido, e aberta a janela para escolha  
1150 - * Executa admin/php/metaestat.php?funcao=calculaClassificacao&tipo=intiguais5mm  
1151 - */  
1152 - intervalosIguais: function(){  
1153 - var id_medida_variavel = $i("i3geoCartoComboMedidaVariavelEditor").value,  
1154 - id_classificacao = $i("i3geoCartoComboClassificacoesEditor").value,  
1155 - cores = $i("listaColourRampEditor").value,  
1156 - p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=calculaClassificacao&tipo=intiguais&numintervalos="+$i("i3GEOFmetaestatEditorNumInt").value+"&cores="+cores+"&id_classificacao="+id_classificacao+"&id_medida_variavel="+id_medida_variavel+"&g_sid="+i3GEO.configura.sid,  
1157 - temp = function(retorno){  
1158 - core_carregando("desativa");  
1159 - if(retorno == "erro"){  
1160 - alert("N&atilde;o foi poss&iacute;vel gerar as classes. Verifique se j&aacute; existem dados para essa medida");  
1161 - }  
1162 - else{  
1163 - YAHOO.i3GEO.janela.manager.find("i3geoCartoEditor").destroy();  
1164 - }  
1165 - };  
1166 - if(cores == ""){  
1167 - alert("Escolha as cores primeiro");  
1168 - $i("listaColourRampEditor").onchange = function(){i3GEOF.metaestat.editor.intervalosIguais();};  
1169 - i3GEO.util.abreColourRamp("","listaColourRampEditor",5);  
1170 - return;  
1171 - }  
1172 - core_carregando("ativa");  
1173 - i3GEO.util.ajaxGet(p,temp);  
1174 - },  
1175 - /**  
1176 - * Ativa o botao de upload  
1177 - * Ao ser clicado, abre uma janela flutuante com as opcoes de download  
1178 - * @param id do elemento DOM utilizado para compor o botao  
1179 - */  
1180 - botaoUpload: function(id){  
1181 - new YAHOO.widget.Button(  
1182 - id,  
1183 - {onclick:{fn: function(){  
1184 - var cabecalho,minimiza,janela;  
1185 - if (!$i("i3geoCartoUpload")){  
1186 - cabecalho = function(){  
1187 - };  
1188 - minimiza = function(){  
1189 - i3GEO.janela.minimiza("i3geoCartoUpload");  
1190 - };  
1191 - janela = i3GEO.janela.cria(  
1192 - "500px",  
1193 - "450px",  
1194 - i3GEO.configura.locaplic+"/ferramentas/metaestat/upload.html",//abre em um iframe  
1195 - "",  
1196 - "",  
1197 - "</div><div class='i3GeoTituloJanelaBs'>Upload</div>",  
1198 - "i3geoCartoUpload",  
1199 - false,  
1200 - "hd",  
1201 - cabecalho,  
1202 - minimiza  
1203 - );  
1204 - janela = janela[0];  
1205 - YAHOO.i3GEO.janela.manager.register(janela);  
1206 - janela.render();  
1207 - }  
1208 - else{  
1209 - janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoUpload");  
1210 - }  
1211 - janela.show();  
1212 - }}}  
1213 - );  
1214 - },  
1215 - /**  
1216 - * Abertura do ajudante  
1217 - * Primeira tela da ferramenta  
1218 - * Oferece opcoes na forma de botoes e um botao do tipo "continua"  
1219 - * O botao de id i3GEOFmetaestatEditorBotaot01 abre o editor de variaveis do sistema de administracao  
1220 - * O botao de id i3GEOFmetaestatEditorBotaot02 abre o editor de limites geograficos  
1221 - * O botao de id i3GEOFmetaestatEditorBotaot03 abre a interface para upload de um arquivo CSV  
1222 - * Na sequencia, executa i3GEOF.metaestat.editor.t1()  
1223 - *  
1224 - **/  
1225 - t0: function(){  
1226 - var ins = "<p class='paragrafo' >" + $trad('descricaoAjudanteEditor',i3GEOF.metaestat.dicionario1) +  
1227 - "<br><br><p><input id=i3GEOFmetaestatEditorBotaot01 type='button' value='"+$trad('editorAvancado',i3GEOF.metaestat.dicionario1)+"' />" +  
1228 - "&nbsp<input id=i3GEOFmetaestatEditorBotaot02 type='button' value='"+$trad('editorLimites',i3GEOF.metaestat.dicionario1)+"' />" +  
1229 - "&nbsp<input id=i3GEOFmetaestatEditorBotaotUp type='button' value='Gerenciador BD/Upload' />";  
1230 - i3GEO.util.proximoAnterior("","i3GEOF.metaestat.editor.t1()",ins,"i3GEOF.metaestat.editor.t0","i3GEOFmetaestatEditor");  
1231 - new YAHOO.widget.Button(  
1232 - "i3GEOFmetaestatEditorBotaot01",  
1233 - {onclick:{fn: function(){window.open(i3GEO.configura.locaplic+"/admin/html/estat_variavel.html");}}}  
1234 - );  
1235 - new YAHOO.widget.Button(  
1236 - "i3GEOFmetaestatEditorBotaot02",  
1237 - {onclick:{fn: function(){  
1238 - i3GEO.janela.tempoMsg($trad('msgEditorLimites',i3GEOF.metaestat.dicionario1));  
1239 - window.open(i3GEO.configura.locaplic+"/ferramentas/metaestat/editorlimites.php");  
1240 - }}}  
1241 - );  
1242 - new YAHOO.widget.Button(  
1243 - "i3GEOFmetaestatEditorBotaotUp",  
1244 - {onclick:{fn: function(){  
1245 - i3GEO.janela.tempoMsg($trad('msgEditorLimites',i3GEOF.metaestat.dicionario1));  
1246 - window.open(i3GEO.configura.locaplic+"/admin/html/estat_editor.html");  
1247 - }}}  
1248 - );  
1249 - //i3GEOF.metaestat.editor.botaoUpload("i3GEOFmetaestatEditorBotaot03");  
1250 - },  
1251 - /**  
1252 - * Opcoes para escolha ou edicao/criacao de uma variavel  
1253 - * Feita a escolha e definida a variavel i3GEOF.metaestat.CODIGO_VARIAVEL  
1254 - * Na sequencia executa i3GEOF.metaestat.editor.t1()  
1255 - */  
1256 - t1: function(remove,textoSelecionado){  
1257 - if(remove == true){  
1258 - //remove o conteudo anteriormente construido  
1259 - i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t1");  
1260 - }  
1261 - var temp = function(dados){  
1262 - var ins = "<p class='paragrafo' >" + $trad('selecionaVariavel',i3GEOF.metaestat.dicionario) + "<br><br>" +  
1263 - "<span>" + i3GEOF.metaestat.principal.comboVariaveis(dados,"i3geoCartoComboVariavelEditor","i3GEOF.metaestat.editor.comboVariaveisOnchange(this)","","nao") + "</span>" +  
1264 - "<br><br><p><input id=i3GEOFmetaestatEditorBotao3 type='button' value='"+$trad('edite',i3GEOF.metaestat.dicionario1)+"' />" +  
1265 - "&nbsp;<input id=i3GEOFmetaestatEditorBotao3a type='button' value='"+$trad('criaNova',i3GEOF.metaestat.dicionario1)+"' /><br>";  
1266 - i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t0()","i3GEOF.metaestat.editor.t2()",ins,"i3GEOF.metaestat.editor.t1","i3GEOFmetaestatEditor",true);  
1267 - new YAHOO.widget.Button(  
1268 - "i3GEOFmetaestatEditorBotao3",  
1269 - {onclick:{fn: i3GEOF.metaestat.editor.editaVariavel}}  
1270 - );  
1271 - $i("i3GEOFmetaestatEditorBotao3-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";  
1272 - new YAHOO.widget.Button(  
1273 - "i3GEOFmetaestatEditorBotao3a",  
1274 - {onclick:{fn: i3GEOF.metaestat.editor.criaVariavel}}  
1275 - );  
1276 - $i("i3GEOFmetaestatEditorBotao3a-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";  
1277 - if(textoSelecionado){  
1278 - i3GEOF.metaestat.editor.selComboPorTexto("i3geoCartoComboVariavelEditor",textoSelecionado);  
1279 - i3GEOF.metaestat.CODIGO_VARIAVEL = $i("i3geoCartoComboVariavelEditor").value;  
1280 - }  
1281 - };  
1282 - i3GEO.php.listaVariavel(temp);  
1283 - },  
1284 - /**  
1285 - * Opcoes para escolha ou edicao/criacao de uma medida  
1286 - * Feita a escolha e definida a variavel i3GEOF.metaestat.ID_MEDIDA_VARIAVEL  
1287 - * Na sequencia executa i3GEOF.metaestat.editor.t3a()  
1288 - */  
1289 - t2: function(remove,textoSelecionado){  
1290 - if(remove == true){  
1291 - //remove o conteudo anteriormente construido  
1292 - i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t2");  
1293 - }  
1294 - if($i("i3geoCartoComboVariavelEditor").value === ""){  
1295 - i3GEO.janela.tempoMsg($trad('msgSelecionaVariavel',i3GEOF.metaestat.dicionario));  
1296 - i3GEOF.metaestat.editor.t1(false);  
1297 - }  
1298 - else{  
1299 - var temp = function(dados){  
1300 - var ins = "<p class='paragrafo' >" + $trad('selecionaMedidaVariavel',i3GEOF.metaestat.dicionario) + "<br><br>" +  
1301 - "<span>" + i3GEOF.metaestat.principal.comboMedidasVariavel(dados,"i3geoCartoComboMedidaVariavelEditor","i3GEOF.metaestat.editor.comboMedidaVariavelOnchange(this)","","","nao") + "</span>" +  
1302 - "<br><br><p><input id=i3GEOFmetaestatEditorBotao4 type='button' value='"+$trad('edite',i3GEOF.metaestat.dicionario1)+"' />" +  
1303 - "&nbsp;<input id=i3GEOFmetaestatEditorBotao4a type='button' value='"+$trad('criaNova',i3GEOF.metaestat.dicionario1)+"' /><br>";  
1304 - i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t1()","i3GEOF.metaestat.editor.t3a()",ins,"i3GEOF.metaestat.editor.t2","i3GEOFmetaestatEditor",true);  
1305 - //edita existente  
1306 - new YAHOO.widget.Button(  
1307 - "i3GEOFmetaestatEditorBotao4",  
1308 - {onclick:{fn: i3GEOF.metaestat.editor.editaMedidaVariavel}}  
1309 - );  
1310 - $i("i3GEOFmetaestatEditorBotao4-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";  
1311 - //cria nova  
1312 - new YAHOO.widget.Button(  
1313 - "i3GEOFmetaestatEditorBotao4a",  
1314 - {onclick:{fn: i3GEOF.metaestat.editor.criaMedidaVariavel}}  
1315 - );  
1316 - $i("i3GEOFmetaestatEditorBotao4a-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";  
1317 - if(textoSelecionado){  
1318 - i3GEOF.metaestat.editor.selComboPorTexto("i3geoCartoComboMedidaVariavelEditor",textoSelecionado);  
1319 - i3GEOF.metaestat.ID_MEDIDA_VARIAVEL = $i("i3geoCartoComboMedidaVariavelEditor").value;  
1320 - }  
1321 - },  
1322 - codigo_variavel = $i("i3geoCartoComboVariavelEditor").value;  
1323 - if(codigo_variavel == ""){  
1324 - i3GEO.janela.tempoMsg($trad('msgSelecionaVariavel',i3GEOF.metaestat.dicionario));  
1325 - i3GEOF.metaestat.editor.t1(false);  
1326 - return;  
1327 - }  
1328 - i3GEO.php.listaMedidaVariavel(codigo_variavel,temp);  
1329 - }  
1330 - },  
1331 - /**  
1332 - * Mostra a opcao de upload  
1333 - * Ativa o botao de upload com i3GEOF.metaestat.editor.botaoUpload  
1334 - * Na sequencia executa i3GEOF.metaestat.editor.t3()  
1335 - */  
1336 - t3a: function(remove,textoSelecionado){  
1337 - if(remove == true){  
1338 - //remove o conteudo anteriormente construido  
1339 - i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3a");  
1340 - }  
1341 - if(i3GEOF.metaestat.DADOSMEDIDASVARIAVEL[0].esquemadb !== "i3geo_metaestat"){  
1342 - i3GEOF.metaestat.editor.t3(true,textoSelecionado);  
1343 - }  
1344 - else{  
1345 - if($i("i3geoCartoComboMedidaVariavelEditor").value === ""){  
1346 - i3GEO.janela.tempoMsg($trad('selecionaMedidaVariavel',i3GEOF.metaestat.dicionario));  
1347 - i3GEOF.metaestat.editor.t2(false);  
1348 - }  
1349 - else{  
1350 - var ins = "<p class='paragrafo' >" + $trad('msgUploadCSV',i3GEOF.metaestat.dicionario1) +  
1351 - "<br><br><p><input id=i3GEOFmetaestatEditorBotaot3a type='button' value='Upload CSV' />";  
1352 - i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t2()","i3GEOF.metaestat.editor.t3()",ins,"i3GEOF.metaestat.editor.t3a","i3GEOFmetaestatEditor",true);  
1353 - i3GEOF.metaestat.editor.botaoUpload("i3GEOFmetaestatEditorBotaot3a");  
1354 - $i("i3GEOFmetaestatEditorBotaot3a-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";  
1355 - }  
1356 - }  
1357 - },  
1358 - /**  
1359 - * Opcoes para escolha ou edicao/criacao de uma classificacao  
1360 - * Na sequencia executa i3GEOF.metaestat.editor.t4()  
1361 - */  
1362 - t3: function(remove,textoSelecionado){  
1363 - if(remove == true){  
1364 - //remove o conteudo anteriormente construido  
1365 - i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3");  
1366 - }  
1367 - if($i("i3geoCartoComboMedidaVariavelEditor").value === ""){  
1368 - i3GEO.janela.tempoMsg($trad('selecionaMedidaVariavel',i3GEOF.metaestat.dicionario));  
1369 - i3GEOF.metaestat.editor.t2(false);  
1370 - }  
1371 - else{  
1372 - var temp = function(dados){  
1373 - var ins = "<p class='paragrafo' >" + $trad('msgClassifica',i3GEOF.metaestat.dicionario1) + "<br><br>" +  
1374 - "<span>" + i3GEOF.metaestat.principal.comboClassificacoesMedidaVariavel(dados,"i3geoCartoComboClassificacoesEditor","") + "</span>" +  
1375 - "<br><br>"+$trad('unidadeMedida',i3GEOF.metaestat.dicionario1)+": " + i3GEOF.metaestat.editor.dadoMedidaSelecionada("unidade_medida") +  
1376 - "<br><br><p><input id=i3GEOFmetaestatEditorBotao5 type='button' value='"+$trad('edite',i3GEOF.metaestat.dicionario1)+"' />" +  
1377 - "&nbsp;<input id=i3GEOFmetaestatEditorBotao5a type='button' value='"+$trad('criaNova',i3GEOF.metaestat.dicionario1)+"' /><br>";  
1378 - i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t3a()","i3GEOF.metaestat.editor.t4()",ins,"i3GEOF.metaestat.editor.t3","i3GEOFmetaestatEditor",true); 971 + },
  972 + /**
  973 + * Abre o formulario para edicao de uma medida de variavel
  974 + */
  975 + editaMedidaVariavel: function(){
  976 + i3GEOadmin.variaveis.aposGravar = function(){
  977 + core_carregando("desativa");
  978 + //refaz o conteudo para mostrar a nova adicao
  979 + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t2");
  980 + // Enome e o id do input onde o usuario escolheu o nome da nova variavel
  981 + i3GEOF.metaestat.editor.t2(true,$i("Enomemedida").value);
  982 + i3GEOF.metaestat.principal.inicia();
  983 + };
  984 + var id_medida_variavel = $i("i3geoCartoComboMedidaVariavelEditor").value;
  985 + if(id_medida_variavel !== ""){
  986 + i3GEOadmin.variaveis.editar("medidaVariavel",id_medida_variavel);
  987 + }
  988 + },
  989 + /**
  990 + * Abre o formulario para criacao de uma classificacao
  991 + */
  992 + criaClassificacao: function(){
  993 + i3GEOadmin.variaveis.aposGravar = function(){
  994 + core_carregando("desativa");
  995 + //refaz o conteudo para mostrar a nova adicao
  996 + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3");
  997 + // Enome e o id do input onde o usuario escolheu o nome da nova variavel
  998 + i3GEOF.metaestat.editor.t3(true,$i("Enome").value);
  999 + };
  1000 + i3GEOadmin.variaveis.editar("classificacaoMedida","");
  1001 + $i("Eid_medida_variavel").value = $i("i3geoCartoComboMedidaVariavelEditor").value;
  1002 + },
  1003 + /**
  1004 + * Abre o formulario para edicao de uma classificacao
  1005 + */
  1006 + editaClassificacao: function(){
  1007 + i3GEOadmin.variaveis.aposGravar = function(){
  1008 + core_carregando("desativa");
  1009 + //refaz o conteudo para mostrar a nova adicao
  1010 + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3");
  1011 + // Enome e o id do input onde o usuario escolheu o nome da nova variavel
  1012 + i3GEOF.metaestat.editor.t3(true,$i("Enome").value);
  1013 + };
  1014 + var id_classificacao = $i("i3geoCartoComboClassificacoesEditor").value;
  1015 + if(id_classificacao !== ""){
  1016 + i3GEOadmin.variaveis.editar("classificacaoMedida",id_classificacao);
  1017 + }
  1018 + },
  1019 + /**
  1020 + * Remove um elemento do DOM
  1021 + * @param id do elemento que sera removido
  1022 + */
  1023 + removeEl:function(id){
  1024 + var no = $i(id);
  1025 + if(no){
  1026 + no.parentNode.removeChild(no);
  1027 + }
  1028 + },
  1029 + /**
  1030 + * Define a selecao ativa de um combo com base no texto
  1031 + * @param id do combo
  1032 + * @param texto valor do texto
  1033 + */
  1034 + selComboPorTexto: function(idcombo,texto){
  1035 + var c = $i(idcombo),n,i;
  1036 + if(c){
  1037 + n = c.options.length;
  1038 + for(i=0;i<n;i++){
  1039 + if(c.options[i].label === texto){
  1040 + c.options[i].selected = true;
  1041 + return;
  1042 + }
  1043 + }
  1044 + }
  1045 + },
  1046 + /**
  1047 + * Obtem um parametro da medida variavel escolhida. Os parametros sao obtidos da chamada em ajax que pega a lista de medidas de uma variavel
  1048 + * @param nome do parametro
  1049 + */
  1050 + dadoMedidaSelecionada: function(parametro){
  1051 + var c = $i("i3geoCartoComboMedidaVariavelEditor"),n,i;
  1052 + if(c){
  1053 + n = c.options.length;
  1054 + for(i=0;i<n;i++){
  1055 + if(c.options[i].selected === true){
  1056 + if(i3GEOF.metaestat.DADOSMEDIDASVARIAVEL[i-1]){
  1057 + return i3GEOF.metaestat.DADOSMEDIDASVARIAVEL[i-1][parametro];
  1058 + }
  1059 + else{
  1060 + return "";
  1061 + }
  1062 + }
  1063 + }
  1064 + }
  1065 + else{
  1066 + return "";
  1067 + }
  1068 + },
  1069 + /**
  1070 + * Funcao executada quando o usuario escolhe uma variavel
  1071 + * Define a variavel i3GEOF.metaestat.CODIGO_VARIAVEL
  1072 + */
  1073 + comboVariaveisOnchange: function(){
  1074 + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t2");
  1075 + i3GEOF.metaestat.CODIGO_VARIAVEL = $i("i3geoCartoComboVariavelEditor").value;
  1076 + },
  1077 + /**
  1078 + * Funcao executada quando o usuario escolhe uma medida de variavel
  1079 + * Define a variavel i3GEOF.metaestat.ID_MEDIDA_VARIAVEL
  1080 + */
  1081 + comboMedidaVariavelOnchange: function(combo){
  1082 + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3");
  1083 + i3GEOF.metaestat.ID_MEDIDA_VARIAVEL = $i("i3geoCartoComboMedidaVariavelEditor").value;
  1084 + },
  1085 + /**
  1086 + * Calcula os intervalos de classe com base na tecnica de quartis
  1087 + * Altera uma classificacao ja existente
  1088 + * E necessario definir as cores das classes. Caso o usuario nao as tenha escolhido, e aberta a janela para escolha
  1089 + * Executa admin/php/metaestat.php?funcao=calculaClassificacao&tipo=quartil
  1090 + */
  1091 + quartis: function(){
  1092 + var id_medida_variavel = $i("i3geoCartoComboMedidaVariavelEditor").value,
  1093 + id_classificacao = $i("i3geoCartoComboClassificacoesEditor").value,
  1094 + cores = $i("listaColourRampEditor").value,
  1095 + p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=calculaClassificacao&tipo=quartil&cores="+cores+"&id_classificacao="+id_classificacao+"&id_medida_variavel="+id_medida_variavel+"&g_sid="+i3GEO.configura.sid,
  1096 + temp = function(retorno){
  1097 + core_carregando("desativa");
  1098 + //fecha o editor
  1099 + if(retorno == "erro"){
  1100 + alert("N&atilde;o foi poss&iacute;vel gerar as classes. Verifique se j&aacute; existem dados para essa medida");
  1101 + }
  1102 + else{
  1103 + YAHOO.i3GEO.janela.manager.find("i3geoCartoEditor").destroy();
  1104 + }
  1105 + };
  1106 + if(cores == ""){
  1107 + i3GEO.janela.tempoMsg("Escolha as cores primeiro. Depois acione a op&ccedil;&atilde;o de classifica&ccedil;&atilde;o novamente");
  1108 + $i("listaColourRampEditor").onchange = function(){i3GEOF.metaestat.editor.quartis();};
  1109 + i3GEO.util.abreColourRamp("","listaColourRampEditor",5);
  1110 + return;
  1111 + }
  1112 + core_carregando("ativa");
  1113 + i3GEO.util.ajaxGet(p,temp);
  1114 + },
  1115 + /**
  1116 + * Calcula os intervalos de classe com base na tecnica de intervalos iguais
  1117 + * Altera uma classificacao ja existente
  1118 + * O usuario deve definir o menor e o maior valor
  1119 + * E necessario definir as cores das classes. Caso o usuario nao as tenha escolhido, e aberta a janela para escolha
  1120 + * Executa admin/php/metaestat.php?funcao=calculaClassificacao&tipo=intiguais5mm
  1121 + */
  1122 + intervalosIguaisMM: function(){
  1123 + var id_medida_variavel = $i("i3geoCartoComboMedidaVariavelEditor").value,
  1124 + id_classificacao = $i("i3geoCartoComboClassificacoesEditor").value,
  1125 + cores = $i("listaColourRampEditor").value,
  1126 + p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=calculaClassificacao&tipo=intiguaismm" +
  1127 + "&numintervalos="+$i("i3GEOFmetaestatEditorNumInt").value +
  1128 + "&cores="+cores+"&id_classificacao="+id_classificacao+"&id_medida_variavel="+id_medida_variavel+
  1129 + "&min="+$i("i3GEOFmetaestatEditorVmin").value +
  1130 + "&max="+$i("i3GEOFmetaestatEditorVmax").value +
  1131 + "&g_sid="+i3GEO.configura.sid,
  1132 + temp = function(retorno){
  1133 + core_carregando("desativa");
  1134 + YAHOO.i3GEO.janela.manager.find("i3geoCartoEditor").destroy();
  1135 + };
  1136 + if(cores == ""){
  1137 + alert("Escolha as cores primeiro");
  1138 + $i("listaColourRampEditor").onchange = function(){i3GEOF.metaestat.editor.intervalosIguaisMM();};
  1139 + i3GEO.util.abreColourRamp("","listaColourRampEditor",5);
  1140 + return;
  1141 + }
  1142 + core_carregando("ativa");
  1143 + i3GEO.util.ajaxGet(p,temp);
  1144 + },
  1145 + /**
  1146 + * Calcula os intervalos de classe com base na tecnica de intervalos iguais
  1147 + * Altera uma classificacao ja existente
  1148 + * O menor e maior valor sao calculados com base nos valores da medida da variavel
  1149 + * E necessario definir as cores das classes. Caso o usuario nao as tenha escolhido, e aberta a janela para escolha
  1150 + * Executa admin/php/metaestat.php?funcao=calculaClassificacao&tipo=intiguais5mm
  1151 + */
  1152 + intervalosIguais: function(){
  1153 + var id_medida_variavel = $i("i3geoCartoComboMedidaVariavelEditor").value,
  1154 + id_classificacao = $i("i3geoCartoComboClassificacoesEditor").value,
  1155 + cores = $i("listaColourRampEditor").value,
  1156 + p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=calculaClassificacao&tipo=intiguais&numintervalos="+$i("i3GEOFmetaestatEditorNumInt").value+"&cores="+cores+"&id_classificacao="+id_classificacao+"&id_medida_variavel="+id_medida_variavel+"&g_sid="+i3GEO.configura.sid,
  1157 + temp = function(retorno){
  1158 + core_carregando("desativa");
  1159 + if(retorno == "erro"){
  1160 + alert("N&atilde;o foi poss&iacute;vel gerar as classes. Verifique se j&aacute; existem dados para essa medida");
  1161 + }
  1162 + else{
  1163 + YAHOO.i3GEO.janela.manager.find("i3geoCartoEditor").destroy();
  1164 + }
  1165 + };
  1166 + if(cores == ""){
  1167 + alert("Escolha as cores primeiro");
  1168 + $i("listaColourRampEditor").onchange = function(){i3GEOF.metaestat.editor.intervalosIguais();};
  1169 + i3GEO.util.abreColourRamp("","listaColourRampEditor",5);
  1170 + return;
  1171 + }
  1172 + core_carregando("ativa");
  1173 + i3GEO.util.ajaxGet(p,temp);
  1174 + },
  1175 + /**
  1176 + * Ativa o botao de upload
  1177 + * Ao ser clicado, abre uma janela flutuante com as opcoes de download
  1178 + * @param id do elemento DOM utilizado para compor o botao
  1179 + */
  1180 + botaoUpload: function(id){
  1181 + new YAHOO.widget.Button(
  1182 + id,
  1183 + {onclick:{fn: function(){
  1184 + var cabecalho,minimiza,janela;
  1185 + if (!$i("i3geoCartoUpload")){
  1186 + cabecalho = function(){
  1187 + };
  1188 + minimiza = function(){
  1189 + i3GEO.janela.minimiza("i3geoCartoUpload");
  1190 + };
  1191 + janela = i3GEO.janela.cria(
  1192 + "500px",
  1193 + "450px",
  1194 + i3GEO.configura.locaplic+"/ferramentas/metaestat/upload.html",//abre em um iframe
  1195 + "",
  1196 + "",
  1197 + "</div><div class='i3GeoTituloJanelaBs'>Upload</div>",
  1198 + "i3geoCartoUpload",
  1199 + false,
  1200 + "hd",
  1201 + cabecalho,
  1202 + minimiza
  1203 + );
  1204 + janela = janela[0];
  1205 + YAHOO.i3GEO.janela.manager.register(janela);
  1206 + janela.render();
  1207 + }
  1208 + else{
  1209 + janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoUpload");
  1210 + }
  1211 + janela.show();
  1212 + }}}
  1213 + );
  1214 + },
  1215 + /**
  1216 + * Abertura do ajudante
  1217 + * Primeira tela da ferramenta
  1218 + * Oferece opcoes na forma de botoes e um botao do tipo "continua"
  1219 + * O botao de id i3GEOFmetaestatEditorBotaot01 abre o editor de variaveis do sistema de administracao
  1220 + * O botao de id i3GEOFmetaestatEditorBotaot02 abre o editor de limites geograficos
  1221 + * O botao de id i3GEOFmetaestatEditorBotaot03 abre a interface para upload de um arquivo CSV
  1222 + * Na sequencia, executa i3GEOF.metaestat.editor.t1()
  1223 + *
  1224 + **/
  1225 + t0: function(){
  1226 + var ins = "<p class='paragrafo' >" + $trad('descricaoAjudanteEditor',i3GEOF.metaestat.dicionario1) +
  1227 + "<br><br><p><input id=i3GEOFmetaestatEditorBotaot01 type='button' value='"+$trad('editorAvancado',i3GEOF.metaestat.dicionario1)+"' />" +
  1228 + "&nbsp<input id=i3GEOFmetaestatEditorBotaot02 type='button' value='"+$trad('editorLimites',i3GEOF.metaestat.dicionario1)+"' />" +
  1229 + "&nbsp<input id=i3GEOFmetaestatEditorBotaotUp type='button' value='Gerenciador BD/Upload' />";
  1230 + i3GEO.util.proximoAnterior("","i3GEOF.metaestat.editor.t1()",ins,"i3GEOF.metaestat.editor.t0","i3GEOFmetaestatEditor");
  1231 + new YAHOO.widget.Button(
  1232 + "i3GEOFmetaestatEditorBotaot01",
  1233 + {onclick:{fn: function(){window.open(i3GEO.configura.locaplic+"/admin/html/estat_variavel.html");}}}
  1234 + );
  1235 + new YAHOO.widget.Button(
  1236 + "i3GEOFmetaestatEditorBotaot02",
  1237 + {onclick:{fn: function(){
  1238 + i3GEO.janela.tempoMsg($trad('msgEditorLimites',i3GEOF.metaestat.dicionario1));
  1239 + window.open(i3GEO.configura.locaplic+"/ferramentas/metaestat/editorlimites.php");
  1240 + }}}
  1241 + );
  1242 + new YAHOO.widget.Button(
  1243 + "i3GEOFmetaestatEditorBotaotUp",
  1244 + {onclick:{fn: function(){
  1245 + i3GEO.janela.tempoMsg($trad('msgEditorLimites',i3GEOF.metaestat.dicionario1));
  1246 + window.open(i3GEO.configura.locaplic+"/admin/html/estat_editor.html");
  1247 + }}}
  1248 + );
  1249 + //i3GEOF.metaestat.editor.botaoUpload("i3GEOFmetaestatEditorBotaot03");
  1250 + },
  1251 + /**
  1252 + * Opcoes para escolha ou edicao/criacao de uma variavel
  1253 + * Feita a escolha e definida a variavel i3GEOF.metaestat.CODIGO_VARIAVEL
  1254 + * Na sequencia executa i3GEOF.metaestat.editor.t1()
  1255 + */
  1256 + t1: function(remove,textoSelecionado){
  1257 + if(remove == true){
  1258 + //remove o conteudo anteriormente construido
  1259 + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t1");
  1260 + }
  1261 + var temp = function(dados){
  1262 + var ins = "<p class='paragrafo' >" + $trad('selecionaVariavel',i3GEOF.metaestat.dicionario) + "<br><br>" +
  1263 + "<span>" + i3GEOF.metaestat.principal.comboVariaveis(dados,"i3geoCartoComboVariavelEditor","i3GEOF.metaestat.editor.comboVariaveisOnchange(this)","","nao") + "</span>" +
  1264 + "<br><br><p><input id=i3GEOFmetaestatEditorBotao3 type='button' value='"+$trad('edite',i3GEOF.metaestat.dicionario1)+"' />" +
  1265 + "&nbsp;<input id=i3GEOFmetaestatEditorBotao3a type='button' value='"+$trad('criaNova',i3GEOF.metaestat.dicionario1)+"' /><br>";
  1266 + i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t0()","i3GEOF.metaestat.editor.t2()",ins,"i3GEOF.metaestat.editor.t1","i3GEOFmetaestatEditor",true);
  1267 + new YAHOO.widget.Button(
  1268 + "i3GEOFmetaestatEditorBotao3",
  1269 + {onclick:{fn: i3GEOF.metaestat.editor.editaVariavel}}
  1270 + );
  1271 + $i("i3GEOFmetaestatEditorBotao3-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
  1272 + new YAHOO.widget.Button(
  1273 + "i3GEOFmetaestatEditorBotao3a",
  1274 + {onclick:{fn: i3GEOF.metaestat.editor.criaVariavel}}
  1275 + );
  1276 + $i("i3GEOFmetaestatEditorBotao3a-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
  1277 + if(textoSelecionado){
  1278 + i3GEOF.metaestat.editor.selComboPorTexto("i3geoCartoComboVariavelEditor",textoSelecionado);
  1279 + i3GEOF.metaestat.CODIGO_VARIAVEL = $i("i3geoCartoComboVariavelEditor").value;
  1280 + }
  1281 + };
  1282 + i3GEO.php.listaVariavel(temp);
  1283 + },
  1284 + /**
  1285 + * Opcoes para escolha ou edicao/criacao de uma medida
  1286 + * Feita a escolha e definida a variavel i3GEOF.metaestat.ID_MEDIDA_VARIAVEL
  1287 + * Na sequencia executa i3GEOF.metaestat.editor.t3a()
  1288 + */
  1289 + t2: function(remove,textoSelecionado){
  1290 + if(remove == true){
  1291 + //remove o conteudo anteriormente construido
  1292 + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t2");
  1293 + }
  1294 + if($i("i3geoCartoComboVariavelEditor").value === ""){
  1295 + i3GEO.janela.tempoMsg($trad('msgSelecionaVariavel',i3GEOF.metaestat.dicionario));
  1296 + i3GEOF.metaestat.editor.t1(false);
  1297 + }
  1298 + else{
  1299 + var temp = function(dados){
  1300 + var ins = "<p class='paragrafo' >" + $trad('selecionaMedidaVariavel',i3GEOF.metaestat.dicionario) + "<br><br>" +
  1301 + "<span>" + i3GEOF.metaestat.principal.comboMedidasVariavel(dados,"i3geoCartoComboMedidaVariavelEditor","i3GEOF.metaestat.editor.comboMedidaVariavelOnchange(this)","","","nao") + "</span>" +
  1302 + "<br><br><p><input id=i3GEOFmetaestatEditorBotao4 type='button' value='"+$trad('edite',i3GEOF.metaestat.dicionario1)+"' />" +
  1303 + "&nbsp;<input id=i3GEOFmetaestatEditorBotao4a type='button' value='"+$trad('criaNova',i3GEOF.metaestat.dicionario1)+"' /><br>";
  1304 + i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t1()","i3GEOF.metaestat.editor.t3a()",ins,"i3GEOF.metaestat.editor.t2","i3GEOFmetaestatEditor",true);
  1305 + //edita existente
  1306 + new YAHOO.widget.Button(
  1307 + "i3GEOFmetaestatEditorBotao4",
  1308 + {onclick:{fn: i3GEOF.metaestat.editor.editaMedidaVariavel}}
  1309 + );
  1310 + $i("i3GEOFmetaestatEditorBotao4-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
  1311 + //cria nova
  1312 + new YAHOO.widget.Button(
  1313 + "i3GEOFmetaestatEditorBotao4a",
  1314 + {onclick:{fn: i3GEOF.metaestat.editor.criaMedidaVariavel}}
  1315 + );
  1316 + $i("i3GEOFmetaestatEditorBotao4a-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
  1317 + if(textoSelecionado){
  1318 + i3GEOF.metaestat.editor.selComboPorTexto("i3geoCartoComboMedidaVariavelEditor",textoSelecionado);
  1319 + i3GEOF.metaestat.ID_MEDIDA_VARIAVEL = $i("i3geoCartoComboMedidaVariavelEditor").value;
  1320 + }
  1321 + },
  1322 + codigo_variavel = $i("i3geoCartoComboVariavelEditor").value;
  1323 + if(codigo_variavel == ""){
  1324 + i3GEO.janela.tempoMsg($trad('msgSelecionaVariavel',i3GEOF.metaestat.dicionario));
  1325 + i3GEOF.metaestat.editor.t1(false);
  1326 + return;
  1327 + }
  1328 + i3GEO.php.listaMedidaVariavel(codigo_variavel,temp);
  1329 + }
  1330 + },
  1331 + /**
  1332 + * Mostra a opcao de upload
  1333 + * Ativa o botao de upload com i3GEOF.metaestat.editor.botaoUpload
  1334 + * Na sequencia executa i3GEOF.metaestat.editor.t3()
  1335 + */
  1336 + t3a: function(remove,textoSelecionado){
  1337 + if(remove == true){
  1338 + //remove o conteudo anteriormente construido
  1339 + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3a");
  1340 + }
  1341 + if(i3GEOF.metaestat.DADOSMEDIDASVARIAVEL[0].esquemadb !== "i3geo_metaestat"){
  1342 + i3GEOF.metaestat.editor.t3(true,textoSelecionado);
  1343 + }
  1344 + else{
  1345 + if($i("i3geoCartoComboMedidaVariavelEditor").value === ""){
  1346 + i3GEO.janela.tempoMsg($trad('selecionaMedidaVariavel',i3GEOF.metaestat.dicionario));
  1347 + i3GEOF.metaestat.editor.t2(false);
  1348 + }
  1349 + else{
  1350 + var ins = "<p class='paragrafo' >" + $trad('msgUploadCSV',i3GEOF.metaestat.dicionario1) +
  1351 + "<br><br><p><input id=i3GEOFmetaestatEditorBotaot3a type='button' value='Upload CSV' />";
  1352 + i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t2()","i3GEOF.metaestat.editor.t3()",ins,"i3GEOF.metaestat.editor.t3a","i3GEOFmetaestatEditor",true);
  1353 + i3GEOF.metaestat.editor.botaoUpload("i3GEOFmetaestatEditorBotaot3a");
  1354 + $i("i3GEOFmetaestatEditorBotaot3a-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
  1355 + }
  1356 + }
  1357 + },
  1358 + /**
  1359 + * Opcoes para escolha ou edicao/criacao de uma classificacao
  1360 + * Na sequencia executa i3GEOF.metaestat.editor.t4()
  1361 + */
  1362 + t3: function(remove,textoSelecionado){
  1363 + if(remove == true){
  1364 + //remove o conteudo anteriormente construido
  1365 + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3");
  1366 + }
  1367 + if($i("i3geoCartoComboMedidaVariavelEditor").value === ""){
  1368 + i3GEO.janela.tempoMsg($trad('selecionaMedidaVariavel',i3GEOF.metaestat.dicionario));
  1369 + i3GEOF.metaestat.editor.t2(false);
  1370 + }
  1371 + else{
  1372 + var temp = function(dados){
  1373 + var ins = "<p class='paragrafo' >" + $trad('msgClassifica',i3GEOF.metaestat.dicionario1) + "<br><br>" +
  1374 + "<span>" + i3GEOF.metaestat.principal.comboClassificacoesMedidaVariavel(dados,"i3geoCartoComboClassificacoesEditor","") + "</span>" +
  1375 + "<br><br>"+$trad('unidadeMedida',i3GEOF.metaestat.dicionario1)+": " + i3GEOF.metaestat.editor.dadoMedidaSelecionada("unidade_medida") +
  1376 + "<br><br><p><input id=i3GEOFmetaestatEditorBotao5 type='button' value='"+$trad('edite',i3GEOF.metaestat.dicionario1)+"' />" +
  1377 + "&nbsp;<input id=i3GEOFmetaestatEditorBotao5a type='button' value='"+$trad('criaNova',i3GEOF.metaestat.dicionario1)+"' /><br>";
  1378 + i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t3a()","i3GEOF.metaestat.editor.t4()",ins,"i3GEOF.metaestat.editor.t3","i3GEOFmetaestatEditor",true);
1379 1379
1380 - new YAHOO.widget.Button(  
1381 - "i3GEOFmetaestatEditorBotao5",  
1382 - {onclick:{fn: i3GEOF.metaestat.editor.editaClassificacao}}  
1383 - );  
1384 - $i("i3GEOFmetaestatEditorBotao5-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";  
1385 - new YAHOO.widget.Button(  
1386 - "i3GEOFmetaestatEditorBotao5a",  
1387 - {onclick:{fn: i3GEOF.metaestat.editor.criaClassificacao}}  
1388 - );  
1389 - $i("i3GEOFmetaestatEditorBotao5a-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";  
1390 - if(textoSelecionado){  
1391 - i3GEOF.metaestat.editor.selComboPorTexto("i3geoCartoComboClassificacoesEditor",textoSelecionado);  
1392 - } 1380 + new YAHOO.widget.Button(
  1381 + "i3GEOFmetaestatEditorBotao5",
  1382 + {onclick:{fn: i3GEOF.metaestat.editor.editaClassificacao}}
  1383 + );
  1384 + $i("i3GEOFmetaestatEditorBotao5-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
  1385 + new YAHOO.widget.Button(
  1386 + "i3GEOFmetaestatEditorBotao5a",
  1387 + {onclick:{fn: i3GEOF.metaestat.editor.criaClassificacao}}
  1388 + );
  1389 + $i("i3GEOFmetaestatEditorBotao5a-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
  1390 + if(textoSelecionado){
  1391 + i3GEOF.metaestat.editor.selComboPorTexto("i3geoCartoComboClassificacoesEditor",textoSelecionado);
  1392 + }
1393 1393
1394 - };  
1395 - i3GEO.php.listaClassificacaoMedida($i("i3geoCartoComboMedidaVariavelEditor").value,temp);  
1396 - }  
1397 - },  
1398 - /**  
1399 - * Opcoes para definicao dos intervalos e cores de uma classificacao  
1400 - */  
1401 - t4: function(){  
1402 - //remove o conteudo anteriormente construido  
1403 - i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t4");  
1404 - if($i("i3geoCartoComboMedidaVariavelEditor").value === ""){  
1405 - i3GEO.janela.tempoMsg($trad('selecionaTipoClassificacao',i3GEOF.metaestat.dicionario));  
1406 - i3GEOF.metaestat.editor.t3(false);  
1407 - }  
1408 - else{  
1409 - //formulario semelhante existe em i3geo/admin/js/estat_variavel.js (classesAuto)  
1410 - var temp = function(dados){  
1411 - var soma = i3GEOF.metaestat.editor.dadoMedidaSelecionada("permitesoma"),  
1412 - media = i3GEOF.metaestat.editor.dadoMedidaSelecionada("permitemedia"),  
1413 - ins = "<p class='paragrafo' >" + $trad('msgAtualizaMapa',i3GEOF.metaestat.dicionario1) + "</p>"+  
1414 - "&nbsp;<input id=i3GEOFmetaestatEditorBotao8 type='button' value='"+$trad('selecionaCor',i3GEOF.metaestat.dicionario1)+"' />" +  
1415 - "<br><p class='paragrafo' >" + $trad('msgMetodoClassificacao',i3GEOF.metaestat.dicionario1) + "</p>";  
1416 - if(soma == 1 || media == 1){  
1417 - ins += "&nbsp;<input id=i3GEOFmetaestatEditorBotao6 type='button' value='"+$trad('quartis',i3GEOF.metaestat.dicionario1)+"' />" +  
1418 - "&nbsp;<input id=i3GEOFmetaestatEditorBotao7 type='button' value='"+$trad('intervalosIguais',i3GEOF.metaestat.dicionario1)+"' />" +  
1419 - "<div style='display:inline-block;position:relative;left:2px;top:2px;width:200px;' >&nbsp;intervalos: <input type=text value=5 id=i3GEOFmetaestatEditorNumInt size=5 /></div>"; 1394 + };
  1395 + i3GEO.php.listaClassificacaoMedida($i("i3geoCartoComboMedidaVariavelEditor").value,temp);
  1396 + }
  1397 + },
  1398 + /**
  1399 + * Opcoes para definicao dos intervalos e cores de uma classificacao
  1400 + */
  1401 + t4: function(){
  1402 + //remove o conteudo anteriormente construido
  1403 + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t4");
  1404 + if($i("i3geoCartoComboMedidaVariavelEditor").value === ""){
  1405 + i3GEO.janela.tempoMsg($trad('selecionaTipoClassificacao',i3GEOF.metaestat.dicionario));
  1406 + i3GEOF.metaestat.editor.t3(false);
  1407 + }
  1408 + else{
  1409 + //formulario semelhante existe em i3geo/admin/js/estat_variavel.js (classesAuto)
  1410 + var temp = function(dados){
  1411 + var soma = i3GEOF.metaestat.editor.dadoMedidaSelecionada("permitesoma"),
  1412 + media = i3GEOF.metaestat.editor.dadoMedidaSelecionada("permitemedia"),
  1413 + ins = "<p class='paragrafo' >" + $trad('msgAtualizaMapa',i3GEOF.metaestat.dicionario1) + "</p>"+
  1414 + "&nbsp;<input id=i3GEOFmetaestatEditorBotao8 type='button' value='"+$trad('selecionaCor',i3GEOF.metaestat.dicionario1)+"' />" +
  1415 + "<br><p class='paragrafo' >" + $trad('msgMetodoClassificacao',i3GEOF.metaestat.dicionario1) + "</p>";
  1416 + if(soma == 1 || media == 1){
  1417 + ins += "&nbsp;<input id=i3GEOFmetaestatEditorBotao6 type='button' value='"+$trad('quartis',i3GEOF.metaestat.dicionario1)+"' />" +
  1418 + "&nbsp;<input id=i3GEOFmetaestatEditorBotao7 type='button' value='"+$trad('intervalosIguais',i3GEOF.metaestat.dicionario1)+"' />" +
  1419 + "<div style='display:inline-block;position:relative;left:2px;top:2px;width:200px;' >&nbsp;intervalos: <input type=text value=5 id=i3GEOFmetaestatEditorNumInt size=5 /></div>";
1420 1420
1421 - }  
1422 - ins += '<input type=hidden value="" id="listaColourRampEditor" />' + //utilizado pelo seletor de colourramp;  
1423 - "<br><p class='paragrafo' >" + $trad('msgCriaClasses',i3GEOF.metaestat.dicionario1) + "</p>" +  
1424 - "<p class='paragrafo' >" + $trad('menorValor',i3GEOF.metaestat.dicionario1) +  
1425 - "&nbsp;<input type=text class=digitar size=5 value=0 id=i3GEOFmetaestatEditorVmin />&nbsp;&nbsp;" +  
1426 - $trad('maiorValor',i3GEOF.metaestat.dicionario1) +  
1427 - "&nbsp;<input type=text class=digitar size=5 value=100 id=i3GEOFmetaestatEditorVmax /></p>" +  
1428 - "<input id='i3GEOFmetaestatEditorBotao9' type='button' value='"+$trad('intervalosIguais',i3GEOF.metaestat.dicionario1)+"' />"; 1421 + }
  1422 + ins += '<input type=hidden value="" id="listaColourRampEditor" />' + //utilizado pelo seletor de colourramp;
  1423 + "<br><p class='paragrafo' >" + $trad('msgCriaClasses',i3GEOF.metaestat.dicionario1) + "</p>" +
  1424 + "<p class='paragrafo' >" + $trad('menorValor',i3GEOF.metaestat.dicionario1) +
  1425 + "&nbsp;<input type=text class=digitar size=5 value=0 id=i3GEOFmetaestatEditorVmin />&nbsp;&nbsp;" +
  1426 + $trad('maiorValor',i3GEOF.metaestat.dicionario1) +
  1427 + "&nbsp;<input type=text class=digitar size=5 value=100 id=i3GEOFmetaestatEditorVmax /></p>" +
  1428 + "<input id='i3GEOFmetaestatEditorBotao9' type='button' value='"+$trad('intervalosIguais',i3GEOF.metaestat.dicionario1)+"' />";
1429 1429
1430 - i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t3()","",ins,"i3GEOF.metaestat.editor.t4","i3GEOFmetaestatEditor",true);  
1431 - new YAHOO.widget.Button(  
1432 - "i3GEOFmetaestatEditorBotao8",  
1433 - {onclick:{fn: function(){  
1434 - i3GEO.util.abreColourRamp("","listaColourRampEditor",$i("i3GEOFmetaestatEditorNumInt").value);  
1435 - }}}  
1436 - );  
1437 - $i("i3GEOFmetaestatEditorBotao8-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";  
1438 - if($i("i3GEOFmetaestatEditorBotao6")){  
1439 - new YAHOO.widget.Button(  
1440 - "i3GEOFmetaestatEditorBotao6",  
1441 - {onclick:{fn: i3GEOF.metaestat.editor.quartis}}  
1442 - );  
1443 - $i("i3GEOFmetaestatEditorBotao6-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px"; 1430 + i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t3()","",ins,"i3GEOF.metaestat.editor.t4","i3GEOFmetaestatEditor",true);
  1431 + new YAHOO.widget.Button(
  1432 + "i3GEOFmetaestatEditorBotao8",
  1433 + {onclick:{fn: function(){
  1434 + i3GEO.util.abreColourRamp("","listaColourRampEditor",$i("i3GEOFmetaestatEditorNumInt").value);
  1435 + }}}
  1436 + );
  1437 + $i("i3GEOFmetaestatEditorBotao8-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
  1438 + if($i("i3GEOFmetaestatEditorBotao6")){
  1439 + new YAHOO.widget.Button(
  1440 + "i3GEOFmetaestatEditorBotao6",
  1441 + {onclick:{fn: i3GEOF.metaestat.editor.quartis}}
  1442 + );
  1443 + $i("i3GEOFmetaestatEditorBotao6-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
1444 1444
1445 - new YAHOO.widget.Button(  
1446 - "i3GEOFmetaestatEditorBotao7",  
1447 - {onclick:{fn: i3GEOF.metaestat.editor.intervalosIguais}}  
1448 - );  
1449 - $i("i3GEOFmetaestatEditorBotao7-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px"; 1445 + new YAHOO.widget.Button(
  1446 + "i3GEOFmetaestatEditorBotao7",
  1447 + {onclick:{fn: i3GEOF.metaestat.editor.intervalosIguais}}
  1448 + );
  1449 + $i("i3GEOFmetaestatEditorBotao7-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
1450 1450
1451 - new YAHOO.widget.Button(  
1452 - "i3GEOFmetaestatEditorBotao9",  
1453 - {onclick:{fn: i3GEOF.metaestat.editor.intervalosIguaisMM}}  
1454 - );  
1455 - $i("i3GEOFmetaestatEditorBotao9-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";  
1456 - }  
1457 - };  
1458 - i3GEO.php.listaClasseClassificacao($i("i3geoCartoComboClassificacoesEditor").value,temp);  
1459 - }  
1460 - }  
1461 - },  
1462 - /**  
1463 - * Funcoes que controlam a exibicao e escolha dos parametros cadastrados para uma medida de variavel  
1464 - * Parametros podem ter filhos  
1465 - */  
1466 - parametros: {  
1467 - /**  
1468 - * Guarda a lista de parametros que foram obtidos na inicializacao  
1469 - */  
1470 - dados: [],  
1471 - /**  
1472 - * Obtem a lista com os parametros da medida  
1473 - * Cria os combos para os parametros que sao pai de todos  
1474 - * Executa i3GEO.php.listaParametrosMedidaVariavel()  
1475 - */  
1476 - lista: function(id_medida_variavel){  
1477 - i3GEOF.metaestat.comum.aguarde();  
1478 - var temp = function(dados){  
1479 - i3GEOF.metaestat.parametros.dados = dados;  
1480 - i3GEOF.metaestat.parametros.combos("0");  
1481 - i3GEOF.metaestat.comum.aguarde("hidden");  
1482 - };  
1483 - i3GEO.php.listaParametrosMedidaVariavel(id_medida_variavel,temp);  
1484 - },  
1485 - /**  
1486 - * Cria os elementos que receberao so combos para escolher os valores de um parametro  
1487 - * Para criar os combos, executa i3GEOF.metaestat.parametros.valoresCombo()  
1488 - * O combo e inserido no elemento com ID i3geoCartoParametrosMedidasVariavel  
1489 - * Cada combo recebe um ID cujo valor e definido em funcao do id do parametro e do nivel na hierarquia  
1490 - * O combo e inserido dentro de um div ja existente ou e criado um novo se o nivel for 0  
1491 - * @param nivel do parametro na hierarquia, sendo 0 para o pai de todos  
1492 - */  
1493 - combos: function(nivel){  
1494 - var dados = i3GEOF.metaestat.parametros.dados,  
1495 - n = dados.length,  
1496 - onde = $i("i3geoCartoParametrosMedidasVariavel"),  
1497 - idpar,idcombo,i,novoel,teste;  
1498 - if(n === 0){  
1499 - i3GEOF.metaestat.comum.adicionaCamada();  
1500 - }  
1501 - //cria o combo para o parametro cujo id_pai for do nivel escolhido  
1502 - for(i=0;i<n;i++){  
1503 - if(dados[i].id_pai == nivel){  
1504 - idpar = "parametro_"+dados[i].id_parametro_medida;  
1505 - idcombo = "parametro_"+dados[i].id_parametro_medida+"_"+nivel;  
1506 - teste = i3GEOF.metaestat.parametros.retornaIdPai(dados[i].id_parametro_medida);  
1507 - if(teste != false){  
1508 - idpar = "parametro_"+teste;  
1509 - }  
1510 - if(!$i(idpar)){  
1511 - novoel = document.createElement("div");  
1512 - novoel.id = idpar;  
1513 - novoel.className = "paragrafo";  
1514 - onde.appendChild(novoel);  
1515 - }  
1516 - onde = $i(idpar);  
1517 - //if($i(idcombo)){  
1518 - // $i(idcombo).parentNode.innerHTML = "";  
1519 - //}  
1520 - if(!$i(idcombo)){  
1521 - i3GEOF.metaestat.comum.aguarde("hidden");  
1522 - novoel = document.createElement("div");  
1523 - novoel.id = idcombo;  
1524 - novoel.className = "paragrafo";  
1525 - onde.appendChild(novoel);  
1526 - i3GEOF.metaestat.parametros.valoresCombo(dados[i].id_parametro_medida,dados[i].nome,nivel,onde,idcombo);  
1527 - }  
1528 - }  
1529 - }  
1530 - },  
1531 - /**  
1532 - * Cria um combo com os valores de um determinado parametro  
1533 - * Executa i3GEO.php.listaValoresParametroMedidaVariavel() para obter os dados  
1534 - * @param id da medida da variavel  
1535 - * @param titulo do combo  
1536 - * @param nivel na hierarquia de parametros  
1537 - * @param onde o combo sera inserido  
1538 - * @param id que o combo recebera  
1539 - */  
1540 - valoresCombo: function(id_parametro_medida,titulo,nivel,onde,idcombo){  
1541 - var temp = function(dados){  
1542 - var n = dados.length,  
1543 - ins = "",  
1544 - oc = "'i3GEOF.metaestat.parametros.antesCombo();i3GEOF.metaestat.parametros.combos(\""+id_parametro_medida+"\")'",  
1545 - filho = i3GEOF.metaestat.parametros.retornaIdFilho(id_parametro_medida),  
1546 - i,novoel;  
1547 - if(filho === false && i3GEOF.metaestat.MULTIPARAMETROS === false){  
1548 - oc = "i3GEOF.metaestat.comum.adicionaCamada()";  
1549 - }  
1550 - ins = "<br><p class=paragrafo >"+titulo+"</p>";  
1551 - if(i3GEOF.metaestat.MULTIPARAMETROS === false){  
1552 - ins += "<select id='combo"+idcombo+"' style='background:beige;width:"+(i3GEOF.metaestat.LARGURA - 20)+"px' onchange="+oc+" ><option value=''>---</option>";  
1553 - for(i=0;i<n;i++){  
1554 - ins += "<option value='"+dados[i]+"'>"+dados[i]+"</option>";  
1555 - }  
1556 - ins += "</select>";  
1557 - }  
1558 - else{  
1559 - ins += i3GEO.util.checkCombo(  
1560 - "combo"+idcombo,  
1561 - dados,  
1562 - dados,  
1563 - "overflow:auto;width:"+(i3GEOF.metaestat.LARGURA - 20)+"px;height:150px;border:1px solid gray;background-color:white",  
1564 - oc  
1565 - );  
1566 - }  
1567 - novoel = document.createElement("div");  
1568 - novoel.className = "paragrafo";  
1569 - novoel.innerHTML = ins;  
1570 - i3GEOF.metaestat.comum.aguarde("hidden");  
1571 - onde.appendChild(novoel);  
1572 - };  
1573 - i3GEO.php.listaValoresParametroMedidaVariavel(id_parametro_medida,temp);  
1574 - },  
1575 - antesCombo: function(){  
1576 - //if(!$i("i3geoCartoClasses_corpo")){  
1577 - //i3GEOF.metaestat.classes.inicia();  
1578 - //}  
1579 - },  
1580 - /**  
1581 - * Retorna o id do parametro que e filho de um outro parametro  
1582 - * Varre a variavel i3GEOF.metaestat.parametros.dados para pegar o filho  
1583 - * @param id pai  
1584 - * @return id do parametro ou false  
1585 - */  
1586 - retornaIdFilho:function(pai){  
1587 - var dados = i3GEOF.metaestat.parametros.dados,  
1588 - n = dados.length,  
1589 - i;  
1590 - for(i=0;i<n;i++){  
1591 - if(dados[i].id_pai == pai){  
1592 - return dados[i].id_parametro_medida;  
1593 - }  
1594 - }  
1595 - return false;  
1596 - },  
1597 - /**  
1598 - * Retorna o id do parametro que e pai de um outro parametro  
1599 - * Varre a variavel i3GEOF.metaestat.parametros.dados para pegar o pai  
1600 - * @param id filho  
1601 - * @return id do parametro ou false  
1602 - */  
1603 - retornaIdPai:function(filho){  
1604 - var dados = i3GEOF.metaestat.parametros.dados,  
1605 - n = dados.length,  
1606 - i;  
1607 - for(i=0;i<n;i++){  
1608 - if(dados[i].id_parametro_medida == filho){  
1609 - return dados[i].id_pai;  
1610 - }  
1611 - }  
1612 - return false;  
1613 - }  
1614 - },  
1615 - /**  
1616 - * Funcoes utilizadas pelos componentes principais da ferramenta (janela inicial)  
1617 - */  
1618 - principal: {  
1619 - MUSTACHE : "",  
1620 - MUSTACHECOMBO : "",  
1621 - mustacheHash : function() {  
1622 - var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.metaestat.dicionario);  
1623 - dicionario["locaplic"] = i3GEO.configura.locaplic;  
1624 - dicionario["ID_MEDIDA_VARIAVEL"] = i3GEOF.metaestat.ID_MEDIDA_VARIAVEL;  
1625 - dicionario["aguarde"] = $trad("o1");  
1626 - return dicionario;  
1627 - },  
1628 - /**  
1629 - * Inicia a ferramenta principal com as opcoes de escolha de variaveis, medidas e parametros  
1630 - *  
1631 - * Cria a janela flutuante com i3GEOF.metaestat.principal.abreJanela();  
1632 - * Preenche o conteudo da janela com i3GEOF.metaestat.principal.html();  
1633 - * Ativa as opcoes da janela com i3GEOF.metaestat.principal.opcoesVariaveis();  
1634 - *  
1635 - * @param id do div onde os componentes serao inseridos. Se nao for definido, utiliza "i3geoCartoParametros_corpo"  
1636 - *  
1637 - */  
1638 - inicia: function(iddiv, largura, altura, topo, esquerda){  
1639 - var template = "template_mst.html";  
1640 - if(i3GEOF.metaestat.INTERFACE == "flutuanteSimples"){  
1641 - template = "templatesimples_mst.html";  
1642 - }  
1643 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.inicia()");  
1644 - if(!iddiv || !$i(iddiv)){  
1645 - iddiv = "i3geoCartoParametros_corpo";  
1646 - }  
1647 - if(i3GEOF.metaestat.principal.MUSTACHE == ""){  
1648 - $.get(i3GEO.configura.locaplic + "/ferramentas/metaestat/" + template, function(template) {  
1649 - i3GEOF.metaestat.principal.MUSTACHE = template;  
1650 - i3GEOF.metaestat.principal.inicia(iddiv, largura, altura, topo, esquerda);  
1651 - });  
1652 - return;  
1653 - }  
1654 - //interface default  
1655 - if(i3GEOF.metaestat.INTERFACE == "flutuante"){  
1656 - i3GEOF.metaestat.principal.abreJanela(largura, altura, topo, esquerda);  
1657 - $i(iddiv).innerHTML = i3GEOF.metaestat.principal.html();  
1658 - i3GEOF.metaestat.principal.opcoesVariaveis();  
1659 - }  
1660 - //interface qd a medida da variavel ja tiver sido definida. Utilizada ao adicionar uma camada via catalogo de temas  
1661 - //TODO incluir via template mustache  
1662 - if(i3GEOF.metaestat.INTERFACE == "flutuanteSimples"){  
1663 - i3GEOF.metaestat.principal.abreJanela();  
1664 - $i(iddiv).innerHTML = i3GEOF.metaestat.principal.html(); 1451 + new YAHOO.widget.Button(
  1452 + "i3GEOFmetaestatEditorBotao9",
  1453 + {onclick:{fn: i3GEOF.metaestat.editor.intervalosIguaisMM}}
  1454 + );
  1455 + $i("i3GEOFmetaestatEditorBotao9-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px";
  1456 + }
  1457 + };
  1458 + i3GEO.php.listaClasseClassificacao($i("i3geoCartoComboClassificacoesEditor").value,temp);
  1459 + }
  1460 + }
  1461 + },
  1462 + /**
  1463 + * Funcoes que controlam a exibicao e escolha dos parametros cadastrados para uma medida de variavel
  1464 + * Parametros podem ter filhos
  1465 + */
  1466 + parametros: {
  1467 + /**
  1468 + * Guarda a lista de parametros que foram obtidos na inicializacao
  1469 + */
  1470 + dados: [],
  1471 + /**
  1472 + * Obtem a lista com os parametros da medida
  1473 + * Cria os combos para os parametros que sao pai de todos
  1474 + * Executa i3GEO.php.listaParametrosMedidaVariavel()
  1475 + */
  1476 + lista: function(id_medida_variavel){
  1477 + i3GEOF.metaestat.comum.aguarde();
  1478 + var temp = function(dados){
  1479 + i3GEOF.metaestat.parametros.dados = dados;
  1480 + i3GEOF.metaestat.parametros.combos("0");
  1481 + i3GEOF.metaestat.comum.aguarde("hidden");
  1482 + };
  1483 + i3GEO.php.listaParametrosMedidaVariavel(id_medida_variavel,temp);
  1484 + },
  1485 + /**
  1486 + * Cria os elementos que receberao so combos para escolher os valores de um parametro
  1487 + * Para criar os combos, executa i3GEOF.metaestat.parametros.valoresCombo()
  1488 + * O combo e inserido no elemento com ID i3geoCartoParametrosMedidasVariavel
  1489 + * Cada combo recebe um ID cujo valor e definido em funcao do id do parametro e do nivel na hierarquia
  1490 + * O combo e inserido dentro de um div ja existente ou e criado um novo se o nivel for 0
  1491 + * @param nivel do parametro na hierarquia, sendo 0 para o pai de todos
  1492 + */
  1493 + combos: function(nivel){
  1494 + var dados = i3GEOF.metaestat.parametros.dados,
  1495 + n = dados.length,
  1496 + onde = $i("i3geoCartoParametrosMedidasVariavel"),
  1497 + idpar,idcombo,i,novoel,teste;
  1498 + if(n === 0){
  1499 + i3GEOF.metaestat.comum.adicionaCamada();
  1500 + }
  1501 + //cria o combo para o parametro cujo id_pai for do nivel escolhido
  1502 + for(i=0;i<n;i++){
  1503 + if(dados[i].id_pai == nivel){
  1504 + idpar = "parametro_"+dados[i].id_parametro_medida;
  1505 + idcombo = "parametro_"+dados[i].id_parametro_medida+"_"+nivel;
  1506 + teste = i3GEOF.metaestat.parametros.retornaIdPai(dados[i].id_parametro_medida);
  1507 + if(teste != false){
  1508 + idpar = "parametro_"+teste;
  1509 + }
  1510 + if(!$i(idpar)){
  1511 + novoel = document.createElement("div");
  1512 + novoel.id = idpar;
  1513 + novoel.className = "paragrafo";
  1514 + onde.appendChild(novoel);
  1515 + }
  1516 + onde = $i(idpar);
  1517 + //if($i(idcombo)){
  1518 + // $i(idcombo).parentNode.innerHTML = "";
  1519 + //}
  1520 + if(!$i(idcombo)){
  1521 + i3GEOF.metaestat.comum.aguarde("hidden");
  1522 + novoel = document.createElement("div");
  1523 + novoel.id = idcombo;
  1524 + novoel.className = "paragrafo";
  1525 + onde.appendChild(novoel);
  1526 + i3GEOF.metaestat.parametros.valoresCombo(dados[i].id_parametro_medida,dados[i].nome,nivel,onde,idcombo);
  1527 + }
  1528 + }
  1529 + }
  1530 + },
  1531 + /**
  1532 + * Cria um combo com os valores de um determinado parametro
  1533 + * Executa i3GEO.php.listaValoresParametroMedidaVariavel() para obter os dados
  1534 + * @param id da medida da variavel
  1535 + * @param titulo do combo
  1536 + * @param nivel na hierarquia de parametros
  1537 + * @param onde o combo sera inserido
  1538 + * @param id que o combo recebera
  1539 + */
  1540 + valoresCombo: function(id_parametro_medida,titulo,nivel,onde,idcombo){
  1541 + i3GEOF.metaestat.comum.aguarde("visible");
  1542 + var temp = function(dados){
  1543 + var n = dados.length,
  1544 + ins = "",
  1545 + oc = "'i3GEOF.metaestat.parametros.antesCombo();i3GEOF.metaestat.parametros.combos(\""+id_parametro_medida+"\")'",
  1546 + filho = i3GEOF.metaestat.parametros.retornaIdFilho(id_parametro_medida),
  1547 + i,novoel;
  1548 + if(filho === false && i3GEOF.metaestat.MULTIPARAMETROS === false){
  1549 + oc = "i3GEOF.metaestat.comum.adicionaCamada()";
  1550 + }
  1551 + ins = "<br><p class=paragrafo >"+titulo+"</p>";
  1552 + if(i3GEOF.metaestat.MULTIPARAMETROS === false){
  1553 + ins += "<select id='combo"+idcombo+"' style='background:beige;width:"+(i3GEOF.metaestat.LARGURA - 20)+"px' onchange="+oc+" ><option value=''>---</option>";
  1554 + for(i=0;i<n;i++){
  1555 + ins += "<option value='"+dados[i]+"'>"+dados[i]+"</option>";
  1556 + }
  1557 + ins += "</select>";
  1558 + }
  1559 + else{
  1560 + ins += i3GEO.util.checkCombo(
  1561 + "combo"+idcombo,
  1562 + dados,
  1563 + dados,
  1564 + "overflow:auto;width:"+(i3GEOF.metaestat.LARGURA - 20)+"px;height:150px;border:1px solid gray;background-color:white",
  1565 + oc
  1566 + );
  1567 + }
  1568 + novoel = document.createElement("div");
  1569 + novoel.className = "paragrafo";
  1570 + novoel.innerHTML = ins;
  1571 + i3GEOF.metaestat.comum.aguarde("hidden");
  1572 + onde.appendChild(novoel);
  1573 + };
  1574 + i3GEO.php.listaValoresParametroMedidaVariavel(id_parametro_medida,temp);
  1575 + },
  1576 + antesCombo: function(){
  1577 + //if(!$i("i3geoCartoClasses_corpo")){
  1578 + //i3GEOF.metaestat.classes.inicia();
  1579 + //}
  1580 + },
  1581 + /**
  1582 + * Retorna o id do parametro que e filho de um outro parametro
  1583 + * Varre a variavel i3GEOF.metaestat.parametros.dados para pegar o filho
  1584 + * @param id pai
  1585 + * @return id do parametro ou false
  1586 + */
  1587 + retornaIdFilho:function(pai){
  1588 + var dados = i3GEOF.metaestat.parametros.dados,
  1589 + n = dados.length,
  1590 + i;
  1591 + for(i=0;i<n;i++){
  1592 + if(dados[i].id_pai == pai){
  1593 + return dados[i].id_parametro_medida;
  1594 + }
  1595 + }
  1596 + return false;
  1597 + },
  1598 + /**
  1599 + * Retorna o id do parametro que e pai de um outro parametro
  1600 + * Varre a variavel i3GEOF.metaestat.parametros.dados para pegar o pai
  1601 + * @param id filho
  1602 + * @return id do parametro ou false
  1603 + */
  1604 + retornaIdPai:function(filho){
  1605 + var dados = i3GEOF.metaestat.parametros.dados,
  1606 + n = dados.length,
  1607 + i;
  1608 + for(i=0;i<n;i++){
  1609 + if(dados[i].id_parametro_medida == filho){
  1610 + return dados[i].id_pai;
  1611 + }
  1612 + }
  1613 + return false;
  1614 + }
  1615 + },
  1616 + /**
  1617 + * Funcoes utilizadas pelos componentes principais da ferramenta (janela inicial)
  1618 + */
  1619 + principal: {
  1620 + MUSTACHE : "",
  1621 + MUSTACHECOMBO : "",
  1622 + mustacheHash : function() {
  1623 + var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.metaestat.dicionario);
  1624 + dicionario["locaplic"] = i3GEO.configura.locaplic;
  1625 + dicionario["ID_MEDIDA_VARIAVEL"] = i3GEOF.metaestat.ID_MEDIDA_VARIAVEL;
  1626 + dicionario["aguarde"] = $trad("o1");
  1627 + return dicionario;
  1628 + },
  1629 + /**
  1630 + * Inicia a ferramenta principal com as opcoes de escolha de variaveis, medidas e parametros
  1631 + *
  1632 + * Cria a janela flutuante com i3GEOF.metaestat.principal.abreJanela();
  1633 + * Preenche o conteudo da janela com i3GEOF.metaestat.principal.html();
  1634 + * Ativa as opcoes da janela com i3GEOF.metaestat.principal.opcoesVariaveis();
  1635 + *
  1636 + * @param id do div onde os componentes serao inseridos. Se nao for definido, utiliza "i3geoCartoParametros_corpo"
  1637 + *
  1638 + */
  1639 + inicia: function(iddiv, largura, altura, topo, esquerda){
  1640 + var template = "template_mst.html";
  1641 + if(i3GEOF.metaestat.INTERFACE == "flutuanteSimples"){
  1642 + template = "templatesimples_mst.html";
  1643 + }
  1644 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.inicia()");
  1645 + if(!iddiv || !$i(iddiv)){
  1646 + iddiv = "i3geoCartoParametros_corpo";
  1647 + }
  1648 + if(i3GEOF.metaestat.principal.MUSTACHE == ""){
  1649 + $.get(i3GEO.configura.locaplic + "/ferramentas/metaestat/" + template, function(template) {
  1650 + i3GEOF.metaestat.principal.MUSTACHE = template;
  1651 + i3GEOF.metaestat.principal.inicia(iddiv, largura, altura, topo, esquerda);
  1652 + });
  1653 + return;
  1654 + }
  1655 + //interface default
  1656 + if(i3GEOF.metaestat.INTERFACE == "flutuante"){
  1657 + i3GEOF.metaestat.principal.abreJanela(largura, altura, topo, esquerda);
  1658 + $i(iddiv).innerHTML = i3GEOF.metaestat.principal.html();
  1659 + i3GEOF.metaestat.principal.opcoesVariaveis();
  1660 + }
  1661 + //interface qd a medida da variavel ja tiver sido definida. Utilizada ao adicionar uma camada via catalogo de temas
  1662 + //TODO incluir via template mustache
  1663 + if(i3GEOF.metaestat.INTERFACE == "flutuanteSimples"){
  1664 + i3GEOF.metaestat.principal.abreJanela();
  1665 + $i(iddiv).innerHTML = i3GEOF.metaestat.principal.html();
1665 1666
1666 - i3GEOF.metaestat.classes.comboRegiao(i3GEOF.metaestat.ID_MEDIDA_VARIAVEL);  
1667 - i3GEOF.metaestat.classes.comboTipoClassificacao();  
1668 - i3GEOF.metaestat.parametros.lista(i3GEOF.metaestat.ID_MEDIDA_VARIAVEL);  
1669 - }  
1670 - i3GEOF.metaestat.principal.MUSTACHE = "";  
1671 - },  
1672 - /**  
1673 - * Atualiza os componentes da interface  
1674 - * Remove os combos e adiciona novamente  
1675 - */  
1676 - atualiza:function(){  
1677 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.atualiza()");  
1678 - $i("i3geoCartoVariaveis").innerHTML = "";  
1679 - $i("i3geoCartoMedidasVariavel").innerHTML = "";  
1680 - $i("i3geoCartoParametrosMedidasVariavel").innerHTML = "";  
1681 - YAHOO.i3GEO.janela.manager.find("i3geoCartoParametros").setFooter("");  
1682 - i3GEOF.metaestat.principal.opcoesVariaveis();  
1683 - },  
1684 - /**  
1685 - * Cria uma janela flutuante para inserir os componetes da interface  
1686 - *  
1687 - * Para capturar o objeto janela utilize janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoParametros");  
1688 - */  
1689 - abreJanela: function(largura, altura, topo, esquerda){  
1690 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.abreJanela()");  
1691 - var cabecalho,minimiza,imagemxy,janela,modal = false,titulo = false;  
1692 - if (largura) {  
1693 - i3GEOF.metaestat.LARGURA = largura;  
1694 - }  
1695 - if (altura) {  
1696 - i3GEOF.metaestat.ALTURA = altura;  
1697 - }  
1698 - if (esquerda) {  
1699 - i3GEOF.metaestat.LEFT = esquerda;  
1700 - }  
1701 - if (topo) {  
1702 - i3GEOF.metaestat.TOP = topo;  
1703 - }  
1704 - if (!$i("i3geoCartoParametros")){  
1705 - cabecalho = function(){  
1706 - };  
1707 - minimiza = function(){  
1708 - i3GEO.janela.minimiza("i3geoCartoParametros");  
1709 - };  
1710 - if(i3GEOF.metaestat.INTERFACE == "flutuanteSimples"){  
1711 - modal = false;  
1712 - }  
1713 - titulo = "<span class='i3GeoTituloJanelaBsNolink' >" + $trad("x57") + "</span></div>";  
1714 - janela = i3GEO.janela.cria(  
1715 - i3GEOF.metaestat.LARGURA+50+"px",  
1716 - i3GEOF.metaestat.ALTURA+"px",  
1717 - "",  
1718 - "",  
1719 - "",  
1720 - titulo,  
1721 - "i3geoCartoParametros",  
1722 - modal,  
1723 - "hd",  
1724 - cabecalho,  
1725 - minimiza,  
1726 - "",  
1727 - false,  
1728 - "",  
1729 - "",  
1730 - "",  
1731 - "",  
1732 - "124"  
1733 - );  
1734 - janela = janela[0];  
1735 - if(!YAHOO.i3GEO.janela.manager.find("i3geoCartoParametros")){  
1736 - YAHOO.i3GEO.janela.manager.register(janela);  
1737 - }  
1738 - janela.render();  
1739 - }  
1740 - else{  
1741 - janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoParametros");  
1742 - }  
1743 - janela.show();  
1744 - imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO));  
1745 - janela.moveTo(imagemxy[0]+i3GEOF.metaestat.LEFT,i3GEOF.metaestat.TOP);  
1746 - return janela;  
1747 - },  
1748 - /**  
1749 - * Conteudo HTML que sera inerido na janela ou div com os elementos principais que receberao os objetos HTMML:  
1750 - * @return HTML  
1751 - */  
1752 - html: function(){  
1753 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.html()");  
1754 - var ins = Mustache.render(i3GEOF.metaestat.principal.MUSTACHE, i3GEOF.metaestat.principal.mustacheHash());  
1755 - return ins;  
1756 - },  
1757 - /**  
1758 - * Abre uma janela flutuante com um relatorio contendo os metadados da variavel escolhida  
1759 - *  
1760 - * Verifica o combo com id "i3geoCartoComboVariavel" para verificar se a variavel foi escolhida  
1761 - *  
1762 - * O relatorio e montado com i3GEO.php.relatorioVariavel  
1763 - */  
1764 - maisInfo: function(){  
1765 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.maisInfo()");  
1766 - var temp = "",  
1767 - v = $i("i3geoCartoComboVariavel");  
1768 - if(!v || v.value === ""){  
1769 - i3GEO.janela.tempoMsg($trad('msgSelecionaVariavel',i3GEOF.metaestat.dicionario));  
1770 - }  
1771 - else{  
1772 - var cabecalho,minimiza,janela;  
1773 - if (!$i("i3geoCartoMaisInfo")){  
1774 - cabecalho = function(){  
1775 - };  
1776 - minimiza = function(){  
1777 - i3GEO.janela.minimiza("i3geoCartoMaisInfo");  
1778 - };  
1779 - janela = i3GEO.janela.cria(  
1780 - "400px",  
1781 - "300px",  
1782 - "",  
1783 - "",  
1784 - "",  
1785 - "</div><div class='i3GeoTituloJanelaBs'>" + $trad('relatorio',i3GEOF.metaestat.dicionario) + "</div>",  
1786 - "i3geoCartoMaisInfo",  
1787 - false,  
1788 - "hd",  
1789 - cabecalho,  
1790 - minimiza  
1791 - );  
1792 - janela = janela[0];  
1793 - YAHOO.i3GEO.janela.manager.register(janela);  
1794 - janela.render();  
1795 - //YAHOO.util.Event.addListener(janela.close, "click", i3GEOF.metaestat.fechaJanelaParametros);  
1796 - }  
1797 - else{  
1798 - janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoMaisInfo");  
1799 - }  
1800 - janela.setBody("");  
1801 - temp = function(retorno){  
1802 - janela.setBody(retorno);  
1803 - janela.show();  
1804 - //imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO));  
1805 - //janela.moveTo(imagemxy[0]+i3GEOF.metaestat.LEFT,imagemxy[1]+i3GEOF.metaestat.TOP);  
1806 - };  
1807 - i3GEO.php.relatorioVariavel(v.value,temp);  
1808 - }  
1809 - },  
1810 - /**  
1811 - * Monta um combo com a lista de variaveis cadastradas  
1812 - * Retorna o HTML do combo  
1813 - *  
1814 - * @param objeto contendo a lista de variaveis e demais parametros de cada uma. Veja i3GEOF.metaestat.principal.opcoesVariaveis  
1815 - * @param id que sera atribuido ao combo  
1816 - * @param string que sera inserida no evento onchange  
1817 - * @param largura em pixel  
1818 - * @param sim|nao indicando se o icone da opcao 'mais info' sera mostrado ou nao  
1819 - *  
1820 - * @return HTML  
1821 - */  
1822 - comboVariaveis: function(dados,idcombo,stronchange,largura,mostraIconeinfo){  
1823 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.comboVariaveis()");  
1824 - var ins,i,n = dados.length,selecionado = "";  
1825 - if(!largura || largura === ""){  
1826 - largura = i3GEOF.metaestat.LARGURA - 40;  
1827 - }  
1828 - if(!mostraIconeinfo || mostraIconeinfo === ""){  
1829 - mostraIconeinfo = "sim";  
1830 - }  
1831 - ins = "<select class='form-control pull-left' style='width:"+largura+"px;' id='"+idcombo+"' onchange='"+stronchange+"'><option value=''>---</option>";  
1832 - for(i=0;i<n;i++){  
1833 - if(dados[i].codigo_variavel === i3GEOF.metaestat.CODIGO_VARIAVEL){  
1834 - selecionado = "SELECTED";  
1835 - }  
1836 - else{  
1837 - selecionado = "";  
1838 - }  
1839 - ins += "<option "+selecionado+" title='"+dados[i].descricao+"' value='"+dados[i].codigo_variavel+"'>"+dados[i].nome+"</option>";  
1840 - }  
1841 - ins += "</select>";  
1842 - if(mostraIconeinfo == "sim"){  
1843 - ins += "<a style='left:7px;' title='"+$trad('maisInfo',i3GEOF.metaestat.dicionario)+"' href='javascript:void(0)' onclick='i3GEOF.metaestat.principal.maisInfo()' class='btn btn-primary btn-fab btn-fab-mini'><span class='material-icons md-18'>help_outline</span></a>";  
1844 - }  
1845 - return ins;  
1846 - },  
1847 - /**  
1848 - * Formata o botao de mais informacoes e define a funcao que sera executada  
1849 - * Procura pelo id "i3GEOcartoBotaoInfo"  
1850 - * Define como funcao de onclick i3GEOF.metaestat.principal.maisInfo()  
1851 - */  
1852 - botaoInfo: function(){  
1853 - //new YAHOO.widget.Button(  
1854 - // "i3GEOcartoBotaoInfo",  
1855 - // {onclick:{fn: i3GEOF.metaestat.principal.maisInfo}}  
1856 - //);  
1857 - //$i("i3GEOcartoBotaoInfo-button").style.width = (i3GEOF.metaestat.LARGURA / 2) - 15 + "px";  
1858 - },  
1859 - /**  
1860 - * Formata o botao de abertura do editor de limites geograficos e define a funcao que sera executada  
1861 - * Procura pelo id "i3GEOcartoBotaoEditor"  
1862 - * Define como funcao de onclick i3GEOF.metaestat.editor.inicia()  
1863 - */  
1864 - botaoJanelaEditor: function(){  
1865 - /*  
1866 - var b = new YAHOO.widget.Button(  
1867 - "i3GEOcartoBotaoEditor",  
1868 - {onclick:{fn: i3GEOF.metaestat.editor.inicia}}  
1869 - );  
1870 - b.addClass("abrir100");  
1871 - */  
1872 - },  
1873 - /**  
1874 - * Formata o botao que adiciona uma nova camada ao mapa e define a funcao que sera executada  
1875 - * Procura pelo id "i3GEOcartoBotaoAdicionaCamada"  
1876 - * Define como funcao de onclick i3GEOF.metaestat.comum.adicionaCamada()  
1877 - */  
1878 - botaoAdicionaCamada: function(largura){ 1667 + i3GEOF.metaestat.classes.comboRegiao(i3GEOF.metaestat.ID_MEDIDA_VARIAVEL);
  1668 + i3GEOF.metaestat.classes.comboTipoClassificacao();
  1669 + i3GEOF.metaestat.parametros.lista(i3GEOF.metaestat.ID_MEDIDA_VARIAVEL);
  1670 + }
  1671 + i3GEOF.metaestat.principal.MUSTACHE = "";
  1672 + },
  1673 + /**
  1674 + * Atualiza os componentes da interface
  1675 + * Remove os combos e adiciona novamente
  1676 + */
  1677 + atualiza:function(){
  1678 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.atualiza()");
  1679 + $i("i3geoCartoVariaveis").innerHTML = "";
  1680 + $i("i3geoCartoMedidasVariavel").innerHTML = "";
  1681 + $i("i3geoCartoParametrosMedidasVariavel").innerHTML = "";
  1682 + YAHOO.i3GEO.janela.manager.find("i3geoCartoParametros").setFooter("");
  1683 + i3GEOF.metaestat.principal.opcoesVariaveis();
  1684 + },
  1685 + /**
  1686 + * Cria uma janela flutuante para inserir os componetes da interface
  1687 + *
  1688 + * Para capturar o objeto janela utilize janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoParametros");
  1689 + */
  1690 + abreJanela: function(largura, altura, topo, esquerda){
  1691 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.abreJanela()");
  1692 + var cabecalho,minimiza,imagemxy,janela,modal = false,titulo = false;
  1693 + if (largura) {
  1694 + i3GEOF.metaestat.LARGURA = largura;
  1695 + }
  1696 + if (altura) {
  1697 + i3GEOF.metaestat.ALTURA = altura;
  1698 + }
  1699 + if (esquerda) {
  1700 + i3GEOF.metaestat.LEFT = esquerda;
  1701 + }
  1702 + if (topo) {
  1703 + i3GEOF.metaestat.TOP = topo;
  1704 + }
  1705 + if (!$i("i3geoCartoParametros")){
  1706 + cabecalho = function(){
  1707 + };
  1708 + minimiza = function(){
  1709 + i3GEO.janela.minimiza("i3geoCartoParametros");
  1710 + };
  1711 + if(i3GEOF.metaestat.INTERFACE == "flutuanteSimples"){
  1712 + modal = false;
  1713 + }
  1714 + titulo = "<span class='i3GeoTituloJanelaBsNolink' >" + $trad("x57") + "</span></div>";
  1715 + janela = i3GEO.janela.cria(
  1716 + i3GEOF.metaestat.LARGURA+50+"px",
  1717 + i3GEOF.metaestat.ALTURA+"px",
  1718 + "",
  1719 + "",
  1720 + "",
  1721 + titulo,
  1722 + "i3geoCartoParametros",
  1723 + modal,
  1724 + "hd",
  1725 + cabecalho,
  1726 + minimiza,
  1727 + "",
  1728 + false,
  1729 + "",
  1730 + "",
  1731 + "",
  1732 + "",
  1733 + "124"
  1734 + );
  1735 + janela = janela[0];
  1736 + if(!YAHOO.i3GEO.janela.manager.find("i3geoCartoParametros")){
  1737 + YAHOO.i3GEO.janela.manager.register(janela);
  1738 + }
  1739 + janela.render();
  1740 + }
  1741 + else{
  1742 + janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoParametros");
  1743 + }
  1744 + janela.show();
  1745 + imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO));
  1746 + janela.moveTo(imagemxy[0]+i3GEOF.metaestat.LEFT,i3GEOF.metaestat.TOP);
  1747 + return janela;
  1748 + },
  1749 + /**
  1750 + * Conteudo HTML que sera inerido na janela ou div com os elementos principais que receberao os objetos HTMML:
  1751 + * @return HTML
  1752 + */
  1753 + html: function(){
  1754 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.html()");
  1755 + var ins = Mustache.render(i3GEOF.metaestat.principal.MUSTACHE, i3GEOF.metaestat.principal.mustacheHash());
  1756 + return ins;
  1757 + },
  1758 + /**
  1759 + * Abre uma janela flutuante com um relatorio contendo os metadados da variavel escolhida
  1760 + *
  1761 + * Verifica o combo com id "i3geoCartoComboVariavel" para verificar se a variavel foi escolhida
  1762 + *
  1763 + * O relatorio e montado com i3GEO.php.relatorioVariavel
  1764 + */
  1765 + maisInfo: function(){
  1766 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.maisInfo()");
  1767 + var temp = "",
  1768 + v = $i("i3geoCartoComboVariavel");
  1769 + if(!v || v.value === ""){
  1770 + i3GEO.janela.tempoMsg($trad('msgSelecionaVariavel',i3GEOF.metaestat.dicionario));
  1771 + }
  1772 + else{
  1773 + var cabecalho,minimiza,janela;
  1774 + if (!$i("i3geoCartoMaisInfo")){
  1775 + cabecalho = function(){
  1776 + };
  1777 + minimiza = function(){
  1778 + i3GEO.janela.minimiza("i3geoCartoMaisInfo");
  1779 + };
  1780 + janela = i3GEO.janela.cria(
  1781 + "400px",
  1782 + "300px",
  1783 + "",
  1784 + "",
  1785 + "",
  1786 + "</div><div class='i3GeoTituloJanelaBs'>" + $trad('relatorio',i3GEOF.metaestat.dicionario) + "</div>",
  1787 + "i3geoCartoMaisInfo",
  1788 + false,
  1789 + "hd",
  1790 + cabecalho,
  1791 + minimiza
  1792 + );
  1793 + janela = janela[0];
  1794 + YAHOO.i3GEO.janela.manager.register(janela);
  1795 + janela.render();
  1796 + //YAHOO.util.Event.addListener(janela.close, "click", i3GEOF.metaestat.fechaJanelaParametros);
  1797 + }
  1798 + else{
  1799 + janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoMaisInfo");
  1800 + }
  1801 + janela.setBody("");
  1802 + temp = function(retorno){
  1803 + janela.setBody(retorno);
  1804 + janela.show();
  1805 + //imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO));
  1806 + //janela.moveTo(imagemxy[0]+i3GEOF.metaestat.LEFT,imagemxy[1]+i3GEOF.metaestat.TOP);
  1807 + };
  1808 + i3GEO.php.relatorioVariavel(v.value,temp);
  1809 + }
  1810 + },
  1811 + /**
  1812 + * Monta um combo com a lista de variaveis cadastradas
  1813 + * Retorna o HTML do combo
  1814 + *
  1815 + * @param objeto contendo a lista de variaveis e demais parametros de cada uma. Veja i3GEOF.metaestat.principal.opcoesVariaveis
  1816 + * @param id que sera atribuido ao combo
  1817 + * @param string que sera inserida no evento onchange
  1818 + * @param largura em pixel
  1819 + * @param sim|nao indicando se o icone da opcao 'mais info' sera mostrado ou nao
  1820 + *
  1821 + * @return HTML
  1822 + */
  1823 + comboVariaveis: function(dados,idcombo,stronchange,largura,mostraIconeinfo){
  1824 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.comboVariaveis()");
  1825 + var ins,i,n = dados.length,selecionado = "";
  1826 + if(!largura || largura === ""){
  1827 + largura = i3GEOF.metaestat.LARGURA - 40;
  1828 + }
  1829 + if(!mostraIconeinfo || mostraIconeinfo === ""){
  1830 + mostraIconeinfo = "sim";
  1831 + }
  1832 + ins = "<select class='form-control pull-left' style='width:"+largura+"px;' id='"+idcombo+"' onchange='"+stronchange+"'><option value=''>---</option>";
  1833 + for(i=0;i<n;i++){
  1834 + if(dados[i].codigo_variavel === i3GEOF.metaestat.CODIGO_VARIAVEL){
  1835 + selecionado = "SELECTED";
  1836 + }
  1837 + else{
  1838 + selecionado = "";
  1839 + }
  1840 + ins += "<option "+selecionado+" title='"+dados[i].descricao+"' value='"+dados[i].codigo_variavel+"'>"+dados[i].nome+"</option>";
  1841 + }
  1842 + ins += "</select>";
  1843 + if(mostraIconeinfo == "sim"){
  1844 + ins += "<a style='left:7px;' title='"+$trad('maisInfo',i3GEOF.metaestat.dicionario)+"' href='javascript:void(0)' onclick='i3GEOF.metaestat.principal.maisInfo()' class='btn btn-primary btn-fab btn-fab-mini'><span class='material-icons md-18'>help_outline</span></a>";
  1845 + }
  1846 + return ins;
  1847 + },
  1848 + /**
  1849 + * Formata o botao de mais informacoes e define a funcao que sera executada
  1850 + * Procura pelo id "i3GEOcartoBotaoInfo"
  1851 + * Define como funcao de onclick i3GEOF.metaestat.principal.maisInfo()
  1852 + */
  1853 + botaoInfo: function(){
  1854 + //new YAHOO.widget.Button(
  1855 + // "i3GEOcartoBotaoInfo",
  1856 + // {onclick:{fn: i3GEOF.metaestat.principal.maisInfo}}
  1857 + //);
  1858 + //$i("i3GEOcartoBotaoInfo-button").style.width = (i3GEOF.metaestat.LARGURA / 2) - 15 + "px";
  1859 + },
  1860 + /**
  1861 + * Formata o botao de abertura do editor de limites geograficos e define a funcao que sera executada
  1862 + * Procura pelo id "i3GEOcartoBotaoEditor"
  1863 + * Define como funcao de onclick i3GEOF.metaestat.editor.inicia()
  1864 + */
  1865 + botaoJanelaEditor: function(){
  1866 + /*
  1867 + var b = new YAHOO.widget.Button(
  1868 + "i3GEOcartoBotaoEditor",
  1869 + {onclick:{fn: i3GEOF.metaestat.editor.inicia}}
  1870 + );
  1871 + b.addClass("abrir100");
  1872 + */
  1873 + },
  1874 + /**
  1875 + * Formata o botao que adiciona uma nova camada ao mapa e define a funcao que sera executada
  1876 + * Procura pelo id "i3GEOcartoBotaoAdicionaCamada"
  1877 + * Define como funcao de onclick i3GEOF.metaestat.comum.adicionaCamada()
  1878 + */
  1879 + botaoAdicionaCamada: function(largura){
1879 1880
1880 - },  
1881 - /**  
1882 - * Formata o botao que abre a janela de opcoes de analis e define a funcao que sera executada  
1883 - * Procura pelo id "i3GEOcartoBotaoAnalise"  
1884 - * Define como funcao de onclick i3GEOF.metaestat.analise.inicia()  
1885 - */  
1886 - botaoJanelaAnalise: function(){  
1887 - /*  
1888 - b = new YAHOO.widget.Button(  
1889 - "i3GEOcartoBotaoAnalise",  
1890 - {onclick:{fn: i3GEOF.metaestat.analise.inicia}}  
1891 - );  
1892 - b.addClass("abrir100");  
1893 - */  
1894 - },  
1895 - /**  
1896 - * Obtem a lista de variaveis cadastradas e monta as opcoes correspondentes  
1897 - * A lista de variaveis e obtida com i3GEO.php.listaVariavel  
1898 - * Verifica se existe o id "i3geoCartoVariaveis". Se existir insere o HTML, caso contrario retorna o HTML  
1899 - */  
1900 - opcoesVariaveis: function(){  
1901 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.opcoesVariaveis()");  
1902 - var onde = $i("i3geoCartoVariaveis"),  
1903 - temp = function(dados){  
1904 - var ins = '';  
1905 - //botao para obter mais info  
1906 - ins = i3GEOF.metaestat.principal.comboVariaveis(dados,"i3geoCartoComboVariavel","i3GEOF.metaestat.principal.comboVariaveisOnchange(this)");  
1907 - if(onde){  
1908 - onde.innerHTML = ins;  
1909 - //i3GEOF.metaestat.principal.botaoInfo();  
1910 - //i3GEOF.metaestat.principal.botaoJanelaEditor();  
1911 - //i3GEOF.metaestat.principal.botaoJanelaClasses();  
1912 - //i3GEOF.metaestat.principal.botaoJanelaAnalise();  
1913 - }  
1914 - i3GEOF.metaestat.comum.aguarde("hidden");  
1915 - return ins;  
1916 - };  
1917 - i3GEOF.metaestat.comum.aguarde();  
1918 - i3GEO.php.listaVariavel(temp);  
1919 - },  
1920 - /**  
1921 - * Executado quando o usuario escolhe uma variavel  
1922 - * Monta as opcoes de escolha de uma medida com i3GEOF.metaestat.principal.opcoesMedidasVariavel  
1923 - */  
1924 - comboVariaveisOnchange: function(combo){  
1925 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.comboVariaveisOnchange()");  
1926 - i3GEOF.metaestat.CODIGO_VARIAVEL = combo.value;  
1927 - i3GEOF.metaestat.ID_MEDIDA_VARIAVEL = "";  
1928 - if(combo.value != ""){  
1929 - i3GEOF.metaestat.principal.opcoesMedidasVariavel(combo.value);  
1930 - }  
1931 - else{  
1932 - $i("i3geoCartoMedidasVariavel").innerHTML = "";  
1933 - }  
1934 - $i("i3geoCartoParametrosMedidasVariavel").innerHTML = "";  
1935 - i3GEOF.metaestat.classes.zeraParametros();  
1936 - },  
1937 - /**  
1938 - * Gera o HTML correspondente a um combo para escolha de uma medida de uma variavel  
1939 - * Define o valor de i3GEOF.metaestat.DADOSMEDIDASVARIAVEL  
1940 - *  
1941 - * @param objeto contendo os dados referentes as medidas de uma determinada variavel  
1942 - * @param id que sera atribuido ao combo criado  
1943 - * @param string que sera atribuida ao evento onchange  
1944 - * @param nome de um esquema que sera barrado. Apenas medidas cujos dados nao estiverem nesse esquema serao consideradas  
1945 - * @param largura em pixels  
1946 - * @param sim|nao mostra ou nao o icone que permite ver mais informacoes sobre a medida  
1947 - * @param sim|nao mostra ou nao o botao que permite o download dos dados  
1948 - */  
1949 - comboMedidasVariavel: function(dados,idcombo,stronchange,filtroesquema,largura,mostraIconeprop,mostraIconedown){  
1950 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.comboMedidasVariavel()");  
1951 - i3GEOF.metaestat.DADOSMEDIDASVARIAVEL = dados;  
1952 - var n = dados.length,  
1953 - selecionado = "",  
1954 - ins = '',  
1955 - i;  
1956 - if(!largura || largura === ""){  
1957 - largura = i3GEOF.metaestat.LARGURA;  
1958 - }  
1959 - if(!mostraIconeprop || mostraIconeprop === ""){  
1960 - mostraIconeprop = "sim";  
1961 - }  
1962 - if(!mostraIconedown || mostraIconedown === ""){  
1963 - mostraIconedown = "sim";  
1964 - }  
1965 - if(mostraIconeprop == "sim"){  
1966 - largura = largura - 19;  
1967 - }  
1968 - if(mostraIconedown == "sim"){  
1969 - largura = largura - 19;  
1970 - }  
1971 - ins += "<div class='form-group' style='width:"+largura+"px;margin: 0px;'><select class='form-control pull-left' id='"+idcombo+"' onchange='"+stronchange+"'><option value=''>---</option>";  
1972 - for(i=0;i<n;i++){  
1973 - if(!filtroesquema || (filtroesquema != "" && dados[i].esquemadb != filtroesquema)){  
1974 - if(i3GEOF.metaestat.ID_MEDIDA_VARIAVEL === dados[i].id_medida_variavel){  
1975 - selecionado = "selected";  
1976 - }  
1977 - else{  
1978 - selecionado = "";  
1979 - }  
1980 - ins += "<option "+selecionado+" value='"+dados[i].id_medida_variavel+"'>"+dados[i].nomemedida+"</option>";  
1981 - }  
1982 - }  
1983 - ins += "</select></div>";  
1984 - if(mostraIconeprop == "sim"){  
1985 - ins += "<img class='ticPropriedades2' src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' style='height:14px;position:relative;cursor:pointer;left:5px;top:4px;' onclick='i3GEOF.metaestat.classes.inicia()' title='"+$trad('propriedadesCamada',i3GEOF.metaestat.dicionario)+"'/>";  
1986 - }  
1987 - if(mostraIconedown == "sim"){  
1988 - ins += "<img class='ticDownload' src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' style='position:relative;cursor:pointer;left:8px;top:5px;' onclick='i3GEOF.metaestat.principal.downloadMedida()' title='"+$trad("a3")+"'/>";  
1989 - }  
1990 - return ins;  
1991 - },  
1992 - /**  
1993 - * Obtem a lista de medidas de uma variavel cadastradas e monta as opcoes correspondentes  
1994 - * A lista de variaveis e obtida com i3GEO.php.listaMedidaVariavel  
1995 - * Verifica se existe o id "i3geoCartoMedidasVariavel". Se existir insere o HTML, caso contrario retorna o HTML  
1996 - *  
1997 - * @param codigo da variavel que sera pesquisada para obter as medidas  
1998 - */  
1999 - opcoesMedidasVariavel: function(codigo_variavel){  
2000 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.opcoesMedidasVariavel()");  
2001 - var onde = $i("i3geoCartoMedidasVariavel"),  
2002 - temp = function(dados){  
2003 - var ins = '<br><p class="paragrafo" >'+$trad('selecionaMedidaVariavel',i3GEOF.metaestat.dicionario)+'</p>';  
2004 - ins += i3GEOF.metaestat.principal.comboMedidasVariavel(dados,"i3geoCartoComboMedidasVariavel","i3GEOF.metaestat.principal.comboMedidaVariavelOnchange(this)");  
2005 - if(onde){  
2006 - onde.innerHTML = ins;  
2007 - }  
2008 - i3GEOF.metaestat.comum.aguarde("hidden");  
2009 - return ins;  
2010 - };  
2011 - i3GEOF.metaestat.comum.aguarde();  
2012 - i3GEO.php.listaMedidaVariavel(codigo_variavel,temp);  
2013 - },  
2014 - /**  
2015 - * Executado quando o usuario escolhe uma medida de uma variavel  
2016 - * Monta os parametros de uma medida com i3GEOF.metaestat.parametros.lista  
2017 - * Ativa o botao de adicionar camadas com i3GEOF.metaestat.principal.botaoAdicionaCamada  
2018 - * Define a variavel i3GEOF.metaestat.ID_MEDIDA_VARIAVEL  
2019 - *  
2020 - * @param objeto combo utilizado para escolher a variavel  
2021 - */  
2022 - comboMedidaVariavelOnchange: function(combo){  
2023 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.comboMedidaVariavelOnchange()");  
2024 - i3GEOF.metaestat.ID_MEDIDA_VARIAVEL = combo.value;  
2025 - $i("i3geoCartoParametrosMedidasVariavel").innerHTML = "";  
2026 - if(combo.value != ""){  
2027 - //i3GEOF.metaestat.classes.inicia();  
2028 - i3GEOF.metaestat.parametros.lista(combo.value);  
2029 - //i3GEOF.metaestat.principal.botaoAdicionaCamada();  
2030 - }  
2031 - i3GEOF.metaestat.classes.zeraParametros();  
2032 - },  
2033 - /**  
2034 - * Executado quando o usuário opta por alterar a classificacao default utilizada (sempre a primeira cadastrada)  
2035 - * Monta o combo com a lista de classificacoes  
2036 - *  
2037 - * @param objeto contendo os dados que farao parte do combo  
2038 - * @param string que sera atribuida como ID do combo  
2039 - * @return string HTML (select)  
2040 - */  
2041 - comboClassificacoesMedidaVariavel: function(dados,idcombo){  
2042 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.comboClassificacoesMedidaVariavel()");  
2043 - var ins,i,n = dados.length;  
2044 - ins = "<select id='"+idcombo+"' style='box-shadow:0 1px 5px gray;width:"+(i3GEOF.metaestat.LARGURA - 20)+"px' onchange='i3GEOF.metaestat.principal.comboClassificacoesMedidaVariavelOnchange(this)'><option value=''>---</option>";  
2045 - for(i=0;i<n;i++){  
2046 - ins += "<option title='"+dados[i].observacao+"' value='"+dados[i].id_classificacao+"'>"+dados[i].nome+"</option>";  
2047 - }  
2048 - ins += "</select>";  
2049 - return ins;  
2050 - },  
2051 - comboClassificacoesMedidaVariavelOnchange: function(combo){ 1881 + },
  1882 + /**
  1883 + * Formata o botao que abre a janela de opcoes de analis e define a funcao que sera executada
  1884 + * Procura pelo id "i3GEOcartoBotaoAnalise"
  1885 + * Define como funcao de onclick i3GEOF.metaestat.analise.inicia()
  1886 + */
  1887 + botaoJanelaAnalise: function(){
  1888 + /*
  1889 + b = new YAHOO.widget.Button(
  1890 + "i3GEOcartoBotaoAnalise",
  1891 + {onclick:{fn: i3GEOF.metaestat.analise.inicia}}
  1892 + );
  1893 + b.addClass("abrir100");
  1894 + */
  1895 + },
  1896 + /**
  1897 + * Obtem a lista de variaveis cadastradas e monta as opcoes correspondentes
  1898 + * A lista de variaveis e obtida com i3GEO.php.listaVariavel
  1899 + * Verifica se existe o id "i3geoCartoVariaveis". Se existir insere o HTML, caso contrario retorna o HTML
  1900 + */
  1901 + opcoesVariaveis: function(){
  1902 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.opcoesVariaveis()");
  1903 + var onde = $i("i3geoCartoVariaveis"),
  1904 + temp = function(dados){
  1905 + var ins = '';
  1906 + //botao para obter mais info
  1907 + ins = i3GEOF.metaestat.principal.comboVariaveis(dados,"i3geoCartoComboVariavel","i3GEOF.metaestat.principal.comboVariaveisOnchange(this)");
  1908 + if(onde){
  1909 + onde.innerHTML = ins;
  1910 + //i3GEOF.metaestat.principal.botaoInfo();
  1911 + //i3GEOF.metaestat.principal.botaoJanelaEditor();
  1912 + //i3GEOF.metaestat.principal.botaoJanelaClasses();
  1913 + //i3GEOF.metaestat.principal.botaoJanelaAnalise();
  1914 + }
  1915 + i3GEOF.metaestat.comum.aguarde("hidden");
  1916 + return ins;
  1917 + };
  1918 + i3GEOF.metaestat.comum.aguarde();
  1919 + i3GEO.php.listaVariavel(temp);
  1920 + },
  1921 + /**
  1922 + * Executado quando o usuario escolhe uma variavel
  1923 + * Monta as opcoes de escolha de uma medida com i3GEOF.metaestat.principal.opcoesMedidasVariavel
  1924 + */
  1925 + comboVariaveisOnchange: function(combo){
  1926 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.comboVariaveisOnchange()");
  1927 + i3GEOF.metaestat.CODIGO_VARIAVEL = combo.value;
  1928 + i3GEOF.metaestat.ID_MEDIDA_VARIAVEL = "";
  1929 + if(combo.value != ""){
  1930 + i3GEOF.metaestat.principal.opcoesMedidasVariavel(combo.value);
  1931 + }
  1932 + else{
  1933 + $i("i3geoCartoMedidasVariavel").innerHTML = "";
  1934 + }
  1935 + $i("i3geoCartoParametrosMedidasVariavel").innerHTML = "";
  1936 + i3GEOF.metaestat.classes.zeraParametros();
  1937 + },
  1938 + /**
  1939 + * Gera o HTML correspondente a um combo para escolha de uma medida de uma variavel
  1940 + * Define o valor de i3GEOF.metaestat.DADOSMEDIDASVARIAVEL
  1941 + *
  1942 + * @param objeto contendo os dados referentes as medidas de uma determinada variavel
  1943 + * @param id que sera atribuido ao combo criado
  1944 + * @param string que sera atribuida ao evento onchange
  1945 + * @param nome de um esquema que sera barrado. Apenas medidas cujos dados nao estiverem nesse esquema serao consideradas
  1946 + * @param largura em pixels
  1947 + * @param sim|nao mostra ou nao o icone que permite ver mais informacoes sobre a medida
  1948 + * @param sim|nao mostra ou nao o botao que permite o download dos dados
  1949 + */
  1950 + comboMedidasVariavel: function(dados,idcombo,stronchange,filtroesquema,largura,mostraIconeprop,mostraIconedown){
  1951 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.comboMedidasVariavel()");
  1952 + i3GEOF.metaestat.DADOSMEDIDASVARIAVEL = dados;
  1953 + var n = dados.length,
  1954 + selecionado = "",
  1955 + ins = '',
  1956 + i;
  1957 + if(!largura || largura === ""){
  1958 + largura = i3GEOF.metaestat.LARGURA;
  1959 + }
  1960 + if(!mostraIconeprop || mostraIconeprop === ""){
  1961 + mostraIconeprop = "sim";
  1962 + }
  1963 + if(!mostraIconedown || mostraIconedown === ""){
  1964 + mostraIconedown = "sim";
  1965 + }
  1966 + if(mostraIconeprop == "sim"){
  1967 + largura = largura - 19;
  1968 + }
  1969 + if(mostraIconedown == "sim"){
  1970 + largura = largura - 19;
  1971 + }
  1972 + ins += "<div class='form-group' style='width:"+largura+"px;margin: 0px;'><select class='form-control pull-left' id='"+idcombo+"' onchange='"+stronchange+"'><option value=''>---</option>";
  1973 + for(i=0;i<n;i++){
  1974 + if(!filtroesquema || (filtroesquema != "" && dados[i].esquemadb != filtroesquema)){
  1975 + if(i3GEOF.metaestat.ID_MEDIDA_VARIAVEL === dados[i].id_medida_variavel){
  1976 + selecionado = "selected";
  1977 + }
  1978 + else{
  1979 + selecionado = "";
  1980 + }
  1981 + ins += "<option "+selecionado+" value='"+dados[i].id_medida_variavel+"'>"+dados[i].nomemedida+"</option>";
  1982 + }
  1983 + }
  1984 + ins += "</select></div>";
  1985 + if(mostraIconeprop == "sim"){
  1986 + ins += "<img class='ticPropriedades2' src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' style='height:14px;position:relative;cursor:pointer;left:5px;top:4px;' onclick='i3GEOF.metaestat.classes.inicia()' title='"+$trad('propriedadesCamada',i3GEOF.metaestat.dicionario)+"'/>";
  1987 + }
  1988 + if(mostraIconedown == "sim"){
  1989 + ins += "<img class='ticDownload' src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' style='position:relative;cursor:pointer;left:8px;top:5px;' onclick='i3GEOF.metaestat.principal.downloadMedida()' title='"+$trad("a3")+"'/>";
  1990 + }
  1991 + return ins;
  1992 + },
  1993 + /**
  1994 + * Obtem a lista de medidas de uma variavel cadastradas e monta as opcoes correspondentes
  1995 + * A lista de variaveis e obtida com i3GEO.php.listaMedidaVariavel
  1996 + * Verifica se existe o id "i3geoCartoMedidasVariavel". Se existir insere o HTML, caso contrario retorna o HTML
  1997 + *
  1998 + * @param codigo da variavel que sera pesquisada para obter as medidas
  1999 + */
  2000 + opcoesMedidasVariavel: function(codigo_variavel){
  2001 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.opcoesMedidasVariavel()");
  2002 + var onde = $i("i3geoCartoMedidasVariavel"),
  2003 + temp = function(dados){
  2004 + var ins = '<br><p class="paragrafo" >'+$trad('selecionaMedidaVariavel',i3GEOF.metaestat.dicionario)+'</p>';
  2005 + ins += i3GEOF.metaestat.principal.comboMedidasVariavel(dados,"i3geoCartoComboMedidasVariavel","i3GEOF.metaestat.principal.comboMedidaVariavelOnchange(this)");
  2006 + if(onde){
  2007 + onde.innerHTML = ins;
  2008 + }
  2009 + i3GEOF.metaestat.comum.aguarde("hidden");
  2010 + return ins;
  2011 + };
  2012 + i3GEOF.metaestat.comum.aguarde();
  2013 + i3GEO.php.listaMedidaVariavel(codigo_variavel,temp);
  2014 + },
  2015 + /**
  2016 + * Executado quando o usuario escolhe uma medida de uma variavel
  2017 + * Monta os parametros de uma medida com i3GEOF.metaestat.parametros.lista
  2018 + * Ativa o botao de adicionar camadas com i3GEOF.metaestat.principal.botaoAdicionaCamada
  2019 + * Define a variavel i3GEOF.metaestat.ID_MEDIDA_VARIAVEL
  2020 + *
  2021 + * @param objeto combo utilizado para escolher a variavel
  2022 + */
  2023 + comboMedidaVariavelOnchange: function(combo){
  2024 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.comboMedidaVariavelOnchange()");
  2025 + i3GEOF.metaestat.ID_MEDIDA_VARIAVEL = combo.value;
  2026 + $i("i3geoCartoParametrosMedidasVariavel").innerHTML = "";
  2027 + if(combo.value != ""){
  2028 + //i3GEOF.metaestat.classes.inicia();
  2029 + i3GEOF.metaestat.parametros.lista(combo.value);
  2030 + //i3GEOF.metaestat.principal.botaoAdicionaCamada();
  2031 + }
  2032 + i3GEOF.metaestat.classes.zeraParametros();
  2033 + },
  2034 + /**
  2035 + * Executado quando o usuário opta por alterar a classificacao default utilizada (sempre a primeira cadastrada)
  2036 + * Monta o combo com a lista de classificacoes
  2037 + *
  2038 + * @param objeto contendo os dados que farao parte do combo
  2039 + * @param string que sera atribuida como ID do combo
  2040 + * @return string HTML (select)
  2041 + */
  2042 + comboClassificacoesMedidaVariavel: function(dados,idcombo){
  2043 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.comboClassificacoesMedidaVariavel()");
  2044 + var ins,i,n = dados.length;
  2045 + ins = "<select id='"+idcombo+"' style='box-shadow:0 1px 5px gray;width:"+(i3GEOF.metaestat.LARGURA - 20)+"px' onchange='i3GEOF.metaestat.principal.comboClassificacoesMedidaVariavelOnchange(this)'><option value=''>---</option>";
  2046 + for(i=0;i<n;i++){
  2047 + ins += "<option title='"+dados[i].observacao+"' value='"+dados[i].id_classificacao+"'>"+dados[i].nome+"</option>";
  2048 + }
  2049 + ins += "</select>";
  2050 + return ins;
  2051 + },
  2052 + comboClassificacoesMedidaVariavelOnchange: function(combo){
2052 2053
2053 - },  
2054 - /**  
2055 - * Abre uma nova janela do navegador para download dos dados de uma medida de uma variavel  
2056 - * Executa admin/php/metaestat.php?funcao=dadosMedidaVariavel que retorna os dados em CSV  
2057 - */  
2058 - downloadMedida: function(){  
2059 - i3GEOF.metaestat.log("i3GEOF.metaestat.principal.downloadMedida()");  
2060 - if(!$i("i3geoCartoComboMedidasVariavel")){  
2061 - i3GEO.janela.tempoMsg("erro: i3geoCartoComboMedidasVariavel???");  
2062 - return;  
2063 - }  
2064 - if(window.confirm("Confirma o download dos dados")){  
2065 - var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=dadosMedidaVariavel" +  
2066 - "&todasascolunas=1&formato=csv&id_medida_variavel="+$i("i3geoCartoComboMedidasVariavel").value;  
2067 - window.open(p);  
2068 - }  
2069 - }  
2070 - },  
2071 - //funcoes utilizadas quando o mapa esta cadastrado e e utilizado um template para publicar o mapa  
2072 - publicador: {  
2073 - IDMAPA: "",  
2074 - montaGrupos: function(onde){  
2075 - var grupos = function(dados){  
2076 - var n = dados.length,  
2077 - ins = '<input type=hidden id=i3geoCartoComboMedidasVariavel value=""/>',  
2078 - i;  
2079 - for(i=0;i<n;i++){  
2080 - ins += '<div class="divGrupo">';  
2081 - ins += '<p class="tituloGrupo" >'+dados[i].titulo+'</p>';  
2082 - ins += '<div class="divComboMedidas" id="comboTemasMapa_'+dados[i].id_mapa_grupo+'"></div>';  
2083 - ins += '</div>';  
2084 - }  
2085 - $i(onde).innerHTML = ins;  
2086 - for(i=0;i<n;i++){  
2087 - i3GEOF.metaestat.publicador.comboTemas(dados[i].id_mapa_grupo,"comboTemasMapa_"+dados[i].id_mapa_grupo);  
2088 - }  
2089 - };  
2090 - i3GEO.php.listaGruposMapaMetaestat(grupos,i3GEOF.metaestat.publicador.IDMAPA);  
2091 - },  
2092 - comboTemas: function(id_mapa_grupo,onde){  
2093 - temas = function(dados){  
2094 - var n = dados.length,  
2095 - ins = '',  
2096 - i; 2054 + },
  2055 + /**
  2056 + * Abre uma nova janela do navegador para download dos dados de uma medida de uma variavel
  2057 + * Executa admin/php/metaestat.php?funcao=dadosMedidaVariavel que retorna os dados em CSV
  2058 + */
  2059 + downloadMedida: function(){
  2060 + i3GEOF.metaestat.log("i3GEOF.metaestat.principal.downloadMedida()");
  2061 + if(!$i("i3geoCartoComboMedidasVariavel")){
  2062 + i3GEO.janela.tempoMsg("erro: i3geoCartoComboMedidasVariavel???");
  2063 + return;
  2064 + }
  2065 + if(window.confirm("Confirma o download dos dados")){
  2066 + var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=dadosMedidaVariavel" +
  2067 + "&todasascolunas=1&formato=csv&id_medida_variavel="+$i("i3geoCartoComboMedidasVariavel").value;
  2068 + window.open(p);
  2069 + }
  2070 + }
  2071 + },
  2072 + //funcoes utilizadas quando o mapa esta cadastrado e e utilizado um template para publicar o mapa
  2073 + publicador: {
  2074 + IDMAPA: "",
  2075 + montaGrupos: function(onde){
  2076 + var grupos = function(dados){
  2077 + var n = dados.length,
  2078 + ins = '<input type=hidden id=i3geoCartoComboMedidasVariavel value=""/>',
  2079 + i;
  2080 + for(i=0;i<n;i++){
  2081 + ins += '<div class="divGrupo">';
  2082 + ins += '<p class="tituloGrupo" >'+dados[i].titulo+'</p>';
  2083 + ins += '<div class="divComboMedidas" id="comboTemasMapa_'+dados[i].id_mapa_grupo+'"></div>';
  2084 + ins += '</div>';
  2085 + }
  2086 + $i(onde).innerHTML = ins;
  2087 + for(i=0;i<n;i++){
  2088 + i3GEOF.metaestat.publicador.comboTemas(dados[i].id_mapa_grupo,"comboTemasMapa_"+dados[i].id_mapa_grupo);
  2089 + }
  2090 + };
  2091 + i3GEO.php.listaGruposMapaMetaestat(grupos,i3GEOF.metaestat.publicador.IDMAPA);
  2092 + },
  2093 + comboTemas: function(id_mapa_grupo,onde){
  2094 + temas = function(dados){
  2095 + var n = dados.length,
  2096 + ins = '',
  2097 + i;
2097 2098
2098 - ins = "<select style='width:"+(i3GEOF.metaestat.LARGURA - 60)+"px' onchange='i3GEOF.metaestat.publicador.comboMedidaVariavelOnchange(this)'><option value=''>---</option>";  
2099 - for(i=0;i<n;i++){  
2100 - ins += "<option value='"+dados[i].id_medida_variavel+"'>"+dados[i].titulo+"</option>";  
2101 - }  
2102 - ins += "</select>";  
2103 - ins += "<img class='ticPropriedades2' src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' style='height:14px;position:relative;cursor:pointer;left:5px;top:4px;' onclick='i3GEOF.metaestat.classes.inicia()' title='"+$trad('propriedadesCamada',i3GEOF.metaestat.dicionario)+"'/>";  
2104 - ins += "<img class='ticDownload' src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' style='position:relative;cursor:pointer;left:8px;top:5px;' onclick='i3GEOF.metaestat.principal.downloadMedida()' title='"+$trad("a3")+"'/>"; 2099 + ins = "<select style='width:"+(i3GEOF.metaestat.LARGURA - 60)+"px' onchange='i3GEOF.metaestat.publicador.comboMedidaVariavelOnchange(this)'><option value=''>---</option>";
  2100 + for(i=0;i<n;i++){
  2101 + ins += "<option value='"+dados[i].id_medida_variavel+"'>"+dados[i].titulo+"</option>";
  2102 + }
  2103 + ins += "</select>";
  2104 + ins += "<img class='ticPropriedades2' src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' style='height:14px;position:relative;cursor:pointer;left:5px;top:4px;' onclick='i3GEOF.metaestat.classes.inicia()' title='"+$trad('propriedadesCamada',i3GEOF.metaestat.dicionario)+"'/>";
  2105 + ins += "<img class='ticDownload' src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' style='position:relative;cursor:pointer;left:8px;top:5px;' onclick='i3GEOF.metaestat.principal.downloadMedida()' title='"+$trad("a3")+"'/>";
2105 2106
2106 - $i(onde).innerHTML = ins;  
2107 - };  
2108 - i3GEO.php.listaTemasMapaMetaestat(temas,id_mapa_grupo);  
2109 - },  
2110 - comboMedidaVariavelOnchange: function(obj){  
2111 - //contorna o problema da funcao de definicao do titulo da camada tentar obter um objeto select  
2112 - $i("i3geoCartoComboMedidasVariavel").value = obj.value;  
2113 - $i("i3geoCartoComboMedidasVariavel").options = [{"label":""}];  
2114 - $i("i3geoCartoComboMedidasVariavel").selectedIndex = 0;  
2115 - i3GEOF.metaestat.classes.zeraParametros();  
2116 - i3GEOF.metaestat.principal.comboMedidaVariavelOnchange(obj);  
2117 - }  
2118 - } 2107 + $i(onde).innerHTML = ins;
  2108 + };
  2109 + i3GEO.php.listaTemasMapaMetaestat(temas,id_mapa_grupo);
  2110 + },
  2111 + comboMedidaVariavelOnchange: function(obj){
  2112 + //contorna o problema da funcao de definicao do titulo da camada tentar obter um objeto select
  2113 + $i("i3geoCartoComboMedidasVariavel").value = obj.value;
  2114 + $i("i3geoCartoComboMedidasVariavel").options = [{"label":""}];
  2115 + $i("i3geoCartoComboMedidasVariavel").selectedIndex = 0;
  2116 + i3GEOF.metaestat.classes.zeraParametros();
  2117 + i3GEOF.metaestat.principal.comboMedidaVariavelOnchange(obj);
  2118 + }
  2119 + }
2119 }; 2120 };
js/compactados/ajuda_compacto.js 100644 → 100755
js/compactados/analise_compacto.js 100644 → 100755
js/compactados/arvoredecamadas_compacto.js 100644 → 100755
js/compactados/arvoredetemas_compacto.js 100644 → 100755
js/compactados/base64_compacto.js 100644 → 100755
js/compactados/busca_compacto.js 100644 → 100755
js/compactados/caixaDeFerramentas_compacto.js 100644 → 100755
js/compactados/calculo_compacto.js 100644 → 100755
js/compactados/catalogoDir_compacto.js 100644 → 100755
js/compactados/catalogoEstrelas_compacto.js 100644 → 100755
js/compactados/catalogoInde_compacto.js 100644 → 100755
js/compactados/catalogoMapas_compacto.js 100644 → 100755
js/compactados/catalogoMenus_compacto.js 100644 → 100755
js/compactados/catalogoMetaestat_compacto.js 100644 → 100755
js/compactados/catalogoOgc_compacto.js 100644 → 100755
js/compactados/catalogoRegioes_compacto.js 100644 → 100755
js/compactados/catalogoSistemas_compacto.js 100644 → 100755
js/compactados/configura_compacto.js 100644 → 100755
js/compactados/coordenadas_compacto.js 100644 → 100755
js/compactados/desenho_compacto.js 100644 → 100755
js/compactados/dicionario_ajuda_compacto.js 100644 → 100755
js/compactados/dicionario_compacto.js 100644 → 100755
js/compactados/editor_compacto.js 100644 → 100755
js/compactados/eventos_compacto.js 100644 → 100755
js/compactados/guias_compacto.js 100644 → 100755
js/compactados/idioma_compacto.js 100644 → 100755
js/compactados/ini_i3geo_compacto.js 100644 → 100755
js/compactados/interface_compacto.js 100644 → 100755
js/compactados/janela_compacto.js 100644 → 100755
js/compactados/legenda_compacto.js 100644 → 100755
js/compactados/login_compacto.js 100644 → 100755
js/compactados/mapa_compacto.js 100644 → 100755
js/compactados/maparef_compacto.js 100644 → 100755
js/compactados/marcador_compacto.js 100644 → 100755
js/compactados/mustache.js 100644 → 100755
js/compactados/navega_compacto.js 100644 → 100755
js/compactados/php_compacto.js 100644 → 100755
js/compactados/plugini3geo_compacto.js 100644 → 100755
js/compactados/proj4js.js 100644 → 100755
js/compactados/social_compacto.js 100644 → 100755
js/compactados/tema_compacto.js 100644 → 100755
js/compactados/util_compacto.js 100644 → 100755
js/compactados/wicket.js 100644 → 100755
js/i3geo_tudo_compacto7.js.php 100644 → 100755
pacotes/cpaint/cpaint2_compacto.inc.js 100644 → 100755
pacotes/mobileesp/mdetect_compacto.js 100644 → 100755
pacotes/yui290/build/carousel/carousel_compacto.js 100644 → 100755
pacotes/yui290/build/container/container_compacto.js 100644 → 100755
pacotes/yui290/build/container/container_core_compacto.js 100644 → 100755
pacotes/yui290/build/resize/resize_compacto.js 100644 → 100755
pacotes/yui290/build/treeview/treeview_compacto.js 100644 → 100755
pacotes/yui290/build/utilities/utilities_compacto.js 100644 → 100755