// 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(-22.47481,-48.565686),16);
	// 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(-22.47481,-48.565686);
	marker = new GMarker(point);
	map.addOverlay(marker);
	marker.title = "Av. Arthur Balsi, 388 <br /> Distrito Industrial <br /> Barra Bonita - SP <br /> <b>(14) 3604 3898</b>";
 	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, "Av. Santos Dumont, 2235 - sala 8 - Uberaba - MG, 38050-400");
}

// Fun��o com tratamentos de erros
function handleErrors()
{
   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	 alert("N�o foi poss�vel achar o endere�o. Isso pode ter ocorrido porque o endere�o digitado ainda n�o est� inserido no googlemaps ou porque foi digitado incorretamente.\nC�digo do Erro: " + gdir.getStatus().code);
   else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
	 alert("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)
	 alert("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)
	 alert("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)
	 alert("A directions request could not be successfully parsed.\n C�digo do Erro: " + gdir.getStatus().code);
   else alert("Ocorreu um erro inesperado.");
}
