    var geocoder, location1, location2;
 
	function initialize() {
		geocoder = new GClientGeocoder();
	}
 
	function showLocation() {
		geocoder = new GClientGeocoder();
		geocoder.getLocations(document.formulario.address1.value, function (response) {
			if (!response || response.Status.code != 200)
			{
				alert("Desculpe, endereço não encontrado.");
			}
			else
			{
				location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
				geocoder.getLocations(document.formulario.address2.value, function (response) {
					if (!response || response.Status.code != 200)
					{
						alert("Sorry, we were unable to geocode the second address");
					}
					else
					{
						location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
						calculateDistance();
					}
				});
			}
		});
	}
 
	function calculateDistance()
	{
		try
		{
			var glatlng1 = new GLatLng(location1.lat, location1.lon);
			var glatlng2 = new GLatLng(location2.lat, location2.lon);
			var miledistance = glatlng1.distanceFrom(glatlng2, 3959).toFixed(1);
			var kmdistance = (miledistance * 1.609344).toFixed(1);
 
 			document.getElementById('results').innerHTML = '' + kmdistance + ' km';
			<!-- document.getElementById('results').innerHTML = '<strong>Origem: </strong>' + location1.address + '<br /><strong>Destino: </strong>' + location2.address + '<br /><strong>Distância: </strong>' + kmdistance + ' km'; -->
			//document.getElementById('results').innerHTML = '<strong>Origem: </strong>' + location1.address + '<br /><strong>Destino: </strong>' + location2.address + '<br /><strong>Distância: </strong>' + miledistance + ' milhas <br /> (ou ' + kmdistance + ' km)';
			document.formulario.address1.value = location1.address;
			document.formulario.address2.value = location2.address;
		}
		catch (error)
		{
			alert(error);
		}
	}
    
