// //variaveis globais
var nodeCount = 2;
var map_open = !true;
var mc = '';

var map = null;
var baseIcon = '';
var baseIcon2 = '';
var baseIcon3 = '';
var mouse_flag = true;
var reroute_flag = false;

var markers = [];
var markers2 = [];
var goverlays = [];
var box = [];
var search_boundaries = '';
var put_boundaries = true;

var url_kml_er_all = 'http://www.er.org.br/SitGeo/includes/Toda_ER.kmz?timestamp=' + Number(new Date());
//var url_kml_er_all = 'http://www.er.org.br/SitGeo/EstradaReal.kml?timestamp=' + Number(new Date());
var evl_kml_er_all = '';
var kml_er_all	= '';
var display_regionais = true;

var url_kml_er_all_marcos = 'http://www.er.org.br/SitGeo/includes/CaminhoVelho.kmz?timestamp=' + Number(new Date());
var evl_kml_er_all_marcos = '';
var kml_er_all_marcos	= '';
var display_regionais_marcos = false;

var url_kml_cn = 'http://www.er.org.br/SitGeo/includes/CaminhoNovo.kmz?timestamp=' + Number(new Date());
var url_kml_cv = 'http://www.er.org.br/SitGeo/includes/CaminhoVelho.kmz?timestamp=' + Number(new Date());
var url_kml_cd = 'http://www.er.org.br/SitGeo/includes/CaminhoDosDiamantes.kmz?timestamp=' + Number(new Date());
var url_kml_cs = 'http://www.er.org.br/SitGeo/includes/CaminhoDoSabarabucu.kmz?timestamp=' + Number(new Date());
var url_kml_pv = 'http://www.er.org.br/SitGeo/roteiro3/kml_tmp/';
var evl_kml_cn = '';
var evl_kml_cv = '';
var evl_kml_cd = '';
var evl_kml_cs = '';
var evl_kml_pv = '';
var kml_cn = '';
var kml_cv = '';
var kml_cd = '';
var kml_cs = '';
var kml_pv = '';

var display_cn = true;
var display_cv = true;
var display_cd = true;
var display_cs = true;
var display_pv = true;
var pv_loaded = false;
var streetviewer = null;

var s_class = "ui-icon-triangle-1-e";
var estava_aberto = false;
var prev_map_height;

var routeOpen = false;
var listOpen = false;
var imgOpen = false;

var grid_pos = 7;
var grid_top = [145,137,129,121,113,105,97,89,81,73,65,57,49,41,33,25,17,8,1];

function handleNoFlash(errorCode) {
	if (errorCode == 603) {
		alert("Para que esta funcionalidade funcione verifique se o Flash player do browser possui a versão 10 ou superior.");
		$('#streetWindow').hide();
		$('#mask').hide();
		return;
	}else if(errorCode == 600){
		alert("Não há StreetView para este local.");
		$('#streetWindow').hide();
		$('#mask').hide();
		return;
	}
}  
function showPanoData(panoData) {
      //$('div#streetWindow #descricao').html(panoData.location.description);
 }

function openStreetWindow(nome){
	//$('#latStreet').val(latitude);
	//$('#lonStreet').val(longitude);
	//var panoClient = new GStreetviewClient();
	streetviewer.remove();
	document.getElementById("streetview").innerHTML = "";
	streetviewer = new GStreetviewPanorama(document.getElementById("streetview"));
	
	ponto = new GLatLng(parseFloat($('input#latStreet').val()),parseFloat($('input#lonStreet').val()));
	//panoClient.getNearestPanorama(ponto, showPanoData);
	myPOV = {yaw:0,pitch:0};
	streetviewer.setLocationAndPOV(ponto, myPOV);
	
	GEvent.addListener(streetviewer, "error", handleNoFlash);
	
	//Get the screen height and width
	var maskHeight = $(document).height();
	var maskWidth = $(window).width();

	//Set heigth and width to mask to fill up the whole screen
	//$('#mask').css({'width':maskWidth,'height':maskHeight});
	
	//transition effect		
	//$('#mask').fadeIn(1000);	
	//$('#mask').fadeTo("slow",0.8);	

	//Get the window height and width
	var winH = $(window).height();
	var winW = $(window).width();
		  
	//Set the popup window to center
	$('#streetWindow').css('top',  winH/2-$('#streetWindow').height()/2);
	$('#streetWindow').css('left', winW/2-$('#streetWindow').width()/2);
	
	$('div#streetWindow #descricao').html(nome);
	
	//transition effect
	$('#streetWindow').fadeIn(2000); 
}
function help1 ()
{
	map.closeExtInfoWindow();
	
	var extInfoWindowPoint = new GPoint(160,400);
	var extInfoWindowCoord = map.fromContainerPixelToLatLng(extInfoWindowPoint);	
	map.openExtInfoWindow(	
		new GLatLng(
			extInfoWindowCoord.lat(),
			extInfoWindowCoord.lng()
		),
		"extInfoWindow",
		"<div class='m_help'>"+
		"<span class='paneTitle'>Consultar Pontos de Interesse</span>"+
		"<ol>"+
		"<li>Selecione o &quot;local de busca&quot;.</li>"+
		"<li>Opções de busca:"+
		"<ul>"+
		"<li>No campo abaixo da frase &quot;Escolha o que deseja procurar:&quot; digite o <i>Nome do Atrativo</i>, ou o nome da Categoria (por exemplo <i>Hotel, Cachoeiras,...</i>)</li>"+
		"<li>Ou então selecione as Categorias ou Subcategorias ( para expandir uma subcategoria, clique em cima do nome dela)</li>"+
		"<li>A busca por texto tem prioridade sobre a busca por categorias definidas. Ou seja, enquanto houver qualquer texto no campo "+
		"abaixo da frase &quot;Escolha o que deseja procurar:&quot;, as categorias e subcategorias selecionadas abaixo serão ignoradas. "+
		"Certifique-se de deixar este campo em branco ou com seu valor padrão, se deseja realizar a busca pelas categorias.</li>"+
		"</ul>"+
		"</li>"+
		"<li>Clique no botão &quot;procurar&quot; </li>"+
		"</ol>"+
		"<span class='paneTitle'>Navegue e divirta-se........pela Estrada Real. </span>"+
		"</div>", {maxPanning:0});
	
};

function help2 ()
{
	map.closeExtInfoWindow();
	
	var extInfoWindowPoint = new GPoint(160,400);
	var extInfoWindowCoord = map.fromContainerPixelToLatLng(extInfoWindowPoint);	
	map.openExtInfoWindow(	
		new GLatLng(
			extInfoWindowCoord.lat(),
			extInfoWindowCoord.lng()
		),
		"extInfoWindow",
		"<div class='m_help'>"+
		"<span class='paneTitle'>Tipos de rotas</span>"+
		"<dl>"+
		"<dt>Rota rápida</dt>"+
		"<dd>Esta rota indica o caminho mais rápido para chegar ao destino escolhido.</dd>"+
		"<dt>Pela área de influência da Estrada Real</dt>"+
		"<dd>Esta rota passa pelos municípios que fazem parte da Estrada Real, sem necessariamente utilizar as principais rodovias.</dd>"+
		"<dt>Pelos caminhos da Estrada Real</dt>"+
		"<dd>Esta rota leva ao trecho da Estrada Real mais próximo da sua origem e depois segue até o destino escolhido, passando pelos caminhos da Estrada Real.</dd>"+
		"</dl>"+
		"</div>", {maxPanning:0});	
};

function initScrollPane ()
{
	$('#fullHolder').jScrollPane({showArrows:true, scrollbarWidth: 15, arrowSize: 16});
};

function loadKmlsRegionais ()
{
	$('.delimiter_marcos').css('background-position','0px -88px');
	if (display_regionais)  
	{
		if(display_regionais_marcos == false){
			try{
			removeKmlsRegionais();
			}catch(e){}
		}
		map.addOverlay(kml_er_all);
		evl_kml_er_all = GEvent.addListener(kml_er_all,function(){
			if (kml_er_all.hasLoaded()) {if (kml_er_all.loadedCorrectly()) { }}
			map.setCenter(kml_er_all.getDefaultCenter());
			kml_er_all.gotoDefaultViewport(map);
		});
		$("#btnToggleRegions").html("Ocultar regiões da ER");
		$('.delimiter').css('background-position','0px 0px');
		$('.delimiter_marcos').css('background-position','0px -88px');
	}else if(display_regionais_marcos){
		if(display_regionais == false){
			try{
			removeKmlsRegionais();
			}catch(e){}
		}
		map.addOverlay(kml_er_all_marcos);
		evl_kml_er_all_marcos = GEvent.addListener(kml_er_all_marcos,function(){
			if (kml_er_all_marcos.hasLoaded()) {if (kml_er_all_marcos.loadedCorrectly()) { }}
			map.setCenter(kml_er_all_marcos.getDefaultCenter());
			kml_er_all_marcos.gotoDefaultViewport(map);
		});
		$("#btnToggleRegions").html("Ocultar regiões da ER");
		$('.delimiter_marcos').css('background-position','0px 0px');
		$('.delimiter').css('background-position','0px -88px');
		
	}
};

function removeKmlsRegionais ()
{
	if (!display_regionais) 
	{ 
		try{
		map.removeOverlay(kml_er_all); 
		GEvent.removeListener(evl_kml_er_all);
		}catch(e){}
		$("#btnToggleRegions").html("Exibir regiões da ER");
		$('.delimiter_marcos').css('background-position','0px -88px');
		$('.delimiter').css('background-position','0px -88px');
	}else if(!display_regionais_marcos){
		try{
		map.removeOverlay(kml_er_all_marcos); 
		GEvent.removeListener(evl_kml_er_all_marcos);
		}catch(e){}
		$("#btnToggleRegions").html("Exibir regiões da ER");
		$('.delimiter').css('background-position','0px 0px');
		$('.delimiter_marcos').css('background-position','0px 0px');
	}
};

function clearMap(){
	try{
	map.removeOverlay(kml_er_all); 
	}catch(e){}
	try{
	map.removeOverlay(kml_er_all_marcos); 
	}catch(e){}
	$('.delimiter_marcos').css('background-position','0px -44px');
	$('.delimiter').css('background-position','0px -44px');
	display_regionais = false;
	display_regionais_marcos = false;
};

function clearMapNoKml(){
	map.clearOverlays();
	$('.delimiter_marcos').css('background-position','0px -44px');
	$('.delimiter').css('background-position','0px -44px');
};

function wideMap ()
{
	$("#mainContent").css('width','99%');
	$("#mainContent").css('height','750px');
	$("#map_canvas,#form_email,#form_contact,#confirmSend").css('width','100%');
	$("#map_canvas,#form_email,#form_contact,#confirmSend").css('height','700px');	
	
	$("#sidebar").css('top','-710px');
	$("#sidebar").css('margin-right','-20px');
	
	$("#sidebarOpen").css('top','-640px');
	$("#sidebarOpen").css('margin-right','0px');
};

