Commit 8c88baee6c534c2c5f3a58685a3e506009fcb88b
1 parent
3e44d78d
Exists in
master
and in
7 other branches
--no commit message
Showing
2 changed files
with
660 additions
and
1 deletions
Show diff stats
aplicmap/geral.htm
@@ -13,6 +13,7 @@ | @@ -13,6 +13,7 @@ | ||
13 | No modo não compactado o código está adaptado para uso com o Firebug do Firefox. | 13 | No modo não compactado o código está adaptado para uso com o Firebug do Firefox. |
14 | --> | 14 | --> |
15 | <script type="text/javascript" src="../classesjs/i3geo.js"></script> | 15 | <script type="text/javascript" src="../classesjs/i3geo.js"></script> |
16 | + | ||
16 | <style> | 17 | <style> |
17 | .yui-log .i3geo {background-color:yellow;} /* customize a color */ | 18 | .yui-log .i3geo {background-color:yellow;} /* customize a color */ |
18 | .yui-log .redesenho {background-color:yellow;} /* customize a color */ | 19 | .yui-log .redesenho {background-color:yellow;} /* customize a color */ |
@@ -347,6 +348,6 @@ i3GEO.php.ligatemas(temp,"","biomashp","sim"); | @@ -347,6 +348,6 @@ i3GEO.php.ligatemas(temp,"","biomashp","sim"); | ||
347 | if($i("escala") && i3GEO.parametros.w < 500) | 348 | if($i("escala") && i3GEO.parametros.w < 500) |
348 | {$i("escala").style.display="none";} | 349 | {$i("escala").style.display="none";} |
349 | </script> | 350 | </script> |
350 | - | ||
351 | </body> | 351 | </body> |
352 | + | ||
352 | </html> | 353 | </html> |
353 | \ No newline at end of file | 354 | \ No newline at end of file |
@@ -0,0 +1,658 @@ | @@ -0,0 +1,658 @@ | ||
1 | +<?php if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header("Content-type: text/javascript"); ?> | ||
2 | +/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: true */ | ||
3 | + | ||
4 | +/* | ||
5 | +About: Licença | ||
6 | + | ||
7 | +I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | ||
8 | + | ||
9 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | ||
10 | +Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br | ||
11 | + | ||
12 | +Este programa é software livre; você pode redistribuí-lo | ||
13 | +e/ou modificá-lo sob os termos da Licença Pública Geral | ||
14 | +GNU conforme publicada pela Free Software Foundation; | ||
15 | +tanto a versão 2 da Licença. | ||
16 | +Este programa é distribuído na expectativa de que seja útil, | ||
17 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
18 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
19 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
20 | +Você deve ter recebido uma cópia da Licença Pública Geral do | ||
21 | +GNU junto com este programa; se não, escreva para a | ||
22 | +Free Software Foundation, Inc., no endereço | ||
23 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
24 | +*/ | ||
25 | +if(typeof(i3GEOF) === 'undefined'){ | ||
26 | + i3GEOF = []; | ||
27 | +} | ||
28 | +/* | ||
29 | +Class: i3GEOF.graficointerativo | ||
30 | + | ||
31 | +Representação gráfica de dados | ||
32 | +*/ | ||
33 | +i3GEOF.graficointerativo = { | ||
34 | + /* | ||
35 | + Variavel: aguarde | ||
36 | + | ||
37 | + Estilo do objeto DOM com a imagem de aguarde existente no cabeçalho da janela. | ||
38 | + */ | ||
39 | + aguarde: "", | ||
40 | + /* | ||
41 | + Variavel: tipo | ||
42 | + | ||
43 | + Tipo de gráfico escolhido pelo usuário. | ||
44 | + */ | ||
45 | + tipo: "", | ||
46 | + /* | ||
47 | + Function: inicia | ||
48 | + | ||
49 | + Inicia a ferramenta. É chamado por criaJanelaFlutuante | ||
50 | + | ||
51 | + Parametro: | ||
52 | + | ||
53 | + iddiv {String} - id do div que receberá o conteudo HTML da ferramenta | ||
54 | + */ | ||
55 | + inicia: function(iddiv){ | ||
56 | + try{ | ||
57 | + $i(iddiv).innerHTML += i3GEOF.graficointerativo.html(); | ||
58 | + i3GEO.guias.mostraGuiaFerramenta("i3GEOgraficointerativoguia1","i3GEOgraficointerativoguia"); | ||
59 | + //eventos das guias | ||
60 | + $i("i3GEOgraficointerativoguia1").onclick = function(){ | ||
61 | + i3GEO.guias.mostraGuiaFerramenta("i3GEOgraficointerativoguia1","i3GEOgraficointerativoguia"); | ||
62 | + }; | ||
63 | + $i("i3GEOgraficointerativoguia2").onclick = function(){ | ||
64 | + i3GEO.guias.mostraGuiaFerramenta("i3GEOgraficointerativoguia2","i3GEOgraficointerativoguia"); | ||
65 | + i3GEOF.graficointerativo.configuraDados(); | ||
66 | + }; | ||
67 | + $i("i3GEOgraficointerativoguia4").onclick = function(){ | ||
68 | + i3GEO.guias.mostraGuiaFerramenta("i3GEOgraficointerativoguia4","i3GEOgraficointerativoguia"); | ||
69 | + var so = new SWFObject(i3GEO.configura.locaplic+"/pacotes/openflashchart/open-flash-chart.swf", "i3GEOgraficointerativoGrafico1", "95%", "88%", "9", "#ffffff"); | ||
70 | + so.addVariable("get-data", "i3GEOF.graficointerativo.tabela2dados"); | ||
71 | + so.write("i3GEOgraficointerativoGrafico"); | ||
72 | + }; | ||
73 | + i3GEOF.graficointerativo.ativaFoco(); | ||
74 | + i3GEO.util.comboTemas( | ||
75 | + "i3GEOgraficointerativoComboTemasId", | ||
76 | + function(retorno){ | ||
77 | + $i("i3GEOgraficointerativoComboTemas").innerHTML = retorno.dados; | ||
78 | + $i("i3GEOgraficointerativoComboTemas").style.display = "block"; | ||
79 | + if ($i("i3GEOgraficointerativoComboTemasId")){ | ||
80 | + $i("i3GEOgraficointerativoComboTemasId").onchange = function(){ | ||
81 | + i3GEO.mapa.ativaTema($i("i3GEOgraficointerativoComboTemasId").value); | ||
82 | + i3GEOF.graficointerativo.comboItensSel(); | ||
83 | + }; | ||
84 | + } | ||
85 | + if(i3GEO.temaAtivo !== ""){ | ||
86 | + $i("i3GEOgraficointerativoComboTemasId").value = i3GEO.temaAtivo; | ||
87 | + $i("i3GEOgraficointerativoComboTemasId").onchange.call(); | ||
88 | + } | ||
89 | + }, | ||
90 | + "i3GEOgraficointerativoComboTemas", | ||
91 | + "", | ||
92 | + false, | ||
93 | + "ligados" | ||
94 | + ); | ||
95 | + new YAHOO.widget.Button( | ||
96 | + "i3GEOgraficointerativobotao1", | ||
97 | + {onclick:{fn: i3GEOF.graficointerativo.obterDados}} | ||
98 | + ); | ||
99 | + } | ||
100 | + catch(erro){alert(erro);} | ||
101 | + }, | ||
102 | + /* | ||
103 | + Function: html | ||
104 | + | ||
105 | + Gera o código html para apresentação das opções da ferramenta | ||
106 | + | ||
107 | + Retorno: | ||
108 | + | ||
109 | + String com o código html | ||
110 | + */ | ||
111 | + html:function(){ | ||
112 | + var ins = '' + | ||
113 | + '<div id=i3GEOgraficointerativoguiasYUI class="yui-navset" style="top:0px;cursor:pointer;left:0px;">' + | ||
114 | + ' <ul class="yui-nav" style="border-width:0pt 0pt 0px;border-color:rgb(240,240,240);border-bottom-color:white;">' + | ||
115 | + ' <li><a href="#ancora"><em><div id="i3GEOgraficointerativoguia1" style="text-align:center;left:0px;" >Tipo</div></em></a></li>' + | ||
116 | + ' <li><a href="#ancora"><em><div id="i3GEOgraficointerativoguia2" style="text-align:center;left:0px;" >Dados</div></em></a></li>' + | ||
117 | + ' <li><a href="#ancora"><em><div id="i3GEOgraficointerativoguia3" style="text-align:center;left:0px;" >Propriedades</div></em></a></li>' + | ||
118 | + ' <li><a href="#ancora"><em><div id="i3GEOgraficointerativoguia4" style="text-align:center;left:0px;" >Gráfico</div></em></a></li>' + | ||
119 | + ' </ul>' + | ||
120 | + '</div><br>' + | ||
121 | + '<div class=guiaobj id="i3GEOgraficointerativoguia1obj" style="left:1px;display:none;">' + | ||
122 | + ' <p class=paragrafo >Escolha o tipo de gráfico: </p>' + | ||
123 | + ' <table class=lista6 >' + | ||
124 | + ' <tr><td><input type=radio onclick="javascript:i3GEOF.graficointerativo.tipo=\'pizza2d\';" value="pizza2d" name="tipoGrafico" style=cursor:pointer > </td><td>pizza 2d</td></tr>' + | ||
125 | + ' </table>' + | ||
126 | + '</div> ' + | ||
127 | + '<div class=guiaobj id="i3GEOgraficointerativoguia2obj" style="left:1px;display:none;top:-5px">' + | ||
128 | + ' <p class=paragrafo >Escolha os dados que comporão o gráfico: </p>' + | ||
129 | + ' <div class=paragrafo id=i3GEOgraficointerativoAjudaPizza >Se vc escolher para X e Y o mesmo item, será considerada a frequência das ocorrências para compor cada parte da pizza. Caso contrário, será feita a soma dos valores existentes em Y para cada ocorrência existente em X.</div>' + | ||
130 | + ' <p class=paragrafo >Tema:</p>' + | ||
131 | + ' <div class=paragrafo id=i3GEOgraficointerativoComboTemas ></div>' + | ||
132 | + ' <div class=paragrafo id=i3GEOgraficointerativoComboXlinha >' + | ||
133 | + ' <p class=paragrafo >Item com as classes ou eixo X:</p>' + | ||
134 | + ' <div class=paragrafo id=i3GEOgraficointerativoComboX ></div>' + | ||
135 | + ' </div>'+ | ||
136 | + ' <div id=i3GEOgraficointerativoComboYlinha >'+ | ||
137 | + ' <p class=paragrafo >Item com os valores ou eixo Y: </p>'+ | ||
138 | + ' <div class=paragrafo id=i3GEOgraficointerativoComboY ></div>' + | ||
139 | + ' </div>' + | ||
140 | + ' <p class=paragrafo >Excluir o seguinte valor: ' + | ||
141 | + $inputText("","","i3GEOgraficointerativoexcluir","",3,"") + | ||
142 | + ' <p class=paragrafo ><input id=i3GEOgraficointerativobotao1 type="buttom" value="Obter dados" /></p>'+ | ||
143 | + ' <div id=i3GEOgraficointerativoDados ></div>'+ | ||
144 | + '</div>' + | ||
145 | + '<div class=guiaobj id="i3GEOgraficointerativoguia3obj" style="left:1px;display:none;top:-5px">' + | ||
146 | + '</div>'+ | ||
147 | + '<div class=guiaobj id="i3GEOgraficointerativoguia4obj" style="left:1px;display:none;top:-5px">' + | ||
148 | + ' <div id="i3GEOgraficointerativoGrafico">gráfico</div>' + | ||
149 | + '</div>'; | ||
150 | + return ins; | ||
151 | + }, | ||
152 | + /* | ||
153 | + Function: criaJanelaFlutuante | ||
154 | + | ||
155 | + Cria a janela flutuante para controle da ferramenta. | ||
156 | + */ | ||
157 | + criaJanelaFlutuante: function(){ | ||
158 | + var minimiza,cabecalho,janela,divid,temp,titulo; | ||
159 | + //cria a janela flutuante | ||
160 | + cabecalho = function(){ | ||
161 | + i3GEOF.graficointerativo.ativaFoco(); | ||
162 | + }; | ||
163 | + minimiza = function(){ | ||
164 | + i3GEO.janela.minimiza("i3GEOF.graficointerativo"); | ||
165 | + }; | ||
166 | + titulo = "Gráficos interativos <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=5&idajuda=48a' > </a>"; | ||
167 | + janela = i3GEO.janela.cria( | ||
168 | + "380px", | ||
169 | + "240px", | ||
170 | + "", | ||
171 | + "", | ||
172 | + "", | ||
173 | + titulo, | ||
174 | + "i3GEOF.graficointerativo", | ||
175 | + false, | ||
176 | + "hd", | ||
177 | + cabecalho, | ||
178 | + minimiza | ||
179 | + ); | ||
180 | + divid = janela[2].id; | ||
181 | + i3GEOF.graficointerativo.aguarde = $i("i3GEOF.graficointerativo_imagemCabecalho").style; | ||
182 | + $i("i3GEOF.graficointerativo_corpo").style.backgroundColor = "white"; | ||
183 | + i3GEOF.graficointerativo.inicia(divid); | ||
184 | + }, | ||
185 | + /* | ||
186 | + Function: ativaFoco | ||
187 | + | ||
188 | + Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado | ||
189 | + */ | ||
190 | + ativaFoco: function(){ | ||
191 | + i3GEO.barraDeBotoes.ativaIcone("graficointerativo"); | ||
192 | + var i = $i("i3GEOF.graficointerativo_c").style; | ||
193 | + i3GEO.janela.ULTIMOZINDEX++; | ||
194 | + i.zIndex = 10000 + i3GEO.janela.ULTIMOZINDEX; | ||
195 | + }, | ||
196 | + /* | ||
197 | + Function: configuraDados | ||
198 | + | ||
199 | + Configura o formulário para obtenção dos dados para cada tipo de gráfico | ||
200 | + */ | ||
201 | + configuraDados: function(){ | ||
202 | + var radios = $i("i3GEOgraficointerativoguia1obj").getElementsByTagName("input"), | ||
203 | + nradios = radios.length, | ||
204 | + i, | ||
205 | + ativa = function(comboxlinha,comboylinha,ajudapizza){ | ||
206 | + $i("i3GEOgraficointerativoComboXlinha").style.display = comboxlinha; | ||
207 | + $i("i3GEOgraficointerativoComboYlinha").style.display = comboylinha; | ||
208 | + $i("i3GEOgraficointerativoAjudaPizza").style.display = ajudapizza; | ||
209 | + }; | ||
210 | + if (i3GEOF.graficointerativo.tipo === ""){ | ||
211 | + alert("Escolha um tipo de grafico"); | ||
212 | + i3GEO.guias.mostraGuiaFerramenta("i3GEOgraficointerativoguia1","i3GEOgraficointerativoguia"); | ||
213 | + return; | ||
214 | + } | ||
215 | + if(i3GEOF.graficointerativo.tipo === "pizza2d"){ | ||
216 | + ativa.call("block","block","block"); | ||
217 | + } | ||
218 | + }, | ||
219 | + /* | ||
220 | + Function: comboItensSel | ||
221 | + | ||
222 | + Cria um combo para selecionar os itens do tema escolhido | ||
223 | + */ | ||
224 | + comboItensSel: function(){ | ||
225 | + var tema = $i("i3GEOgraficointerativoComboTemasId").value; | ||
226 | + i3GEO.util.comboItens( | ||
227 | + "i3GEOgraficointerativoComboXid", | ||
228 | + tema, | ||
229 | + function(retorno){ | ||
230 | + var combo = retorno.dados; | ||
231 | + if(retorno.tipo === "erro"){ | ||
232 | + $i("i3GEOgraficointerativoComboX").innerHTML = "<br><br><span style='color:red'>erro ao ler os itens do tema de origem</span><br><br>"; | ||
233 | + $i("i3GEOgraficointerativoComboY").innerHTML = "<br><br><span style='color:red'>erro ao ler os itens do tema de origem</span><br><br>"; | ||
234 | + } | ||
235 | + else{ | ||
236 | + $i("i3GEOgraficointerativoComboY").innerHTML = retorno.dados; | ||
237 | + $i("i3GEOgraficointerativoComboXid").id = "i3GEOgraficointerativoComboYid"; | ||
238 | + $i("i3GEOgraficointerativoComboX").innerHTML = retorno.dados; | ||
239 | + } | ||
240 | + }, | ||
241 | + "i3GEOgraficointerativoComboX", | ||
242 | + "" | ||
243 | + ); | ||
244 | + }, | ||
245 | + /* | ||
246 | + Function: obterDados | ||
247 | + | ||
248 | + Obtém os dados que serão utilizados no gráfico | ||
249 | + */ | ||
250 | + obterDados: function(){ | ||
251 | + if(i3GEOF.graficointerativo.aguarde.visibility === "visible") | ||
252 | + {return;} | ||
253 | + | ||
254 | + var tema = $i("i3GEOgraficointerativoComboTemasId").value, | ||
255 | + x = $i("i3GEOgraficointerativoComboXid").value, | ||
256 | + y = $i("i3GEOgraficointerativoComboYid").value, | ||
257 | + excluir = $i("i3GEOgraficointerativoexcluir").value, | ||
258 | + p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficoSelecao&tema="+tema+"&itemclasses="+x+"&itemvalores="+y+"&excluir="+excluir, | ||
259 | + cp = new cpaint(), | ||
260 | + tipo = "soma", | ||
261 | + monta; | ||
262 | + if(x === y) | ||
263 | + {tipo = "conta";} | ||
264 | + if(tema === "") | ||
265 | + {alert("Escolha um tema");return;} | ||
266 | + if(x === "") | ||
267 | + {alert("Escolha um item para X");return;} | ||
268 | + if(y === "") | ||
269 | + {alert("Escolha um item para Y");return;} | ||
270 | + monta = function(retorno){ | ||
271 | + i3GEOF.graficointerativo.aguarde.visibility = "hidden"; | ||
272 | + var dados = retorno.data.dados, | ||
273 | + n = dados.length, | ||
274 | + v, | ||
275 | + ins = [], | ||
276 | + i, | ||
277 | + id; | ||
278 | + ins.push("<p class=paragrafo >Tabela de dados para o gráfico. Os valores podem ser editados</p><table class=lista4 id=i3GEOgraficointerativotabeladados ><tr><td style=background-color:yellow >nome</td><td style=background-color:yellow >valor</td><td style=background-color:yellow >cor</td></tr>"); | ||
279 | + for (i=1;i<n; i++){ | ||
280 | + v = dados[i].split(";"); | ||
281 | + v[0] = v[0].replace("'",""); | ||
282 | + v[0] = v[0].replace("'",""); | ||
283 | + //ins += v[0]+" "+v[1]; | ||
284 | + id = "i3GEOgraficointerativoDados"+i; //layer+indice da classe | ||
285 | + ins.push("<tr><td>"); | ||
286 | + ins.push($inputText("","",id+"_nome","digite o novo nome",20,v[0],"nome")); | ||
287 | + ins.push("</td><td>"); | ||
288 | + ins.push($inputText("","",id+"_valor","digite o novo valor",12,v[1],"valor")); | ||
289 | + ins.push("</td><td>"); | ||
290 | + ins.push($inputText("","",id+"_cor","r,g,b",12,"250,250,250","cor")); | ||
291 | + ins.push("</td></tr>"); | ||
292 | + } | ||
293 | + ins.push("</table><br>"); | ||
294 | + $i("i3GEOgraficointerativoDados").innerHTML = ins.join(""); | ||
295 | + }; | ||
296 | + i3GEOF.graficointerativo.aguarde.visibility = "visible"; | ||
297 | + cp.set_response_type("JSON"); | ||
298 | + cp.call(p+"&tipo="+tipo,"graficoSelecao",monta); | ||
299 | + }, | ||
300 | + /* | ||
301 | + Function: tabela2dados | ||
302 | + | ||
303 | + Obtém os dados da tabela para compor o gráfico | ||
304 | + */ | ||
305 | + tabela2dados: function(){ | ||
306 | + var inputs = $i("i3GEOgraficointerativoDados").getElementsByTagName("input"), | ||
307 | + ninputs = inputs.length, | ||
308 | + i, | ||
309 | + parametros, | ||
310 | + valores = [], | ||
311 | + nomes = [], | ||
312 | + cores = [], | ||
313 | + indice = $i("i3GEOgraficointerativoComboTemasId").options.selectedIndex, | ||
314 | + titulo = $i("i3GEOgraficointerativoComboTemasId").options[indice].text, | ||
315 | + par = []; | ||
316 | + for(i=0;i<ninputs;i = i + 3){ | ||
317 | + valores.push(inputs[i+1].value * 1); | ||
318 | + nomes.push(inputs[i].value+" "); | ||
319 | + cores.push("#d01f3c"); | ||
320 | + par.push({"value":inputs[i+1].value * 1,"label":inputs[i].value+" "}); | ||
321 | + } | ||
322 | + if(i3GEOF.graficointerativo.tipo === "pizza2d"){ | ||
323 | + parametros = JSON1.stringify({ | ||
324 | + "elements":[{ | ||
325 | + "type": "pie", | ||
326 | + "start-angle": 180, | ||
327 | + "colours": cores, | ||
328 | + "alpha": 0.6, | ||
329 | + "stroke": 2, | ||
330 | + "animate": 1, | ||
331 | + "values" : par, | ||
332 | + "tip": "#val# de #total#<br>#percent# de 100%", | ||
333 | + "gradient-fill": true, | ||
334 | + }], | ||
335 | + "title":{ | ||
336 | + "text": titulo, | ||
337 | + "style": "{font-size: 15px; color:#000000; text-align: center;}" | ||
338 | + }, | ||
339 | + "num_decimals": 2, | ||
340 | + "is_fixed_num_decimals_forced": true, | ||
341 | + "is_decimal_separator_comma": true, | ||
342 | + "is_thousand_separator_disabled": true, | ||
343 | + "x_axis": null | ||
344 | + }); | ||
345 | + } | ||
346 | + return parametros; | ||
347 | + } | ||
348 | +}; | ||
349 | +//pacotes/openflahchart/json2.js | ||
350 | +if (!this.JSON1) { | ||
351 | + JSON1 = function () { | ||
352 | + | ||
353 | + function f(n) { // Format integers to have at least two digits. | ||
354 | + return n < 10 ? '0' + n : n; | ||
355 | + } | ||
356 | + | ||
357 | + Date.prototype.toJSON = function () { | ||
358 | + return this.getUTCFullYear() + '-' + | ||
359 | + f(this.getUTCMonth() + 1) + '-' + | ||
360 | + f(this.getUTCDate()) + 'T' + | ||
361 | + f(this.getUTCHours()) + ':' + | ||
362 | + f(this.getUTCMinutes()) + ':' + | ||
363 | + f(this.getUTCSeconds()) + 'Z'; | ||
364 | + }; | ||
365 | + var escapeable = /["\\\x00-\x1f\x7f-\x9f]/g, | ||
366 | + gap, | ||
367 | + indent, | ||
368 | + meta = { // table of character substitutions | ||
369 | + '\b': '\\b', | ||
370 | + '\t': '\\t', | ||
371 | + '\n': '\\n', | ||
372 | + '\f': '\\f', | ||
373 | + '\r': '\\r', | ||
374 | + '"' : '\\"', | ||
375 | + '\\': '\\\\' | ||
376 | + }, | ||
377 | + rep; | ||
378 | + function quote(string) { | ||
379 | + return escapeable.test(string) ? | ||
380 | + '"' + string.replace(escapeable, function (a) { | ||
381 | + var c = meta[a]; | ||
382 | + if (typeof c === 'string') { | ||
383 | + return c; | ||
384 | + } | ||
385 | + c = a.charCodeAt(); | ||
386 | + return '\\u00' + Math.floor(c / 16).toString(16) + | ||
387 | + (c % 16).toString(16); | ||
388 | + }) + '"' : | ||
389 | + '"' + string + '"'; | ||
390 | + } | ||
391 | + function str(key, holder) { | ||
392 | + var i, // The loop counter. | ||
393 | + k, // The member key. | ||
394 | + v, // The member value. | ||
395 | + length, | ||
396 | + mind = gap, | ||
397 | + partial, | ||
398 | + value = holder[key]; | ||
399 | + if (value && typeof value === 'object' && | ||
400 | + typeof value.toJSON === 'function') { | ||
401 | + value = value.toJSON(key); | ||
402 | + } | ||
403 | + if (typeof rep === 'function') { | ||
404 | + value = rep.call(holder, key, value); | ||
405 | + } | ||
406 | + switch (typeof value) { | ||
407 | + case 'string': | ||
408 | + return quote(value); | ||
409 | + | ||
410 | + case 'number': | ||
411 | + return isFinite(value) ? String(value) : 'null'; | ||
412 | + | ||
413 | + case 'boolean': | ||
414 | + case 'null': | ||
415 | + return String(value); | ||
416 | + case 'object': | ||
417 | + if (!value) { | ||
418 | + return 'null'; | ||
419 | + } | ||
420 | + gap += indent; | ||
421 | + partial = []; | ||
422 | + if (typeof value.length === 'number' && | ||
423 | + !(value.propertyIsEnumerable('length'))) { | ||
424 | + length = value.length; | ||
425 | + for (i = 0; i < length; i += 1) { | ||
426 | + partial[i] = str(i, value) || 'null'; | ||
427 | + } | ||
428 | + v = partial.length === 0 ? '[]' : | ||
429 | + gap ? '[\n' + gap + partial.join(',\n' + gap) + | ||
430 | + '\n' + mind + ']' : | ||
431 | + '[' + partial.join(',') + ']'; | ||
432 | + gap = mind; | ||
433 | + return v; | ||
434 | + } | ||
435 | + if (typeof rep === 'object') { | ||
436 | + length = rep.length; | ||
437 | + for (i = 0; i < length; i += 1) { | ||
438 | + k = rep[i]; | ||
439 | + if (typeof k === 'string') { | ||
440 | + v = str(k, value, rep); | ||
441 | + if (v) { | ||
442 | + partial.push(quote(k) + (gap ? ': ' : ':') + v); | ||
443 | + } | ||
444 | + } | ||
445 | + } | ||
446 | + } else { | ||
447 | + for (k in value) { | ||
448 | + v = str(k, value, rep); | ||
449 | + if (v) { | ||
450 | + partial.push(quote(k) + (gap ? ': ' : ':') + v); | ||
451 | + } | ||
452 | + } | ||
453 | + } | ||
454 | + v = partial.length === 0 ? '{}' : | ||
455 | + gap ? '{\n' + gap + partial.join(',\n' + gap) + | ||
456 | + '\n' + mind + '}' : | ||
457 | + '{' + partial.join(',') + '}'; | ||
458 | + gap = mind; | ||
459 | + return v; | ||
460 | + } | ||
461 | + } | ||
462 | + return { | ||
463 | + stringify: function (value, replacer, space) { | ||
464 | + var i; | ||
465 | + gap = ''; | ||
466 | + indent = ''; | ||
467 | + if (space) { | ||
468 | + if (typeof space === 'number') { | ||
469 | + for (i = 0; i < space; i += 1) { | ||
470 | + indent += ' '; | ||
471 | + } | ||
472 | + } else if (typeof space === 'string') { | ||
473 | + indent = space; | ||
474 | + } | ||
475 | + } | ||
476 | + if (!replacer) { | ||
477 | + rep = function (key, value) { | ||
478 | + if (!Object.hasOwnProperty.call(this, key)) { | ||
479 | + return undefined; | ||
480 | + } | ||
481 | + return value; | ||
482 | + }; | ||
483 | + } else if (typeof replacer === 'function' || | ||
484 | + (typeof replacer === 'object' && | ||
485 | + typeof replacer.length === 'number')) { | ||
486 | + rep = replacer; | ||
487 | + } else { | ||
488 | + throw new Error('JSON.stringify'); | ||
489 | + } | ||
490 | + return str('', {'': value}); | ||
491 | + }, | ||
492 | + parse: function (text, reviver) { | ||
493 | + var j; | ||
494 | + | ||
495 | + function walk(holder, key) { | ||
496 | + var k, v, value = holder[key]; | ||
497 | + if (value && typeof value === 'object') { | ||
498 | + for (k in value) { | ||
499 | + if (Object.hasOwnProperty.call(value, k)) { | ||
500 | + v = walk(value, k); | ||
501 | + if (v !== undefined) { | ||
502 | + value[k] = v; | ||
503 | + } else { | ||
504 | + delete value[k]; | ||
505 | + } | ||
506 | + } | ||
507 | + } | ||
508 | + } | ||
509 | + return reviver.call(holder, key, value); | ||
510 | + } | ||
511 | + if (/^[\],:{}\s]*$/.test(text.replace(/\\["\\\/bfnrtu]/g, '@'). | ||
512 | +replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'). | ||
513 | +replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { | ||
514 | + j = eval('(' + text + ')'); | ||
515 | + return typeof reviver === 'function' ? | ||
516 | + walk({'': j}, '') : j; | ||
517 | + } | ||
518 | + throw new SyntaxError('JSON.parse'); | ||
519 | + }, | ||
520 | + quote: quote | ||
521 | + }; | ||
522 | + }(); | ||
523 | +} | ||
524 | +/** | ||
525 | + * SWFObject v1.4: Flash Player detection and embed - http://blog.deconcept.com/swfobject/ | ||
526 | + * | ||
527 | + * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License: | ||
528 | + * http://www.opensource.org/licenses/mit-license.php | ||
529 | + * | ||
530 | + * **SWFObject is the SWF embed script formarly known as FlashObject. The name was changed for | ||
531 | + * legal reasons. | ||
532 | + */ | ||
533 | +if(typeof deconcept=="undefined"){var deconcept=new Object();} | ||
534 | +if(typeof deconcept.util=="undefined"){deconcept.util=new Object();} | ||
535 | +if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();} | ||
536 | +deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){ | ||
537 | +if(!document.createElement||!document.getElementById){return;} | ||
538 | +this.DETECT_KEY=_b?_b:"detectflash"; | ||
539 | +this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY); | ||
540 | +this.params=new Object(); | ||
541 | +this.variables=new Object(); | ||
542 | +this.attributes=new Array(); | ||
543 | +if(_1){this.setAttribute("swf",_1);} | ||
544 | +if(id){this.setAttribute("id",id);} | ||
545 | +if(w){this.setAttribute("width",w);} | ||
546 | +if(h){this.setAttribute("height",h);} | ||
547 | +if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));} | ||
548 | +this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion(this.getAttribute("version"),_7); | ||
549 | +if(c){this.addParam("bgcolor",c);} | ||
550 | +var q=_8?_8:"high"; | ||
551 | +this.addParam("quality",q); | ||
552 | +this.setAttribute("useExpressInstall",_7); | ||
553 | +this.setAttribute("doExpressInstall",false); | ||
554 | +var _d=(_9)?_9:window.location; | ||
555 | +this.setAttribute("xiRedirectUrl",_d); | ||
556 | +this.setAttribute("redirectUrl",""); | ||
557 | +if(_a){this.setAttribute("redirectUrl",_a);}}; | ||
558 | +deconcept.SWFObject.prototype={setAttribute:function(_e,_f){ | ||
559 | +this.attributes[_e]=_f; | ||
560 | +},getAttribute:function(_10){ | ||
561 | +return this.attributes[_10]; | ||
562 | +},addParam:function(_11,_12){ | ||
563 | +this.params[_11]=_12; | ||
564 | +},getParams:function(){ | ||
565 | +return this.params; | ||
566 | +},addVariable:function(_13,_14){ | ||
567 | +this.variables[_13]=_14; | ||
568 | +},getVariable:function(_15){ | ||
569 | +return this.variables[_15]; | ||
570 | +},getVariables:function(){ | ||
571 | +return this.variables; | ||
572 | +},getVariablePairs:function(){ | ||
573 | +var _16=new Array(); | ||
574 | +var key; | ||
575 | +var _18=this.getVariables(); | ||
576 | +for(key in _18){ | ||
577 | +_16.push(key+"="+_18[key]);} | ||
578 | +return _16; | ||
579 | +},getSWFHTML:function(){ | ||
580 | +var _19=""; | ||
581 | +if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){ | ||
582 | +if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");} | ||
583 | +_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\""; | ||
584 | +_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" "; | ||
585 | +var _1a=this.getParams(); | ||
586 | +for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";} | ||
587 | +var _1c=this.getVariablePairs().join("&"); | ||
588 | +if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";} | ||
589 | +_19+="/>"; | ||
590 | +}else{ | ||
591 | +if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");} | ||
592 | +_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">"; | ||
593 | +_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />"; | ||
594 | +var _1d=this.getParams(); | ||
595 | +for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";} | ||
596 | +var _1f=this.getVariablePairs().join("&"); | ||
597 | +if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";} | ||
598 | +_19+="</object>";} | ||
599 | +return _19; | ||
600 | +},write:function(_20){ | ||
601 | +if(this.getAttribute("useExpressInstall")){ | ||
602 | +var _21=new deconcept.PlayerVersion([6,0,65]); | ||
603 | +if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){ | ||
604 | +this.setAttribute("doExpressInstall",true); | ||
605 | +this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl"))); | ||
606 | +document.title=document.title.slice(0,47)+" - Flash Player Installation"; | ||
607 | +this.addVariable("MMdoctitle",document.title);}} | ||
608 | +if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){ | ||
609 | +var n=(typeof _20=="string")?document.getElementById(_20):_20; | ||
610 | +n.innerHTML=this.getSWFHTML(); | ||
611 | +return true; | ||
612 | +}else{ | ||
613 | +if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}} | ||
614 | +return false;}}; | ||
615 | +deconcept.SWFObjectUtil.getPlayerVersion=function(_23,_24){ | ||
616 | +var _25=new deconcept.PlayerVersion([0,0,0]); | ||
617 | +if(navigator.plugins&&navigator.mimeTypes.length){ | ||
618 | +var x=navigator.plugins["Shockwave Flash"]; | ||
619 | +if(x&&x.description){_25=new deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));} | ||
620 | +}else{try{ | ||
621 | +var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); | ||
622 | +for(var i=3;axo!=null;i++){ | ||
623 | +axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i); | ||
624 | +_25=new deconcept.PlayerVersion([i,0,0]);}} | ||
625 | +catch(e){} | ||
626 | +if(_23&&_25.major>_23.major){return _25;} | ||
627 | +if(!_23||((_23.minor!=0||_23.rev!=0)&&_25.major==_23.major)||_25.major!=6||_24){ | ||
628 | +try{_25=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));} | ||
629 | +catch(e){}}} | ||
630 | +return _25;}; | ||
631 | +deconcept.PlayerVersion=function(_29){ | ||
632 | +this.major=parseInt(_29[0])!=null?parseInt(_29[0]):0; | ||
633 | +this.minor=parseInt(_29[1])||0; | ||
634 | +this.rev=parseInt(_29[2])||0;}; | ||
635 | +deconcept.PlayerVersion.prototype.versionIsValid=function(fv){ | ||
636 | +if(this.major<fv.major){return false;} | ||
637 | +if(this.major>fv.major){return true;} | ||
638 | +if(this.minor<fv.minor){return false;} | ||
639 | +if(this.minor>fv.minor){return true;} | ||
640 | +if(this.rev<fv.rev){return false;}return true;}; | ||
641 | +deconcept.util={getRequestParameter:function(_2b){ | ||
642 | +var q=document.location.search||document.location.hash; | ||
643 | +if(q){ | ||
644 | +var _2d=q.indexOf(_2b+"="); | ||
645 | +var _2e=(q.indexOf("&",_2d)>-1)?q.indexOf("&",_2d):q.length; | ||
646 | +if(q.length>1&&_2d>-1){ | ||
647 | +return q.substring(q.indexOf("=",_2d)+1,_2e); | ||
648 | +}}return "";}}; | ||
649 | +if(Array.prototype.push==null){ | ||
650 | +Array.prototype.push=function(_2f){ | ||
651 | +this[this.length]=_2f; | ||
652 | +return this.length;};} | ||
653 | +var getQueryParamValue=deconcept.util.getRequestParameter; | ||
654 | +var FlashObject=deconcept.SWFObject; // for backwards compatibility | ||
655 | +var SWFObject=deconcept.SWFObject; | ||
656 | + | ||
657 | + | ||
658 | +<?php if(extension_loaded('zlib')){ob_end_flush();}?> | ||
0 | \ No newline at end of file | 659 | \ No newline at end of file |