Commit 6e8377ee1085867666280072dee53f899a2f54fc

Authored by Edmar Moretti
1 parent 0b5d9a29

--no commit message

Showing 1 changed file with 421 additions and 418 deletions   Show diff stats
classesjs/classe_util.js
... ... @@ -14,16 +14,16 @@
14 14  
15 15 /**
16 16 * Licença
17   - *
  17 + *
18 18 * GPL2
19   - *
  19 + *
20 20 * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
21   - *
  21 + *
22 22 * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
23   - *
  23 + *
24 24 * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença
25 25 * Pública Geral GNU conforme publicada pela Free Software Foundation;
26   - *
  26 + *
27 27 * Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a
28 28 * garantia implícita de COMERCIABILIDADE OU ADEQUACAO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública
29 29 * Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto com
... ... @@ -35,41 +35,41 @@ if (typeof (i3GEO) === 'undefined') {
35 35 }
36 36 /**
37 37 * Constant: navm
38   - *
  38 + *
39 39 * Verdadeiro (true) se o navegador for o Internet Explorer
40   - *
  40 + *
41 41 * Tipo:
42   - *
  42 + *
43 43 * {boolean}
44 44 */
45 45 navm = false;
46 46 /**
47 47 * Constant: navn
48   - *
  48 + *
49 49 * Verdadeiro (true) se o navegador for o Firefox
50   - *
  50 + *
51 51 * Tipo:
52   - *
  52 + *
53 53 * {boolean}
54 54 */
55 55 navn = false;
56 56 /**
57 57 * Constant: chro
58   - *
  58 + *
59 59 * Verdadeiro (true) se o navegador for o Chrome
60   - *
  60 + *
61 61 * Tipo:
62   - *
  62 + *
63 63 * {boolean}
64 64 */
65 65 chro = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
66 66 /**
67 67 * Constant: opera
68   - *
  68 + *
69 69 * Verdadeiro (true) se o navegador for o Opera
70   - *
  70 + *
71 71 * Tipo:
72   - *
  72 + *
73 73 * {boolean}
74 74 */
75 75 opera = navigator.userAgent.toLowerCase().indexOf('opera') > -1;
... ... @@ -84,10 +84,10 @@ if (opera === true) {
84 84 }
85 85 /**
86 86 * Nome da ultima operacao que foi executada. (depreciado)
87   - *
  87 + *
88 88 * Dependendo do tipo de operacao sao aplicadas as atualizacoes necessarias aos componentes do mapa. Por exemplo, redesenha o corpo do mapa,
89 89 * atualiza a lista de temas, etc.
90   - *
  90 + *
91 91 * Essas operacoes sao controladas pela funcao ajaxiniciaparametros.
92 92 */
93 93 g_operacao = "";
... ... @@ -99,15 +99,15 @@ g_tipoacao = "zoomli";
99 99  
100 100 /**
101 101 * Function: $i
102   - *
  102 + *
103 103 * Obtem um elemento DOM a partir de seu id
104   - *
  104 + *
105 105 * Parametro:
106   - *
  106 + *
107 107 * {String} - ID do elemento.
108   - *
  108 + *
109 109 * Returns:
110   - *
  110 + *
111 111 * {Object}
112 112 */
113 113 $i = function(id) {
... ... @@ -115,9 +115,9 @@ $i = function(id) {
115 115 };
116 116 /**
117 117 * Function: Array.remove()
118   - *
  118 + *
119 119 * Extende os metodos de um objeto Array, permitindo remover um elemento.
120   - *
  120 + *
121 121 */
122 122 Array.prototype.remove = function(s) {
123 123 try {
... ... @@ -132,9 +132,9 @@ Array.prototype.remove = function(s) {
132 132 };
133 133 /**
134 134 * Function: Array.getUnique()
135   - *
  135 + *
136 136 * Extende os metodos de um objeto Array, retorna um array com valores unicos
137   - *
  137 + *
138 138 */
139 139 Array.prototype.getUnique = function() {
140 140 var u = {}, a = [];
... ... @@ -151,27 +151,27 @@ i3GEO.util =
151 151 {
152 152 /**
153 153 * Elementos IMG criados na funcao criaPin
154   - *
  154 + *
155 155 * Tipo: {Array}
156 156 */
157 157 PINS : [],
158 158 /**
159 159 * Elementos DIV criados na funcao criaBox
160   - *
  160 + *
161 161 * Tipo: {Array}
162 162 */
163 163 BOXES : [],
164 164 /**
165 165 * Function: trim
166   - *
  166 + *
167 167 * Implementa o metodo trim para navegadores sem suporte a essa funcao
168   - *
  168 + *
169 169 * Parametros:
170   - *
  170 + *
171 171 * {String}
172   - *
  172 + *
173 173 * Return:
174   - *
  174 + *
175 175 * {String}
176 176 */
177 177 trim : function(s) {
... ... @@ -179,15 +179,15 @@ i3GEO.util =
179 179 },
180 180 /**
181 181 * Function: escapeURL
182   - *
  182 + *
183 183 * Converte uma string em uma url valida
184   - *
  184 + *
185 185 * Parametros:
186   - *
  186 + *
187 187 * {String} - url que sera convertida
188   - *
  188 + *
189 189 * Return:
190   - *
  190 + *
191 191 * {String}
192 192 */
193 193 escapeURL : function(sUrl) {
... ... @@ -203,15 +203,15 @@ i3GEO.util =
203 203 },
204 204 /**
205 205 * Function: insereCookie
206   - *
  206 + *
207 207 * Cria um novo cookie.
208   - *
  208 + *
209 209 * Parametros:
210   - *
  210 + *
211 211 * {String} -Nome do cookie.
212   - *
  212 + *
213 213 * {String} - Valor do cookie
214   - *
  214 + *
215 215 * {numerico} - Dias que levara para expirar
216 216 */
217 217 insereCookie : function(nome, valor, expira) {
... ... @@ -224,15 +224,15 @@ i3GEO.util =
224 224 },
225 225 /**
226 226 * Function: pegaCookie
227   - *
  227 + *
228 228 * Pega o valor de um cookie.
229   - *
  229 + *
230 230 * Parametros:
231   - *
  231 + *
232 232 * {String} - Nome do cookie.
233   - *
  233 + *
234 234 * Returns:
235   - *
  235 + *
236 236 * valor do cookie
237 237 */
238 238 pegaCookie : function(nome) {
... ... @@ -250,15 +250,15 @@ i3GEO.util =
250 250 },
251 251 /**
252 252 * Function: listaChaves
253   - *
  253 + *
254 254 * Lista as chaves de um objeto que forem true.
255   - *
  255 + *
256 256 * Parametro:
257   - *
  257 + *
258 258 * {Object}
259   - *
  259 + *
260 260 * Return:
261   - *
  261 + *
262 262 * array com as chaves.
263 263 */
264 264 listaChaves : function(obj) {
... ... @@ -273,15 +273,15 @@ i3GEO.util =
273 273 },
274 274 /**
275 275 * Function: listaTodasChaves
276   - *
  276 + *
277 277 * Lista as chaves de um objeto
278   - *
  278 + *
279 279 * Parametros:
280   - *
  280 + *
281 281 * {Object}
282   - *
  282 + *
283 283 * Return:
284   - *
  284 + *
285 285 * array com as chaves.
286 286 */
287 287 listaTodasChaves : function(obj) {
... ... @@ -294,25 +294,25 @@ i3GEO.util =
294 294 },
295 295 /**
296 296 * Function: arvore
297   - *
  297 + *
298 298 * Cria uma arvore com base em um objeto contendo as propriedades.
299   - *
  299 + *
300 300 * No objeto com as propriedades, se "url" for igual a "", sera incluido o texto original definido em "text".
301   - *
  301 + *
302 302 * Caso contrario, o valor de "text" sera traduzido com $trad(). Nesse caso, utilize em "text" o codigo definido em dicionario.js
303   - *
  303 + *
304 304 * Parametros:
305   - *
  305 + *
306 306 * {String} - cabecalho da arvore
307   - *
  307 + *
308 308 * {String} - nome do id doelemento que contera a arvore
309   - *
  309 + *
310 310 * {Object} - objeto contendo os parametros, exemplo
311   - *
  311 + *
312 312 * g_listaPropriedades = {
313   - *
  313 + *
314 314 * "propriedades": [ { text: "p2", url: "javascript:tipoimagem()" } ]}
315   - *
  315 + *
316 316 */
317 317 arvore : function(titulo, onde, obj) {
318 318 var arvore, root, tempNode, d, criaNo;
... ... @@ -363,15 +363,15 @@ i3GEO.util =
363 363 },
364 364 /**
365 365 * Function: removeAcentos
366   - *
  366 + *
367 367 * Remove acentos de uma palavra ou frase
368   - *
  368 + *
369 369 * Parametros:
370   - *
  370 + *
371 371 * {String} - palavra
372   - *
  372 + *
373 373 * Return:
374   - *
  374 + *
375 375 * {String}
376 376 */
377 377 removeAcentos : function(str) {
... ... @@ -433,11 +433,11 @@ i3GEO.util =
433 433 },
434 434 /**
435 435 * Function: protocolo
436   - *
  436 + *
437 437 * Obtem o protocolo utilizado na URL atual
438   - *
  438 + *
439 439 * Return:
440   - *
  440 + *
441 441 * {String} - protocolo
442 442 */
443 443 protocolo : function() {
... ... @@ -447,15 +447,15 @@ i3GEO.util =
447 447 },
448 448 /**
449 449 * Function: pegaPosicaoObjeto
450   - *
  450 + *
451 451 * Retorna a posicao x,y de um objeto em relacao a tela do navegador
452   - *
  452 + *
453 453 * Parametros:
454   - *
  454 + *
455 455 * {Object} - objeto dom
456   - *
  456 + *
457 457 * Return:
458   - *
  458 + *
459 459 * {Array} - array com a posicao [x,y]
460 460 */
461 461 pegaPosicaoObjeto : function(obj) {
... ... @@ -487,15 +487,15 @@ i3GEO.util =
487 487 },
488 488 /**
489 489 * Function: pegaElementoPai
490   - *
  490 + *
491 491 * Pega o elemento pai de um elemento clicado
492   - *
  492 + *
493 493 * Parametros:
494   - *
  494 + *
495 495 * {Objeto} - elemento do DOM
496   - *
  496 + *
497 497 * Return:
498   - *
  498 + *
499 499 * {Node} - objeto DOM
500 500 */
501 501 pegaElementoPai : function(e) {
... ... @@ -522,21 +522,21 @@ i3GEO.util =
522 522 },
523 523 /**
524 524 * Function: mudaCursor
525   - *
  525 + *
526 526 * Altera o cursor do ponteiro do mouse.
527   - *
  527 + *
528 528 * Os cursores disponiveis sao definidos por default em classe_configura.js
529   - *
  529 + *
530 530 * Exemplo i3GEO.util.mudaCursor("","crosshair")
531   - *
  531 + *
532 532 * Parametros:
533   - *
  533 + *
534 534 * {i3GEO.configura.cursores} - objeto JSON com as URIs de cada cursor (veja i3GEO.configura.cursores)
535   - *
  535 + *
536 536 * {String} - tipo de cursor disponivel em cursores
537   - *
  537 + *
538 538 * {String} - id do objeto que tera o estilo alterado para o cursor desejado
539   - *
  539 + *
540 540 * {String} - onde esta instalado o i3Geo
541 541 */
542 542 mudaCursor : function(cursores, tipo, idobjeto, locaplic) {
... ... @@ -586,11 +586,11 @@ i3GEO.util =
586 586 },
587 587 /**
588 588 * Cria um elemento div na pagina atual.
589   - *
  589 + *
590 590 * Esse elemento pode ser utilizado para desenhar retangulos sobre o mapa com base em coordenadas de tela
591   - *
  591 + *
592 592 * Parametros:
593   - *
  593 + *
594 594 * {String} - id do elemento que sera criado. Por default, sera 'boxg'
595 595 */
596 596 criaBox : function(id) {
... ... @@ -616,7 +616,7 @@ i3GEO.util =
616 616 },
617 617 /**
618 618 * Esconde os BOXES com IDs registrados em i3GEO.util.BOXES
619   - *
  619 + *
620 620 * Os ids sao criado pela funcao criaBox
621 621 */
622 622 escondeBox : function() {
... ... @@ -630,25 +630,25 @@ i3GEO.util =
630 630 },
631 631 /**
632 632 * Function: criaPin
633   - *
  633 + *
634 634 * Cria um elemento imagem com posição fixa na pagina atual.
635   - *
  635 + *
636 636 * A imagem não é deslocada junto com o mapa
637   - *
  637 + *
638 638 * Parametros:
639   - *
  639 + *
640 640 * {String} - (opcional) id do elemento que sera criado. Por default, sera 'boxpin'
641   - *
  641 + *
642 642 * {URL} - (opcional) endereco da imagem
643   - *
  643 + *
644 644 * {String} - (opcional) largura da imagem
645   - *
  645 + *
646 646 * {String} - (opcional) altura da imagem
647   - *
  647 + *
648 648 * funcao que sera executada no evento mouseover
649   - *
  649 + *
650 650 * Retorno:
651   - *
  651 + *
652 652 * array [boolean,obj] - indica se foi criado ou se ja existia | objeto criado
653 653 */
654 654 criaPin : function(id, imagem, w, h, mouseover, onde) {
... ... @@ -699,19 +699,19 @@ i3GEO.util =
699 699 },
700 700 /**
701 701 * Function: posicionaImagemNoMapa
702   - *
  702 + *
703 703 * Posiciona uma imagem no mapa no local onde o mouse esta posicionado sobre o mapa
704   - *
  704 + *
705 705 * Parametros:
706   - *
  706 + *
707 707 * {string} - id do elemento que sera posicionado
708   - *
  708 + *
709 709 * {posicao do pixel} - se nao for definida ou for vazia, sera utilizado o valor de objposicaocursor.telax
710   - *
  710 + *
711 711 * {posicao do pixel} - se nao for definida ou for vazia, sera utilizado o valor de objposicaocursor.telay
712   - *
  712 + *
713 713 * Return:
714   - *
  714 + *
715 715 * array[top,left] - valores em pixel da posicao calculada da imagem
716 716 */
717 717 posicionaImagemNoMapa : function(id, x, y) {
... ... @@ -733,9 +733,9 @@ i3GEO.util =
733 733 },
734 734 /**
735 735 * Function: escondePin
736   - *
  736 + *
737 737 * Esconde os PINS com IDs registrados em i3GEO.util.PINS
738   - *
  738 + *
739 739 * Os ids sao criados pela funcao criaPin
740 740 */
741 741 escondePin : function() {
... ... @@ -769,27 +769,27 @@ i3GEO.util =
769 769 },
770 770 /**
771 771 * Function $inputText ou nome curto $inputText
772   - *
  772 + *
773 773 * Cria um elemento html do tipo input text com formatação especial.
774   - *
  774 + *
775 775 * Parametros:
776   - *
  776 + *
777 777 * {String} - id do elemento pai do input
778   - *
  778 + *
779 779 * {Integer} - largura em pixel
780   - *
  780 + *
781 781 * {String} - id do objeto input
782   - *
  782 + *
783 783 * {String} - texto que vai no title
784   - *
  784 + *
785 785 * {Integer} - numero de digitos do input
786   - *
  786 + *
787 787 * {String} - valor do input
788   - *
  788 + *
789 789 * {String} - name do input
790   - *
  790 + *
791 791 * {String} - (opcional) string que sera inserida no evento "onchange"
792   - *
  792 + *
793 793 */
794 794 $inputText : function(idPai, larguraIdPai, idInput, titulo, digitos, valor, nome, onch) {
795 795 if (arguments.length === 6) {
... ... @@ -825,15 +825,15 @@ i3GEO.util =
825 825 },
826 826 /**
827 827 * Function: $top ou nome curto $top
828   - *
  828 + *
829 829 * Muda a posicao (superior) de um objeto tanto no IE como no Firefox.
830   - *
  830 + *
831 831 * Exemplo: $top("imagem",100)
832   - *
  832 + *
833 833 * Parametros:
834   - *
  834 + *
835 835 * {string} - identificador do objeto
836   - *
  836 + *
837 837 * {numeric} - posicao em relacao ao topo.
838 838 */
839 839 $top : function(id, valor) {
... ... @@ -847,15 +847,15 @@ i3GEO.util =
847 847 },
848 848 /**
849 849 * Function: $left ou nome curto $left
850   - *
  850 + *
851 851 * Muda a posicao (esquerda) de um objeto tanto no IE como no Firefox.
852   - *
  852 + *
853 853 * Exemplo: $left("imagem",100)
854   - *
  854 + *
855 855 * Parametros:
856   - *
  856 + *
857 857 * {string} - identificador do objeto
858   - *
  858 + *
859 859 * {numeric} - posicao em relacao a esquerda.
860 860 */
861 861 $left : function(id, valor) {
... ... @@ -869,11 +869,11 @@ i3GEO.util =
869 869 },
870 870 /**
871 871 * Function: adicionaSHP
872   - *
  872 + *
873 873 * Inclui um arquivo shapefile no mapa atual como uma nova camada
874   - *
  874 + *
875 875 * Parametros:
876   - *
  876 + *
877 877 * {String} - caminho completo do shapefile
878 878 */
879 879 adicionaSHP : function(path) {
... ... @@ -886,15 +886,15 @@ i3GEO.util =
886 886 },
887 887 /**
888 888 * Function: abreCor
889   - *
  889 + *
890 890 * Abre a janela flutuante para escolha de uma cor
891   - *
  891 + *
892 892 * Parametros:
893   - *
  893 + *
894 894 * {String} - id do conteudo da janela flutuante que chamou a funcao. Pode ser "" caso elemento exista em document
895   - *
  895 + *
896 896 * {String} - id do elemento que recebera os valores da cor selecionada
897   - *
  897 + *
898 898 * {String} - opcional pode ser definido como rgb,rgbSep (separado por espacos em branco) ou hex indicando o tipo de retorno da cor
899 899 */
900 900 abreCor : function(janelaid, elemento, tipo) {
... ... @@ -956,15 +956,15 @@ i3GEO.util =
956 956 },
957 957 /**
958 958 * Function: aparece
959   - *
  959 + *
960 960 * Aplica efeito de aparecimento suave de um objeto
961   - *
  961 + *
962 962 * Parametros:
963   - *
  963 + *
964 964 * {String} - id do objeto
965   - *
  965 + *
966 966 * {Integer} - tempo em milesegundos que levara o efeito
967   - *
  967 + *
968 968 * {Integer} - intervalo entre uma imagem e outra
969 969 */
970 970 aparece : function(id, tempo, intervalo) {
... ... @@ -1012,17 +1012,17 @@ i3GEO.util =
1012 1012 },
1013 1013 /**
1014 1014 * Function: desaparece
1015   - *
  1015 + *
1016 1016 * Aplica efeito de desaparecimento suave de um objeto
1017   - *
  1017 + *
1018 1018 * Parametros:
1019   - *
  1019 + *
1020 1020 * {String} - id do objeto
1021   - *
  1021 + *
1022 1022 * {Integer} - tempo em milesegundos que levara o efeito
1023   - *
  1023 + *
1024 1024 * {Integer} - intervalo entre uma imagem e outra
1025   - *
  1025 + *
1026 1026 * {Boolean} - remove ou nao o objeto no final
1027 1027 */
1028 1028 desaparece : function(id, tempo, intervalo, removeobj) {
... ... @@ -1079,17 +1079,17 @@ i3GEO.util =
1079 1079 },
1080 1080 /**
1081 1081 * Function: wkt2ext
1082   - *
  1082 + *
1083 1083 * Calcula a extensao geografica de uma geometria fornecida no formato WKT
1084   - *
  1084 + *
1085 1085 * Parametros:
1086   - *
  1086 + *
1087 1087 * {String} - geometria no formato wkt
1088   - *
  1088 + *
1089 1089 * {String} - tipo de geometria (polygon,point,line)
1090   - *
  1090 + *
1091 1091 * Return:
1092   - *
  1092 + *
1093 1093 * {String} - extensao geografica (xmin ymin xmax ymax)
1094 1094 */
1095 1095 wkt2ext : function(wkt, tipo) {
... ... @@ -1133,9 +1133,9 @@ i3GEO.util =
1133 1133 },
1134 1134 /**
1135 1135 * Function: sortNumber
1136   - *
  1136 + *
1137 1137 * Ordena um array contendo numeros. Deve ser usado como parametro do metodo "sort", exemplo
1138   - *
  1138 + *
1139 1139 * y.sort(i3GEO.util.sortNumber), onde y e um array de numeros
1140 1140 */
1141 1141 sortNumber : function(a, b) {
... ... @@ -1143,13 +1143,13 @@ i3GEO.util =
1143 1143 },
1144 1144 /**
1145 1145 * Function: getScrollerWidth
1146   - *
  1146 + *
1147 1147 * Calcula o tamanho da barra de rolagem, permitindo calcular o tamanho correto da area util do navegador
1148   - *
  1148 + *
1149 1149 * http://www.fleegix.org/articles/2006-05-30-getting-the-scrollbar-width-in-pixels
1150   - *
  1150 + *
1151 1151 * Return:
1152   - *
  1152 + *
1153 1153 * largura
1154 1154 */
1155 1155 getScrollerWidth : function() {
... ... @@ -1183,13 +1183,13 @@ i3GEO.util =
1183 1183 },
1184 1184 /**
1185 1185 * Function: getScrollHeight
1186   - *
  1186 + *
1187 1187 * Calcula o tamanho vertical do browser
1188   - *
  1188 + *
1189 1189 * http://w3schools.invisionzone.com/index.php?showtopic=45977
1190   - *
  1190 + *
1191 1191 * Return:
1192   - *
  1192 + *
1193 1193 * altura
1194 1194 */
1195 1195 getScrollHeight : function() {
... ... @@ -1207,17 +1207,17 @@ i3GEO.util =
1207 1207 },
1208 1208 /**
1209 1209 * Function: scriptTag
1210   - *
  1210 + *
1211 1211 * Insere um javascript no documento HTML
1212   - *
  1212 + *
1213 1213 * Parametros:
1214   - *
  1214 + *
1215 1215 * {String} - endereco do JS
1216   - *
  1216 + *
1217 1217 * {String} ou {function} - funcao que sera executada ao ser carregado o script (pode ser "")
1218   - *
  1218 + *
1219 1219 * {string} - id do elemento script que sera criado
1220   - *
  1220 + *
1221 1221 * {boolean} - mostra ou nao a janela de aguarde
1222 1222 */
1223 1223 scriptTag : function(js, ini, id, aguarde) {
... ... @@ -1280,11 +1280,11 @@ i3GEO.util =
1280 1280 },
1281 1281 /**
1282 1282 * Function: removeScriptTag
1283   - *
  1283 + *
1284 1284 * Remove um javascript no documento HTML
1285   - *
  1285 + *
1286 1286 * Parametros:
1287   - *
  1287 + *
1288 1288 * {string} - id do elemento script que sera removido
1289 1289 */
1290 1290 removeScriptTag : function(id) {
... ... @@ -1304,17 +1304,17 @@ i3GEO.util =
1304 1304 },
1305 1305 /**
1306 1306 * Function: verificaScriptTag
1307   - *
  1307 + *
1308 1308 * Verifica se um javascript esta carregado no documento.
1309   - *
  1309 + *
1310 1310 * util para verificar se existe alguma ferramenta ativa ao procurar por i3GEOF.
1311   - *
  1311 + *
1312 1312 * Parametros:
1313   - *
  1313 + *
1314 1314 * {string} - nome do javascript
1315   - *
  1315 + *
1316 1316 * Retorno:
1317   - *
  1317 + *
1318 1318 * {boolean}
1319 1319 */
1320 1320 verificaScriptTag : function(texto) {
... ... @@ -1341,13 +1341,13 @@ i3GEO.util =
1341 1341 },
1342 1342 /**
1343 1343 * Function: mensagemAjuda
1344   - *
  1344 + *
1345 1345 * Formata uma mensagem de texto com icone de ?
1346   - *
  1346 + *
1347 1347 * Parametros:
1348   - *
  1348 + *
1349 1349 * {String} - id do elemento que recebera a mensagem
1350   - *
  1350 + *
1351 1351 * {String} - texto da mensagem
1352 1352 */
1353 1353 mensagemAjuda : function(onde, texto) {
... ... @@ -1369,11 +1369,11 @@ i3GEO.util =
1369 1369 },
1370 1370 /**
1371 1371 * Function: randomRGB
1372   - *
  1372 + *
1373 1373 * Gera uma cor RGB de forma aleatoria
1374   - *
  1374 + *
1375 1375 * Return:
1376   - *
  1376 + *
1377 1377 * {String} - r,g,b
1378 1378 */
1379 1379 randomRGB : function() {
... ... @@ -1386,15 +1386,15 @@ i3GEO.util =
1386 1386 },
1387 1387 /**
1388 1388 * Function: rgb2hex
1389   - *
  1389 + *
1390 1390 * Converte uma cor RGB para HEX
1391   - *
  1391 + *
1392 1392 * Parametro:
1393   - *
  1393 + *
1394 1394 * {String} - r,g,b
1395   - *
  1395 + *
1396 1396 * Return:
1397   - *
  1397 + *
1398 1398 * {String}
1399 1399 */
1400 1400 rgb2hex : function(str) {
... ... @@ -1407,29 +1407,29 @@ i3GEO.util =
1407 1407 },
1408 1408 /**
1409 1409 * Function: comboTemas
1410   - *
  1410 + *
1411 1411 * Cria um combo (caixa de selesao) com a lista de temas existentes no mapa e de determinado tipo
1412   - *
  1412 + *
1413 1413 * Parametros:
1414   - *
  1414 + *
1415 1415 * {String} - id do elemento select que sera criado
1416   - *
  1416 + *
1417 1417 * funcao {Function} - funcao que sera executada ao terminar a montagem do combo. Essa funcao recebera como parametros um Array
1418 1418 * associativo contendo os dados em HTML gerados e o tipo de resultado. P.ex.: {dados:comboTemas,tipo:"dados"} tipo sera uma string
1419 1419 * que pode ser "dados"|"mensagem"|"erro" indicando o tipo de retorno.
1420   - *
  1420 + *
1421 1421 * {String} - id do elemento HTML que recebera o combo. e utilizado apenas para inserir uma mensagem de aguarde.
1422   - *
  1422 + *
1423 1423 * {String} - valor que sera incluido no parametro "name" do elemento "select".
1424   - *
  1424 + *
1425 1425 * {Booleano} - indica se o combo permite selecoes multiplas
1426   - *
  1426 + *
1427 1427 * {String} - Tipo de temas que serao incluidos no combo ligados|selecionados|raster|pontosSelecionados|pontos|linhaDoTempo
1428   - *
  1428 + *
1429 1429 * {string} - estilo (css) que sera aplicado ao combo
1430   - *
  1430 + *
1431 1431 * {boolean} - (opcional) indica se o combo sera montado com o estilo YUI (menu)
1432   - *
  1432 + *
1433 1433 * {boolean} - (opcional) inclui um option vazio
1434 1434 */
1435 1435 comboTemas : function(id, funcao, onde, nome, multiplo, tipoCombo, estilo, yui, incluiVazio) {
... ... @@ -1619,27 +1619,27 @@ i3GEO.util =
1619 1619 },
1620 1620 /**
1621 1621 * Function: checkCombo
1622   - *
  1622 + *
1623 1623 * Cria uma lista com check box generico baseado em um objeto com os dados
1624   - *
  1624 + *
1625 1625 * Parametros:
1626   - *
  1626 + *
1627 1627 * {String} - id do elemento select que sera criado
1628   - *
  1628 + *
1629 1629 * {Array} - array com os nomes
1630   - *
  1630 + *
1631 1631 * {Array} - array com os valores
1632   - *
  1632 + *
1633 1633 * {objeto} - objeto contendo name e value, exemplo {"nome":"a","valor":"1"}
1634   - *
  1634 + *
1635 1635 * {string} - string inserida no item style do container do combo
1636   - *
  1636 + *
1637 1637 * {string} - string inserida no evento onclick
1638   - *
  1638 + *
1639 1639 * {array} - (opcional) array com os ids de cada checkbox
1640   - *
  1640 + *
1641 1641 * {array} - (opcional) array com os ids dos elementos marcados como selecionados
1642   - *
  1642 + *
1643 1643 */
1644 1644 checkCombo : function(id, nomes, valores, estilo, funcaoclick, ids, idschecked) {
1645 1645 var temp, i, combo = "", n = valores.length;
... ... @@ -1693,25 +1693,25 @@ i3GEO.util =
1693 1693 },
1694 1694 /**
1695 1695 * Function: checkTemas
1696   - *
  1696 + *
1697 1697 * Cria uma lista com check box de temas existentes no mapa e de determinado tipo
1698   - *
  1698 + *
1699 1699 * Parametros:
1700   - *
  1700 + *
1701 1701 * {String} - id do elemento select que sera criado
1702   - *
  1702 + *
1703 1703 * funcao {Function} - funcao que sera executada ao terminar a montagem do combo. Essa funcao recebera como parametros um Array
1704 1704 * associativo contendo os dados em HTML gerados e o tipo de resultado. P.ex.: {dados:comboTemas,tipo:"dados"} tipo sera uma string
1705 1705 * que pode ser "dados"|"mensagem"|"erro" indicando o tipo de retorno.
1706   - *
  1706 + *
1707 1707 * {String} - id do elemento HTML que recebera o combo. e utilizado apenas para inserir uma mensagem de aguarde.
1708   - *
  1708 + *
1709 1709 * {String} - valor que sera incluido no parametro "name" do elemento "select".
1710   - *
  1710 + *
1711 1711 * {String} - Tipo de temas que serao incluidos na lista ligados|selecionados|raster|pontosSelecionados|pontos|polraster
1712   - *
  1712 + *
1713 1713 * {string} - Prefixo que sera usado no id de cada elemento
1714   - *
  1714 + *
1715 1715 * {numeric} - tamanho dos elementos input editaveis
1716 1716 */
1717 1717 checkTemas : function(id, funcao, onde, nome, tipoLista, prefixo, size) {
... ... @@ -1824,25 +1824,25 @@ i3GEO.util =
1824 1824 },
1825 1825 /**
1826 1826 * Function: comboItens
1827   - *
  1827 + *
1828 1828 * Cria um combo (caixa de selecao) com a lista de itens de um layer
1829   - *
  1829 + *
1830 1830 * Parametros:
1831   - *
  1831 + *
1832 1832 * {String} - id do elemento select que sera criado
1833   - *
  1833 + *
1834 1834 * {String} - codigo do tema (layer)
1835   - *
  1835 + *
1836 1836 * {Function} - funcao que sera executada ao terminar a montagem do combo. Essa funcao recebera como parametros um Array associativo
1837 1837 * contendo os dados em HTML gerados e o tipo de resultado. P.ex.: {dados:comboTemas,tipo:"dados"} tipo sera uma string que pode ser
1838 1838 * "dados"|"mensagem"|"erro" indicando o tipo de retorno.
1839   - *
  1839 + *
1840 1840 * {String} - id do elemento HTML que recebera o combo. e utilizado apenas para inserir uma mensagem de aguarde.
1841   - *
  1841 + *
1842 1842 * {String} - valor que sera incluido no parametro "name" do elemento "select".
1843   - *
  1843 + *
1844 1844 * {string} sim|nao indica se para os nomes dos itens sera usado o alias (default= sim)
1845   - *
  1845 + *
1846 1846 * {string} - estilo CSS em linha
1847 1847 */
1848 1848 comboItens : function(id, tema, funcao, onde, nome, alias, estilo) {
... ... @@ -1899,21 +1899,21 @@ i3GEO.util =
1899 1899 },
1900 1900 /**
1901 1901 * Function: comboValoresItem
1902   - *
  1902 + *
1903 1903 * Cria uma caixa de selecao com os valores de um item de um tema
1904   - *
  1904 + *
1905 1905 * Parametros:
1906   - *
  1906 + *
1907 1907 * {String} - id do elemento select que sera criado
1908   - *
  1908 + *
1909 1909 * {String} - codigo do tema (layer)
1910   - *
  1910 + *
1911 1911 * {String} - nome do item
1912   - *
  1912 + *
1913 1913 * {Function} - funcao que sera executada ao terminar a montagem do combo. Essa funcao recebera como parametros um Array associativo
1914 1914 * contendo os dados em HTML gerados e o tipo de resultado. P.ex.: {dados:comboTemas,tipo:"dados"} tipo sera uma string que pode ser
1915 1915 * "dados"|"mensagem"|"erro" indicando o tipo de retorno.
1916   - *
  1916 + *
1917 1917 * {String} - id do elemento HTML que recebera o combo. e utilizado apenas para inserir uma mensagem de aguarde.
1918 1918 */
1919 1919 comboValoresItem : function(id, tema, itemTema, funcao, onde) {
... ... @@ -1953,13 +1953,13 @@ i3GEO.util =
1953 1953 },
1954 1954 /**
1955 1955 * Function: comboFontes
1956   - *
  1956 + *
1957 1957 * Cria um combo (caixa de selecao) com a lista fontes de texto disponiveis
1958   - *
  1958 + *
1959 1959 * Parametros:
1960   - *
  1960 + *
1961 1961 * {String} - id do elemento select que sera criado
1962   - *
  1962 + *
1963 1963 * {String} - id do elemento HTML que recebera o combo. e utilizado apenas para inserir uma mensagem de aguarde.
1964 1964 */
1965 1965 comboFontes : function(id, onde) {
... ... @@ -1982,17 +1982,17 @@ i3GEO.util =
1982 1982 },
1983 1983 /**
1984 1984 * Function: comboSimNao
1985   - *
  1985 + *
1986 1986 * Cria uma caixa de selecao com as palavras sim e nao
1987   - *
  1987 + *
1988 1988 * Parametros:
1989   - *
  1989 + *
1990 1990 * {String} - id do elemento select que sera criado
1991   - *
  1991 + *
1992 1992 * {string} - qual valor estara selecionado sim|nao
1993   - *
  1993 + *
1994 1994 * Return:
1995   - *
  1995 + *
1996 1996 * {string}
1997 1997 */
1998 1998 comboSimNao : function(id, selecionado) {
... ... @@ -2013,22 +2013,22 @@ i3GEO.util =
2013 2013 },
2014 2014 /**
2015 2015 * Function: checkItensEditaveis
2016   - *
  2016 + *
2017 2017 * Cria uma lista de elementos do tipo input com textos editaveis contendo a lista de itens de um tema.
2018   - *
  2018 + *
2019 2019 * Parametros:
2020   - *
  2020 + *
2021 2021 * {string} - codigo do layer existente no mapa
2022   - *
  2022 + *
2023 2023 * {function} - funcao que sera executada para montar a lista. Essa funcao recebera como parametro um array do tipo
2024 2024 * {dados:ins,tipo:"dados"} onde ins e um array com as linhas e tipo e o tipo de resultado, que pode ser "dados"|"erro"
2025   - *
  2025 + *
2026 2026 * {string} - id do elemento que recebera a mensagem de aguarde
2027   - *
  2027 + *
2028 2028 * {numeric} - tamanho dos elementos input editaveis
2029   - *
  2029 + *
2030 2030 * {string} - Prefixo que sera usado no id de cada elemento
2031   - *
  2031 + *
2032 2032 * {sim|nao} - Indica se a colouna que permite indicar a ordem das escolhas sera ou nao incluida
2033 2033 */
2034 2034 checkItensEditaveis : function(tema, funcao, onde, size, prefixo, ordenacao) {
... ... @@ -2092,18 +2092,18 @@ i3GEO.util =
2092 2092 },
2093 2093 /**
2094 2094 * Function: radioEpsg
2095   - *
  2095 + *
2096 2096 * Cria uma lista de codigos EPSG para o usuario escolher um deles.
2097   - *
  2097 + *
2098 2098 * A lista e mostrada como uma serie de elementos do tipo radio com "name" igual ao prefixo mais a palavra EPSG
2099   - *
  2099 + *
2100 2100 * Parametros:
2101   - *
  2101 + *
2102 2102 * {function} - funcao que sera executada para montar a lista. Essa funcao recebera como parametro um array do tipo
2103 2103 * {dados:ins,tipo:"dados"} onde ins e um array com as linhas e tipo e o tipo de resultado, que pode ser "dados"|"erro"
2104   - *
  2104 + *
2105 2105 * {string} - id do elemento que recebera a mensagem de aguarde
2106   - *
  2106 + *
2107 2107 * {string} - Prefixo que sera usado no name de cada elemento
2108 2108 */
2109 2109 radioEpsg : function(funcao, onde, prefixo) {
... ... @@ -2144,17 +2144,17 @@ i3GEO.util =
2144 2144 },
2145 2145 /**
2146 2146 * Function: comboEpsg
2147   - *
  2147 + *
2148 2148 * Cria uma lista de codigos EPSG para o usuario escolher um deles.
2149   - *
  2149 + *
2150 2150 * Parametros:
2151   - *
  2151 + *
2152 2152 * {string} - id que sera atribuido ao combo
2153   - *
  2153 + *
2154 2154 * {string} - id do elemento HTML que recebera o combo
2155   - *
  2155 + *
2156 2156 * {string} - nome da funcao que sera inserida em onChange
2157   - *
  2157 + *
2158 2158 * {string} - valor default do combo
2159 2159 */
2160 2160 comboEpsg : function(idCombo, onde, funcaoOnChange, valorDefault) {
... ... @@ -2180,24 +2180,24 @@ i3GEO.util =
2180 2180 },
2181 2181 /**
2182 2182 * Function: proximoAnterior
2183   - *
  2183 + *
2184 2184 * Cria uma sequencia de opcoes com botao de anterior e proximo. e utilizado principalmente pelas ferramentas de analise espacial,
2185 2185 * onde o usuario segue uma sequencia de operacoes de escolha de parametros.
2186   - *
  2186 + *
2187 2187 * Parametros:
2188   - *
  2188 + *
2189 2189 * {String} - nome da funcao que e executada para voltar a tela anterior. Pode ser "".
2190   - *
  2190 + *
2191 2191 * {String} - nome da funcao que e executada para avancar para a proxima tela. Pode ser "".
2192   - *
  2192 + *
2193 2193 * {String} - texto que compora a tela atual
2194   - *
  2194 + *
2195 2195 * {String} - id do elemento DIV que sera criado para inserir o conteudo definido em 'texto"
2196   - *
  2196 + *
2197 2197 * {String} - id do elemento DIV ja existente que recebera as telas (texto).
2198   - *
  2198 + *
2199 2199 * {boolean} - mantem ou nao no container o texto ja produzido
2200   - *
  2200 + *
2201 2201 * {string} - (opcional) id onde os botoes serao colocados
2202 2202 */
2203 2203 proximoAnterior : function(anterior, proxima, texto, idatual, container, mantem, onde) {
... ... @@ -2286,25 +2286,25 @@ i3GEO.util =
2286 2286 },
2287 2287 /**
2288 2288 * Function: dialogoFerramenta
2289   - *
  2289 + *
2290 2290 * Atalho para abrir a janela de dialogo de uma ferramenta padrao
2291   - *
  2291 + *
2292 2292 * O script adicionado tera como ID "i3GEOF."+nome+"_script"
2293   - *
  2293 + *
2294 2294 * Se a funcao de inicializacao nao for definida em nomefuncao, sera utilizado "i3GEOF."+nome+".criaJanelaFlutuante();"
2295   - *
  2295 + *
2296 2296 * Se o script ja estiver carregado, a funcao de inicializacao sera executada
2297   - *
  2297 + *
2298 2298 * Parametros:
2299   - *
  2299 + *
2300 2300 * {string} - mensagem que sera enviada ao console no caso do Firefox
2301   - *
  2301 + *
2302 2302 * {string} - diretorio em i3geo/ferramentas
2303   - *
  2303 + *
2304 2304 * {string} - nome da classe da ferramenta
2305   - *
  2305 + *
2306 2306 * {string} - nome do arquivo javascript
2307   - *
  2307 + *
2308 2308 * {string} ou {function} - nome da funcao do javascript carregado que sera executado apos a carga, exemplo:
2309 2309 * i3GEOF.locregiao.abreComFiltro()
2310 2310 */
... ... @@ -2330,17 +2330,17 @@ i3GEO.util =
2330 2330 },
2331 2331 /**
2332 2332 * Function: intersectaBox
2333   - *
  2333 + *
2334 2334 * Verifica se um retangulo esta dentro de outro retangulo
2335   - *
  2335 + *
2336 2336 * Parametros:
2337   - *
  2337 + *
2338 2338 * {string} - retangulo que sera verificado
2339   - *
  2339 + *
2340 2340 * {string} - retangulo de referencia
2341   - *
  2341 + *
2342 2342 * Return:
2343   - *
  2343 + *
2344 2344 * boolean
2345 2345 */
2346 2346 intersectaBox : function(box1, box2) {
... ... @@ -2392,16 +2392,16 @@ i3GEO.util =
2392 2392 },
2393 2393 /**
2394 2394 * Function: abreColourRamp
2395   - *
  2395 + *
2396 2396 * Abre a janela flutuante para escolha de um degrade de cores
2397   - *
  2397 + *
2398 2398 * Parametros:
2399   - *
  2399 + *
2400 2400 * {String} - id do conteudo da janela flutuante que chamou a funcao. Pode ser "" caso o 'elemento' exista em window.document
2401   - *
  2401 + *
2402 2402 * {String} - id do elemento HTML (um input por exemplo) que recebera os valores da cor selecionada. O evento 'onchange' desse
2403 2403 * elemento sera acionado quando o botao aplicar for clicado
2404   - *
  2404 + *
2405 2405 * {numerico} - numero de cores default ao abrir o seletor de cores
2406 2406 */
2407 2407 abreColourRamp : function(janelaid, elemento, ncores,temaSel) {
... ... @@ -2496,11 +2496,11 @@ i3GEO.util =
2496 2496 },
2497 2497 /**
2498 2498 * Tenta identificar onde os JS do i3Geo estao localizados
2499   - *
  2499 + *
2500 2500 * Aplica o resultado a variavel i3GEO.configura.locaplic
2501   - *
  2501 + *
2502 2502 * Return:
2503   - *
  2503 + *
2504 2504 * {string} - url onde esta instalado o i3geo
2505 2505 */
2506 2506 localizai3GEO : function() {
... ... @@ -2528,15 +2528,15 @@ i3GEO.util =
2528 2528 },
2529 2529 /**
2530 2530 * Function: removeChild
2531   - *
  2531 + *
2532 2532 * Remove um filho de um elemento DOM
2533   - *
  2533 + *
2534 2534 * Pode-se especificar o pai e o filho a ser removido ou simplesmente o ID do no que se quer remover
2535   - *
  2535 + *
2536 2536 * Parametros:
2537   - *
  2537 + *
2538 2538 * {string} - id do elemento que sera removido (filho)
2539   - *
  2539 + *
2540 2540 * {node} - (opcional) node (DOM) que contem o elemento. Se nao for definido, sera obtido o parent de id
2541 2541 */
2542 2542 removeChild : function(id, el) {
... ... @@ -2550,36 +2550,39 @@ i3GEO.util =
2550 2550 },
2551 2551 /**
2552 2552 * Function: defineValor
2553   - *
  2553 + *
2554 2554 * Aplica um valor a uma propriedade de um elemento
2555   - *
  2555 + *
2556 2556 * Parametros:
2557   - *
  2557 + *
2558 2558 * {string} - id do elemento que sera removido (filho)
2559   - *
  2559 + *
2560 2560 * {string} - propriedade que recebera o valor
2561   - *
  2561 + *
2562 2562 * {string} - valor que sera aplicado
2563 2563 */
2564 2564 defineValor : function(id, prop, valor) {
2565 2565 try {
2566   - $i(id)[prop] = valor;
  2566 + var p = $i(id);
  2567 + if(p && p[prop]){
  2568 + p[prop] = valor;
  2569 + }
2567 2570 } catch (e) {
2568 2571 }
2569 2572 },
2570 2573 /**
2571 2574 * Function: in_array
2572   - *
  2575 + *
2573 2576 * Procura a ocorrencia de um elemento em um array
2574   - *
  2577 + *
2575 2578 * Parametros:
2576   - *
  2579 + *
2577 2580 * {string} - o que sera procurado
2578   - *
  2581 + *
2579 2582 * {array} - array
2580   - *
  2583 + *
2581 2584 * Return:
2582   - *
  2585 + *
2583 2586 * {boolean}
2584 2587 */
2585 2588 in_array : function(x, matriz) {
... ... @@ -2603,17 +2606,17 @@ i3GEO.util =
2603 2606 },
2604 2607 /**
2605 2608 * Function: multiStep
2606   - *
  2609 + *
2607 2610 * Implementa a tecnica de particionamento para execussao de funcoes no modo assincrono
2608   - *
  2611 + *
2609 2612 * Conforme pagina 144 do livro "Javascript de alto desempenho, Nicholas Zakas
2610   - *
  2613 + *
2611 2614 * Parametros:
2612   - *
  2615 + *
2613 2616 * {array} - funcoes que serao executadas
2614   - *
  2617 + *
2615 2618 * {array} - array de arrays com os argumentos de cada funcao
2616   - *
  2619 + *
2617 2620 * {function} - funcao que sera executada ao terminar os processos
2618 2621 */
2619 2622 multiStep : function(steps, args, callback) {
... ... @@ -2630,11 +2633,11 @@ i3GEO.util =
2630 2633 },
2631 2634 /**
2632 2635 * Function: tamanhoBrowser
2633   - *
  2636 + *
2634 2637 * Calcula o tamanho da area util do navegador considerando-se as propriedades nativas do objeto window
2635   - *
  2638 + *
2636 2639 * Return:
2637   - *
  2640 + *
2638 2641 * {[w,h]}
2639 2642 */
2640 2643 tamanhoBrowser : function() {
... ... @@ -2664,13 +2667,13 @@ i3GEO.util =
2664 2667 },
2665 2668 /**
2666 2669 * Function: detectaTablet
2667   - *
  2670 + *
2668 2671 * Verifica se esta em uso um dispositivo do tipo tablet
2669   - *
  2672 + *
2670 2673 * Se for detectado, utiliza a interface alternativa definida em i3GEO.Interface.ALTTABLET
2671   - *
  2674 + *
2672 2675 * A deteccao e feita com base em i3geo/pacotes/mobileesp/mdetect.js
2673   - *
  2676 + *
2674 2677 */
2675 2678 detectaTablet : function() {
2676 2679 var p, c = DetectaMobile("DetectTierTablet");
... ... @@ -2685,13 +2688,13 @@ i3GEO.util =
2685 2688 },
2686 2689 /**
2687 2690 * Function: detectaMobile
2688   - *
  2691 + *
2689 2692 * Verifica se esta em uso um dispositivo do tipo movel
2690   - *
  2693 + *
2691 2694 * Se for detectado, utiliza a interface alternativa definida em i3GEO.Interface.ALTTABLET
2692   - *
  2695 + *
2693 2696 * A deteccao e feita com base em i3geo/pacotes/mobileesp/mdetect.js
2694   - *
  2697 + *
2695 2698 */
2696 2699 detectaMobile : function() {
2697 2700 var p, c = DetectaMobile("DetectMobileLong");
... ... @@ -2706,9 +2709,9 @@ i3GEO.util =
2706 2709 },
2707 2710 /**
2708 2711 * Function: calculaDPI
2709   - *
  2712 + *
2710 2713 * Calcula o valor de DPI do monitor.
2711   - *
  2714 + *
2712 2715 * O valor e aproximado e utilizado principalmente na interface OpenLayers
2713 2716 */
2714 2717 calculaDPI : function() {
... ... @@ -2728,7 +2731,7 @@ i3GEO.util =
2728 2731 },
2729 2732 /**
2730 2733 * Function: ajustaDocType
2731   - *
  2734 + *
2732 2735 * Ajusta o DOCTYPE do HTML para funcionar com CSS3
2733 2736 */
2734 2737 ajustaDocType : function() {
... ... @@ -2749,7 +2752,7 @@ i3GEO.util =
2749 2752 },
2750 2753 /**
2751 2754 * Function: versaoNavegador
2752   - *
  2755 + *
2753 2756 * Retorna algumas versoes de navegador
2754 2757 */
2755 2758 versaoNavegador : function() {
... ... @@ -2763,18 +2766,18 @@ i3GEO.util =
2763 2766 },
2764 2767 /**
2765 2768 * Function: decimalPlaces
2766   - *
  2769 + *
2767 2770 * Arredonda um numero
2768   - *
  2771 + *
2769 2772 * Obtido de
2770   - *
  2773 + *
2771 2774 * http://stackoverflow.com/questions/4868556/how-do-i-stop-parsefloat-from-stripping-zeroes-to-right-of-decimal/4868718#4868718
2772   - *
2773   - *
  2775 + *
  2776 + *
2774 2777 * Parameters:
2775   - *
  2778 + *
2776 2779 * {numer} - numero que sera arredondado
2777   - *
  2780 + *
2778 2781 * {number} - numero de casas decimais
2779 2782 */
2780 2783 decimalPlaces : function(f, l) {
... ... @@ -2797,19 +2800,19 @@ i3GEO.util =
2797 2800 },
2798 2801 /**
2799 2802 * Function: ajaxGet
2800   - *
  2803 + *
2801 2804 * Faz uma requisição ao servidor por meio de AJAX
2802   - *
  2805 + *
2803 2806 * A função de processamento do resultado irá receber um objeto JSON como parâmetro
2804   - *
  2807 + *
2805 2808 * Exemplo:
2806   - *
  2809 + *
2807 2810 * i3GEO.util.ajaxGet("http://localhost/teste.php",function(retorno){alert(retorno);})
2808   - *
  2811 + *
2809 2812 * Parametros:
2810   - *
  2813 + *
2811 2814 * {string} - url que será requisitada
2812   - *
  2815 + *
2813 2816 * {function} - função que irá processar o resultado
2814 2817 */
2815 2818 ajaxGet : function(sUrl, funcaoRetorno) {
... ... @@ -2852,15 +2855,15 @@ i3GEO.util =
2852 2855 },
2853 2856 /**
2854 2857 * Function: pegaDadosLocal
2855   - *
  2858 + *
2856 2859 * Obtem um valor armazenado localmente
2857   - *
  2860 + *
2858 2861 * Parametro:
2859   - *
  2862 + *
2860 2863 * {string} - key a ser obtido
2861   - *
  2864 + *
2862 2865 * Return:
2863   - *
  2866 + *
2864 2867 * array
2865 2868 */
2866 2869 pegaDadosLocal : function(item) {
... ... @@ -2872,11 +2875,11 @@ i3GEO.util =
2872 2875 },
2873 2876 /**
2874 2877 * Function: limpaDadosLocal
2875   - *
  2878 + *
2876 2879 * Limpa os dados locais
2877   - *
  2880 + *
2878 2881 * Parametro:
2879   - *
  2882 + *
2880 2883 * {string} - key a ser limpo
2881 2884 */
2882 2885 limpaDadosLocal : function(item) {
... ... @@ -2886,15 +2889,15 @@ i3GEO.util =
2886 2889 },
2887 2890 /**
2888 2891 * Function: gravaDadosLocal
2889   - *
  2892 + *
2890 2893 * Grava um valor localmente
2891   - *
  2894 + *
2892 2895 * Parametro:
2893   - *
  2896 + *
2894 2897 * {string} - key a ser gravado
2895   - *
  2898 + *
2896 2899 * {string} - valor a ser gravado
2897   - *
  2900 + *
2898 2901 */
2899 2902 gravaDadosLocal : function(item, valor) {
2900 2903 if (i3GEO.util.verifica_html5_storage()) {
... ... @@ -2906,7 +2909,7 @@ i3GEO.util =
2906 2909 },
2907 2910 /**
2908 2911 * Function: extGeo2OSM
2909   - *
  2912 + *
2910 2913 * Converte string 'xmin ymin xmax ymax' ou 'xmin ymin' de geo para a projecao OSM
2911 2914 */
2912 2915 extGeo2OSM : function(ext, retornaArray) {
... ... @@ -2942,7 +2945,7 @@ i3GEO.util =
2942 2945 },
2943 2946 /**
2944 2947 * Function: extOSM2Geo
2945   - *
  2948 + *
2946 2949 * Converte string 'xmin ymin xmax ymax' ou 'xmin ymin' de geo para a projecao OSM
2947 2950 */
2948 2951 extOSM2Geo : function(ext, retornaArray) {
... ... @@ -2978,7 +2981,7 @@ i3GEO.util =
2978 2981 },
2979 2982 /**
2980 2983 * Function: projOSM2Geo
2981   - *
  2984 + *
2982 2985 * Projeta um objeto OpenLayers de OSM para GEO
2983 2986 */
2984 2987 projOSM2Geo : function(obj) {
... ... @@ -2991,7 +2994,7 @@ i3GEO.util =
2991 2994 },
2992 2995 /**
2993 2996 * Function: projGeo2OSM
2994   - *
  2997 + *
2995 2998 * Projeta um objeto OpenLayers de GEO para OSM
2996 2999 */
2997 3000 projGeo2OSM : function(obj) {
... ... @@ -3004,19 +3007,19 @@ i3GEO.util =
3004 3007 },
3005 3008 /**
3006 3009 * Function: navegadorDir
3007   - *
  3010 + *
3008 3011 * Abre o navegador de arquivos localizados no servidor
3009   - *
  3012 + *
3010 3013 * Parametro:
3011   - *
  3014 + *
3012 3015 * {objeto} - objeto input que recebera de volta o valor do arquivo escolhido
3013   - *
  3016 + *
3014 3017 * {boolean} - considera os arquivos shapefile
3015   - *
  3018 + *
3016 3019 * {boolean} - considera os arquivos de imagem (geo)
3017   - *
  3020 + *
3018 3021 * {boolean} considera os arquivos de tipo figura (png e jpg)
3019   - *
  3022 + *
3020 3023 * {boolean} insere um botao para retornar o nome da pasta
3021 3024 */
3022 3025 navegadorDir : function(obj, listaShp, listaImg, listaFig, retornaDir) {
... ... @@ -3033,15 +3036,15 @@ i3GEO.util =
3033 3036 },
3034 3037 /**
3035 3038 * Function: navegadorPostgis
3036   - *
  3039 + *
3037 3040 * Abre o navegador de de tabelas existentes no banco de dados Postgis
3038   - *
  3041 + *
3039 3042 * Parametro:
3040   - *
  3043 + *
3041 3044 * {objeto} - objeto input que recebera de volta o valor do arquivo escolhido
3042   - *
  3045 + *
3043 3046 * {numerico} - codigo da conexao com o banco de dados cadastrado no sistema de metadados estatisticos
3044   - *
  3047 + *
3045 3048 * {string} - opcional. Tipo de retorno esquema|tabela|sql
3046 3049 */
3047 3050 navegadorPostgis : function(obj, conexao, tipo) {
... ... @@ -3058,15 +3061,15 @@ i3GEO.util =
3058 3061 },
3059 3062 /**
3060 3063 * Function base64encode
3061   - *
  3064 + *
3062 3065 * Atalho para a funcao que codifica uma string em base64
3063   - *
  3066 + *
3064 3067 * Parametro:
3065   - *
  3068 + *
3066 3069 * {string}
3067   - *
  3070 + *
3068 3071 * Retorno:
3069   - *
  3072 + *
3070 3073 * {base64}
3071 3074 */
3072 3075 base64encode : function(str) {
... ... @@ -3103,15 +3106,15 @@ i3GEO.util =
3103 3106 },
3104 3107 /**
3105 3108 * Function base64decode
3106   - *
  3109 + *
3107 3110 * Atalho para a funcao que decodifica uma string de base64
3108   - *
  3111 + *
3109 3112 * Parametro:
3110   - *
  3113 + *
3111 3114 * {string}
3112   - *
  3115 + *
3113 3116 * Retorno:
3114   - *
  3117 + *
3115 3118 * {string}
3116 3119 */
3117 3120 base64decode : function(str) {
... ... @@ -3295,11 +3298,11 @@ i3GEO.util =
3295 3298 },
3296 3299 /**
3297 3300 * Function: cloneObj
3298   - *
  3301 + *
3299 3302 * Cria um clone de um objeto.
3300   - *
  3303 + *
3301 3304 * Exemplo:
3302   - *
  3305 + *
3303 3306 * cloneObj = i3GEO.util.cloneObj(origObj);
3304 3307 */
3305 3308 cloneObj : function(obj) {
... ... @@ -3314,16 +3317,16 @@ i3GEO.util =
3314 3317 },
3315 3318 /**
3316 3319 * Function: aplicaAquarela
3317   - *
  3320 + *
3318 3321 * Formata código HTML para incluir um ícone para abrir o colorPicker
3319   - *
  3322 + *
3320 3323 * Todos os elementos abaixo de 'onde' que contenham a classe css 'i3geoFormIconeAquarela' ser&aatilde;o atingidas
3321   - *
  3324 + *
3322 3325 * Exemplo:
3323   - *
  3326 + *
3324 3327 * <div id='foo'><div class='i3geoForm100 i3geoFormIconeAquarela' > <input type='text' id='i3GEOlegendaacori' value='0,0,0' />
3325 3328 * </div></div>
3326   - *
  3329 + *
3327 3330 * <script>i3GEO.util.aplicaAquarela("foo");</script>
3328 3331 */
3329 3332 aplicaAquarela : function(onde) {
... ... @@ -3347,11 +3350,11 @@ i3GEO.util =
3347 3350 },
3348 3351 /**
3349 3352 * Function: animaCique
3350   - *
  3353 + *
3351 3354 * Aplica um efeito sobre um elemento quando e feito o clique
3352   - *
  3355 + *
3353 3356 * Parametres:
3354   - *
  3357 + *
3355 3358 * {objeto dom}
3356 3359 */
3357 3360 animaClique : function(obj) {
... ... @@ -3364,13 +3367,13 @@ i3GEO.util =
3364 3367 },
3365 3368 /**
3366 3369 * Function: parseMustache
3367   - *
  3370 + *
3368 3371 * Parser de hash e template com Mustache. Troca caracter & amp; para &
3369   - *
  3372 + *
3370 3373 * Parametres:
3371   - *
  3374 + *
3372 3375 * {string}
3373   - *
  3376 + *
3374 3377 * {objeto}
3375 3378 */
3376 3379 parseMustache : function(templateMustache, hashMustache){
... ...