function compactMap ()
{
	$("#mainContent").css('width','955px');
	$("#mainContent").css('height','500px');
	$("#map_canvas,#form_email,#form_contact,#confirmSend").css('width','945px');
	$("#map_canvas,#form_email,#form_contact,#confirmSend").css('height','480px');
	
	$("#sidebar").css('top','-470px');
	$("#sidebar").css('margin-right','200px');
	
	$("#sidebarOpen").css('top','-422px');
	$("#sidebarOpen").css('margin-right','0px');	
};

function triggerDelimiter(){
	if(display_regionais){
		$('.delimiter').trigger('click');
		window.setTimeout("$('.delimiter').css('background-position','0px 0px')",1000);
	}else if(display_regionais_marcos){
		$('.delimiter_marcos').trigger('click');
		window.setTimeout("$('.delimiter_marcos').css('background-position','0px 0px')",1000);
	}else{
		display_regionais = true;
		$('.delimiter').trigger('click');
		window.setTimeout("$('.delimiter').css('background-position','0px 0px')",1000);
	}
};


/* ********************* INICIO: Controles customizados de zoom, pan e tipo de mapa ********************* */
function customControl() {}
customControl.prototype = new GControl(true);
customControl.prototype.initialize = function (map)
{
	var container = document.createElement("div");
	container.setAttribute("id","ccph");	
	map.getContainer().appendChild(container);
	$("#customControls").clone(true).appendTo($("#ccph"));
	$(".up").click(function(){
		map.panDirection(0, 1);
		$(this).css('background-position','0px -186px');
		setTimeout("$('.up').css('background-position','0px -7px');",200);
	});
	$(".left").click(function(){
		map.panDirection(1, 0);
		$(this).css('background-position','0 -211px');
		setTimeout("$('.left').css('background-position','0px -32px');",200);
	});
	$(".center").click(function(){
		map.setCenter(new GLatLng(-20.3856161,-43.5034938),7);
		$(this).css('background-position','-35px -211px');
		grid_pos=7;
		$('#handle').css('top',grid_top[grid_pos]+'px');
		setTimeout("$('.center').css('background-position','-35px -32px');",200);
	});
	$(".right").click(function(){
		map.panDirection(-1, 0);
		$(this).css('background-position','-61px -211px');
		setTimeout("$('.right').css('background-position','-61px -32px');",200);
	});
	$(".down").click(function(){
		map.panDirection(0, -1);
		$(this).css('background-position','0 -243px');
		setTimeout("$('.down').css('background-position','0px -64px');",200);
	});
	$(".zoomIn").click(function(){
		//map.zoomIn();
		//$(this).css('background-position','0px -446px');
		//$('.zoomOut').css('background-position','0px -188px');
		//setTimeout("$('.zoomIn').css('background-position','0px -7px');",200);
                if (grid_pos<18)
		{
			grid_pos++;
			$('#handle').css('top',grid_top[grid_pos]+'px');
                        map.setZoom(grid_pos);
                }
                //alert(map.getZoom());
                if(parseInt(map.getZoom()) > 12){
                    try{
					removeKmlsRegionais();
					}catch(e){}
                }else if(display_regionais){
                    loadKmlsRegionais();
                }
	});
	$(".zoomOut").click(function(){
		//map.zoomOut();
		//$(this).css('background-position','0px -627px');
		//$('.zoomIn').css('background-position','0px -7px');
		if (grid_pos>0)
		{
			grid_pos--;
			$('#handle').css('top',grid_top[grid_pos]+'px');
                        map.setZoom(grid_pos);
		}
		//setTimeout("$('.zoomOut').css('background-position','0px -188px');",200);
                //alert(map.getZoom());
                if(parseInt(map.getZoom()) > 12){
                    try{
					removeKmlsRegionais();
					}catch(e){}
                }else if(display_regionais){
                    loadKmlsRegionais();
                }
	});
	$(".map").click(function(){
		map.setMapType(G_NORMAL_MAP);
		$(this).css('background-position','0px -85px');
		$('.satellite').css('background-position','-63px -5px');
		$('.earth').css('background-position','-119px -5px');
		$('.terrain').css('background-position','-166px -5px');
	});
	$(".satellite").click(function(){
		map.setMapType(G_HYBRID_MAP);
		$(this).css('background-position','-63px -85px');
		$('.map').css('background-position','0px -5px');
		$('.earth').css('background-position','-119px -5px');
		$('.terrain').css('background-position','-166px -5px');
	});
	$(".earth").click(function(){
		map.setMapType(G_SATELLITE_3D_MAP);
		$(this).css('background-position','-119px -85px');
		$('.satellite').css('background-position','-63px -5px');
		$('.terrain').css('background-position','-166px -5px');
		$('.map').css('background-position','0px -5px');
	});
	$(".terrain").click(function(){
		map.setMapType(G_PHYSICAL_MAP);
		$(this).css('background-position','-166px -85px');
		$('.satellite').css('background-position','-63px -5px');
		$('.earth').css('background-position','-119px -5px');
		$('.map').css('background-position','0px -5px');
	});
	$(".scrollroom").click(function(){
		if (map_open)
		{
			wideMap();
			$(this).css('background-image','url(images/full_screen_close.png)');			
		}
		else
		{
			compactMap();			
			$(this).css('background-image','url(images/full_screen_open.png)');
		}
		$(this).css('background-position','0px -88px');
		setTimeout("$('.scrollroom').css('background-position','0px 0px');",200);
		map_open = !map_open;
	});
	$(".delimiter").click(function(){
		display_regionais = !display_regionais;
		if (display_regionais) { 
			display_regionais_marcos = false;
			loadKmlsRegionais();
			$(this).css('background-position','0px 0px');
			setTimeout("$('.delimiter_marcos').css('background-position','0px -88px');",200);
		}
		else { 
			try{
			removeKmlsRegionais();
			}catch(e){}
			$(this).css('background-position','0px -88px');
			setTimeout("$('.delimiter').css('background-position','0px -44px');",200);			
		}
	});
	$(".delimiter_marcos").click(function(){
		display_regionais_marcos = !display_regionais_marcos;
		if (display_regionais_marcos) { 
			display_regionais = false;
			loadKmlsRegionais();
			$(this).css('background-position','0px 0px');
			setTimeout("$('.delimiter').css('background-position','0px -88px');",200);
		}
		else { 
			try{
			removeKmlsRegionais();
			map.removeOverlay(kml_er_all_marcos);
			}catch(e){}
			$(this).css('background-position','0px 0px');
			setTimeout("$('.delimiter_marcos').css('background-position','0px -88px');",200);		
		}
	});

	$("#handle").draggable({
		axis:'y',
		containment:'parent',		
		grid:[2,2],
		snap:true,
		drag:function(event,ui){			
		if (ui.position.top>=145) {grid_pos=0;}
		else if (ui.position.top>=137) {grid_pos=1;}
			else if (ui.position.top>=129) {grid_pos=2;}
			else if (ui.position.top>=121) {grid_pos=3;}
			else if (ui.position.top>=113) {grid_pos=4;}
			else if (ui.position.top>=105) {grid_pos=5;}
			else if (ui.position.top>=97) {grid_pos=6;}
			else if (ui.position.top>=89) {grid_pos=7;}
			else if (ui.position.top>=81) {grid_pos=8;}
			else if (ui.position.top>=73) {grid_pos=9;}
			else if (ui.position.top>=65) {grid_pos=10;}
			else if (ui.position.top>=57) {grid_pos=11;}
			else if (ui.position.top>=49) {grid_pos=12;}
			else if (ui.position.top>=41) {grid_pos=13;}
			else if (ui.position.top>=33) {grid_pos=14;}
			else if (ui.position.top>=25) {grid_pos=15;}
			else if (ui.position.top>=17) {grid_pos=16;}
			else if (ui.position.top>=8) {grid_pos=17;}
			else if (ui.position.top>=1) {grid_pos=18;}
		},
		stop:function(event,ui){
                    //alert('Zoom: '+grid_pos);
                    if(grid_pos > 12){
                        $('.delimiter:not(:hidden)').trigger('click');
                    }else if(display_regionais){
                        $('.delimiter:not(:hidden)').trigger('click');
                    }
                    map.setZoom(grid_pos);
                }
	});
	$(".up").mouseover(function() {$(this).css('background-position','0px -97px');});
	$(".left").mouseover(function(){$(this).css('background-position','0px -122px');});
	$(".center").mouseover(function(){$(this).css('background-position','-35px -122px');});
	$(".right").mouseover(function(){$(this).css('background-position','-61px -122px');});
	$(".down").mouseover(function(){$(this).css('background-position','0px -154px');});
	$(".zoomIn").mouseover(function(){$(this).css('background-position','0px -226px');});
	$(".zoomOut").mouseover(function(){$(this).css('background-position','0px -407px');});
	$(".map").mouseover(function(){if (map.getCurrentMapType()!=G_NORMAL_MAP){$(this).css('background-position','0px -45px');}});
	$(".satellite").mouseover(function(){if (map.getCurrentMapType()!=G_HYBRID_MAP){$(this).css('background-position','-63px -45px');}});
	$(".earth").mouseover(function(){if (map.getCurrentMapType()!=G_SATELLITE_3D_MAP){$(this).css('background-position','-119px -45px');}});
	$(".terrain").mouseover(function(){if (map.getCurrentMapType()!=G_PHYSICAL_MAP){$(this).css('background-position','-166px -45px');}});
	$(".scrollroom").mouseover(function(){$(this).css('background-position','0px -44px');});
	$("#handle").mouseover(function(){$(this).css('background-position','0px -21px');});	
	$(".up").mouseout(function(){$(this).css('background-position','0px -7px');});
	$(".left").mouseout(function(){$(this).css('background-position','0 -32px');});
	$(".center").mouseout(function(){$(this).css('background-position','-35px -32px');});
	$(".right").mouseout(function(){$(this).css('background-position','-61px -32px');});
	$(".down").mouseout(function(){$(this).css('background-position','0 -64px');});
	$(".zoomIn").mouseout(function(){$(this).css('background-position','0px -7px');});
	$(".zoomOut").mouseout(function(){$(this).css('background-position','0px -188px');});
	$(".map").mouseout(function(){if (map.getCurrentMapType()!=G_NORMAL_MAP){$(this).css('background-position','0px -5px');}});
	$(".satellite").mouseout(function(){if (map.getCurrentMapType()!=G_HYBRID_MAP){$(this).css('background-position','-63px -5px');}});
	$(".earth").mouseout(function(){if (map.getCurrentMapType()!=G_SATELLITE_3D_MAP){$(this).css('background-position','-119px -5px');}});
	$(".terrain").mouseout(function(){if (map.getCurrentMapType()!=G_PHYSICAL_MAP){$(this).css('background-position','-166px -5px');}});
	$(".scrollroom").mouseout(function(){$(this).css('background-position','0px 0px');});
	$("#handle").mouseout(function(){$(this).css('background-position','0px 0px');});
	return container;
};
customControl.prototype.getDefaultPosition = function() 
{
	return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(0,0));
};
customControl.prototype.setButtonStyle_ = function(button) {};
/* ********************* FIM: Controles customizados de zoom, pan e tipo de mapa ********************* */

