Commit f179250a8e5835d3042006b3bfc6c81051be3dec

Authored by Edmar Moretti
1 parent c5d12525

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

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