// declara��o de vari�veis
var map;
var marker;

// fun��o que carrega o mapa inicial marcando o nosso ponto de chegada
function loadMaps() {
	// verifica a compatibilidade do google maps
  if (GBrowserIsCompatible()) {
	
	// Instancia o objeto e aplica na div 'mapa'
	map = new GMap2(document.getElementById("mapa"));
	// Especifica as coordenadas do centro do mapa e o zoom
	map.setCenter(new GLatLng(-19.741039, -47.926301), 15);
	// Especifica o div em que ser� exibido o detalhamento da rota 
	directionsPanel = document.getElementById("route");
	gdir = new GDirections(map, directionsPanel);
	// Adiciona o evento de erros a fun��o handleErrors
	GEvent.addListener(gdir, "error", handleErrors);

	//Adiciona barra de zoom e setas para movimenta��o no mapa
	map.addControl(new GSmallMapControl());
	
	//Adiciona um marcador nas coordenadas de chegada
	var point = new GLatLng(-19.741039, -47.926301); 
	marker = new GMarker(point);
	map.addOverlay(marker);
	marker.title = "Ozéias Gomes dos Santos, 16 <br /> Uberaba - MG - 38017-170 <br /> (34) 3332-4041 / (34) 9992-5530";
 	//GEvent.addListener(marker, "click", function() {  
		marker.openInfoWindow(marker.title);  
	//});
  }
}

// Tra�a a Rota
function setDirections(fromAddress, toAddress, locale){
	gdir.load("from: " + fromAddress + " to: " + toAddress,{"locale": "pt_BR"});
	// Remove o marcador inicial
	map.removeOverlay(marker);
}

// Especifica a origem e o destino
function tracarRota() {
	setDirections(document.getElementById('from').value, "Rua Ozéias Gomes dos Santos, 16 - Uberaba - MG, 38017-170");
}

// Fun��o com tratamentos de erros
function handleErrors() {
   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	   var status = 'Não foi possível achar o endereço. Isso pode ter ocorrido porque o endereço digitado ainda não está inserido no google maps ou porque foi digitado incorretamente.';
   else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
	   var status = "A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n C�digo do Erro: " + gdir.getStatus().code;
   else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
	   var status = "The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n C�digo do Erro: " + gdir.getStatus().code;
   else if (gdir.getStatus().code == G_GEO_BAD_KEY)
	   var status = "Key inv�lida. Procure a key correta para este dom�nio no site do google. \n C�digo do Erro: " + gdir.getStatus().code;
   else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	   var status = "A directions request could not be successfully parsed.\n C�digo do Erro: " + gdir.getStatus().code;
   else
	   var status = "Ocorreu um erro inesperado.";
   
   $('.dialogs').text(status).dialog({
		title: 'Atenção',
		modal: true,
		resizable: false,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
				$('#form-mapa input[type="text"]').focus();
			}
		}
	});
}
