diff --git a/admin/js/estat_variavel.js b/admin/js/estat_variavel.js
new file mode 100755
index 0000000..da89885
--- /dev/null
+++ b/admin/js/estat_variavel.js
@@ -0,0 +1,1421 @@
+if(typeof(i3GEOadmin) === 'undefined'){
+ var i3GEOadmin = {};
+}
+//
+//esse script tambem e utilizado em i3geo/ferramentas/metaestat
+//
+i3GEOadmin.variaveis = {
+ /*
+ * armazena os dados das tabelas auxiliares, como tipos de unidades de medida, etc
+ */
+ dadosAuxiliares: [],
+ /*
+ * Funcao que sera executada apos um registro ser atuallizado
+ * Essa funcao e utilizada para modificar o comportamento dos formularios, ou seja, apos o usuario clicar no botao salvar
+ * essa funcao e executada no retorno da operacao de alteracao do resgistro no banco de dados
+ * E utilizado por i3geo/ferramentas/metaestat para customizar os formularios do ajudante de criacao de variaveis
+ */
+ aposGravar: function(args){
+ },
+ inicia: function(){
+ tree = "";
+ YAHOO.namespace("admin.container");
+ i3GEOadmin.variaveis.listaDadosAuxiliares();
+ i3GEOadmin.variaveis.ativaBotaoAdicionaVariavel("estatVariavelAdiciona");
+ i3GEOadmin.variaveis.ativaBotaoRelatorioCompleto("estatVariavelrelatorioCompleto");
+ if($i("estatVariavelajuda")){
+ core_ativaPainelAjuda("estatVariavelajuda","botaoAjuda");
+ }
+ if($i("estatVariavelArvore")){
+ core_carregando("ativa");
+ i3GEOadmin.variaveis.arvore.inicia();
+ }
+ },
+ ativaBotaoAdicionaVariavel: function(idBotao){
+ if(!$i(idBotao)){
+ return;
+ }
+ var sUrl = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=alteraVariavel",
+ adiciona = function(){
+ core_carregando("ativa");
+ core_carregando(" adicionando um novo registro");
+ var callback = {
+ success:function(o){
+ try {
+ core_carregando("desativa");
+ var j = YAHOO.lang.JSON.parse(o.responseText);
+ i3GEOadmin.variaveis.arvore.adicionaNos([j],true);
+ i3GEOadmin.variaveis.editar("variavel",j.codigo_variavel);
+ }
+ catch(e){core_handleFailure(e,o.responseText);}
+ },
+ failure:core_handleFailure,
+ argument: { foo:"foo", bar:"bar" }
+ };
+ core_makeRequest(sUrl,callback);
+ };
+ //cria o botão de adição de um novo menu
+ new YAHOO.widget.Button(idBotao,{ onclick: { fn: adiciona } });
+ },
+ ativaBotaoRelatorioCompleto: function(idBotao){
+ if(!$i(idBotao)){
+ return;
+ }
+ var sUrl = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=relatorioCompleto&dadosGerenciais=sim",
+ adiciona = function(){
+ core_carregando("ativa");
+ core_carregando(" Aguarde");
+ var callback = {
+ success:function(o){
+ try {
+ core_carregando("desativa");
+ var j = YAHOO.lang.JSON.parse(o.responseText);
+ core_montaEditor("","650px","500px","","Relatório");
+ $i("editor_bd").innerHTML = j;
+ }
+ catch(e){core_handleFailure(e,o.responseText);}
+ },
+ failure:core_handleFailure,
+ argument: { foo:"foo", bar:"bar" }
+ };
+ core_makeRequest(sUrl,callback);
+ };
+ new YAHOO.widget.Button(idBotao,{ onclick: { fn: adiciona } });
+ },
+ arvore:{
+ inicia:function(){
+ core_pegaDados("buscando variáveis...",i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=listaVariavel","i3GEOadmin.variaveis.arvore.monta");
+ },
+ monta: function(dados){
+ YAHOO.example.treeExample = new function() {
+ function changeIconMode(){
+ buildTree();
+ }
+ function loadNodeData(node, fnLoadComplete){
+ var sUrl = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=listaMedidaVariavel&codigo_variavel="+node.data.codigo_variavel,
+ callback = {
+ success: function(oResponse){
+ var dados = YAHOO.lang.JSON.parse(oResponse.responseText);
+ i3GEOadmin.variaveis.medidas.adicionaNos(node,dados,false);
+ oResponse.argument.fnLoadComplete();
+ },
+ failure: function(oResponse){
+ oResponse.argument.fnLoadComplete();
+ },
+ argument:{
+ "node": node,
+ "fnLoadComplete": fnLoadComplete
+ },
+ timeout: 25000
+ };
+ if(node.data.codigo_variavel){
+ YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
+ }
+ else{
+ fnLoadComplete.call();
+ }
+ }
+ function buildTree(){
+ tree = new YAHOO.widget.TreeView("estatVariavelArvore");
+ tree.setDynamicLoad(loadNodeData, 1);
+ var root = tree.getRoot(),
+ tempNode = new YAHOO.widget.TextNode('', root, false);
+ tempNode.isLeaf = true;
+ core_carregando("desativa");
+ }
+ buildTree();
+ }();
+ i3GEOadmin.variaveis.arvore.adicionaNos(dados);
+ tree.draw();
+ },
+ adicionaNos: function(dados,redesenha){
+ var i,j,d,conteudo,
+ root = tree.getRoot();
+ for (i=0, j=dados.length; i";
+ conteudo += " ";
+ if(dados[i].nome && dados[i].nome != "")
+ {conteudo += " "+dados[i].nome+" - "+dados[i].descricao+" id: "+dados[i].codigo_variavel+"";}
+ else
+ {conteudo += " Edite para definir a variável!!!";}
+ d = {html:conteudo,codigo_variavel:dados[i].codigo_variavel,tipo:"variavel"};
+ new YAHOO.widget.HTMLNode(d, root, false,true);
+ }
+ if(redesenha){tree.draw();}
+ }
+ },
+ medidas: {
+ adicionaNos: function(no,dados,redesenha){
+ var tempNode,tempNode1,tempNode2,tempNode3,tempNode4,tempNode5,i,conteudo,d,j;
+ function temaIconMode(){
+ var newVal = parseInt(this.value);
+ if (newVal != currentIconMode)
+ {currentIconMode = newVal;}
+ }
+ function loadNodeData(node, fnLoadComplete){
+ var sUrl = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=listaParametro&id_medida_variavel="+node.data.no_parametros,
+ callback = {
+ success: function(oResponse){
+ var dados = YAHOO.lang.JSON.parse(oResponse.responseText);
+ i3GEOadmin.variaveis.parametro.adicionaNos(node,dados,false);
+ oResponse.argument.fnLoadComplete();
+ },
+ failure: function(oResponse){
+ oResponse.argument.fnLoadComplete();
+ },
+ argument:{
+ "node": node,
+ "fnLoadComplete": fnLoadComplete
+ },
+ timeout: 25000
+ };
+ YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
+ };
+ function loadNodeDataClasses(node, fnLoadComplete){
+ var sUrl = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=listaClassificacaoMedida&id_medida_variavel="+node.data.no_classificacao,
+ callback = {
+ success: function(oResponse){
+ var dados = YAHOO.lang.JSON.parse(oResponse.responseText);
+ i3GEOadmin.variaveis.classificacao.adicionaNos(node,dados,false);
+ oResponse.argument.fnLoadComplete();
+ },
+ failure: function(oResponse){
+ oResponse.argument.fnLoadComplete();
+ },
+ argument:{
+ "node": node,
+ "fnLoadComplete": fnLoadComplete
+ },
+ timeout: 25000
+ };
+ YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
+ };
+ function loadNodeDataLinks(node, fnLoadComplete){
+ var sUrl = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=listaLinkMedida&id_medida_variavel="+node.data.no_link,
+ callback = {
+ success: function(oResponse){
+ var dados = YAHOO.lang.JSON.parse(oResponse.responseText);
+ i3GEOadmin.variaveis.link.adicionaNos(node,dados,false);
+ oResponse.argument.fnLoadComplete();
+ },
+ failure: function(oResponse){
+ oResponse.argument.fnLoadComplete();
+ },
+ argument:{
+ "node": node,
+ "fnLoadComplete": fnLoadComplete
+ },
+ timeout: 25000
+ };
+ YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
+ };
+ function loadNodeDataFonteinfo(node, fnLoadComplete){
+ var sUrl = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=listaFonteinfoMedida&id_medida_variavel="+node.data.no_fonteinfo,
+ callback = {
+ success: function(oResponse){
+ var dados = YAHOO.lang.JSON.parse(oResponse.responseText);
+ i3GEOadmin.variaveis.fonte.adicionaNos(node,dados,false);
+ oResponse.argument.fnLoadComplete();
+ },
+ failure: function(oResponse){
+ oResponse.argument.fnLoadComplete();
+ },
+ argument:{
+ "node": node,
+ "fnLoadComplete": fnLoadComplete
+ },
+ timeout: 25000
+ };
+ YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
+ };
+ if(!redesenha && !(tree.getNodeByProperty("etiqueta_adiciona_variavel",no.data.codigo_variavel))){
+ tempNode = new YAHOO.widget.HTMLNode(
+ {
+ html:"Adicionar nova medida da variável",
+ etiqueta_adiciona_variavel:no.data.codigo_variavel
+ },
+ no,
+ false,
+ true
+ );
+ tempNode.isLeaf = true;
+ }
+ for (i=0, j=dados.length; i";
+ conteudo += " ";
+ conteudo += " ";
+
+ if(dados[i].nomemedida != "")
+ {conteudo += " "+dados[i].nomemedida+""+dados[i].esquemadb+" - "+dados[i].tabela+" - "+dados[i].colunavalor+" id: "+dados[i].id_medida_variavel+"";}
+ else
+ {conteudo += " Edite para definir a nova medida!!!";}
+ d = {html:conteudo,id_medida_variavel:dados[i].id_medida_variavel,tipo:"medida"};
+ tempNode1 = new YAHOO.widget.HTMLNode(d, no, false,true);
+ tempNode1.isLeaf = false;
+ //tempNode1.setDynamicLoad(temp, 1);
+ conteudo = " Parâmetros";
+ d = {html:conteudo,no_parametros:dados[i].id_medida_variavel};
+ tempNode2 = new YAHOO.widget.HTMLNode(d, tempNode1, false,true);
+ tempNode2.isLeaf = false;
+ tempNode2.setDynamicLoad(loadNodeData, 1);
+ conteudo = " Classificações";
+ d = {html:conteudo,no_classificacao:dados[i].id_medida_variavel};
+ tempNode3 = new YAHOO.widget.HTMLNode(d, tempNode1, false,true);
+ tempNode3.isLeaf = false;
+ tempNode3.setDynamicLoad(loadNodeDataClasses, 1);
+ conteudo = " Links";
+ d = {html:conteudo,no_link:dados[i].id_medida_variavel};
+ tempNode4 = new YAHOO.widget.HTMLNode(d, tempNode1, false,true);
+ tempNode4.isLeaf = false;
+ tempNode4.setDynamicLoad(loadNodeDataLinks, 1);
+ conteudo = " Fontes";
+ d = {html:conteudo,no_fonteinfo:dados[i].id_medida_variavel};
+ tempNode5 = new YAHOO.widget.HTMLNode(d, tempNode1, false,true);
+ tempNode5.isLeaf = false;
+ tempNode5.setDynamicLoad(loadNodeDataFonteinfo, 1);
+ }
+
+ if(redesenha){tree.draw();}
+ },
+ adicionar: function(codigo_variavel){
+ var no = tree.getNodeByProperty("codigo_variavel",codigo_variavel),
+ sUrl = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=alteraMedidaVariavel&codigo_variavel="+codigo_variavel,
+ callback = {
+ success: function(oResponse){
+ var dados = YAHOO.lang.JSON.parse(oResponse.responseText);
+ i3GEOadmin.variaveis.medidas.adicionaNos(no,[dados],true);
+ i3GEOadmin.variaveis.editar('medidaVariavel',dados.id_medida_variavel);
+ },
+ failure:core_handleFailure,
+ argument: { foo:"foo", bar:"bar" }
+ };
+ core_makeRequest(sUrl,callback);
+ },
+ montaDiv: function(i){
+ var temp,ins = "",limg=i3GEO.configura.locaplic+"/imagens/crialeg.jpg",
+ param = {
+ "linhas":[
+ {titulo:"Nome:",id:"Enomemedida",size:"50",value:i.nomemedida,tipo:"text",div:""},
+ {titulo:"Unidade de medida:",id:"",size:"50",value:i.codigo_unidade_medida,tipo:"text",div:""},
+ {titulo:"Tipo de período:",id:"",size:"50",value:i.codigo_tipo_periodo,tipo:"text",div:""},
+ {titulo:"Tipo de região:",id:"",size:"50",value:i.codigo_tipo_regiao,tipo:"text",div:""}
+ ]
+ };
+ ins += core_geraLinhas(param);
+ ins += "
";
+ param = {
+ "linhas":[
+ {titulo:"Conexão:",id:"",size:"50",value:i.codigo_estat_conexao,tipo:"text",div:""},
+ {titulo:"Esquema do banco: ",id:"Eesquemadb",size:"50",value:i.esquemadb,tipo:"text",div:""},
+ {titulo:"Tabela do banco: ",id:"Etabela",size:"50",value:i.tabela,tipo:"text",div:""},
+ {titulo:"Coluna com os valores: ",id:"Ecolunavalor",size:"50",value:i.colunavalor,tipo:"text",div:""},
+ {titulo:"Coluna de ligação com a tabela GEO: ",id:"Ecolunaidgeo",size:"50",value:i.colunaidgeo,tipo:"text",div:""},
+ {titulo:"Coluna com os IDs únicos que identificam cada registro da tabela com os valores: ",id:"Ecolunaidunico",size:"50",value:i.colunaidunico,tipo:"text",div:""},
+ {titulo:"Filtro adicional:",id:"Efiltro",size:"50",value:i.filtro,tipo:"text",div:""}
+ ]
+ };
+ ins += core_geraLinhas(param);
+ ins += "
Filtro opcional (exemplo: valor = 1) ";
+ ins += "";
+ ins +="
Agrupar pela coluna ";
+ ins += "";
+ ins +="
Tipo de layer (para o caso de mapas ou mapfiles, podendo ser point,line ou polygon) ";
+ ins += "";
+ ins +="
Codigo da classificação que será usada para mostrar o mapa ";
+ ins += "";
+ ins += '
';
+ ins += ' ';
+ ins += ' ';
+ ins += ' ';
+ ins += ' ';
+ ins += '
';
+ ins += ' ';
+ ins += ' ';
+ ins += ' ';
+ ins += ' ';
+
+ $i("editor_bd").innerHTML = ins;
+ new YAHOO.widget.Button("sqljson");
+ document.getElementById("sqljson-button").onclick = function(){
+ var u,colunas = 0;
+ if($i("incluirtodascolunas").checked === true){
+ colunas = 1;
+ }
+ u = i3GEO.configura.locaplic+'/admin/php/metaestat.php?funcao=dadosMedidaVariavel&formato=json&id_medida_variavel='+id+"&filtro="+$i("filtrosql").value+"&todasascolunas="+colunas+"&agruparpor="+$i("agruparsql").value;
+ $i("ultimaUrl").innerHTML = u;
+ window.open(u);
+ };
+ new YAHOO.widget.Button("xmlestat");
+ document.getElementById("xmlestat-button").onclick = function(){
+ var u,colunas = 0;
+ if($i("incluirtodascolunas").checked === true){
+ colunas = 1;
+ }
+ u = i3GEO.configura.locaplic+'/admin/php/metaestat.php?funcao=dadosMedidaVariavel&formato=xml&id_medida_variavel='+id+"&filtro="+$i("filtrosql").value+"&todasascolunas="+colunas+"&agruparpor="+$i("agruparsql").value;
+ $i("ultimaUrl").innerHTML = u;
+ window.open(u);
+ };
+ new YAHOO.widget.Button("sumarioestat");
+ $i("sumarioestat-button").onclick = function(){
+ var u = i3GEO.configura.locaplic+'/admin/php/metaestat.php?funcao=sumarioMedidaVariavel&formato=json&id_medida_variavel='+id+"&agruparpor="+$i("agruparsql").value+"&filtro="+$i("filtrosql").value;
+ $i("ultimaUrl").innerHTML = u;
+ window.open(u);
+ };
+ new YAHOO.widget.Button("sumarioxmlestat");
+ $i("sumarioxmlestat-button").onclick = function(){
+ var u = i3GEO.configura.locaplic+'/admin/php/metaestat.php?funcao=sumarioMedidaVariavel&formato=xml&id_medida_variavel='+id+"&agruparpor="+$i("agruparsql").value+"&filtro="+$i("filtrosql").value;
+ $i("ultimaUrl").innerHTML = u;
+ window.open(u);
+ };
+ new YAHOO.widget.Button("mapfileestat");
+ $i("mapfileestat-button").onclick = function(){
+ var u,colunas = 0;
+ if($i("incluirtodascolunas").checked === true){
+ colunas = 1;
+ }
+ u = i3GEO.configura.locaplic+'/admin/php/metaestat.php?funcao=mapfileMedidaVariavel&formato=json&id_medida_variavel='+id+"&filtro="+$i("filtrosql").value+"&todasascolunas="+colunas+"&tipolayer="+$i("tipolayer").value+"&id_classificacao="+$i("classificacao").value+"&agruparpor="+$i("agruparsql").value;
+ $i("ultimaUrl").innerHTML = u;
+ window.open(u);
+ };
+ new YAHOO.widget.Button("kmzestat");
+ $i("kmzestat-button").onclick = function(){
+ var u,colunas = 0;
+ if($i("incluirtodascolunas").checked === true){
+ colunas = 1;
+ }
+ u = i3GEO.configura.locaplic+'/admin/php/metaestat.php?funcao=kmlmedidavariavel&id_medida_variavel='+id+"&filtro="+$i("filtrosql").value+"&todasascolunas="+colunas+"&tipolayer="+$i("tipolayer").value+"&id_classificacao="+$i("classificacao").value+"&agruparpor="+$i("agruparsql").value+"&formato=kmz";
+ $i("ultimaUrl").innerHTML = u;
+ window.open(u);
+ };
+ new YAHOO.widget.Button("kmlestat");
+ $i("kmlestat-button").onclick = function(){
+ var u,colunas = 0;
+ if($i("incluirtodascolunas").checked === true){
+ colunas = 1;
+ }
+ u = i3GEO.configura.locaplic+'/admin/php/metaestat.php?funcao=kmlmedidavariavel&id_medida_variavel='+id+"&filtro="+$i("filtrosql").value+"&todasascolunas="+colunas+"&tipolayer="+$i("tipolayer").value+"&id_classificacao="+$i("classificacao").value+"&agruparpor="+$i("agruparsql").value+"&formato=kml";
+ $i("ultimaUrl").innerHTML = u;
+ window.open(u);
+ };
+ new YAHOO.widget.Button("kml3destat");
+ $i("kml3destat-button").onclick = function(){
+ var u,colunas = 0;
+ if($i("incluirtodascolunas").checked === true){
+ colunas = 1;
+ }
+ u = i3GEO.configura.locaplic+'/admin/php/metaestat.php?funcao=kmlmedidavariavel&id_medida_variavel='+id+"&filtro="+$i("filtrosql").value+"&todasascolunas="+colunas+"&tipolayer="+$i("tipolayer").value+"&id_classificacao="+$i("classificacao").value+"&agruparpor="+$i("agruparsql").value+"&formato=kml3d";
+ $i("ultimaUrl").innerHTML = u;
+ window.open(u);
+ };
+ new YAHOO.widget.Button("i3geoestat");
+ $i("i3geoestat-button").onclick = function(){
+ var u,sUrl,callback = {
+ success: function(oResponse){
+ var dados = YAHOO.lang.JSON.parse(oResponse.responseText);
+ u = i3GEO.configura.locaplic+"/ms_criamapa.php?temasa="+dados.mapfile+"&layers="+dados.layer;
+ $i("ultimaUrl").innerHTML = u;
+ window.open(u);
+ core_carregando("desativa");
+ },
+ failure:core_handleFailure,
+ argument: { foo:"foo", bar:"bar" }
+ },
+ colunas = 0;
+ if($i("incluirtodascolunas").checked === true){
+ colunas = 1;
+ }
+ sUrl = i3GEO.configura.locaplic+'/admin/php/metaestat.php?funcao=mapfileMedidaVariavel&formato=json&id_medida_variavel='+id+"&filtro="+$i("filtrosql").value+"&todasascolunas="+colunas+"&tipolayer="+$i("tipolayer").value+"&id_classificacao="+$i("classificacao").value+"&agruparpor="+$i("agruparsql").value;
+ core_carregando("ativa");
+ core_makeRequest(sUrl,callback);
+ };
+ new YAHOO.widget.Button("graficoestat");
+ $i("graficoestat-button").onclick = function(){
+ var callback = {
+ success: function(oResponse){
+ var dados = YAHOO.lang.JSON.parse(oResponse.responseText);
+ dados = dados.grupos;
+ if(dados == ""){
+ dados = dados.histograma;
+ }
+ //converte os dados para o padrao usado no grafico
+ abreDados = function(){
+ i3GEOF.graficointerativo.dados = dados;
+ i3GEOF.graficointerativo.montaTabelaDados = function(dados){
+ var i=0,
+ v,
+ ins,
+ key = "",
+ id,
+ cor = "#C11515";
+ n = dados.lenght;
+ v = [];
+ ins = [];
+ ins.push("
Tabela de dados para o gráfico. Os valores podem ser editados
");
+ ins.push("
nome
");
+ ins.push("
valor
");
+ ins.push("
cor
");
+ for(key in dados){
+ v[0] = key;
+ v[1] = dados[key];
+ id = "i3GEOgraficointerativoDados"+i; //layer+indice da classe
+ ins.push("
");
+ ins.push("
");
+ ins.push("
");
+ ins.push($inputText("","",id+"_nome","digite o novo nome",20,v[0],"nome"));
+ ins.push("
");
+ ins.push($inputText("","",id+"_valor","digite o novo valor",12,v[1],"valor"));
+ ins.push("
");
+ if($i("i3GEOgraficointerativoCoresA").checked){
+ cor = i3GEO.util.rgb2hex(i3GEO.util.randomRGB());
+ }
+ //verifica se no objeto com os dados existe um terceiro valor com as cores
+ if(v[2]){
+ cor = i3GEO.util.rgb2hex(v[2]);
+ }
+ ins.push($inputText("","",id+"_cor","",12,cor,"cor"));
+ ins.push("