/* ********************* INICIO: Logotipo da TerraVision ********************* */
function TerraVisionControl() {}
TerraVisionControl.prototype = new GControl(true);
TerraVisionControl.prototype.initialize = function (map)
{
	var container = document.createElement("div");	
	container.style.border = "none";
	container.style.width = "114px";
	container.style.height = "28px";
	container.innerHTML = "<a style='border:none' href='http://www.terravisiongeo.com.br/site/index.php' target='window'>"+
		"<img style='border:none' src='images/terravision.gif' alt='TerraVision' title='TerraVision' height='28' width='114' /></a>";
	map.getContainer().appendChild(container);
	return container;
};
TerraVisionControl.prototype.getDefaultPosition = function ()
{
	return new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(200, 5));
};
TerraVisionControl.prototype.setButtonStyle_ = function (button)
{
	button.style.border = "none";
};
/* ********************* FIM: Logotipo da TerraVision ********************* */
// ativar o mapa
var currMarker = '';
var continuarAnimacao = false;
function animarMarcador (xmarcador)
{
	if (!continuarAnimacao)
	{
		return;	
	}
};

var defMapTypeControl;
function initialize () 
{
	if (GBrowserIsCompatible()) 
	{      
		map = new GMap2(document.getElementById("map_canvas"));
		map.setCenter(new GLatLng(-20.3856161 , -43.5034938), 7);
		map.addControl(new customControl());		
		map.addControl(new TerraVisionControl());		
		map.addMapType(G_SATELLITE_3D_MAP);		
		var customUI = new GMapUIOptions();
		customUI.maptypes = {normal:true, physical:true, sattelite:true, hybrid:true};
		customUI.zoom = {};
		customUI.controls = {};
		customUI.keyboard = false;		
		map.setUI(customUI);
		
		map.enableDoubleClickZoom();
		map.disableContinuousZoom();
		map.enableScrollWheelZoom();
		defMapTypeControl = new GMapTypeControl();
		streetviewer = new GStreetviewPanorama(document.getElementById("streetview"));

		loadKmlsRegionais();
		
		GEvent.addListener(map,'maptypechanged',function(){
			if (map.getCurrentMapType()==G_SATELLITE_3D_MAP) {				
				map.addControl(defMapTypeControl);
			}
			else{
				map.removeControl(defMapTypeControl);
				
				$('.earth').css('background-position','-119px -5px');
				if (map.getCurrentMapType()==G_NORMAL_MAP) {$('.map').css('background-position','0px -85px');}
				else if (map.getCurrentMapType()==G_HYBRID_MAP) {$('.satellite').css('background-position','-63px -85px');}
				else {$('.terrain').css('background-position','-166px -85px');}
			}
		});
		
		GEvent.addListener(map,'zoomend',function(prevZoom,currZoom){
			grid_pos = currZoom;
			$('#handle').css('top',grid_top[grid_pos]+'px');
		});
		
		GEvent.addListener(map,'infowindowopen', function() {
				map.savePosition();	
				$(".infoWindowImage").load(function(){
					var cheight = $(this).parent().parent().parent().parent().height();
					//console.log(cheight);
					map.getInfoWindow().reset(null,null,new GSize(320,cheight+10));
				});				
			});
			
		GEvent.addListener(map,'infowindowclose', function() {
				map.returnToSavedPosition();
			});
			
		GEvent.addListener(map,'extinfowindowopen', function() {
				$('#ccph').css('visibility','hidden');				
				map.savePosition();
			});
			
		GEvent.addListener(map,'extinfowindowclose', function() {
				$('#ccph').css('visibility','visible');
				map.returnToSavedPosition();			
			});
			
		GEvent.addListener(map,'clearoverlays', function(){
				loadKmlsRegionais();
			});	
		
		baseIcon = new GIcon();
		baseIcon.shadow="http://maps.gstatic.com/intl/pt-BR_ALL/mapfiles/shadow50.png";
		baseIcon.iconSize=new GSize(32,32);
		baseIcon.shadowSize=new GSize(0,0);
		baseIcon.iconAnchor=new GPoint(16,16);
		baseIcon.infoWindowAnchor=new GPoint(16,16);	
		
		baseIcon2 = new GIcon();
		baseIcon2.shadow="http://maps.gstatic.com/intl/pt-BR_ALL/mapfiles/shadow50.png";
		baseIcon2.iconSize=new GSize(32,32);
		baseIcon2.shadowSize=new GSize(0,0);
		baseIcon2.iconAnchor=new GPoint(21,23);
		baseIcon2.infoWindowAnchor=new GPoint(21,23);	
		
		baseIcon3 = new GIcon();
		baseIcon3.shadow="http://maps.gstatic.com/intl/pt-BR_ALL/mapfiles/shadow50.png";
		baseIcon3.iconSize=new GSize(64,64);
		baseIcon3.shadowSize=new GSize(0,0);
		baseIcon3.iconAnchor=new GPoint(32,32);
		baseIcon3.infoWindowAnchor=new GPoint(32,32);	
		
		url_kml_pv += $("#WheaterForecastKmzFileName").html();			
		kml_pv = new EGeoXml("kml_pv", map, url_kml_pv, {titlestyle:'style="width:240px;margin-left:20px;font-size:16px;font-weight:bold;color:#73951c;border-bottom:1px solid #cccccc;"',baseicon:baseIcon,icontype:"style",sidebarid:"cities_list",dropboxid:"cities_select",iwwidth:450,noshadow:true});								
		
		GEvent.addListener(kml_pv,'parsed', function(){
				//initScrollPane();
			});
	}
};

// outros
function addRouteNode ()
{	
	if (nodeCount < 26)
	{		
		nodeCount++;
		var id = "#addrLabel"+nodeCount;
		$(id).toggle("fast");
		$("#addRouteNodeLink").html("+ Adicionar destino");
		document.getElementById("linkSeparator").style.visibility = "visible";		
	}
	
	if (nodeCount == 26)
	{
		$("#addRouteNodeLink").html("");
		document.getElementById("linkSeparator").style.visibility = "hidden";
	}	
	
	document.getElementById("showRouteOptions").style.visibility = "visible";
	document.getElementById("revertRouteLink").style.visibility = (nodeCount==2?"visible":"hidden");	
	document.getElementById("revertRouteLink").style.display = (nodeCount==2?"inline":"none");	
	//initScrollPane();
};

function removeRouteNode ()
{	
	if (nodeCount > 2)
	{		
		var id = "#addrLabel"+nodeCount;
		$(id).toggle("fast");
		nodeCount--;		
	}	
	
	$("#addRouteNodeLink").html("+ Adicionar destino");
	document.getElementById("revertRouteLink").style.visibility = (nodeCount==2?"visible":"hidden");
	document.getElementById("revertRouteLink").style.display = (nodeCount==2?"inline":"none");	
	//initScrollPane();
};

function getAddresses ()
{
	var addresses=[];
	var chk_nodes=document.forms.f_route.elements.node;
	for(var i=0;i<nodeCount;i++) {addresses.push(chk_nodes[i].value);}
	return addresses;
};

function getPlaces (tb)
{	
	var table = ["f_route","f_search"];	
	
	var places = [];	
	
	var location = window.location.href;
	if (location.indexOf("_print")==-1)
	{
		var chk_atrh=document.forms[table[tb]].elements.selectAtrHist;
		var chk_atrn=document.forms[table[tb]].elements.selectAtrNat;
		var chk_entr=document.forms[table[tb]].elements.selectEntr;
		var chk_alim=document.forms[table[tb]].elements.selectCulinaria;
		var chk_hosp=document.forms[table[tb]].elements.selectHosp;
		var chk_serv=document.forms[table[tb]].elements.selectServAp;
		var chk_util=document.forms[table[tb]].elements.selectUtilPubl;	
		
		if ((tb===0 && document.getElementById("selectArt").checked) || (tb==1 && document.getElementById("selectArt2").checked)) {places.push("artesanato");}
		
		for(var i=0;i<chk_atrh.length;i++) {if(chk_atrh[i].checked) {places.push(chk_atrh[i].value);}}
		for( i=0;i<chk_atrn.length;i++) {if(chk_atrn[i].checked) {places.push(chk_atrn[i].value);}}
		for( i=0;i<chk_entr.length;i++) {if(chk_entr[i].checked) {places.push(chk_entr[i].value);}}
		for( i=0;i<chk_alim.length;i++) {if(chk_alim[i].checked) {places.push(chk_alim[i].value);}}
		for( i=0;i<chk_hosp.length;i++) {if(chk_hosp[i].checked) {places.push(chk_hosp[i].value);}}
		for( i=0;i<chk_serv.length;i++) {if(chk_serv[i].checked) {places.push(chk_serv[i].value);}}
		for( i=0;i<chk_util.length;i++) {if(chk_util[i].checked) {places.push(chk_util[i].value);}}
	}
	
	return places;
};

function utf8_encode ( string ) {

    string = (string+'').replace(/\r\n/g, "\n").replace(/\r/g, "\n");

    var utftext = "";
    var start, end;
    var stringl = 0;

    start = end = 0;
    stringl = string.length;
    for (var n = 0; n < stringl; n++) {
        var c1 = string.charCodeAt(n);
        var enc = null;

        if (c1 < 128) {
            end++;
        } else if((c1 > 127) && (c1 < 2048)) {
            enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
        } else {
            enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
        }
        if (enc != null) {
            if (end > start) {
                utftext += string.substring(start, end);
            }
            utftext += enc;
            start = end = n+1;
        }
    }

    if (end > start) {
        utftext += string.substring(start, string.length);
    }

    return utftext;
}

