function onLoadGooglemap(widget)
{
	var map = widget.gmap;
	map.addMapType(G_PHYSICAL_MAP);
	map.addControl(new GHierarchicalMapTypeControl());
	map.addControl(new GLargeMapControl());
}

var map = '';
var firstMarker = '';
function onLoadGoogleMap(widget)
{
	map = widget.gmap;
	firstMarker = widget.item.markers[0].latitude+","+widget.item.markers[0].longitude;
	reverseGeocoder(firstMarker);
	
	map.addMapType(G_PHYSICAL_MAP);
	map.addControl(new GLargeMapControl());
    map.addControl(new GHierarchicalMapTypeControl());

	GEvent.addListener(map, "infowindowopen", function()
	{
		var infoWindow = map.getInfoWindow();
		var tmppoint = map.fromLatLngToContainerPixel(infoWindow.getPoint());
		tmppoint.y -= 150;
		map.panTo(map.fromContainerPixelToLatLng(tmppoint));
		
		firstMarker = infoWindow.getPoint();
		reverseGeocoder(firstMarker);
	});
}

function reverseGeocoder(marker)
{
	if (marker)
	{
		var geocoder = new GClientGeocoder();
		geocoder.getLocations(marker, function(addresses) {
			if (addresses.Status.code != 200)
			{
				alert('reverse geocoder failed to find an address for ' + marker.toUrlValue());
			}
			else
			{
				var address = addresses.Placemark[0];
				var address = address.address;
					
				document.getElementById('dstr').innerHTML = address;
			}
		});
	}
}

var marker = '';
var directions = 'init';
function createPoint(inp, msg, locale)
{
	var x = document.getElementById(inp).value;
	var y = document.getElementById('dstr').innerHTML;
	var str = x.replace(/ /g,"+");
	var dstr = y.replace(/ /g,"+");
	
	var geocoder = new GClientGeocoder();
	
	if (x != msg)
		map.clearOverlays();
	
	geocoder.getLatLng(str, function(point) {
		if (!point)
			{ window.alert(msg); }
		else
		{
		    marker = new GMarker(point,
			{
				title: "Vertrekpunt",
				icon: G_DEFAULT_ICON,
				clickable: true,
				draggable: false
			});
			map.addOverlay(marker);

			directionsPanel = document.getElementById("routeDiv");
			if (directions == 'init')
				directions = new GDirections(map, directionsPanel);
			
  			directions.load("from: "+point.lat()+","+point.lng()+" to: "+firstMarker,
  				{
					"locale": locale
				}
			);
  			
  			document.getElementById('printP').href = "http://maps.google.nl/maps?f=d&source=s_d" + 
													"&saddr=" + str +
													"&daddr=" + dstr + 
													"&ie=UTF8&z=13c&pw=2";
			document.getElementById('printP').style.display = "block";
			document.getElementById('routeDiv').style.display = "block";
		}
	});
}
