var map = null;
var firstMarker = null;

function pointKeyPress(e, inp)
{
	if ((e.keyCode && e.keyCode==13) || 
		(e.which && e.which==13))
	{
		createPoint(inp);
	}
	return true;
}

function onLoadGooglemap(widget)
{
	map = widget.gmap;
	
	map.setUIToDefault();
	map.disableScrollWheelZoom();

	if (widget.item.name == "Route")
	{
		var marker = widget.item.markers[0];
		firstMarker = marker.gmarker;
		
		var par = widget.divObject.nextSibling;

		var routeDiv = document.createElement("div");
		
		xajax.call("xajax_getRouteHTML", {parameters:[], context: {
			callback: function(html)
			{
				routeDiv.innerHTML = html;
				document.getElementById("content").insertBefore(routeDiv, par);
			}
		}});
	}
}

var marker = '';
var directions = 'init';
function createPoint(inp)
{	
	map.removeOverlay(marker);
	var x = document.getElementById(inp).value;
	var str = x.replace(/ /g,"+");
	var geocoder = new GClientGeocoder();
	
	geocoder.getLatLng(str, function(point)
	{
		if (!point)
		{
			window.alert("Er is geen geldig adres ingevoerd");
		}
		else
		{
			firstMarker.hide();

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