function findPlaces (places,bounds,where)
{
	if(where == null)
		where  = "";
	try{
	removeKmlsRegionais();
	}catch(e){}
	
	var local = $("#where").val();
	if(where  != "")
		local = where;
	var txt_s = $("#textSearch").val();
	
	if (bounds) {local = bounds;}
	
	if (places.length > 0 || txt_s != "")
	{
		$("#textResultsPlaceHolder").html("<img src=\"images/loading.gif\" alt=\"carregando\" title=\"carregando... favor aguardar.\" style=\"display:block;margin-left:auto;margin-right:auto;width:200px;height:200px;\"/>");
		$("#imageResultsPlaceHolder").html("<img src=\"images/loading.gif\" alt=\"carregando\" title=\"carregando... favor aguardar.\" style=\"display:block;margin-left:auto;margin-right:auto;width:200px;height:200px;\"/>");		
		
		var location = window.location.href;
		if (location.indexOf("_print")==-1)
		{
			$("#clima, #caminhos, #route, #search,#link_rota").css("display","none");
			$("#accordion2").css("display","block");
			
			if (!listOpen || routeOpen || imgOpen)
			{
				//$("#accordion2").accordion("activate",1);
                                $('#accordion2').tabs({selected: 1});
			}
		}
		
		var query = "plcSearch="+escape(local)+"&";
		for (var i=0; i<places.length; i++)
		{
			query += "objSearch="+escape(places[i])+"&";
		}
		
		if (txt_s != "" && txt_s != "Digite aqui ou selecione os itens na lista abaixo" )
		{
			query += "objSearch2="+escape(txt_s)+"&";
		}
		
		var url = "/SitGeo/waypoints?"+query;
		$("#textResultsPlaceHolder").load(url,"",
			function (resp, status, xmlHttp) 
			{
                                //alert(resp);
				markers = [];
				
				$(".hiddenPointInfo").each(
						function (index)
						{
							var serialId = $(this).find(".nd_sid").html();							
							var nomeFantasia = $(this).find(".nd_nf").html();
							var categoria = $(this).find(".nd_categ").html();
							var subCategoria = $(this).find(".nd_subcateg").html();
							var cidade = $(this).find(".nd_munic").html();
							var latitude = $(this).find(".nd_lat").html();
							var longitude = $(this).find(".nd_lng").html();
							var descricao = $(this).find(".nd_desc").html();
							var foto = $(this).find(".nd_foto").html();
                                                        //alert(foto);
							var marcador = $(this).find(".nd_marcador").html();
							var posicao = parseInt($(this).find(".nd_position").html())-1;
							var parceiro = $(this).find(".nd_parceiro").html();
							parceiro = parceiro.replace(/ /g,'');
							var c_sid = serialId;
							
							if (categoria == 'agência de viagem')
							{
								marcador = "agencia_de_viagem.png";
							}
							
							if (parceiro == '1')
							{
								marcador = marcador.replace('.','_parceiro.');
							}
							
							var customIcon=new GIcon(baseIcon2);
							customIcon.image="http://www.er.org.br/SitGeo/img/markers/"+marcador;							
							customIcon.iconSize=new GSize(32,32);
							
							if (parceiro == '1')
							{
								var customIcon=new GIcon(baseIcon3);
								customIcon.image="http://www.er.org.br/SitGeo/img/markers/"+marcador;								
								customIcon.iconSize=new GSize(32,32);
							}
							
							markers[posicao] = new GMarker(new GLatLng(latitude,longitude),{icon:customIcon,name:c_sid,id:c_sid});
							markers[posicao].indicator = c_sid;
							map.addOverlay(markers[posicao]);
							
							GEvent.addListener(markers[posicao],"click",function(){
									map.closeExtInfoWindow();                        
									map.setCenter(markers[posicao].getLatLng());

                                                                        grid_pos = 12;
                                        
									prevMarker = currMarker;
									currMarker = markers[posicao];
									
									var extInfoWindowPoint = new GPoint(150,400);
									var extInfoWindowCoord = null;
									try{
									extInfoWindowCoord = map.fromContainerPixelToLatLng(extInfoWindowPoint);
									}catch(e){}
									var pointToStreet = new GLatLng(latitude,longitude);
									$('#latStreet').val(latitude);
									$('#lonStreet').val(longitude);
									markers[posicao].openInfoWindowHtml(								
									"<table style=\"border:position:absolute;top:20px;left:50px;none;padding:0px 0px 0px 0px;margin:10px 10px 0px 10px;width:310px;\">"+
										"<tr style=\"border:none;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;\">"+
											"<td style=\"border:none;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;\">"+
												"<img src=\"/SitGeo/img/markers/"+marcador+"\" alt=\"marcador\" title=\""+categoria+"\" width=\"32\" height=\"32\" style=\"border:none;float:left;\" />&nbsp;<b style=\"color:#a6bd86;font-weight:bold;font-size:14px;\">"+nomeFantasia+
												"</b><br />&nbsp;<span style=\"color:#6b6b6b;font-weight:bold;font-size:12px;\">"+categoria.replace("- cultural","").replace("estabelecimento de alimentação","gastronomia")+" ("+subCategoria+")</span>"+
											"</td>"+
										"</tr>"+
										"<tr style=\"border:none;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;\">"+
											"<td style=\"border:none;padding:5px 2px 0px 2px;margin:0px 0px 0px 0px;text-align:center;width:100%;\">"+						
												"<a href=\""+foto.replace("..","/SitGeo").replace("/thumbnails","/thumbnails_600_450")+"\" target=\"window\" alt=\"\" style=\"border:none;\"><img class=\"infoWindowImage\" src=\""+foto.replace("..","/SitGeo").replace("/thumbnails","/thumbnails_260_195")+"\" alt=\""+nomeFantasia+"\" title=\""+nomeFantasia+"\" /></a>"+ 
											"</td>"+
										"</tr>"+
										"<tr>"+
											"<td style=\"border:none;padding:5px 2px 0px 2px;margin:0px 0px 0px 0px;text-align:left;width:100%;"+
											(parceiro != "0" ? "background: transparent url('images/rota_rede_estrada_real.png') no-repeat bottom right;":"")+"\">"+
												"<div style=\"width:100%;text-align:justify;color:#6b6b6b;font-size:12px;overflow:auto;height:100px;border-bottom:1px #a6bd86 solid;\">"+
													descricao+"<br />"+
													//"<a href=\"javascript:void(null);\" alt=\"\" title=\"\" style=\"color:#a6bd86;font-weight:bold;text-decoration:none;font-size:12px;\">saiba +</a>"+
												"</div>"+
												"<div>"+
													"<p style=\"margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;border:none;color:#6b6b6b;font-size:12px;\">Como chegar:</p>"+
													"<p style=\"margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;border:none;font-size:12px;\">"+
														"<a id=\"ToHere"+c_sid+"\" style=\"color:#a6bd86;text-decoration:none;font-weight:bold;\" href=\"javascript:void(null);\" alt=\"\" title=\"\" onclick=\"document.getElementById(\'ToLoc"+c_sid+"\').style.display=\'inline\';document.getElementById(\'FromLoc"+c_sid+"\').style.display=\'none\';\">Ate aqui</a> - "+
														"<a id=\"FromHere"+c_sid+"\" style=\"color:#a6bd86;text-decoration:none;font-weight:bold;\" href=\"javascript:void(null);\" alt=\"\" title=\"\" onclick=\"document.getElementById(\'FromLoc"+c_sid+"\').style.display=\'inline\';document.getElementById(\'ToLoc"+c_sid+"\').style.display=\'none\';\">Daqui</a> - "+
														"<a style=\"color:#a6bd86;text-decoration:none;font-weight:bold;\" href=\"javascript:void(null);\" alt=\"\" title=\"\" onclick=\"makeZoomHere("+latitude+","+longitude+");\">Aplicar zoom</a> - "+														
														"<a href='javascript:void(0)' style=\"color:#a6bd86;text-decoration:none;font-weight:bold;\" class='window' onclick='openStreetWindow(\""+nomeFantasia+"\")'>ver no StreetView</a>"+
														"</div>"+
													"</p>"+
												"</div>"+
												"<div>"+
													"<form name=\"FromLoc"+c_sid+"\" id=\"FromLoc"+c_sid+"\" action=\"\" onsubmit=\"return false;\" style=\"display:block;\" >"+
														"<label for=\"to"+c_sid+"\">Para: <input type=\"text\" name=\"to"+c_sid+"\" id=\"to"+c_sid+"\" value=\"\" /></label>"+
														"<br><label for=\"routeProvider\"><span>Tipo de rota:</span></label>"+
														"<select class=\"routeNodesOpt\" id=\"routeProvider"+c_sid+"\" name=\"routeProvider"+c_sid+"\">"+
															"<option value=\"rr\">pela rota rápida</option>"+
															"<option value=\"ai\" selected=\"selected\">pela área de Influência da Estrada Real</option>"+
															"<option value=\"ep\">pelos caminhos da Estrada Real</option>"+									
														"</select>"+
														"<input type=\"button\" name=\"btnFromLoc"+c_sid+"\" id=\"btnFromLoc"+c_sid+"\" value=\"calcular\" onclick=\"setDirections0(\'"+nomeFantasia+","+cidade+"\',document.FromLoc"+c_sid+".to"+c_sid+".value,\'pt-br\',document.FromLoc"+c_sid+".routeProvider"+c_sid+".value)\" style='float:left;margin:8px 0 0;' /><div style='clear:both'></div>"+
													"</form>"+
													"<form name=\"ToLoc"+c_sid+"\" id=\"ToLoc"+c_sid+"\" action=\"\" onsubmit=\"return false;\" style=\"display:none;\" >"+
														"<label for=\"from"+c_sid+"\">De: <input type=\"text\" name=\"from"+c_sid+"\" id=\"from"+c_sid+"\" value=\"\" /></label>"+
														"<br><label for=\"routeProvider\"><span>Tipo de rota:</span></label>"+
														"<select class=\"routeNodesOpt\" id=\"routeProvider"+c_sid+"\" name=\"routeProvider"+c_sid+"\">"+
															"<option value=\"rr\">pela rota rápida</option>"+
															"<option value=\"ai\" selected=\"selected\">pela área de Influência da Estrada Real</option>"+
															"<option value=\"ep\">pelos caminhos da Estrada Real</option>"+									
														"</select>"+
														"<input type=\"button\" name=\"btnToLoc"+c_sid+"\" id=\"btnToLoc"+c_sid+"\" value=\"calcular\" onclick=\"setDirections0(document.ToLoc"+c_sid+".from"+c_sid+".value,\'"+nomeFantasia+","+cidade+"\',\'pt-br\',document.ToLoc"+c_sid+".routeProvider"+c_sid+".value)\" style='float:left;margin:8px 0 0;' /><div style='clear:both'></div>"+
													"</form>"+
												"</div>"+
											"</td>"+
										"</tr>"+
									"</table>");
                                                                        //window.setTimeout('map.panDirection(0, 0.5);',1000);
								});
								
							if(posicao!=0) {search_boundaries.extend(new GLatLng(latitude,longitude));}
							else {search_boundaries = new GLatLngBounds(new GLatLng(latitude,longitude),new GLatLng(latitude,longitude));}
							
							$(this).prev().html("<a class=\"wayPointName\" href=\"javascript:void(null);\">"+nomeFantasia+
								"&nbsp;&nbsp;<span style=\"visibility:hidden;font-weight:bold;text-decoration:underline;\" onclick=\"reRoute('"+
								nomeFantasia+", "+cidade+"')\">(Passar por aqui)</span></a>");
							$(this).prev().children().eq(0).click(function(){									
									var indexToTrigger = parseInt($(this).parent().next().find(".nd_position").html())-1; 
									var markerToTrigger = markers[indexToTrigger];
									GEvent.trigger(markerToTrigger,"click");
                                                                        grid_pos = 12;
                                                                        window.setTimeout('map.panDirection(0, 1);',1000);
								});
								
							var cat = "#waypoints_thumbnaillist";
							if (foto != "images/semimagem.png" && foto != "img/semimagem.png")
							{
								if (utf8_encode(categoria) == "artesanato") {cat = "#tb_art";}
								else if (utf8_encode(categoria) == "atrativo histórico" || utf8_encode(categoria) == "atrativo histÃ³rico" || utf8_encode(categoria) == "atrativo histÃ³rico - cultural" || utf8_encode(categoria) == "atrativo histórico - cultural") {cat = "#tb_atc";}
								else if (utf8_encode(categoria) == "atrativo natural") {cat = "#tb_atn";}
								else if (utf8_encode(categoria) == "entretenimento") {cat = "#tb_ent";}
								else if (utf8_encode(categoria) == "estabelecimento de alimentação" || utf8_encode(categoria) == "estabelecimento de alimentaÃ§Ã£o") {cat = "#tb_gst";}
								else if (utf8_encode(categoria) == "serviço de apoio") {cat = "#tb_sva";}
								else if (utf8_encode(categoria) == "utilidade pública" || utf8_encode(categoria) == "utilidade pÃºblica") {cat = "#tb_utp";}
								else {cat = "#tb_hsp";}

                                                                //alert(cat);
								
								$(cat).append("<span style=\"display:none;\">"+posicao+"</span>"+
								"<a class=\"tbimg\" href=\"javascript:void(null);\" alt=\"\">"+
								"<img class=\"tb\" src=\"http://www.er.org.br/"+foto.replace("..","SitGeo").replace("/thumbnails","/thumbnails_136_102")+"\" alt=\""+nomeFantasia+"\" title=\""+nomeFantasia+"\" style=\"border:none;\" /></a>");
							}							
						}
					);			
				
				$(".tb").click(function(){	
						continuarAnimacao = false;
						var indexToTrigger = $(this).parent().prev().html(); 
						var markerToTrigger = markers[indexToTrigger];
						GEvent.trigger(markerToTrigger,"click");
                                                grid_pos = 12;
					});
			
				$(".tb").mouseover(function(){
						return overlib("<span style='font-size:11px;font-weight:bold;border:1px solid #000000;background-color:#ffffff;'>"+
							($(this).attr("title"))+"</span>",FULLHTML);
					});
				
				$(".tb").mouseout(function(){return nd();});				
				
				$("#imageResultsPlaceHolder").html("");
				$("#waypoints_thumbnaillist").clone(true).appendTo($("#imageResultsPlaceHolder"));
				$("#waypoints_thumbnaillist").html("");							
				
				if (put_boundaries && search_boundaries instanceof GLatLngBounds)
				{
					map.setCenter(search_boundaries.getCenter(),map.getBoundsZoomLevel(search_boundaries));
                                        grid_pos = map.getBoundsZoomLevel(search_boundaries);
				}
				//map.zoomOut();
				//map.zoomOut();
				//initScrollPane();
				
				$('#sidebar').animate({width:"0px"},"fast","linear",function(){
						$('#sidebar').animate({width:"400px"},"fast","linear",function(){
					});	
				});
				
				if($.trim($('#waypoints_namelist').html()) == ""){
					var link = "$('#link_search a').trigger('click')";
					$('#waypoints_namelist').html('Nenhum registro encontrado. <a href="javascript:void(0)" onclick="'+link+'">Voltar</a>');
				}
			}
		);		
	}	
};

