Commit b91f4f4c8f9b5e2a3c02173ba7a3ed0cb83a09fd

Authored by Edmar Moretti
1 parent f9480e1f

i3geo/i3geo#95 Incluir aguarde na ferramenta de conexão com camadas no sistema METAESTAT

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