function EmManutencao() {
	setMsg();
	$('tblMainContent').innerHTML = 
		"<tr><td><h2>Estamos em manutenção</h2></td></tr>" +
		"<tr><td>Por favor, acesse novamente em outro horário.</td></tr>" +
		"<tr><td>Gratos.</td></tr>";
	$('tblMainContent').show();
	return false;
}

var MapaMPF = {

	wsUrl : "./ws/",
	data_obj : null,
	data_obj_filtrado : null,
	data_obj_mapeamento: null,
	tmp_data_obj : null,
	reSeparadorMilhar: new RegExp(/(\d+)(\d\d\d)/),
	tipo_processo: 'EJUD',
	tipo_mapa: 'EXTRAJUDICIAL',
	
	Inicializar: function() {
		return EmManutencao();
		/*
		 * Atribuir o valor padrão
		 */
		$('selectTipoProcesso').value = 'EJUD';

		this.Carregar();
		/*
		 * Incluir eventos e propriedades nos objetos
		 */

		$$( '.thSelect' ).each( function( el ) {
			
			el.innerHTML = "<span class='spanSelect'>" + el.innerHTML + "</span>";
			
			el.observe('click', function() {
				this.toggleClassName('thUnselect');
				var data_field = this.readAttribute('DATA_FIELD'); 
				this.up('div').previous().down().next().show();
				if ( data_field == 'UF' || data_field == 'UMPF' ) {
					// MapaMPF.Mapa.AtualizarExibicao( data_field,  this.readAttribute('DATA_VALUE'), this.hasClassName('thUnselect'));
				}

			} );
		});
		
		
	},
	
	FormatarNumero: function( s ) {
		s = ( s || '0' );
		if ( s == '0' ) return '-';
		// else ...
		while ( this.reSeparadorMilhar.test(s) ) s = s.replace( this.reSeparadorMilhar, '$1.$2' );
		return s;
	},
	
	Listagem: function( procuradoria_codigo ) {
		var s = "";
		if ( !$('frmListagem') ) {
			s = "<form id='frmListagem' " +
					"style='display:none;' " +
					"action='./lista/' " +
					"method='post' " +
					"target='_blank'>" +
					"<input type='text' id='txtListaParams' name='txtListaParams'/>" +
					"<input type='text' id='txtTipoProcesso' name='txtTipoProcesso'/>" +
					"<input type='text' id='txtProcuradoriaCodigo' name='txtProcuradoriaCodigo'/>" +
					"<input type='text' id='txtFiltroAssuntos' name='txtFiltroAssuntos'/>" +
				"</form>";
			$('global_content').insert(s);
		}
		
		
		$('txtListaParams').value = Object.toJSON(MapaMPF.Filtro.objFiltro);
		$('txtProcuradoriaCodigo').value = procuradoria_codigo;
		$('txtTipoProcesso').value = MapaMPF.tipo_mapa;
		$('txtFiltroAssuntos').value = $('divTableTotaisFilterAssuntos').innerHTML;
		$('frmListagem').submit();
		
		//alert("Listagem dos processos: em fase de desenvolvimento");
		
		
	},
	
	ToggleMapSize: function(){	
		var savedBounds = MapaMPF.Mapa.map.getBounds();

		if( $('tdPanelLeft').visible() ) {
			$('tdPanelLeft').hide();
			$('divTotais').hide();
			$('tdPanelRight').setStyle( {width: '100%'});
			
			$('map_canvas').setStyle( {width: '1000px'});
			
			//var newHeight = document.viewport.getHeight() + 'px';
			var newHeight = '650px';
			$('map_canvas').setStyle({
				height : newHeight,
				width: '1000px'
			});
		}  else {
			$('map_canvas').setStyle({
				height : '500px',
				width: '550px'
			});
			$('tdPanelRight').setStyle( {width: '550px'});
			$('tdPanelLeft').show();
			$('divTotais').show();
		}
		
		try {
			var evt = document.createEvent('UIEvents');
			evt.initUIEvent('resize', true, false,window,0);
			window.dispatchEvent(evt);
		} catch (e) {}
		
		if ( $('tdPanelLeft').visible() ) {
			// O mapa voltou à posição normal, voltamos à posição original
			MapaMPF.Mapa.Centralizar();
		} else {
			// O mapa foi ampliado, ajustamos o enquadramento
			MapaMPF.Mapa.map.fitBounds( savedBounds );	
		}
		
	},
		
	
	Carregar : function( filtro, ignorarAssuntos ) {
		setMsg('Carregando...');
		
		ignorarAssuntos = ( ignorarAssuntos || false );
		
		filtro = ( filtro || "" );
		if ( filtro ) {
			filtro = 'JSON_DATA=' + Object.toJSON(filtro);
		}
		new Ajax.Request(

			MapaMPF.wsUrl + '?' + (ignorarAssuntos ? 'IA=true' : ''),
			{
				method : 'post',
				parameters: filtro,
				asynchronous : false,
				onSuccess : function(transport) {
					if (MapaMPF.Transport.SuccessJSONreturn(transport)) {
						if ( filtro ) {
							MapaMPF.data_obj_filtrado = MapaMPF.tmp_data_obj;
							MapaMPF.tmp_data_obj = {};
							if ( !ignorarAssuntos ) {
								MapaMPF.TreeView.Atualizar();
							}
							MapaMPF.Tabelas.Popular();
							MapaMPF.Filtro.Inicializar();
							MapaMPF.Mapa.AtualizarExibicao();
							
						} else {
							MapaMPF.data_obj_filtrado = null;
							MapaMPF.data_obj = MapaMPF.tmp_data_obj;
							MapaMPF.tmp_data_obj = {};
							MapaMPF.TreeView.Montar();
							MapaMPF.Tabelas.Popular();
							MapaMPF.Filtro.Inicializar();
							MapaMPF.Mapa.initialize();
							MapaMPF.Filtro.Aplicar(null);
							MapaMPF.ExibirPaineis();
						}
						

						//MapaMPF.Mapa.AtualizarExibicao();
						
						setMsg();
					}
				},
				onFailure : function(transport) {
					MapaMPF.Transport.AjaxTransportError(transport);
				}
			});

	},

	icones: [ 

		// Ícone de Cidadania e Residual:
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png",
		
		// Ícone de Consumidor, Ordem Econômica e Economia Popular:
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/yellow-dot.png",
		
		//Ícone de Meio Ambiente, Patrimônio Histórico e Cultural:
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png",
		
		// Ícone de Patrimônio Público e Social:
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png",
		
		// Ícone de Índios e Minorias:
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/orange-dot.png",
		
		//Ícone da PFDC:
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/purple-dot.png",
		
		//Ícone dos Sem Vinculação:
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/pink-dot.png",
		
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/blue.png",
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/yellow.png",
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/green.png",
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/red.png",
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/orange.png",
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/purple.png",
		"http://maps.google.com/intl/en_us/mapfiles/ms/micons/pink.png"
		
	],

 	capitais: {
		AC: { LatLng: new google.maps.LatLng( -9.023796,-70.811995 ), zoom: 6, icon_id: 0 },
		AL: { LatLng: new google.maps.LatLng( -9.571306,-36.78195 ) , zoom: 6, icon_id: 1 },
		AP: { LatLng: new google.maps.LatLng( 1.444115,-52.021542 ), zoom: 6, icon_id: 2 },
		AM: { LatLng: new google.maps.LatLng( -4.512829,-63.74669 ), zoom: 5, icon_id: 2 },
		BA: { LatLng: new google.maps.LatLng( -12.93481,-40.665623 ), zoom: 6, icon_id: 4 },
		CE: { LatLng: new google.maps.LatLng( -5.498398,-39.320624 ), zoom: 6, icon_id: 5 },
		DF: { LatLng: new google.maps.LatLng( -15.826691,-47.92182 ), zoom: 9, icon_id: 1 },
		ES: { LatLng: new google.maps.LatLng( -19.183423,-40.308863 ), zoom: 6, icon_id: 1 },
		GO: { LatLng: new google.maps.LatLng( -16.006967,-49.346887 ), zoom: 6, icon_id: 2 },
		MA: { LatLng: new google.maps.LatLng( -5.080419,-45.600711 ), zoom: 6, icon_id: 3 },
		MT: { LatLng: new google.maps.LatLng( -12.681871,-56.921099 ), zoom: 6, icon_id: 4 },
		MS: { LatLng: new google.maps.LatLng( -20.772229,-54.785153 ), zoom: 6, icon_id: 1 },
		MG: { LatLng: new google.maps.LatLng( -18.847596,-44.625806 ), zoom: 6, icon_id: 5 },
		PA: { LatLng: new google.maps.LatLng( -6.207102,-52.702796 ), zoom: 5, icon_id: 1 },
		PB: { LatLng: new google.maps.LatLng( -7.239961,-36.78195 ), zoom: 6, icon_id: 2 },
		PR: { LatLng: new google.maps.LatLng( -25.252089,-52.021542 ), zoom: 6, icon_id: 3 },
		PE: { LatLng: new google.maps.LatLng( -8.813717,-36.954107 ), zoom: 6, icon_id: 3 },
		PI: { LatLng: new google.maps.LatLng( -7.321625,-42.427646 ), zoom: 6, icon_id: 2 },
		RJ: { LatLng: new google.maps.LatLng( -22.903539,-43.209587 ), zoom: 6, icon_id: 2 },
		RN: { LatLng: new google.maps.LatLng( -5.40258,-36.954107 ), zoom: 6, icon_id: 1 },
		RS: { LatLng: new google.maps.LatLng( -29.534505,-53.390607 ), zoom: 6, icon_id: 2 },
		RO: { LatLng: new google.maps.LatLng( -11.505734,-63.580611 ), zoom: 6, icon_id: 3 },
		RR: { LatLng: new google.maps.LatLng( 2.737597,-62.0751 ), zoom: 6, icon_id: 4 },
		SC: { LatLng: new google.maps.LatLng( -27.202501,-50.837483 ), zoom: 6, icon_id: 5 },
		SP: { LatLng: new google.maps.LatLng( -21.91133,-49.365315 ), zoom: 6, icon_id: 0 },
		SE: { LatLng: new google.maps.LatLng( -10.673888,-37.46814 ), zoom: 6, icon_id: 5 },
		TO: { LatLng: new google.maps.LatLng( -10.168891,-48.331717 ), zoom: 6, icon_id: 0 }
	},
	
	toggleInstrucoes: function() {
		$('trInstrucoes').toggle();
 		$('trInstrucoesLink').toggle();
	},
	ToggleTotaisSelect: function(el) {
		el = $(el);
		el.childElements().invoke('toggle');
		el.toggleClassName('thUnselect');
		setMsg("<span style='color:red;'>Filtros em fase de desenvolvimento.</span>");
	},
	
	ToggleMenuGroup: function( el ) {
		el = $(el);
		
		var aberto = el.next('tr').visible();
		
		if ( aberto ) {
			// fechamos o menu e retornamos false, indicando que está fechado
			el.next('tr').hide();
			return false;
		}
		
		$$('tr.trMenuAtivo').each(
			function(el) {
				el.removeClassName('trMenuAtivo');
			}
		);
		
		/*
		 * VERIFICAR SE O NÓ ESTÁ NO ROOT.
		 * SE ESTIVER, FECHAR OS OUTROS NÓS DO ROOT.
		 */
		
		if (el.up('table').hasClassName('tblMainTView')) {
			// ESTÁ NO ROOT, FECHAR OS OUTROS NÓS
			// ENCONTRAMOS A PRIMEIRA TR COM CLASSE 'tr.trMenuGroup'
			var tr = el.up('table').down('tr.trMenuGroup');
			while (tr) {
				tr.next().hide();
				tr = tr.next('tr.trMenuGroup');
			}
		}
		
		el.addClassName('trMenuAtivo');
		el.next('tr').show();

		
		return true;
	},
	
	Transport : {

		SuccessJSONreturn : function(transport) {
			var err = (transport.getHeader('X-errmsg') || "");
			if (err != "") {
				errMsg = err;
				setMsg(errMsg, true);
				return false;
			}
			var msg = transport.getHeader('X-status') || "";
			if (msg != "OK") {
				setMsg('Houve um erro ao acessar as informações.', true);
				return true;
			}
			var s = transport.responseText;
			if (s.trim() == "") {
				errMsg = "Nenhuma informação obtida (resposta vazia)";
				setMsg(errMsg, true);
				return false;
			}
			try {
				MapaMPF.tmp_data_obj = s.evalJSON(true);
			} catch (err) {
				errMsg = s;
				setMsg(errMsg, true);
				return false;
			}
			return true;
		},

		SuccessHEADERreturn : function(transport) {
			var err = transport.getHeader('X-errmsg') || "";
			if (err != "") {
				errMsg = err;
				setMsg(errMsg, true);
				return false;
			}
			var msg = transport.getHeader('X-status') || "";
			if (msg != "OK") {
				setMsg('Houve um erro ao acessar as informações.', true);
			} else {
				setMsg('Operação realizada com sucesso.', true);
			}
			return true;
		},
		
		AjaxTransportError : function(transport) {
			errMsg = "Falha de acesso. Código " + transport.status + ".";
			setMsg(errMsg, true);
		}
	},
	
	ExibirPaineis: function() {
		$('tblMainContent').show();
	},
	
	Tabelas: {
		
		Inicializar: function( preenchimento ) {
			preenchimento = ( preenchimento || '-' );
			$$('td.tdTotais').each(
				function(el) {
					el.innerHTML = preenchimento;
				}
			) ;
		},
		
		Filtrar: function(COD_ESTRUTURA_HIERARQUICA, el) {
			setMsg('Carregando...');
			
			this.Inicializar('...');
			
			el = $(el);
			if (el.hasClassName('trMenuItem')) {
				// não passou por ToggleMenu, então colocamos o foco na tr
				$$('tr.trMenuAtivo').each(
					function(el) {
						el.removeClassName('trMenuAtivo');
					}
				);
				el.addClassName('trMenuAtivo');

			}

			if (COD_ESTRUTURA_HIERARQUICA == "" ) {
				COD_ESTRUTURA_HIERARQUICA == '1';
				//return true;
				/*
				MapaMPF.Filtro.objFiltro = null;
				MapaMPF.Tabelas.Popular();
				MapaMPF.Filtro.objFiltro.ASSUNTOS = [];
				MapaMPF.Filtro.ExibirFiltro(el);
				MapaMPF.Mapa.AtualizarExibicao();
				return true;
				*/
			}
			
			MapaMPF.Filtro.objFiltro.ASSUNTO = [];
			MapaMPF.Filtro.objFiltro.ASSUNTO.push( COD_ESTRUTURA_HIERARQUICA );
			MapaMPF.Filtro.ExibirFiltro(el);

			MapaMPF.Carregar(MapaMPF.Filtro.objFiltro, true);
			
		},
		
		Popular: function( obj) {
			obj = ( obj || MapaMPF.data_obj_filtrado || MapaMPF.data_obj );

			MapaMPF.Tabelas.Inicializar();
			MapaMPF.Tabelas.PopularCamaras(obj.CAMARAS.DATA);
			MapaMPF.Tabelas.PopularUFs(obj.UFS.DATA);
			MapaMPF.Tabelas.PopularUMPF(obj.UMPF.DATA);
			MapaMPF.Tabelas.PopularClasses(obj.CLASSES.DATA);
		},
		
		PopularClasses: function(obj) {
			
			if ( !$('divTotaisClasses').hasAttribute('DATA_LOADED') ) {
				// Primeira chamada, construímos a tabela com os dados
				var objListaClasses = MapaMPF.data_obj.LISTA_CLASSES.DATA;
				var nrows = parseInt( objListaClasses.length );
				
				var s = "\n<table class='tblTotais' border='0' cellspacing='0' cellpadding='0'>" +
						"<tr>";
				
				var reClassesJudiciais = new RegExp(/ACIA|ACP|AP|IPL|TC/);
				var cssDisplayNone = " oculto";
				var cssDisplay = "";
				for ( var i = 0; i < nrows; i++ ) {
					if ( reClassesJudiciais.test( objListaClasses[i].CLASSE_SIGLA ) ) {
						cssDisplay = cssDisplayNone;
					} else {
						cssDisplay = "";
					}
					
					s += "<th class='thSelect" + cssDisplay + "' DATA_VALUE='" + 
							objListaClasses[i].CLASSE_SIGLA + 
							"' DATA_FIELD='CLASSE' title='" + 
							objListaClasses[i].CLASSE_SIGLA_DS + "' >" + 
							objListaClasses[i].CLASSE_SIGLA + 
						"</th>\n";
				}
				s += "</tr>\n";
				s += "<tr>";

				for ( var i = 0; i < nrows; i++ ) {
					if ( reClassesJudiciais.test( objListaClasses[i].CLASSE_SIGLA ) ) {
						cssDisplay = cssDisplayNone;
					} else {
						cssDisplay = "";
					}
					s += 
						"<td class='tdTotais tdQuantidade tdQuantidadeJudicial tdCLASSE" + cssDisplay + "' id='CLASSE_JUD_" + objListaClasses[i].CLASSE_SIGLA + "' style='display: none;'>...</td>" +
						"<td class='tdTotais tdQuantidade tdQuantidadeExtraJudicial tdCLASSE" + cssDisplay + "' id='CLASSE_EJUD_" + objListaClasses[i].CLASSE_SIGLA + "'>...</td>";
				}
				
				s += "</tr>\n</table>\n";
				$('divTotaisClasses').insert( s );
				$('divTotaisClasses').writeAttribute('DATA_LOADED');
				
			}
			
			var objDados = ( obj || MapaMPF.data_obj.CLASSES.DATA );
			
			var nrows = parseInt( objDados.length );
			
			/*
			 * Formatamos os valores numéricos de todas as linhas
			 */
			
			for ( var i = 0; i < nrows; i++ ) {
				objDados[i].PROCESSOS = MapaMPF.FormatarNumero(objDados[i].PROCESSOS);
			}
			
			// exemplos de identificação de objeto
			// CLASSE_JUD_PA, CLASSE_EJUD_ACPIA
			
			var targetObjID = "";
			for ( var i = 0; i < nrows; i++ ) {
				if ( objDados[i].TIPO_MAPA == 'JUDICIAL') {
					targetObjID = "CLASSE_JUD_";
				} else {
					targetObjID = "CLASSE_EJUD_";
				}
				
				targetObjID += objDados[i].CLASSE_SIGLA;
				if ( $(targetObjID) ) {
					$(targetObjID).innerHTML = objDados[i].PROCESSOS;
				} else {
					alert( targetObjID + ' NÃO LOCALIZADO!' );
				}
				
			}
			
		},
		
		PopularUMPF: function(obj) {
			
			var objDados = ( obj || MapaMPF.data_obj.UMPF.DATA );
			
			var nrows = parseInt( objDados.length );
			
			/*
			 * Formatamos os valores numéricos de todas as linhas
			 */
			for ( var i = 0; i < nrows; i++ ) {
				objDados[i].PROCESSOS = MapaMPF.FormatarNumero(objDados[i].PROCESSOS);
			}

			// exemplos de identificação de objeto
			// UMPF_JUD_PRR5, UMPF_EJUD_PRR5
			// UMPF_JUD_CE, UMPF_EJUD_CE
			
			var targetObjID = "";
			for ( var i = 0; i < nrows; i++ ) {
				if ( objDados[i].TIPO_MAPA == 'JUDICIAL') {
					targetObjID = "UMPF_JUD_";
				} else {
					targetObjID = "UMPF_EJUD_";
				}
				
				targetObjID += objDados[i].UNIDADE;
				if ( $(targetObjID) ) {
					$(targetObjID).innerHTML = objDados[i].PROCESSOS;
				} else {
					alert( targetObjID );
				}
				
			}
			
		},
		
		PopularUFs: function(obj) {

			var objDados = ( obj || MapaMPF.data_obj.UFS.DATA );
			var nrows = parseInt( objDados.length );
			
			/*
			 * Formatamos os valores numéricos de todas as linhas
			 */
			
			for ( var i = 0; i < nrows; i++ ) {
				objDados[i].PROCESSOS = MapaMPF.FormatarNumero(objDados[i].PROCESSOS);
			}
			
			// exemplo de identificação de objeto
			// UF_JUD_TO, UF_EJUD_TO
			
			var targetObjID = "";
			for ( var i = 0; i < nrows; i++ ) {
				if ( objDados[i].TIPO_MAPA == 'JUDICIAL') {
					targetObjID = "UF_JUD_";
				} else {
					targetObjID = "UF_EJUD_";
				}
				targetObjID += objDados[i].UF;
				if ( $(targetObjID) ) {
					$(targetObjID).innerHTML = objDados[i].PROCESSOS;
				} else {
					alert( targetObjID );
				}
				
			}
			
		},
		
		PopularCamaras: function(obj) {

			var objDados = ( obj || MapaMPF.data_obj.CAMARAS.DATA );
			var nrows = parseInt( objDados.length );
			
			/*
			 * Formatamos os valores numéricos de todas as linhas
			 */
			
			for ( var i = 0; i < nrows; i++ ) {
				objDados[i].PROCESSOS = MapaMPF.FormatarNumero(objDados[i].PROCESSOS);
			}
			
			// exemplo de identificação de objeto
			// CAMARA_CODIGO_JUD_529, CAMARA_CODIGO_EJUD_529
			
			var targetObjID = "";
			for ( var i = 0; i < nrows; i++ ) {
				if ( objDados[i].TIPO_MAPA == 'JUDICIAL') {
					targetObjID = "CAMARA_CODIGO_JUD_";
				} else {
					targetObjID = "CAMARA_CODIGO_EJUD_";
				}
				targetObjID += objDados[i].CAMARA_CODIGO;
				if ( $(targetObjID) ) {
					$(targetObjID).innerHTML = objDados[i].PROCESSOS;
				} else {
					alert( targetObjID );
				}
				
			}
		}

	},
	
	TreeView: {
		
		currentRow: 0,
		objMapaMPF: {},
		nrows: 0,
		rowTemplate: {},
		rowTemplateNoLink: {},
		targetObj: {},
		html: [],
		
		enumHierarquia: {
			IRMAO: 0,
			PAI:   1,
			FILHO: 2
		},
		
		Inicializar: function() {
			return true;
		},
		
		Atualizar: function() {
			$$('.tdQuantidade').each(
				function(el) { 
					el.innerHTML = '...';
				}
			);
			this.objMapaMPF = MapaMPF.data_obj_filtrado.ASSUNTOS.DATA;
			this.nrows = parseInt( MapaMPF.data_obj_filtrado.ASSUNTOS.NROWS );
			
			/*
			 * Formatamos os valores numéricos de todas as linhas
			 */
			for ( var i = 0; i < this.nrows; i++ ) {
				this.objMapaMPF[i].PROCESSOS_JUD = MapaMPF.FormatarNumero(this.objMapaMPF[i].PROCESSOS_JUD);
				this.objMapaMPF[i].PROCESSOS_EJUD = MapaMPF.FormatarNumero(this.objMapaMPF[i].PROCESSOS_EJUD);
			}

			var objTR;
			for ( var i = 0, linhas = this.nrows; i < linhas; i++ ) {
				objTR = $('ID_' + this.objMapaMPF[i].ID_ITEM_CNMP );
				objTR.down('td.tdQuantidadeJudicial').innerHTML = this.objMapaMPF[i].PROCESSOS_JUD;
				objTR.down('td.tdQuantidadeExtraJudicial').innerHTML = this.objMapaMPF[i].PROCESSOS_EJUD;
			}
			
			
			
		},
		
		Montar: function() {
			this.Inicializar();
			this.objMapaMPF = MapaMPF.data_obj.ASSUNTOS.DATA;
			this.nrows = parseInt( MapaMPF.data_obj.ASSUNTOS.NROWS );
			this.targetObj = $('divData');
			var s =
				"<tr class='trMenuGroup trTema' id='ID_#{ID_ITEM_CNMP}' " +
					"onclick='javascript: if( MapaMPF.ToggleMenuGroup(this) ) MapaMPF.Tabelas.Filtrar(\"#{COD_ESTRUTURA_HIERARQUICA}\", this);'>" +
					"<td class='tdPlusMInus'><img src='./inc/img/plus.gif' border='0'/></td>" +
					"<td class='tdTema'>#{DS_ITEM}</td>" +
					"<!-- <td class='tdCodEstrutura' style='display:none;'>#{COD_ESTRUTURA_HIERARQUICA}</td> -->" +
					"<td class='tdQuantidade tdQuantidadeJudicial' style='display: none;'>#{PROCESSOS_JUD}</td>" +
					"<td class='tdQuantidade tdQuantidadeExtraJudicial'>#{PROCESSOS_EJUD}</td>" +
				"</tr>\n";
			this.rowTemplate = new Template(s);
			
			s =
				"<tr class='trMenuItem trTema' id='ID_#{ID_ITEM_CNMP}' " +
					"onclick='javascript: MapaMPF.Tabelas.Filtrar(\"#{COD_ESTRUTURA_HIERARQUICA}\", this);'>" +
					"<td class='tdPlusMInus'><img src='./inc/img/dot.gif' border='0'/></td>" +
					"<td class='tdTema'>#{DS_ITEM}</td>" +
					"<!-- <td class='tdCodEstrutura' style='display:none;'>#{COD_ESTRUTURA_HIERARQUICA}</td>-->" +
					"<td class='tdQuantidade tdQuantidadeJudicial' style='display: none;'>#{PROCESSOS_JUD}</td>" +
					"<td class='tdQuantidade tdQuantidadeExtraJudicial'>#{PROCESSOS_EJUD}</td>" +
				"</tr>\n";
			this.rowTemplateNoLink = new Template(s);
			
			/*
			 * Formatamos os valores numéricos de todas as linhas
			 */
			for ( var i = 0, linhas = this.nrows; i < linhas; i++ ) {
				this.objMapaMPF[i].PROCESSOS_JUD = MapaMPF.FormatarNumero(this.objMapaMPF[i].PROCESSOS_JUD);
				this.objMapaMPF[i].PROCESSOS_EJUD = MapaMPF.FormatarNumero(this.objMapaMPF[i].PROCESSOS_EJUD);
			}
			this.currentRow = 0;
			
			s = "\n<table class='tblData tblMainTView' border='0' cellpadding='0' cellspacing='0'>\n";
			this.html.push( s );

			s = this.rowTemplateNoLink.evaluate( 
					{
						ID_ITEM_CNMP:  this.objMapaMPF[ this.currentRow ].ID_ITEM_CNMP,
						DS_ITEM: 'QUANTIDADE DE PROCESSOS',
						COD_ESTRUTURA_HIERARQUICA: '',
						PROCESSOS_JUD: this.objMapaMPF[ this.currentRow ].PROCESSOS_JUD,
						PROCESSOS_EJUD: this.objMapaMPF[ this.currentRow ].PROCESSOS_EJUD 
					}
				);
			this.html.push( s );
			
			this.currentRow++;
			
			
			var ultimoCodEstrutura = "";
			var atualCodEstrutura = "";
			
			ultimoCodEstrutura = atualCodEstrutura = this.objMapaMPF[ this.currentRow ].COD_ESTRUTURA_HIERARQUICA;

			while ( this.objMapaMPF[ this.currentRow ] ) {
				
				/*
				 * Verificamos se o próximo item é filho.
				 * Se não for, não há link e processamento onclick
				 */
				if ( this.objMapaMPF[ this.currentRow + 1 ] 
					 && this.CompararCodEstrutura(ultimoCodEstrutura, this.objMapaMPF[ this.currentRow + 1 ].COD_ESTRUTURA_HIERARQUICA ) == this.enumHierarquia.FILHO
					) {
					s = this.rowTemplate.evaluate( this.objMapaMPF[ this.currentRow ] );
					
				} else {
					if ( this.objMapaMPF[ this.currentRow ].DS_ITEM == "NÃO IDENTIFICADO NA MIGRAÇÃO" ) {
						this.objMapaMPF[ this.currentRow ].DS_ITEM = "A CLASSIFICAR";
					}
					s = this.rowTemplateNoLink .evaluate( this.objMapaMPF[ this.currentRow ] );
				}
				
				this.html.push( s );
				
				ultimoCodEstrutura = this.objMapaMPF[ this.currentRow ].COD_ESTRUTURA_HIERARQUICA;
				
				if ( this.objMapaMPF[ ++this.currentRow ] ) {
					
					atualCodEstrutura = this.objMapaMPF[ this.currentRow ].COD_ESTRUTURA_HIERARQUICA;
					
					if ( this.CompararCodEstrutura(ultimoCodEstrutura, atualCodEstrutura) == this.enumHierarquia.FILHO ) {
						// processar os nós filhos
						s =	"<tr style='display:none;'><td class='tdPlusMInus'><td colspan='4'>" +
								"\n<table class='tblData' border='0' cellpadding='0' cellspacing='0'>";
						this.html.push( s );
						this.MontarSubItens();
						s = "\n</table>\n</td></tr>\n";
						this.html.push( s );
					}
				}
				
			}

			s = "\n</table>\n";
			this.html.push( s );
			this.targetObj.innerHTML = this.html.join("\n");
		},
		
		MontarSubItens: function() {
			var ultimoCodEstrutura = "";
			var atualCodEstrutura = "";
			
			ultimoCodEstrutura = atualCodEstrutura = this.objMapaMPF[ this.currentRow ].COD_ESTRUTURA_HIERARQUICA;

			while ( this.objMapaMPF[ this.currentRow ] ) {
				/*
				 * Verificamos se o próximo item é filho.
				 * Se não for, não há link e processamento onclick
				 */
				if (	this.objMapaMPF[ this.currentRow + 1 ] 
				 		&& this.CompararCodEstrutura(ultimoCodEstrutura, this.objMapaMPF[ this.currentRow + 1 ].COD_ESTRUTURA_HIERARQUICA ) 
				 		== this.enumHierarquia.FILHO
				) {
					s = this.rowTemplate.evaluate( this.objMapaMPF[ this.currentRow ] );
				} else {
					s = this.rowTemplateNoLink .evaluate( this.objMapaMPF[ this.currentRow ] );
				}
				
				this.html.push( s );
				ultimoCodEstrutura = this.objMapaMPF[ this.currentRow ].COD_ESTRUTURA_HIERARQUICA;
				
				if ( !this.objMapaMPF[ ++this.currentRow ] ) {
					return;
				}
				atualCodEstrutura = this.objMapaMPF[ this.currentRow ].COD_ESTRUTURA_HIERARQUICA;
				
				switch ( this.CompararCodEstrutura( ultimoCodEstrutura, atualCodEstrutura ) ) {
					case this.enumHierarquia.PAI:
						return;
						break;
					case this.enumHierarquia.FILHO:
						// processar os nós filhos
						s =	"<tr style='display:none;'><td class='tdPlusMInus'><td colspan='4'>" +
								"\n<table class='tblData' border='0' cellpadding='0' cellspacing='0'>";
						this.html.push( s );
						MapaMPF.TreeView.MontarSubItens();
						s  = "\n</table>\n</td></tr>\n";
						this.html.push( s );
						
						if ( !this.objMapaMPF[ this.currentRow ] ) {
							return;
						}
						atualCodEstrutura = this.objMapaMPF[ this.currentRow ].COD_ESTRUTURA_HIERARQUICA;
						if ( this.CompararCodEstrutura( ultimoCodEstrutura, atualCodEstrutura ) == this.enumHierarquia.PAI ) {
							return;
						}
	
						break;
	
					default:
						break;
				}
				
				
			}
			
		},
		
		CompararCodEstrutura: function( ultimo, atual ) {
			/*
			 * Verifica se a linha atual no código de estrutura
			 * é um nó filho ou pai na árvore
			 */
			
			if ( atual.length == ultimo.length ) {
				// mesmo nível
				return this.enumHierarquia.IRMAO;
			}
			if ( atual.length > ultimo.length ) {
				// nó filho
				return this.enumHierarquia.FILHO;
			}
			// else, nó pai
			return this.enumHierarquia.PAI;
		
		}
		
		
	},
	

	
	Filtro: {
		
		objFiltro: {
			  CCR:    { ON: [], OFF: [] }
			, CLASSE: { ON: [], OFF: [] }
			, UF:     { ON: [], OFF: [] }
			, UMPF:   { ON: [], OFF: [] }
			, ASSUNTO: [] },
		
		Inicializar: function() {
			//$('selectTipoProcesso').value = 'EJUD';
		},
		
		ToggleTipoProcesso: function() {
			
			if ( $('selectTipoProcesso').value == 'JUD') {
				$$('.tdQuantidadeExtraJudicial').invoke('hide');
				$$('.tdQuantidadeJudicial').invoke('show');
				MapaMPF.tipo_processo = 'JUD';
				MapaMPF.tipo_mapa = 'JUDICIAL';
			} else {
				$$('.tdQuantidadeJudicial').invoke('hide');
				$$('.tdQuantidadeExtraJudicial').invoke('show');
				MapaMPF.tipo_processo = 'EJUD';
				MapaMPF.tipo_mapa = 'EXTRAJUDICIAL';
			}
			MapaMPF.Mapa.AtualizarExibicao();
			
		},
		
		Fechar: function(el) {
			$(el).up().hide();
		},
		
		Limpar: function(el) {
			//localizamos a grade de filtro
			var targetDiv = $(el).up('.divTableTotaisTitle').next('.divTableTotais');
			
			var id = targetDiv.identify();
			
			id = "#" + id + " th.thUnselect";
			$$(id).each(
				function(el) {
					el.removeClassName('thUnselect');
				}
			);
			// ocultando a grade de filtro
			this.Fechar(el);
		},
		
		InverterSelecao: function(el) {
			//localizamos a grade de filtro
			var targetDiv = $(el).up('.divTableTotaisTitle').next('.divTableTotais');
						
			var id = targetDiv.identify();
			
			id = "#" + id + " th.thSelect";
			$$(id).each(
				function(el) {
					if ( el.hasClassName('thUnselect') ) {
						el.removeClassName('thUnselect');
					} else {
						el.addClassName('thUnselect');
					}
					
				}
			);
		},
		
		Aplicar: function(el) {
			setMsg('Filtrando...');
			this.objFiltro.CCR     = { ON: [], OFF: [] };
			this.objFiltro.CLASSE  = { ON: [], OFF: [] };
			this.objFiltro.UF      = { ON: [], OFF: [] };
			this.objFiltro.UMPF    = { ON: [], OFF: [] };

			var field = '', value = '';
			var els = $$('.thSelect');
			for ( var i = 0, linhas = els.length; i < linhas; i++ ) {
				field = els[i].readAttribute('DATA_FIELD');
				value = els[i].readAttribute('DATA_VALUE');
				if ( els[i].hasClassName('thUnselect') ) {
					this.objFiltro[ field ].OFF.push( value );
				} else {
					this.objFiltro[ field ].ON.push( value );
				}
				
			}
			MapaMPF.Carregar(MapaMPF.Filtro.objFiltro);
			$$('div.divTableTotaisFilter').invoke('hide');
		},
		
		ExibirFiltro: function(el) {
			el = $(el);
			var $assunto = [];
			while ( el ) {
				$assunto.push( el.down('.tdTema').innerHTML );
				el = el.up('.tblData').up('tr');
				if (el) el = el.previous('.trMenuGroup');
			}
			$('divTableTotaisFilterAssuntos').innerHTML = 
				'Exibindo valores para:<br><ul>\n<li>' + 
				$assunto.reverse().join( '<ul>\n<li>' ) + 
				'</li>\n</ul>\n'.times( ( $assunto.length || 0 ) ) + '\n';
		}
		
	},
	
	
	Mapa : {

		map : "",
		map_canvas : "",

		markersArray : [],
		currentOpenedInfoWindow : null,

		Centralizar : function() {
			if (MapaMPF.Mapa.currentOpenedInfoWindow)
				MapaMPF.Mapa.currentOpenedInfoWindow.close();
			this.map.setCenter(new google.maps.LatLng( -15.0,-53.0)); // Próximo a Brasília, DF
			this.map.setZoom(4);
		},

		initialize : function() {
			this.map_canvas = $('map_canvas');

			var myOptions = {
				zoom : 4,
				center : new google.maps.LatLng( -15.0,-53.0), // PGR, Brasília, DF 
				mapTypeControl : true,
				navigationControl : true,
				scaleControl : true,
				streetViewControl : true,
				mapTypeId : google.maps.MapTypeId.ROADMAP
				// ALTERNATIVA: 
				// mapTypeId : google.maps.MapTypeId.TERRAIN

			};
			
			this.imagesTemplate.construct();
			
			MapaMPF.Mapa.map = new google.maps.Map(MapaMPF.Mapa.map_canvas, myOptions);
			if ( !MapaMPF.data_obj_mapeamento ) {
				MapaMPF.Mapa.ConfigurarObjetos();
			}
			
			this.PopularMarcadores();
			
		},
		
		PopularMarcadores: function() {
			
			//MapaMPF.Tabelas.PopularMarcadores(obj.TODAS_UMPF.DATA);
			var obj = ( MapaMPF.data_obj_filtrado || MapaMPF.data_obj );
			obj = obj.TODAS_UMPF.DATA;
			
			var objMapeamento = MapaMPF.data_obj_mapeamento.DATA;
			var codigo = '';
			// setar/limpar o conteúdo existente
			for ( codigo in objMapeamento ) {
				objMapeamento[codigo].JUD = 0;
				objMapeamento[codigo].EJUD = 0;
			}
			
			for ( var i = 0, linhas = obj.length; i < linhas; i++ ) {
				codigo = obj[i].PROCURADORIA_CODIGO;
				if ( obj[i].TIPO_MAPA == 'JUDICIAL') {
					objMapeamento[ codigo ].JUD = obj[i].PROCESSOS;
				} else {
					objMapeamento[ codigo ].EJUD = obj[i].PROCESSOS;
				}
			}
			
		},
		
		
		
		AtualizarExibicao: function() {
			/*
			 * work
			 */
			this.ClearMarkers();
			var objMarkers = MapaMPF.data_obj_mapeamento.DATA;

			var objDados = null;
			if ( MapaMPF.data_obj_filtrado ) {
				objDados = MapaMPF.data_obj_filtrado.TODAS_UMPF.DATA;
			} else {
				objDados = MapaMPF.data_obj.TODAS_UMPF.DATA;
			}
			var mapa = this.map;
			
			var tipo_mapa = MapaMPF.tipo_mapa;
			
			for ( var i = 0, linhas = objDados.length; i < linhas; i++ ) {
				if ( objDados[i].TIPO_MAPA == tipo_mapa ) {
					objMarkers[ objDados[i].PROCURADORIA_CODIGO ].MARKER.setMap( mapa);
				}
			}
			
			this.PopularMarcadores();
			
			return true;
		},
		
		centralizarUF: function (uf) {
			this.map.setCenter( ( MapaMPF.capitais[uf].LatLng || new google.maps.LatLng( -13.637883,-54.430163) ) ); 
			this.map.setZoom( MapaMPF.capitais[uf].zoom || 4 );
		},
		
		imagesTemplate: {

			// size
			smallSize: false,
			mediumSize: false,
			bigSize: false,

			smallScale: false,
			mediumScale: false,
			bigScale: false,
		
			// point
			origin: false,
			
			smallAnchor: false,
			mediumAnchor: false,
			bigAnchor: false,
			
			// shadow point
			smallShadowAnchor: false,
			mediumShadowAnchor: false,
			bigShadowAnchor: false,

			construct: function() {
				// Size objects
				this.smallSize = new google.maps.Size(26,26);
				this.mediumSize = new google.maps.Size(32,32);
				this.bigSize = new google.maps.Size(42,42);

				this.smallScale = new google.maps.Size(26,26);
				this.mediumScale = new google.maps.Size(32,32);
				this.bigScale = new google.maps.Size(42,42);
			
				// Point objects
				this.origin = new google.maps.Point(0,0);
				
				this.smallAnchor = new google.maps.Point(13,26);
				this.mediumAnchor = new google.maps.Point(16,32);
				this.bigAnchor = new google.maps.Point(21,42);
				
				// shadow pointers
				this.smallShadowAnchor = new google.maps.Point(4,26);
				this.mediumShadowAnchor = new google.maps.Point(6,32);
				this.bigShadowAnchor = new google.maps.Point(8,42);
			}
			
		},
		
		imagesShadow: function( icone_id, sigla_unidade ) {
			var shadowImage = "http://www.google.com/mapfiles/shadow50.png";
			if ( sigla_unidade == 'PRM' ) {
				// sombra para marcador pequeno
				return new google.maps.MarkerImage(
						shadowImage,
						MapaMPF.Mapa.imagesTemplate.smallSize ,
						MapaMPF.Mapa.imagesTemplate.origin ,
						MapaMPF.Mapa.imagesTemplate.smallShadowAnchor,
						MapaMPF.Mapa.imagesTemplate.smallScale
					);
			}
			if ( sigla_unidade == 'PR' ) {
				// sombra para marcador médio
				return new google.maps.MarkerImage(
						shadowImage,
						MapaMPF.Mapa.imagesTemplate.mediumSize,
						MapaMPF.Mapa.imagesTemplate.origin ,
						MapaMPF.Mapa.imagesTemplate.mediumShadowAnchor,
						MapaMPF.Mapa.imagesTemplate.mediumScale
					);
			}
			
			// else... sombra para marcador grande
			return new google.maps.MarkerImage(
					shadowImage,
					MapaMPF.Mapa.imagesTemplate.bigSize,
					MapaMPF.Mapa.imagesTemplate.origin ,
					MapaMPF.Mapa.imagesTemplate.bigShadowAnchor,
					MapaMPF.Mapa.imagesTemplate.bigScale
				);
			
		},

		images: function( icone_id, sigla_unidade ) {
			
			if ( sigla_unidade == 'PRM' || sigla_unidade == 'PR' ) {
				// marcador pequeno
				return new google.maps.MarkerImage(
						( MapaMPF.icones[icone_id] || MapaMPF.icones[0] ),
						MapaMPF.Mapa.imagesTemplate.smallSize ,
						MapaMPF.Mapa.imagesTemplate.origin ,
						MapaMPF.Mapa.imagesTemplate.smallAnchor,
						MapaMPF.Mapa.imagesTemplate.smallScale
					);
			}
			if ( sigla_unidade == 'PRR' ) {
				// marcador médio
				return new google.maps.MarkerImage(
						( MapaMPF.icones[icone_id] || MapaMPF.icones[0] ),
						MapaMPF.Mapa.imagesTemplate.mediumSize,
						MapaMPF.Mapa.imagesTemplate.origin ,
						MapaMPF.Mapa.imagesTemplate.mediumAnchor,
						MapaMPF.Mapa.imagesTemplate.mediumScale
					);
			}
			
			// else... marcador grande
			return new google.maps.MarkerImage(
					( MapaMPF.icones[icone_id] || MapaMPF.icones[0] ),
					MapaMPF.Mapa.imagesTemplate.bigSize,
					MapaMPF.Mapa.imagesTemplate.origin ,
					MapaMPF.Mapa.imagesTemplate.bigAnchor,
					MapaMPF.Mapa.imagesTemplate.bigScale
				);
		},
		
		MakeInfoWindow: function( marker, objParams ) {

			var s = "<table class='tblInfoWindow' border='0' cellspacing='0'>\n" +
						"<tr><td>" +
							"<span class='infoUMPF'>#{PROCURADORIA_NOME}</span>" +
						"</td></tr>\n" +
						"<tr><td>" +
							"<span class='infoCidade'>#{CIDADE}</span>" +
						"</td></tr>\n" +
						"<tr><td>" +
							"<span class='infoProcessos'>Processos: #{PROCESSOS}</span>" +
						"</td></tr>\n" +
						"<tr><td>" +
							"<span class='infoLink'>#{LINK}</span>" +
						"</td></tr>\n" +
					"</table>\n";
			var tblInfo = new Template(s);
			
			var codigo = objParams.PROCURADORIA_CODIGO;
			var processos = MapaMPF.data_obj_mapeamento.DATA[codigo][MapaMPF.tipo_processo];

			var objInfo = {
					CIDADE : objParams.CIDADE + " - " + objParams.UF,
					PROCURADORIA_NOME : objParams.PROCURADORIA_NOME,
					PROCESSOS : processos,
					LINK : "<a class='infoLink' href='javascript: MapaMPF.Listagem(\"" + codigo +"\");'>Listagem dos processos</a>"
				};

			s = tblInfo.evaluate( objInfo );

			if (MapaMPF.Mapa.currentOpenedInfoWindow)
				MapaMPF.Mapa.currentOpenedInfoWindow.close();

			var infowindow = new google.maps.InfoWindow( {
				content: tblInfo.evaluate( objInfo )
			});
			infowindow.open(MapaMPF.Mapa.map, marker);
			MapaMPF.Mapa.currentOpenedInfoWindow = infowindow;

		},

		MakeMarker: function(objParams) {
			/*
			 * ícones http://econym.org.uk/gmap/geicons.htm
			 * http://code.google.com/intl/pt-BR/apis/maps/documentation/javascript/overlays.html
			 */

			var imageShadow = null;
			var animation = null;

			if ( objParams.SIGLA_UNIDADE != 'PRM') {
				// animação e sombra somente para PGR, PRRs e PRs
				animation = google.maps.Animation.DROP;
				imageShadow = MapaMPF.Mapa.imagesShadow(null, objParams.SIGLA_UNIDADE);
			}
			
			var icon_id = parseInt( MapaMPF.capitais[ objParams.UF ].icon_id );
			if ( objParams.SIGLA_UNIDADE == 'PRM' ) {
				// íncone menor para as PRMs
				icon_id += 7;
			}
			
			var image = MapaMPF.Mapa.images( icon_id, objParams.SIGLA_UNIDADE);
					
			objParams.PROCURADORIA_LATITUDE = objParams.PROCURADORIA_LATITUDE.replace(',', '.');
			objParams.PROCURADORIA_LONGITUDE = objParams.PROCURADORIA_LONGITUDE.replace(',', '.');
			
			var marker = new google.maps.Marker(
					{	position : new google.maps.LatLng(
							objParams.PROCURADORIA_LATITUDE,
							objParams.PROCURADORIA_LONGITUDE
						),
						title : objParams.PROCURADORIA_SIGLA + ': ' + objParams.CIDADE
								+ ' - ' + objParams.UF,
						icon : image,
						shadow : imageShadow,
						animation : animation
					}
				);
			
			google.maps.event.addListener(marker, 'click', function() {
				if (MapaMPF.Mapa.currentOpenedInfoWindow) MapaMPF.Mapa.currentOpenedInfoWindow.close();
				MapaMPF.Mapa.MakeInfoWindow(marker, objParams);
			});

			return marker;
		},
		
		ShowMarker: function( codigo ) {
			MapaMPF.data_obj_mapeamento.DATA[codigo].MARKER.setMap( this.map );
		},
		
		ShowPRMMarker: function() {
			var obj = MapaMPF.data_obj_mapeamento.DATA;
			
			for ( codigo in obj ) {
				if ( obj[codigo].SIGLA_UNIDADE == 'PRM' ) {
					obj[codigo].MARKER.setMap( this.map );
				}
			}
		},
		
		ClearMarkers: function() {
			if (MapaMPF.Mapa.currentOpenedInfoWindow)
				MapaMPF.Mapa.currentOpenedInfoWindow.close();

			var obj = MapaMPF.data_obj_mapeamento.DATA;
			for ( codigo in obj) {
				obj[codigo].MARKER.setMap( null );
			}

		},

		ConfigurarObjetos: function() {
			
			MapaMPF.data_obj_mapeamento = MapaMPF.data_obj.MAPEAMENTO;
			MapaMPF.data_obj.MAPEAMENTO = null;
			
			MapaMPF.data_obj_mapeamento.UMPF = {};
			
			var rePRR = /^2\D\D2/;
			var rePR = /^2\D\D30/;
			var rePRM = /^2\D\D34/;
			var obj = MapaMPF.data_obj_mapeamento.DATA;
			
			var codigo = "";
			var timer_marker = 1;
			
			for ( codigo in obj ) {
				if ( rePRM.test(codigo) ) {
					obj[codigo].INSTANCIA = 1;
					obj[codigo].SIGLA_UNIDADE = 'PRM';
					
				} else if (rePR.test(codigo)) {
					obj[codigo].INSTANCIA = 1;
					obj[codigo].SIGLA_UNIDADE = 'PR';
					
				} else if (rePRR.test(codigo)) {
					obj[codigo].INSTANCIA = 2;
					obj[codigo].SIGLA_UNIDADE = 'PRR';
					
				} else {
					// PGR
					obj[codigo].INSTANCIA = 3;
					obj[codigo].SIGLA_UNIDADE = 'PGR';
				}
				obj[codigo].MARKER = this.MakeMarker(obj[codigo]);
			}
			
			for ( codigo in obj ) {
				if ( obj[codigo].SIGLA_UNIDADE == 'PGR' ) {
					obj[codigo].MARKER.setMap( this.map );
					break;
				}
			}
			for ( codigo in obj ) {
				
				if ( obj[codigo].SIGLA_UNIDADE == 'PRR' ) {
					setTimeout('MapaMPF.Mapa.ShowMarker(\"' + codigo + '\")', 100 * timer_marker++);
					break;
				}
			}
			
			for ( codigo in obj ) {
				if ( obj[codigo].SIGLA_UNIDADE == 'PR' ) {
					setTimeout('MapaMPF.Mapa.ShowMarker(\"' + codigo + '\")', 50 * timer_marker++);
					//obj[i].MARKER.setMap( this.map );
				}
			}
			
			setTimeout('MapaMPF.Mapa.ShowPRMMarker()', 100 * timer_marker++ );
	
			
		}
	}
	
};