function backToForm (nullVal)
{
	$("#clima, #caminhos, #route, #search,#link_rota").css("display","block");
	$("#accordion2").css("display","none");	
	//initScrollPane();
};

function backToResults (nullVal)
{
	$("#accordion2").css("display","block");	
	$("#clima, #caminhos, #route, #search").css("display","none");	
	//initScrollPane();
};

function onGDirectionsLoad (gdirections)
{
	var polyline = gdirections.getPolyline();
	map.addOverlay(polyline);
};

function findInstructions (addresses, g_places)
{	
	try{
	removeKmlsRegionais();
	}catch(e){}
	
	$("#route_result").html("<img src=\"images/loading.gif\" alt=\"carregando\" title=\"carregando... favor aguardar.\" style=\"display:block;margin-left:auto;margin-right:auto;margin-top:50px;width:200px;height:200px;\"/>");
	$("#route_result_prevc").html("");
	$("#route_result_postc").html("");
	
	var location = window.location.href;
	if (location.indexOf("_print")==-1)
	{
		backToResults();		
		if (!routeOpen || listOpen || imgOpen)
		{
			//$("#accordion2").accordion("activate",0);
                        $('#accordion2').tabs({selected: 0});
		}
	}
	
	var provider = $("select[id^=routeProvider]").val();
	var lang = $("#locale").val();
	if (provider != "rr")
	{
		var query = "provider="+escape(provider)+"&lang="+escape(lang)+"&";	
		if (addresses.length >= 2)
		{
			for (var i=0; i<addresses.length; i++)
			{
				query += "address="+escape(addresses[i])+"&";
			}			
			
			var url = "/SitGeo/route?"+query;
			$("#route_result").load(url,"",
					function (resp, status, xmlHttp) 
					{
						$(".routeStepAction").click(
								function ()
								{
									var coords = $(this).parent().next().find(".nd_coords").html();									
									var lat = coords.split(",")[0];
									var lng = coords.split(",")[1];									
									map.showMapBlowup(new GLatLng(lat,lng));
									map.setCenter(new GLatLng(lat,lng));
                                                                        grid_pos = 12;
								}
							);
							
						var kmzFile = $("#generatedKmzFileName").html();
						var url = "http://www.er.org.br/SitGeo/roteiro3/kml_tmp/"+kmzFile+"?timestamp=" + Number(new Date());
                        //alert(url);
						var geoXml = new GGeoXml(url);
						try{
						//alert(kml_er_all);
						clearMap();
						removeKmlsRegionais();
						}catch(e){}
						map.addOverlay(geoXml);
						GEvent.addListener(geoXml,"load", function() {		
									if (document.getElementById("completeBefore"))
									{
										var lang = $("#locale").val();
										var bf_lat = $("#completeBefore").find(".from_latitude").html();
										var bf_lng = $("#completeBefore").find(".from_longitude").html();
										var bt_lat = $("#completeBefore").find(".to_latitude").html();
										var bt_lng = $("#completeBefore").find(".to_longitude").html();
										
										var gdir_b = new GDirections(null,document.getElementById("route_result_prevc"));
										GEvent.addListener(gdir_b,"load", function(){
												if (document.getElementById("completeAfter")) {													
													var af_lat = $("#completeAfter").find(".from_latitude").html();
													var af_lng = $("#completeAfter").find(".from_longitude").html();
													var at_lat = $("#completeAfter").find(".to_latitude").html();
													var at_lng = $("#completeAfter").find(".to_longitude").html();
													
													var gdir_a = new GDirections(null,document.getElementById("route_result_postc"));
													
													GEvent.addListener(gdir_a,"load",function(){
														if (!routeOpen) { /*$("#accordion2").accordion("activate",0);*/$('#accordion2').tabs({selected: 0});}
														//initScrollPane();
														onGDirectionsLoad(gdir_a);
													});
													
													var aquery = "from: @"+af_lat+","+af_lng+" to: @"+at_lat+","+at_lng;													
													gdir_a.load(aquery,{locale:lang,getPolyline:true});										
												}
												if (!routeOpen) { /*$("#accordion2").accordion("activate",0);*/$('#accordion2').tabs({selected: 0});}
												//initScrollPane();
												onGDirectionsLoad(gdir_b);
											});
											
										var bquery = "from: @"+bf_lat+","+bf_lng+" to: @"+bt_lat+","+bt_lng;
										gdir_b.load(bquery,{locale:lang,getPolyline:true});							
									}
									else
									{
										if (document.getElementById("completeAfter")) {
											var af_lat = $("#completeAfter").find(".from_latitude").html();
											var af_lng = $("#completeAfter").find(".from_longitude").html();
											var at_lat = $("#completeAfter").find(".to_latitude").html();
											var at_lng = $("#completeAfter").find(".to_longitude").html();
											
											var gdir_a = new GDirections(null,document.getElementById("route_result_postc"));
											
											GEvent.addListener(gdir_a,"load",function(){
												if (!routeOpen) { /*$("#accordion2").accordion("activate",0);*/$('#accordion2').tabs({selected: 0});}
												//initScrollPane();
												onGDirectionsLoad(gdir_a);
											});
											
											var aquery = "from: @"+af_lat+","+af_lng+" to: @"+at_lat+","+at_lng;
											gdir_a.load(aquery,{locale:lang,getPolyline:true});										
										}
										if (!routeOpen) { /*$("#accordion2").accordion("activate",0);*/$('#accordion2').tabs({selected: 0});}
									}
									
									if (geoXml.hasLoaded()) {
										if (geoXml.loadedCorrectly()) {
											if (geoXml.getDefaultBounds()) {											
												geoXml.gotoDefaultViewport(map);
												var sw = geoXml.getDefaultBounds().getSouthWest();
												var nw = geoXml.getDefaultBounds().getNorthEast();
												var area = "box:"+sw.lat()+","+sw.lng()+" "+nw.lat()+","+nw.lng();
												
												var location = window.location.href;
												if (location.indexOf("_print")==-1) {									
													if (g_places) {if (g_places.length>1) {findPlaces(g_places,area,"");}}
													else {
														var places = getPlaces(0);
														if (places.length) {findPlaces(places,area,"");}
													}
												}
												else {if (g_places.length>1) {findPlaces(g_places,area,"");}}
											}
										}
									}
								}
							);
						//initScrollPane();
						if($.trim($("#route_result").html()) == ""){
							var link = "$('#link_route a').trigger('click')";
							$("#route_result").html('Nenhum registro encontrado. <a href="javascript:void(0)" onclick="'+link+'">Voltar</a>');
						}
					}			
				);		
		}
	}
};

function reRoute (addToReRoute)
{
	var query = "";	
	for (var i=1; i<=nodeCount; i++)
	{
		query += "address="+escape($("#address"+i).val())+"&";
	}
	query += "address="+escape(addToReRoute)+"&e="+nodeCount;
	
	var url = "resort_points.jsp?"+query;
	
	$.getJSON(url, function(data,textStatus) {
			$.each(data.ordem, function(i,addr) {$("#address"+(i+1)).val(addr);} );			
			addRouteNode();
			findInstructions(getAddresses());
		}
	);
};

