/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: true */
/*
Title: Tabela de atributos
Mostra a tabela de atributos de um tema com opções de seleção, estatística, gráficos e relatórios.
O tema utilizado é o que estiver definido em i3GEO.temaAtivo
Veja:
Arquivo:
i3geo/ferramentas/tabela/index.js.php
Licenca:
GPL2
i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil
Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
Este programa é software livre; você pode redistribuí-lo
e/ou modificá-lo sob os termos da Licença Pública Geral
GNU conforme publicada pela Free Software Foundation;
Este programa é distribuído na expectativa de que seja útil,
porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
Consulte a Licença Pública Geral do GNU para mais detalhes.
Você deve ter recebido uma cópia da Licença Pública Geral do
GNU junto com este programa; se não, escreva para a
Free Software Foundation, Inc., no endereço
59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
*/
if(typeof(i3GEOF) === 'undefined'){
i3GEOF = [];
}
/*
Classe: i3GEOF.tabela
*/
i3GEOF.tabela = {
/*
Variavel: aguarde
Estilo do objeto DOM com a imagem de aguarde existente no cabeçalho da janela.
*/
aguarde: "",
/*
Variavel: tipoDeGrafico
Guarda o tipo de grafico escolhido pelo usuário
*/
tipoDeGrafico: "",
/*
Variavel: tema
Tema que será utilizado
Type:
{string}
*/
tema: i3GEO.temaAtivo,
/*
Variavel: registros
Guarda os índices dos registros escolhidos na tabela
Type:
{array}
*/
registros: [],
/*
Variavel: parametros
Parametros utilizados para o gráfico.
É definido em função do tipo de gráfico escolhido
Type:
{string}
*/
parametros: "",
/*
Variable: nomeArquivoGr
Nome do arquivo gerado com os dados para o gráfico
*/
nomeArquivoGr: "",
/*
Function: inicia
Inicia a ferramenta. É chamado por criaJanelaFlutuante
Parametro:
iddiv {String} - id do div que receberá o conteudo HTML da ferramenta
*/
inicia: function(iddiv){
i3GEO.janela.comboCabecalhoTemas("i3GEOFtabelaComboCabeca","i3GEOFtabelaComboCabecaSel","tabela","ligadosComTabela");
if(i3GEO.temaAtivo === ""){
$i(iddiv).innerHTML = '
Considerar na listagem a região mostrada no mapa (se essa opção for desmarcada, será considerada a extensão geográfica do mapa inicial)
';
ins += '
';
ins += '
';
ins += '
';
ins += '
Atualiza a tabela após navegar no mapa
';
ins += '
';
ins += '
';
ins += '
';
ins += '
Mostrar na listagem apenas os selecionados
';
ins += '
';
ins += '
';
ins += '
';
ins += '
Mostrar coluna com a legenda da classe
';
ins += '
';
ins += '
';
ins += '
';
ins += '
';
ins += '
';
ins += '
';
ins += '
';
ins += ' ';
ins += ' ';
ins += '
';
ins += ' de ';
ins += $inputText("","","i3GEOtabelainicio","",5,"1");
ins += ' até';
ins += $inputText("","","i3GEOtabelafim","",5,"20");
ins += ' ';
ins += ' ';
ins += '
';
ins += '
';
ins += '
';
ins += '
';
ins += '
';
ins += '
Item para aplicar os cálculos: ';
ins += '
Excluir dos cálculos o valor:';
ins += $inputText("","","i3GEOtabelafiltro1","",5,"");
ins += '
';
ins += '
';
ins += '
';
ins += '
';
ins += '
Para que as operações atuem apenas sobre os elementos selecionados ';
ins += ' ative a seleção no mapa, para isso utilize, na guia "Registros"';
ins += ' a opção "Ativa a seleção"';
ins += '
';
ins += '
';
ins += '
';
ins += '
';
ins += '
';
ins += '
';
ins += '
';
ins += '
Escolha os itens que deverão constar no relatório. Você pode alterar os nomes originais das colunas para melhorar o cabeçalho do relatório:';
ins += '
';
ins += '
';
ins += '
Escolha o item que você quer utilizar para agrupar valores (opcional):';
ins += '
';
ins += '
';
ins += '
';
ins += ' Incluir cálculo de área';
ins += '
';
ins += ' Incluir cálculo de estatísticas';
ins += '
Excluir das estatísticas o valor: ';
ins += $inputText("","","i3GEOtabelaexcestat","",10,"");
ins += '
';
ins += ' ';
ins += '
';
ins += '
';
return ins;
},
/*
Function: criaJanelaFlutuante
Cria a janela flutuante para controle da ferramenta.
*/
criaJanelaFlutuante: function(){
var minimiza,cabecalho,janela,divid,temp,titulo;
if($i("i3GEOF.tabela")){
i3GEOF.tabela.tema = i3GEO.temaAtivo;
i3GEOF.tabela.inicia("i3GEOF.tabela_corpo");
return;
}
cabecalho = function(){
i3GEOF.tabela.ativaFoco();
};
minimiza = function(){
i3GEO.janela.minimiza("i3GEOF.tabela");
};
//cria a janela flutuante
titulo = "
------
Tabela ";
janela = i3GEO.janela.cria(
"500px",
"400px",
"",
"",
"",
titulo,
"i3GEOF.tabela",
false,
"hd",
cabecalho,
minimiza
);
divid = janela[2].id;
$i("i3GEOF.tabela_corpo").style.backgroundColor = "white";
i3GEOF.tabela.aguarde = $i("i3GEOF.tabela_imagemCabecalho").style;
i3GEOF.tabela.inicia(divid);
temp = function(){
if(i3GEO.Interface.ATUAL !== "googlemaps" && i3GEO.Interface.ATUAL !== "googleearth"){
i3GEO.eventos.NAVEGAMAPA.remove("i3GEOF.tabela.pegaRegistros()");
}
if(i3GEO.Interface.ATUAL === "googlemaps"){
google.maps.event.removeListener(tabelaDragend);
google.maps.event.removeListener(tabelaZoomend);
}
if(i3GEO.Interface.ATUAL === "googleearth"){
google.earth.removeEventListener(tabelaDragend);
}
if(i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search('i3GEO.janela.comboCabecalhoTemas("i3GEOFtabelaComboCabeca","i3GEOFtabelaComboCabecaSel","tabela","ligadosComTabela")') > 0)
{i3GEO.eventos.ATUALIZAARVORECAMADAS.remove('i3GEO.janela.comboCabecalhoTemas("i3GEOFtabelaComboCabeca","i3GEOFtabelaComboCabecaSel","tabela","ligadosComTabela")');}
};
YAHOO.util.Event.addListener(janela[0].close, "click", temp);
},
/*
Function: ativaFoco
Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado
*/
ativaFoco: function(){
if(i3GEOF.tabela.tema !== "" && i3GEO.arvoreDeCamadas.pegaTema(i3GEOF.tabela.tema) === "")
{alert("O tema ja nao existe mais no mapa");}
var i = $i("i3GEOF.tabela_c").style;
i3GEO.janela.ULTIMOZINDEX++;
i.zIndex = 21000 + i3GEO.janela.ULTIMOZINDEX;
},
/*
Function: ativaAutoAtualiza
Ativa ou desativa a atualização automática da tabela quando o usuário navega no mapa
*/
ativaAutoAtualiza:function(obj){
if(obj.checked == true){
if(i3GEO.Interface.ATUAL !== "googlemaps" && i3GEO.Interface.ATUAL !== "googleearth"){
i3GEO.eventos.NAVEGAMAPA.push("i3GEOF.tabela.pegaRegistros()");
}
if(i3GEO.Interface.ATUAL === "googlemaps"){
tabelaDragend = google.maps.event.addListener(i3GeoMap, "dragend", function() {i3GEOF.tabela.pegaRegistros();});
tabelaZoomend = google.maps.event.addListener(i3GeoMap, "zoomend", function() {i3GEOF.tebela.pegaRegistros();});
}
if(i3GEO.Interface.ATUAL === "googleearth"){
tabelaDragend = google.earth.addEventListener(i3GeoMap.getView(), "viewchangeend", function() {i3GEOF.tabela.pegaRegistros();});
}
}
else{
if(i3GEO.Interface.ATUAL !== "googlemaps" && i3GEO.Interface.ATUAL !== "googleearth"){
i3GEO.eventos.NAVEGAMAPA.remove("i3GEOF.tabela.pegaRegistros()");
}
if(i3GEO.Interface.ATUAL === "googlemaps"){
google.maps.event.removeListener(tabelaDragend);
google.maps.event.removeListener(tabelaZoomend);
}
if(i3GEO.Interface.ATUAL === "googleearth"){
google.earth.removeEventListener(tabelaDragend);
}
}
},
/*
Function: pegaRegistros
Pega os registros da tabela de atributos do tema
Veja:
*/
pegaRegistros: function(){
if(i3GEOF.tabela.aguarde.visibility === "visible")
{return;}
i3GEOF.tabela.aguarde.visibility = "visible";
var tipolista = "tudo",
tiporeg = "brasil",
inicio = $i("i3GEOtabelainicio").value - 1,
fim = $i("i3GEOtabelafim").value,
p,
dadosDaClasse = "nao",
cp = new cpaint();
if ($i("i3GEOtabelatiporeg").checked)
{tiporeg = "mapa";}
if ($i("i3GEOtabelatipolista").checked)
{tipolista = "selecionados";}
if ($i("i3GEOtabelalegenda").checked)
{dadosDaClasse = "sim";}
p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=listaregistros&inicio="+inicio+"&fim="+fim+"&tema="+i3GEOF.tabela.tema+"&tipo="+tiporeg+"&tipolista="+tipolista+"&ext="+i3GEO.parametros.mapexten+"&dadosDaClasse="+dadosDaClasse;
cp.set_response_type("JSON");
cp.call(p,"listaRegistros",i3GEOF.tabela.montaTabela);
},
/*
Function: montaTabela
Monta a visualização da tabela de atributos
*/
montaTabela: function(retorno){
if (retorno.data !== undefined)
{
var ins = [],
i,
vals,
cor,
j,
n,
stat,
imagem,
i3GEOtabelalegenda = $i("i3GEOtabelalegenda").checked;
//cabecalho da tabela
ins = "
";
ins += "
";
n = retorno.data[0].itens.length;
for (i=0;i "+retorno.data[0].alias[i]+"";}
ins += "
";
cor = "linha";
n = retorno.data[1].registros.length;
for (i=0;i
";
// ins += "
";
ins += "
";
if(retorno.data[1].registros[i].ext && retorno.data[1].registros[i].ext != ""){
ins += "";
}
ins += "
";
if(i3GEOtabelalegenda == true){
imagem = retorno.data.legenda[retorno.data[1].registros[i].classe["indice"]];
ins += "
";
}
else
{ins += "
";}
if(stat === "CHECKED")
{i3GEOF.tabela.registros[retorno.data[1].registros[i].indice] = true;}
vals = retorno.data[1].registros[i].valores;
for (j=0;j"+vals[j].valor+"";}
if (cor === "linha"){cor = "linha1";}
else{cor = "linha";}
}
$i("i3GEOtabelaregistros").innerHTML = ins;
}
i3GEOF.tabela.aguarde.visibility = "hidden";
},
/*
Function: mais
Avança o contador de registros para a listagem
*/
mais:function(){
if(i3GEOF.tabela.aguarde.visibility === "visible")
{return;}
var i = $i("i3GEOtabelainicio").value * 1,
f = $i("i3GEOtabelafim").value * 1,
d = f - i;
$i("i3GEOtabelainicio").value = f + 1;
$i("i3GEOtabelafim").value = f + d + 1;
i3GEOF.tabela.pegaRegistros();
},
/*
Function: menos
Retrocede o contador de registros para a listagem
*/
menos: function(){
if(i3GEOF.tabela.aguarde.visibility === "visible")
{return;}
var i = $i("i3GEOtabelainicio").value * 1,
f = $i("i3GEOtabelafim").value * 1,
d = f - i;
$i("i3GEOtabelainicio").value = i - d - 1;
$i("i3GEOtabelafim").value = i - 1;
if ($i("i3GEOtabelainicio").value < 1){
$i("i3GEOtabelainicio").value = 1;
$i("i3GEOtabelafim").value = 1 + d;
}
i3GEOF.tabela.pegaRegistros();
},
/*
Function: excluiColuna
Exclui uma coluna da visualização da tabela
*/
excluiColuna: function(coluna,cid){
i3GEOF.tabela.aguarde.visibility = "visible";
try{
var tabela = $i("i3GEOtabelatabelai"),
trs,
i,
t,
nt,
ni;
trs = tabela.getElementsByTagName("tr");
nt = trs.length;
for (t=0;t" + trs[e].innerHTML + "";}
}
$i("i3GEOtabelaregistros").innerHTML = ins+"
";
i3GEOF.tabela.aguarde.visibility = "hidden";
}
catch(e){i3GEOF.tabela.aguarde.visibility = "hidden";if(typeof(console) !== 'undefined'){console.error(e);}}
},
excluiLinha: function(celula){
var p = celula.parentNode.parentNode;
do{
p.removeChild(p.childNodes[0]);
} while (p.childNodes.length > 0);
p.parentNode.removeChild(p);
},
zoomExt: function(ext){
if(i3GEOF.tabela.aguarde.visibility === "visible")
{return;}
i3GEOF.tabela.aguarde.visibility = "visible";
var funcao = function(){
i3GEOF.tabela.aguarde.visibility = "hidden";
i3GEOF.tabela.pegaRegistros();
i3GEO.atualiza();
};
i3GEO.php.mudaext(funcao,"nenhum",ext);
},
//depreciado
zoomLinha: function(celula){
if(i3GEOF.tabela.aguarde.visibility === "visible")
{return;}
i3GEOF.tabela.aguarde.visibility = "visible";
var p,reg,tempExt;
p = celula.parentNode.parentNode;
reg = p.getElementsByTagName("input")[0].name;
tempExt = function(retorno){
i3GEOF.tabela.aguarde.visibility = "hidden";
var funcao = function(){
i3GEOF.tabela.pegaRegistros();
i3GEO.atualiza();
};
i3GEO.php.mudaext(funcao,"nenhum",retorno.data);
};
i3GEO.php.extRegistros(tempExt,i3GEOF.tabela.tema,reg);
},
registraLinha: function(linha){
i3GEOF.tabela.registros[linha.name] = linha.checked;
},
/*
Function: listaMarcados
Retorna um array com os índices dos registros que estão marcados.
*/
listaMarcados: function(){
var lista = [],
i,
n = i3GEOF.tabela.registros.length;
for (i=0;i
*/
ativaSelecao: function(){
if(i3GEOF.tabela.aguarde.visibility === "visible")
{return;}
i3GEOF.tabela.aguarde.visibility = "visible";
var lista = i3GEOF.tabela.listaMarcados(),
p,
cp,
temp = function(retorno){
if(i3GEO.Interface.ATUAL === "padrao")
{i3GEO.atualiza(retorno);}
i3GEO.Interface.atualizaTema(retorno,i3GEOF.tabela.tema);
i3GEOF.tabela.aguarde.visibility = "hidden";
};
p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=incluisel&tema="+i3GEOF.tabela.tema+"&ids="+lista.toString();
cp = new cpaint();
cp.set_response_type("JSON");
cp.call(p,"incluiSel",temp);
},
/*
Function: limpaSelecao
Limpa a seleção do tema da tabela
*/
limpaSelecao: function(){
if(i3GEOF.tabela.aguarde.visibility === "visible")
{return;}
i3GEOF.tabela.aguarde.visibility = "visible";
i3GEO.tema.limpasel(i3GEOF.tabela.tema);
i3GEOF.tabela.registros = [];
var lista = $i("i3GEOtabelatabelai").getElementsByTagName("input"),
n = lista.length,
i;
for(i=0;i erro ao ler os itens do tema de origem
";
}
else{
$i("i3GEOtabelaitensGuia3").innerHTML = retorno.dados;
}
},
"i3GEOtabelaitensGuia3",
""
);
},
estatistica: function(){
if($i("i3GEOtabelaComboItensGuia3").value === "")
{alert("Escolha um item!");return;}
if(i3GEOF.tabela.aguarde.visibility === "visible")
{return;}
i3GEOF.tabela.aguarde.visibility = "visible";
try{
var monta = function (retorno){
var ins = "",
nome,
valor,
i,
n;
if(retorno.data.indices !== undefined){
if (retorno.data.indices){
n = retorno.data.indices.length;
for (i=0;i"+nome+": "+valor+"
";
}
}
}
else{
ins = retorno.data;
}
$i("i3GEOtabelaoperacoes").innerHTML = ins + " ";
i3GEOF.tabela.aguarde.visibility = "hidden";
},
exclui = "",
cp = new cpaint(),
p;
if ($i("i3GEOtabelafiltro1").value !== "")
{exclui = $i("i3GEOtabelafiltro1").value;}
p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=estatistica&item="+$i("i3GEOtabelaComboItensGuia3").value+"&tema="+i3GEOF.tabela.tema+"&exclui="+exclui+"&ext="+i3GEO.parametros.mapexten;
cp.set_response_type("JSON");
cp.call(p,"estatDescritivas",monta);
}catch(e){
i3GEOF.tabela.aguarde.visibility = "hidden";
$i("operacoes").innerHTML = "Ocorreu um erro: "+e;
}
},
tabelaTexto:function(){
},
t0: function(){
$i("i3GEOtabelaresultado").innerHTML = "";
var ins = "";
ins += "
A representação gráfica dos dados tabulares utiliza todos os elementos da tabela ou os selecionados, se estiverem ativos no mapa.";
ins += "
Os gráficos são gerados com o software R, mas vc pode optar por usar a ferramenta de gráficos interativos que possuem outras opções e geram gráficos em Flash.";
ins += "
";
ins += "
Se você optar por usar o R, nas telas seguintes defina o tipo e as opções do gráfico.";
i3GEO.util.proximoAnterior("","i3GEOF.tabela.t1()",ins,"i3GEOFtabelat0","i3GEOtabelaresultado");
new YAHOO.widget.Button(
"i3GEOtabelaGraficoI",
{onclick:{fn: function(){
i3GEO.mapa.ativaTema(i3GEOF.tabela.tema);
i3GEO.analise.dialogo.graficoInterativo();
}
}}
);
},
t1: function(){
var ins = "
Escolha o tipo de gráfico:
";
ins += "
";
ins += "
";
ins += "
";
ins += "
";
ins += "
";
ins += "
";
ins += "
";
ins += "
";
ins += "
";
i3GEO.util.proximoAnterior("i3GEOF.tabela.t0()","i3GEOF.tabela.validaT1()",ins,"i3GEOF.tabela.t1()","i3GEOtabelaresultado");
},
validaT1: function(){
if (i3GEOF.tabela.tipoDeGrafico === ""){
alert("Selecione um tipo de Grafico");
i3GEOF.tabela.t1();
}
else{
if(i3GEOF.tabela.aguarde.visibility === "visible")
{return;}
i3GEOF.tabela.aguarde.visibility = "visible";
i3GEO.util.comboItens(
"i3GEOFtabelagi1",
i3GEOF.tabela.tema,
function(retorno){
i3GEOF.tabela.t2(retorno.dados,retorno.dados.replace("i3GEOFtabelagi1","i3GEOFtabelagi2"));
}
);
}
},
t2:function(combo1,combo2){
i3GEOF.tabela.aguarde.visibility = "hidden";
var ins = "
Item com os valores ou eixo y:",
c,
combo,
itens;
ins += "
"+combo1;
if ((i3GEOF.tabela.tipoDeGrafico !== "hist"))
{
ins += "
Item com as categorias ou eixo x: ";
ins += "
"+combo2;
}
if ((i3GEOF.tabela.tipoDeGrafico !== "hist") && (i3GEOF.tabela.tipoDeGrafico !== "scatter") && (i3GEOF.tabela.tipoDeGrafico !== "scatterbins"))
{
ins += "
Os valores serão agrupados pelas categorias por:";
ins += "
";
}
ins += "
Excluir valores:";
ins += "
";
i3GEO.util.proximoAnterior("i3GEOF.tabela.t1()","i3GEOF.tabela.t3()",ins,"i3GEOF.tabela.t2()","i3GEOtabelaresultado");
},
t3: function(){
if(i3GEOF.tabela.aguarde.visibility === "visible")
{return;}
i3GEOF.tabela.aguarde.visibility = "visible";
var temp,
i,
t,
n,
tsl = [];
if (i3GEOF.tabela.tipoDeGrafico === "pie")
{i3GEOF.tabela.parametros = "radius,Tgrid,border,Bgrafico,margem,margemexterna,margeminterna,Ttitulo,main,fontmain,cexmain,colmain,Tsubtitulo,sub,fontsub,cexsub,Trotulos,cex,font,Toutros,lty,bg,gw,gh,res,percentual";}
if (i3GEOF.tabela.tipoDeGrafico === "barplot")
{i3GEOF.tabela.parametros = "Tgrid,grid,border,Bgrafico,margem,margemexterna,margeminterna,Ttitulo,main,fontmain,cexmain,colmain,Tsubtitulo,sub,fontsub,cexsub,Teixo,ylab,xlab,cexlab,collab,fontlab,Trotulos,font,las,cexaxis,Toutros,space,bg,gw,gh,res,percentual,setasdv";}
if (i3GEOF.tabela.tipoDeGrafico === "hist")
{i3GEOF.tabela.parametros = "Tgrid,grid,border,Bgrafico,margem,margemexterna,margeminterna,Ttitulo,main,fontmain,cexmain,colmain,Tsubtitulo,sub,fontsub,cexsub,Teixo,ylab,xlab,cexlab,collab,fontlab,las,Trotulos,cexaxis,font,Toutros,corbarras,breaks,lwd,bg,gw,gh,res,densidade";}
if (i3GEOF.tabela.tipoDeGrafico === "linhas")
{i3GEOF.tabela.parametros = "Tgrid,grid,border,Bgrafico,margem,margemexterna,margeminterna,Ttitulo,main,fontmain,cexmain,colmain,Tsubtitulo,sub,fontsub,cexsub,Teixo,ylab,xlab,cexlab,collab,fontlab,las,Trotulos,cexaxis,colaxis,Toutros,pch,spline,tpt,ppontos,lty,tck,lwd,bg,gw,gh,res";}
if (i3GEOF.tabela.tipoDeGrafico === "scatter")
{i3GEOF.tabela.parametros = "grid,border,Bgrafico,margem,margemexterna,margeminterna,Ttitulo,main,fontmain,cexmain,colmain,Tsubtitulo,sub,fontsub,cexsub,Teixo,ylab,xlab,cexlab,collab,fontlab,las,Trotulos,cexaxis,colaxis,Toutros,pch,tpt,ppontos,lty,tck,lwd,bg,gw,gh,res,corlinha";}
if (i3GEOF.tabela.tipoDeGrafico === "scatterbins")
{i3GEOF.tabela.parametros = "grid,border,Bgrafico,margem,margemexterna,margeminterna,Ttitulo,main,fontmain,cexmain,colmain,Tsubtitulo,sub,fontsub,cexsub,Teixo,ylab,xlab,cexlab,collab,fontlab,las,Trotulos,cexaxis,colaxis,Toutros,pch,tpt,ppontos,lty,tck,lwd,bg,gw,gh,res,corlinha,nbins,plota3d";}
ins = "
";
ins += "";
ins += " ";
ins += "
";
ins += "
";
ins += "
Tamanho da figura
";
ins += "
Largura em pixels
";
ins += "
";
ins += "
Altura em pixels
";
ins += "
";
ins += "
Resolução em dpi
";
ins += "
";
temp = i3GEOF.tabela.parametros.split(",");
n = temp.length;
for(i=0;i < n;i++)
{ins += i3GEOF.tabela.retornaPar(temp[i]);}
ins += "
";
i3GEOF.tabela.aguarde.visibility = "hidden";
i3GEO.util.proximoAnterior("i3GEOF.tabela.t1()","",ins,"i3GEOF.tabela.t3()","i3GEOtabelaresultado");
new YAHOO.widget.Button(
"i3GEOtabelabotao7",
{onclick:{fn: function(){i3GEOF.tabela.geraGrafico(i3GEOF.tabela.mostraGrafico);}}}
);
new YAHOO.widget.Button(
"i3GEOtabelabotao8",
{onclick:{fn: i3GEOF.tabela.fusaoGrafico}}
);
new YAHOO.widget.Button(
"i3GEOtabelabotao10",
{onclick:{fn: function(){i3GEOF.tabela.geraGrafico(i3GEOF.tabela.mostraImagem);}}}
);
},
/*
Function: retornaPar
Monta os parâmetros adicionais de cada tipo de gráfico
*/
retornaPar: function(id){
try{
var ins = "",
t;
if (id === "Tgrid")
{ins += "
";
}
if (id === "main"){
t = "";
if ($i("i3GEOtabelagi1"))
{t = $i("i3GEOtabelagi1").value;}
if ($i("i3GEOtabelagi2"))
{t += " " + $i("i3GEOtabelagi2").value;}
ins += "
";
}
if (id === "ylab"){
if ($i("i3GEOFtabelagi1"))
{t = $i("i3GEOFtabelagi1").value;}
if (i3GEOF.tabela.tipoDeGrafico === "hist")
{t = "quantidade";}
ins += "
Nome do eixo y
";
ins += "
";
}
if (id === "xlab"){
if ($i("i3GEOFtabelagi2"))
{t = $i("i3GEOFtabelagi2").value;}
if (i3GEOF.tabela.tipoDeGrafico === "hist")
{t = "ocorrencias";}
ins += "
";
}
return ins;
}
catch(e){alert("Erro ao capturar parametro. "+e);}
},
/*
Function: combocor
Gera uma lista de cores no padrão do R
*/
combocor: function(id,def,s){
var combo = "";
return(combo);
},
/*
Function: geraGrafico
Gera a imagem do gráfico
*/
geraGrafico: function(funcao){
if(i3GEOF.tabela.aguarde.visibility === "visible")
{return;}
i3GEOF.tabela.aguarde.visibility = "visible";
var par,p,
cp = new cpaint();
par = i3GEOF.tabela.montapar(i3GEOF.tabela.parametros);
if (i3GEOF.tabela.tipoDeGrafico==="pie"){
p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficopizza"+par;
cp.set_response_type("JSON");
cp.call(p,"graficoPizza",funcao);
}
if (i3GEOF.tabela.tipoDeGrafico==="barplot"){
p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficobarras"+par;
cp.set_response_type("JSON");
cp.call(p,"graficoBarras",funcao);
}
if (i3GEOF.tabela.tipoDeGrafico==="hist"){
p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficohist"+par;
cp.set_response_type("JSON");
cp.call(p,"graficoHist",funcao);
}
if (i3GEOF.tabela.tipoDeGrafico==="linhas"){
p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficolinhas"+par;
cp.set_response_type("JSON");
cp.call(p,"graficoLinhas",funcao);
}
if (i3GEOF.tabela.tipoDeGrafico==="scatter"){
p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficoscatter"+par;
cp.set_response_type("JSON");
cp.call(p,"graficoScatter",funcao);
}
if (i3GEOF.tabela.tipoDeGrafico==="scatterbins"){
p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficoscatterbins"+par;
cp.set_response_type("JSON");
cp.call(p,"graficoScatterBins",funcao);
}
},
/*
Function: mostraGrafico
Mostra o gráfico gerado em uma nova janela do navegador
*/
mostraGrafico: function(retorno){
i3GEOF.tabela.aguarde.visibility = "hidden";
if (retorno.data !== "erro")
{
var r = retorno.data,
l = r.split(","),
w = window.open("");
w.document.write("");
w.document.write("
Arquivo com os valores");
w.document.close();
i3GEOF.tabela.imagemG = l[0];
i3GEOF.tabela.nomeArquivoGr = l[2];
}
else
{alert("Ocorreu algum erro. Verifique os tipos de dados.");}
},
/*
Function: mostraImagem
Mostra o gráfico na janela flutuante do i3Geo
*/
mostraImagem: function(retorno){
i3GEOF.tabela.aguarde.visibility = "hidden";
if (retorno.data !== "erro"){
var r = retorno.data,
l = r.split(","),
i = $i("i3GEOtabelaimgG");
i.innerHTML = "";
i.style.display="block";
i3GEOF.tabela.imagemG = l[0];
i3GEOF.tabela.nomeArquivoGr = l[2];
}
else
{alert("Ocorreu algum erro. Verifique os tipos de dados.");}
},
/*
Function: fusaoGrafico
Faz a fusão do mapa com o gráfico gerado
*/
fusaoGrafico: function(){
if(i3GEOF.tabela.aguarde.visibility === "visible")
{return;}
i3GEOF.tabela.aguarde.visibility = "visible";
if (i3GEOF.tabela.imagemG === ""){
alert("O gráfico ainda não foi gerado.");
i3GEOF.tabela.aguarde.visibility = "hidden";
}
else{
var cp = new cpaint(),
i = i3GEO.gadgets.quadros.quadrosfilme[i3GEO.gadgets.quadros.quadroatual].imagem,
p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=fusaografico&imagem="+i+"&grafico="+i3GEOF.tabela.imagemG,
temp = function(retorno){
var img = retorno.data,
i = $i("img");
i.src = "";
i.src = img;
window.open(img);
i3GEOF.tabela.aguarde.visibility = "hidden";
};
cp.set_response_type("JSON");
cp.call(p,"fusaoGrafico",temp);
}
},
/*
Function: montaPar
Monta os parâmetros para um determinado tipo de gráfico, que serão utilizados na chamada ajax de criação do gráfico
*/
montapar: function(parametros){
try{
var par = "&",
i,
v,
tipo = i3GEOF.tabela.tipoDeGrafico,
n;
parametros = parametros.split(",");
n = parametros.length;
for(i=0;i < n;i++){
if ($i("i3GEOtabela"+parametros[i])){
v = $i("i3GEOtabela"+parametros[i]).value;
par += "&"+parametros[i]+"="+v;
}
}
if (i3GEOF.tabela.tipoDeGrafico === "estrela")
{tipo = "estrela";}
if (i3GEOF.tabela.tipoDeGrafico === "hist")
{tipo = "hist";}
if ((i3GEOF.tabela.tipoDeGrafico === "scatter") || (i3GEOF.tabela.tipoDeGrafico === "scatterbins"))
{tipo = "scatter";}
if ($i("i3GEOtabelaagrupar"))
{tipo = $i("i3GEOtabelaagrupar").value;}
if ((i3GEOF.tabela.tipoDeGrafico === "pie") || (i3GEOF.tabela.tipoDeGrafico === "barplot") || (i3GEOF.tabela.tipoDeGrafico === "scatter") || (i3GEOF.tabela.tipoDeGrafico === "scatterbins"))
{par += "&itemvalores="+$i("i3GEOFtabelagi1").value+"&itemclasses="+$i("i3GEOFtabelagi2").value+"&tema="+i3GEOF.tabela.tema+"&exclui="+$i("i3GEOtabelagexcluir").value+"&tipo="+tipo;}
if (i3GEOF.tabela.tipoDeGrafico === "hist")
{par += "&itemvalores="+$i("i3GEOFtabelagi1").value+"&itemclasses="+$i("i3GEOFtabelagi1").value+"&tema="+i3GEOF.tabela.tema+"&exclui="+$i("i3GEOtabelagexcluir").value+"&tipo=nenhum";}
if (i3GEOF.tabela.tipoDeGrafico === "linhas")
{par += "&itemvalores="+$i("i3GEOFtabelagi1").value+"&itemclasses="+$i("i3GEOFtabelagi2").value+"&tema="+i3GEOF.tabela.tema+"&exclui="+$i("i3GEOtabelagexcluir").value+"&tipo="+tipo;}
if (i3GEOF.tabela.tipoDeGrafico === "estrela")
{par += "&itemvalores="+$i("i3GEOFtabelagi1").value+"&tema="+i3GEOF.tabela.tema+"&exclui="+$i("i3GEOtabelagexcluir").value+"&tipo="+tipo+"&itemclasses="+itensEstrela;}
par += "&nome="+i3GEOF.tabela.nomeArquivoGr;
return(par);
}catch(e){alert("Erro: "+e);i3GEOF.tabela.aguarde.visibility = "hidden";}
},
/*
Function: relatorioTabela
Monta o relatório padrão em uma nova janela
*/
relatorioTabela: function(){
try{
$i("i3GEOtabelaarearelh").value = $i("i3GEOtabelacalculaarea").checked;
$i("i3GEOtabelastatrelh").value = $i("i3GEOtabelacalculaestat").checked;
$i("i3GEOtabelaexcluirvalorh").value = $i("i3GEOtabelaexcestat").value;
$i("i3GEOtabelatemarelh").value=i3GEOF.tabela.tema;
$i("i3GEOtabelag_sidh").value=i3GEO.configura.sid;
$i("i3GEOtabelaitemagruparelh").value=$i("i3GEOtabelaagrupaItem").value;
var inputs = $i("i3GEOtabelaitensrelatorio").getElementsByTagName("input"),
listai = [],
listanomes = [],
nome,
i,
n = inputs.length;
for (i=0;i