function doResearch (searchType)
{
	clearMap();
	
	if (searchType == 1)
	{
		//$('#accordion2 > h3:first').show();
		
		reroute_flag = true;
		put_boundaries = false;
		var provider = $("select[id^=routeProvider]").val();
		
		if (provider == "rr")
		{		
			$("#route_result").html("<img src=\"images/loading.gif\" alt=\"carregando\" title=\"carregando... favor aguardar.\" style=\"display:block;margin-left:auto;margin-right:auto;margin-top:50px;width:200px;height:200px;\"/>");
			$("#route_result_prevc").html("");
			$("#route_result_postc").html("");
			backToResults();
			if (!routeOpen) { /*$("#accordion2").accordion("activate",0);*/$('#accordion2').tabs({selected: 0});}
			
			var chk_nodes =document.forms.f_route.elements.node;	
			var addresses = [];
		
			for (var i=0; i<nodeCount; i++)
			{				
				addresses.push(chk_nodes[i].value);
			}
			
			var gdir = new GDirections(map,document.getElementById("route_result"));
			var lang = $("#locale").val();
			GEvent.addListener(gdir,"load", function(){
					map.clearOverlays();
					$("#route_result").html("");
					$("#route_result_prevc").html("");
					$("#route_result_postc").html("");
					backToResults();
					if (!routeOpen) { /*$("#accordion2").accordion("activate",0);*/$('#accordion2').tabs({selected: 0});}
					//initScrollPane();
				});
			/* ***************** modify here ************************	*/
			var squery = "addrToRes=";
			var gquery = "from: ";			
			for ( i=0; i<nodeCount; i++)
			{
				squery += escape(addresses[i])+(i<addresses.length-1?"&addrToRes=":"");
			}
			
			var url = "geocoder.jsp?" + squery;
			
			/************************************************************************************************/
			ajaxObject = function() {
				try {return new ActiveXObject("Msxml2.XMLHTTP.6.0");} catch(e){
				try {return new ActiveXObject("Msxml2.XMLHTTP.3.0");} catch(e2){
				try {return new ActiveXObject("Msxml2.XMLHTTP");} catch(e3){
				try {return new ActiveXObject("Microsoft.XMLHTTP");} catch(e4){
				try {return new XMLHttpRequest();} catch(e5){
				throw new Error( "This browser does not support XMLHttpRequest." );
				}}}}}};
				
				xmlHttp = new ajaxObject(); // use ajaxObject to start XMLHttpRequest() for most browsers						
				xmlHttp.onreadystatechange = function() {
					if(xmlHttp.readyState==4)
					{					
						if (xmlHttp.statusText==200 || xmlHttp.statusText=="OK")
						{									
							response = eval("["+xmlHttp.responseText+"]");							
							var coordenadas = response[0].coordenadas;
							$.each(coordenadas,
								function(i,coord)
								{							
									if (i==coordenadas.length-1) {return;}
									gquery += "@"+coord.lat+","+coord.lng+(i<nodeCount-1?" to: ":"");
								}
							);
							gdir.load(gquery,{locale:lang});
						}
						else {alert("Error while attempting to perform the ajax request. Error code: "+xmlHttp.statusText);}
					}
				};
				try {xmlHttp.open("GET",url,true);}
				catch (e) { }
				xmlHttp.send(null);			
			/************************************************************************************************/
		}
		else
		{
			var addrss = getAddresses();			
			findInstructions(addrss);
		}
	}
	else
	{
		//$('#accordion2 > h3:first').hide();
		if(document.getElementById('where').value == ""){
			alert('Selecione a cidade de interesse');
			return;
		}
		
		reroute_flag = false;
		put_boundaries = true;
		var places = getPlaces(1);
		findPlaces(places);
	}
};


function inverterRota ()
{
	var from_textbox = document.getElementById("address1");
	var to_textbox = document.getElementById("address2");	
	
	if (from_textbox.value && to_textbox.value)
	{
		document.getElementById("route_result").innerHTML = "<img src=\"images/loading.gif\" alt=\"carregando\" "+
			" title=\"carregando... favor aguardar.\" style=\"margin-left:auto;margin-right:auto;margin-top:50px;width:200px;height:200px;\"/>";
	
		var temp = from_textbox.value;
		from_textbox.value = to_textbox.value;
		to_textbox.value = temp;		
		
		doResearch (1);
	}	
};

function makeLinkArgs ()
{
	var address="";
	var places="";	
	var where=document.getElementById('where');
	
	var chk_nodes=document.forms.f_route.elements.node;	
	if (chk_nodes[0].value != "Cidade de partida, UF" && chk_nodes[1].value != "Cidade de destino, UF")
	{
		for(var i=0;i<nodeCount;i++)
		{
			if (chk_nodes[i].value!="")
			{
				places+= escape(chk_nodes[i].value)+(i==nodeCount-1?"":";");
			}		
		}
		
		var chk_arts=document.getElementById("selectArt");		
		if(chk_arts.checked)
		{
			address+= escape(chk_arts.value)+";";
		}
		
		var chk_atrh=document.forms.f_route.elements.selectAtrHist;	
		for( i=0;i<chk_atrh.length;i++)
		{
			if(chk_atrh[i].checked)
			{
				address+= escape(chk_atrh[i].value)+";";
			}
		}
		
		var chk_atrn=document.forms.f_route.elements.selectAtrNat;
		for( i=0;i<chk_atrn.length;i++)
		{
			if(chk_atrn[i].checked)
			{
				address+= escape(chk_atrn[i].value)+";";
			}
		}
		
		var chk_entr=document.forms.f_route.elements.selectEntr;
		for( i=0;i<chk_entr.length;i++)
		{
			if(chk_entr[i].checked)
			{
				address+= escape(chk_entr[i].value)+";";
			}
		}
		
		var chk_alim=document.forms.f_route.elements.selectCulinaria;
		for( i=0;i<chk_alim.length;i++)
		{
			if(chk_alim[i].checked)
			{
				address+= escape(chk_alim[i].value)+";";
			}
		}
		
		var chk_hosp=document.forms.f_route.elements.selectHosp;
		for( i=0;i<chk_hosp.length;i++)
		{
			if(chk_hosp[i].checked)
			{
				address+= escape(chk_hosp[i].value)+";";
			}
		}
		
		var chk_serv=document.forms.f_route.elements.selectServAp;
		for( i=0;i<chk_serv.length;i++)
		{
			if(chk_serv[i].checked)
			{
				address+= escape(chk_serv[i].value)+";";
			}
		}
		
		var chk_util=document.forms.f_route.elements.selectUtilPubl;
		for( i=0;i<chk_util.length;i++)
		{
			if(chk_util[i].checked)
			{
				address+= escape(chk_util[i].value)+";";
			}
		}
	}
	else
	{
		var chk_arts2=document.getElementById("selectArt2");		
		if(chk_arts2.checked)
		{
			address+= escape(chk_arts2.value)+";";
		}	
		
		var chk_atrh2=document.forms.f_search.elements.selectAtrHist;	
		for(var i2=0;i2<chk_atrh2.length;i2++)
		{
			if(chk_atrh2[i2].checked)
			{
				address+= escape(chk_atrh2[i2].value)+";";
			}
		}
		
		var chk_atrn2=document.forms.f_search.elements.selectAtrNat;
		for( i2=0;i2<chk_atrn2.length;i2++)
		{
			if(chk_atrn2[i2].checked)
			{
				address+= escape(chk_atrn2[i2].value)+";";
			}
		}
		
		var chk_entr2=document.forms.f_search.elements.selectEntr;
		for( i2=0;i2<chk_entr2.length;i2++)
		{
			if(chk_entr2[i2].checked)
			{
				address+= escape(chk_entr2[i2].value)+";";
			}
		}
		
		var chk_alim2=document.forms.f_search.elements.selectCulinaria;
		for( i2=0;i2<chk_alim2.length;i2++)
		{
			if(chk_alim2[i2].checked)
			{
				address+= escape(chk_alim2[i2].value)+";";
			}
		}
		
		var chk_hosp2=document.forms.f_search.elements.selectHosp;
		for( i2=0;i2<chk_hosp2.length;i2++)
		{
			if(chk_hosp2[i2].checked)
			{
				address+= escape(chk_hosp2[i2].value)+";";
			}
		}
		
		var chk_serv2=document.forms.f_search.elements.selectServAp;
		for( i2=0;i2<chk_serv2.length;i2++)
		{
			if(chk_serv2[i2].checked)
			{
				address+= escape(chk_serv2[i2].value)+";";
			}
		}
		
		var chk_util2=document.forms.f_search.elements.selectUtilPubl;
		for( i2=0;i2<chk_util2.length;i2++)
		{
			if(chk_util2[i2].checked)
			{
				address+= escape(chk_util2[i2].value)+";";
			}
		}
		
		if (document.getElementById("textSearch").value != "Digite aqui ou selecione os itens na lista abaixo")
		{
			if (document.getElementById("textSearch").value != "")
			{
				address+=escape(document.getElementById("textSearch").value)+";";
			}
		}
	}
	
	if (address != "")
	{
		address = "pquery="+address+escape(where.options[where.selectedIndex].value);
	}
	
	if (places != "")
	{
		var provider = $("#routeProvider").val();
		places = "rquery="+places+"&provider="+provider;
	}
	
	return "?"+address+"&"+places;
};

function makeLink ()
{
	var location = window.location.href;
	if (location.indexOf("?") != "-1")
	{
		location = location.split("?");
		location = location[0];
	}
	return location + makeLinkArgs();
};

function printLink ()
{
	return "/SitGeo/roteiro4/roteiro_print.jsp" + makeLinkArgs();
};

function makeZoomHere (lat, lng)
{
	map.setCenter(new GLatLng(lat,lng),18);
        grid_pos = 18;
};

function setDirections0 (fromAddress,toAddress,locale)
{
	document.getElementById("address1").value = fromAddress;
	document.getElementById("address2").value = toAddress;
	nodeCount=2;	
	doResearch(1);	
};

// inicializando...
$(window).unload( function () {GUnload();} );

$(document).ready( 
	function () 
	{
		//window.setInterval("//initScrollPane();",1000);
		
		var location = window.location.href;

         
		
		if (location.indexOf("_print")==-1)
		{
			kml_er_all	= new GGeoXml(url_kml_er_all);
			kml_er_all_marcos = new GGeoXml(url_kml_er_all_marcos);
			kml_cn = new GGeoXml(url_kml_cn);
			kml_cv = new GGeoXml(url_kml_cv);
			kml_cd = new GGeoXml(url_kml_cd);
			kml_cs = new GGeoXml(url_kml_cs);			
			
			
			$("#rotaCN_activator").click(function(){
					if (display_cn) { 
						map.addOverlay(kml_cn);
						evl_kml_cn = GEvent.addListener(kml_cn,"load",function(){if (kml_cn.hasLoaded()) {if (kml_cn.loadedCorrectly()) {clearMap(); /*kml_cn.gotoDefaultViewport(map);*/}}});
					}
					else { 
						map.removeOverlay(kml_cn); 
						GEvent.removeListener(evl_kml_cn);
					}
					display_cn = !display_cn;
					//initScrollPane();
					$("#rotaCN_activator").css('background-image','url(images/caminhos/novo_on.png)');
					$("#rotaCV_activator").css('background-image','url(images/caminhos/velho_off.png)');
					$("#rotaCD_activator").css('background-image','url(images/caminhos/diamantes_off.png)');
					$("#rotaCS_activator").css('background-image','url(images/caminhos/sabarabucu_off.png)');
				});
			
			$("#rotaCV_activator").click(function(){
					if (display_cv) { 
						map.addOverlay(kml_cv);
						evl_kml_cv = GEvent.addListener(kml_cv,"load",function(){if (kml_cv.hasLoaded()) {if (kml_cv.loadedCorrectly()) {clearMap(); /*kml_cv.gotoDefaultViewport(map);*/}}});
					}
					else { 
						map.removeOverlay(kml_cv);
						GEvent.removeListener(evl_kml_cv);
					}
					display_cv = !display_cv;
					//initScrollPane();
					$("#rotaCN_activator").css('background-image','url(images/caminhos/novo_off.png)');
					$("#rotaCV_activator").css('background-image','url(images/caminhos/velho_on.png)');
					$("#rotaCD_activator").css('background-image','url(images/caminhos/diamantes_off.png)');
					$("#rotaCS_activator").css('background-image','url(images/caminhos/sabarabucu_off.png)');
				});
			
			$("#rotaCD_activator").click(function(){
					if (display_cd) 
					{ 
						map.addOverlay(kml_cd);
						evl_kml_cd = GEvent.addListener(kml_cd,"load",function(){if (kml_cd.hasLoaded()) {if (kml_cd.loadedCorrectly()) {clearMap(); /*kml_cd.gotoDefaultViewport(map);*/}}});
					}
					else 
					{ 
						map.removeOverlay(kml_cd);
						GEvent.removeListener(evl_kml_cd);
					}
					display_cd = !display_cd;
					//initScrollPane();
					$("#rotaCN_activator").css('background-image','url(images/caminhos/novo_off.png)');
					$("#rotaCV_activator").css('background-image','url(images/caminhos/velho_off.png)');
					$("#rotaCD_activator").css('background-image','url(images/caminhos/diamantes_on.png)');
					$("#rotaCS_activator").css('background-image','url(images/caminhos/sabarabucu_off.png)');
				});
			
			$("#rotaCS_activator").click(function(){
					if (display_cs) { 
						map.addOverlay(kml_cs);
						evl_kml_cs = GEvent.addListener(kml_cs,"load",function(){if (kml_cs.hasLoaded()) {if (kml_cs.loadedCorrectly()) {clearMap(); /*kml_cs.gotoDefaultViewport(map);*/}}});
					}
					else { 
						map.removeOverlay(kml_cs);
						GEvent.removeListener(evl_kml_cs);
					}
					display_cs = !display_cs;
					//initScrollPane();
					$("#rotaCN_activator").css('background-image','url(images/caminhos/novo_off.png)');
					$("#rotaCV_activator").css('background-image','url(images/caminhos/velho_off.png)');
					$("#rotaCD_activator").css('background-image','url(images/caminhos/diamantes_off.png)');
					$("#rotaCS_activator").css('background-image','url(images/caminhos/sabarabucu_on.png)');
				});
				
			$("#tabs0").tabs();
                        $("#accordion").tabs();
                        $("#accordion2").tabs();
			//initScrollPane();	
			
			if (map_open)
			{
				$(".scrollroom").css('background-image','url(images/full_screen_open.png)');				
			}
			else
			{				
				$(".scrollroom").css('background-image','url(images/full_screen_close.png)');
			}
			
			$("#a_search").click(function(e){					
				$("#link_search").css('z-index','2000');
				$("#link_route").css('z-index','300');
				$("#link_ways").css('z-index','200');
				$("#link_weather").css('z-index','100');
				
				$("#link_search").css('background-image','url(images/busca_on.png)');
				$("#link_route").css('background-image','url(images/rota_off.png)');
				$("#link_ways").css('background-image','url(images/caminhos_off.png)');
				$("#link_weather").css('background-image','url(images/tempo_off.png)');
				
				backToForm();
				//initScrollPane();
			});
			$("#a_route").click(function(e){					
				$("#link_route").css('z-index','2000');
				$("#link_search").css('z-index','400');	
				$("#link_ways").css('z-index','200');
				$("#link_weather").css('z-index','100');
				
				$("#link_route").css('background-image','url(images/rota_on.png)');
				$("#link_search").css('background-image','url(images/busca_off.png)');				
				$("#link_ways").css('background-image','url(images/caminhos_off.png)');
				$("#link_weather").css('background-image','url(images/tempo_off.png)');
				
				backToForm();
				//initScrollPane();
			});
			$("#a_ways").click(function(e){
				$("#link_ways").css('z-index','2000');
				$("#link_search").css('z-index','400');	
				$("#link_route").css('z-index','500');
				$("#link_weather").css('z-index','100');
				
				$("#link_ways").css('background-image','url(images/caminhos_on.png)');
				$("#link_search").css('background-image','url(images/busca_off.png)');
				$("#link_route").css('background-image','url(images/rota_off.png)');				
				$("#link_weather").css('background-image','url(images/tempo_off.png)');
				
				backToForm();
				//initScrollPane();
                                $('#accordion').tabs({selected: 0});
                                //$('a#rotaCN_activator').trigger('click');
                                $("#rotaCN_activator").css('background-image','url(images/caminhos/novo_off.png)');
                                $("#rotaCV_activator").css('background-image','url(images/caminhos/velho_off.png)');
                                $("#rotaCD_activator").css('background-image','url(images/caminhos/diamantes_off.png)');
                                $("#rotaCS_activator").css('background-image','url(images/caminhos/sabarabucu_off.png)');
				//map.clearOverlays();
				loadKmlsRegionais();
			});
			$("#a_wheater").click(function(e){					
				$("#link_weather").css('z-index','2000');				
				$("#link_search").css('z-index','400');	
				$("#link_route").css('z-index','500');
				$("#link_ways").css('z-index','600');
				
				$("#link_weather").css('background-image','url(images/tempo_on.png)');
				$("#link_search").css('background-image','url(images/busca_off.png)');
				$("#link_route").css('background-image','url(images/rota_off.png)');
				$("#link_ways").css('background-image','url(images/caminhos_off.png)');
				
				backToForm();
				//initScrollPane();
			});
			
			$("#btnToggleWheater").click(function(){				
				if (display_pv) { 
					$("#btnToggleWheater").html("Ocultar");
					if (!pv_loaded) {
						kml_pv.parse();
						pv_loaded = !pv_loaded;
					}
					else {
						kml_pv.show();
					}
				}
				else { 
					kml_pv.hide();
					$("#btnToggleWheater").html("Exibir");
				}
				display_pv = !display_pv;
				//initScrollPane();
			});	
			
			$("#btnToggleRegions").click(function(){				
				if (display_regionais) { 
					loadKmlsRegionais();
					$("#btnToggleRegions").html("Ocultar regiões da ER");
					$('.delimiter').css('background-position','0px 0px');
				}
				else { 
					try{
					removeKmlsRegionais();
					}catch(e){}
					$("#btnToggleRegions").html("Exibir regiões da ER");
					$('.delimiter').css('background-position','0px -44px');
				}
			});
			
			/*$("#accordion").accordion({header:"h3",autoHeight:false,collapsible:true,active:false,
					change:function(event, ui) {
						//initScrollPane();
					}
				});*/
			/*$("#accordion2").accordion({header:"h3",autoHeight:false,collapsible:true,active:false,
					change:function(event, ui) {
						if (ui.newHeader.text()=="Rota") {
							routeOpen = true;
							listOpen = false;
							imgOpen = false;
						}
						else if (ui.newHeader.text()=="Resultados") {
							routeOpen = false;
							listOpen = true;
							imgOpen = false;
						}
						else if (ui.newHeader.text()=="Fotos") {
							routeOpen = false;
							listOpen = false;
							imgOpen = true;
						}
						else
						{
							routeOpen = false;
							listOpen = false;
							imgOpen = false;
						}
						//initScrollPane();
					}
				});*/
			$("fieldset").accordion({header:"legend",autoHeight:false,collapsible:true,active:false,
					change: function(event, ui) {
						//initScrollPane();
					}
				});
                        $("fieldset span.ui-icon-triangle-1-e").css("left","0px");
                        $("fieldset label").css("margin-left", "20px");
                        //$("img.imageCheck").css("position", "absolute");
                        //$("img.imageCheck").css("right", "0px");
			$("#onRouteSearch").addClass("ui-state-default");
			$("#onRouteSearch").find("a").addClass("ui-state-default");			
			
			// atribuindo eventos aos elementos
			$("#print").click(function(){
				var url = printLink();
				window.open(url,"printwindow","width=800,height=600,scrollbars=yes,status=no,location=no,toolbar=no,menubar=no");	
			});
			$("#send").click(function(){
				$("#form_email").fadeIn();
				$("#mapurl").val(makeLink());
			});
			$("#btnCancelEmail").click(function(){
				$("#form_email").fadeOut();
			});
			$("#talk").click(function(){
				$("#form_contact").fadeIn();
				$("#mapurl2").val(makeLink());
			});
			$("#btnCancelEmail2").click(function(){
				$("#form_contact").fadeOut();				
			});
			$("#close_splashIntro").click(function(){
				$("#splashIntro").fadeOut();
			});
			$("#form_email *").click(function(e){
				e.stopPropagation();
			});
			$("#form_email").click(function(){
				$(this).fadeOut();
			});
			$("#form_contact *").click(function(e){
				e.stopPropagation();
			});
			$("#form_contact").click(function(){
				$(this).fadeOut();
			});
			$("#splashIntro").click(function(){
				$(this).fadeOut();
			});
			$("#splashIntro *").click(function(e){
				e.stopPropagation();
			});
			$("#close_email,#close_contact,#close_splashIntro").mouseover(function(){
				$(this).css("background-position","0px 0px");
				$(this).css("background-image","url(images/fechar_formularios_over.gif)");
			});
			$("#close_email,#close_contact,#close_splashIntro").mouseout(function(){
				$(this).css("background-position","0px 0px");
				$(this).css("background-image","url(images/fechar_formularios_on.gif)");
			});
			$("#extInfoWindow_close").click(function(){
				$(this).css('background-position','0px 0px');
				setTimeout("$('#close_email').css('background-position','0px -39px');",200);				
			});
			$("#close_email").click(function(){				
				$("#form_email").fadeOut();
			});
			$("#close_contact").click(function(){				
				$("#form_contact").fadeOut();
			});
			
			$("#onRouteSearch").mouseover(function(){
				$(this).removeClass("ui-state-default");
				$(this).removeClass("ui-state-active");				
				$(this).find("a").removeClass("ui-state-default");
				$(this).find("a").removeClass("ui-state-active");
				$(this).addClass("ui-state-hover");
				$(this).find("a").addClass("ui-state-hover");
			}).mouseout(function(){
				$(this).removeClass("ui-state-hover");
				$(this).removeClass("ui-state-active");	
				$(this).find("a").removeClass("ui-state-hover");
				$(this).find("a").removeClass("ui-state-active");
				$(this).addClass("ui-state-default");
				$(this).find("a").addClass("ui-state-default");
			});
			$("#onRouteSearch").click(function(){
				$(this).removeClass("ui-state-default");
				$(this).removeClass("ui-state-hover");
				$(this).find("a").removeClass("ui-state-default");
				$(this).find("a").removeClass("ui-state-hover");
				$(this).addClass("ui-state-active");
				$(this).find("a").addClass("ui-state-active");
				
				$(this).find("#specialIcon").removeClass((s_class=="ui-icon-triangle-1-e"?"ui-icon-triangle-1-e":"ui-icon-triangle-1-s"));
				$(this).find("#specialIcon").addClass((s_class=="ui-icon-triangle-1-e"?"ui-icon-triangle-1-s":"ui-icon-triangle-1-e"));
				s_class = (s_class=="ui-icon-triangle-1-e"?"ui-icon-triangle-1-s":"ui-icon-triangle-1-e");
				
				$("#searchOptions").slideToggle('fast',function(){
				//initScrollPane();
				});				
			});			
			
			$("#help1").click(function(){help1();});
			$("#help2").click(function(){help2();});
			
			$("#addRouteNodeLink").click(function(){addRouteNode();});
			$(".removeRouteNodeLink").click(function(){removeRouteNode();});	
			$("#revertRouteLink").click(function(){inverterRota();});
			$("#btnRoute1").click(function(){doResearch(1);});
			$("#btnSearch1").click(function(){doResearch(2);});

			// checkboxes de copia de e-mail			
			$('#from_copy,#from_copy2').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png'
			});
			
			// artesanato : busca
			$("#selectArt").click(function(e){e.stopPropagation();});			
			$('#selectArt').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png'
			});
			// artesanato : roteiro
			$("#selectArt2").click(function(e){e.stopPropagation();});			
			$('#selectArt2').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png'
			});
			
			// atrativos culturais : busca
			$("#selectAtrHist").click(function(e){e.stopPropagation();});			
			$('#selectAtrHist').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsAtrHist > div img').click();}
			});

			// atrativos culturais : roteiro
			$("#selectAtrHist2").click(function(e){e.stopPropagation();});			
			$('#selectAtrHist2').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsAtrHist2 > div img').click();}
			});
                        $('#ic_selectAtrHist2').css("position", "absolute");
                        $('#ic_selectAtrHist2').css("right", "0px");
			
			// atrativos naturais : busca
			$("#selectAtrNat").click(function(e){e.stopPropagation();});			
			$('#selectAtrNat').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsAtrNat > div img').click();}
			});
			
			// atrativos naturais : roteiro
			$("#selectAtrNat2").click(function(e){e.stopPropagation();});			
			$('#selectAtrNat2').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsAtrNat2 > div img').click();}
			});
			
			// entretenimento : busca
			$("#selectEntr").click(function(e){e.stopPropagation();});			
			$('#selectEntr').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsEntr > div img').click();}
			});
			
			// entretenimento : roteiro
			$("#selectEntr2").click(function(e){e.stopPropagation();});			
			$('#selectEntr2').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsEntr2 > div img').click();}
			});
			
			// gastronomia : busca
			$("#selectCulinaria").click(function(e){e.stopPropagation();});			
			$('#selectCulinaria').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsGastr > div img').click();}
			});
			
			// gastronomia : roteiro
			$("#selectCulinaria2").click(function(e){e.stopPropagation();});			
			$('#selectCulinaria2').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsGastr2 > div img').click();}
			});
			
			// hospedagem : busca
			$("#selectHosp").click(function(e){e.stopPropagation();});			
			$('#selectHosp').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsHosp > div img').click();}
			});
			
			// hospedagem : roteiro
			$("#selectHosp2").click(function(e){e.stopPropagation();});			
			$('#selectHosp2').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsHosp2 > div img').click();}
			});
			
			// servicos : busca
			$("#selectServAp").click(function(e){e.stopPropagation();});			
			$('#selectServAp').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsServAp > div img').click();}
			});
			
			// servicos : roteiro
			$("#selectServAp2").click(function(e){e.stopPropagation();});			
			$('#selectServAp2').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsServAp2 > div img').click();}
			});
			
			// utilidade : busca
			$("#selectUtilPubl").click(function(e){e.stopPropagation();});			
			$('#selectUtilPubl').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsUtilPubl > div img').click();}
			});
			
			// utilidade : roteiro
			$("#selectUtilPubl2").click(function(e){e.stopPropagation();});			
			$('#selectUtilPubl2').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){$('#subCategsUtilPubl2 > div img').click();}
			});
			
			$(".imageCheck").click(function(e){e.stopPropagation();});
			
			$('.AtrHistOpt, .AtrNatOpt, .EntrOpt, .GastrOpt, .HospOpt, .ServApOpt, .UtilPublOpt').simpleImageCheck({
				image: 'images/map.category.icon.inactive.png',
				imageChecked: 'images/map.category.icon.active.2.png',
				afterCheck: function(isChecked){ }
			});

                        $("div#search fieldset img[id^=ic_]").css("position","absolute");
                        $("div#search fieldset img[id^=ic_]").css("right","0px");

                        //subcateg
                        $('div.divSubCateg').hover(function(){
                            $(this).addClass('ui-state-hover');
                        },function(){
                            $(this).removeClass('ui-state-hover');
                        });
			
			// autocompletar campos		
			$(".routeNodes").autocomplete("address_resolution.jsp",{width:400,max:25,scrollHeight:300,selectFirst:false,cacheLength:1,matchSubset:false});			
						
			$("#rotaCN").load("CaminhoNovo.html","",function (resp, status, xmlHttp){
					$("#rotaCV").load("CaminhoVelho.html","",function(resp2, status2, xmlHttp2){
							$("#rotaCD").load("CaminhoDiamantes.html","",function(resp3, status3, xmlHttp3){
									$("#rotaCS").load("CaminhoSabarabucu.html","",function(resp4, status4, xmlHttp4){
											$(".routeStepAction").click(function(){
													var coords = $(this).parent().next().find(".nd_coords").html();
													var orientation = $(this).parent().next().find(".nd_orientation").html();
													var lat = coords.split(",")[0];
													var lng = coords.split(",")[1];
													var txthtml = orientation+"<br />Coords: "+coords;
													map.openInfoWindowHtml(new GLatLng(lat,lng),txthtml);													
													map.setCenter(new GLatLng(lat,lng));
                                                                                                        grid_pos = 12;
												});
											$("#rotaCN_inverter").click(function(){
													if ($("#rotacn_invertido").css("display")=="none") {
														$("#rotacn_correto").css("display","none");
														$("#rotacn_invertido").css("display","block");
													}
													else {
														$("#rotacn_correto").css("display","block");
														$("#rotacn_invertido").css("display","none");
													}
													//initScrollPane();
													return false;
												});
											$("#rotaCV_inverter").click(function(){
													if ($("#rotacv_invertido").css("display")=="none") {
														$("#rotacv_correto").css("display","none");
														$("#rotacv_invertido").css("display","block");
													}
													else {
														$("#rotacv_correto").css("display","block");
														$("#rotacv_invertido").css("display","none");
													}
													//initScrollPane();
													return false;
												});
											$("#rotaCS_inverter").click(function(){
													if ($("#rotacs_invertido").css("display")=="none") {
														$("#rotacs_correto").css("display","none");
														$("#rotacs_invertido").css("display","block");
													}
													else {
														$("#rotacs_correto").css("display","block");
														$("#rotacs_invertido").css("display","none");
													}
													//initScrollPane();
													return false;
												});
											$("#rotaCD_inverter").click(function(){
													if ($("#rotacd_invertido").css("display")=="none") {
														$("#rotacd_correto").css("display","none");
														$("#rotacd_invertido").css("display","block");
													}
													else {
														$("#rotacd_correto").css("display","block");
														$("#rotacd_invertido").css("display","none");
													}
													//initScrollPane();
													return false;
												});											
										});									
								});							
						});					
				});	
				
			$('#sidebarClose').click(function(){
				$(this).fadeOut();
				$('#sidebar').animate({width:"0px"},"fast","linear",function(){
					$('#sidebarOpen').fadeIn();
				});
			});
			
			$('#sidebarOpen').click(function(){
				$(this).fadeOut();
				$('#sidebar').animate({width:"400px"},"fast","linear",function(){
					$('#sidebarClose').fadeIn();
				});	
			});
			
			$('#mapClose').click(function(){
				$(this).fadeOut();
				$('#sidebarOpen').css('height','0px');
				if ($('#sidebar').css('width')!="0px"){
					estava_aberto = true;
					$('#sidebarClose').click();						
				}
				else
				{
					estava_aberto = false;
				}
				prev_map_height = $('#mainContent').css('height');
				$('#mainContent').animate({height:"0px"},"slow","linear",function(){										
					$('#mapOpen').fadeIn();
					map.checkResize();
				});
			});
			
			$('#mapOpen').click(function(){
				$(this).fadeOut();
				$('#sidebarOpen').css('height','107px');
				if (estava_aberto)
				{
					$('#sidebarOpen').click();	
				}
				var newHeight = prev_map_height;
				$('#mainContent').animate({height:/*"500px"*/newHeight},"slow","linear",function(){					
					$('#mapClose').fadeIn();
					map.checkResize();					
				});
			});
			
			$("#btnSendEmail").click(function(){
				$("#form_email").fadeOut();
				$("#confirmSend").fadeIn();
			});
			
			$("#btnSendEmail2").click(function(){
				$("#form_contact").fadeOut();
				$("#confirmSend").fadeIn();
			});
			
			$("#ConfirmSendButton").click(function(){
				$("#confirmSend").fadeOut();
			});
		}
		
		// exibir mapa
		initialize();
		//initScrollPane();
		$('#sidebarOpen').click();
	}
);
