//##############################################################################
//# Initialize

//# initialize Google map
if ('function' == typeof GoogleLoadMap)
{
  WHITE_AddBodyLoadFunction(GoogleLoadMap);
}

/*#############################################################################
# Google maps function
#############################################################################*/
//# Google maps

function GoogleLoadMap()
{
  var oGoogleMapDiv = WHITE_GetElementFlex('map');
  if ('object' == typeof oGoogleMapDiv)
  {
    if (GBrowserIsCompatible())
		{
      var map = new GMap2(oGoogleMapDiv);
      var point = new GLatLng(51.3492426518454, 5.42758250319395);

      map.setCenter(point, 13);
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl());
      map.setMapType(G_NORMAL_MAP);

      gdir = new GDirections(map, document.getElementById("directions"));
			GEvent.addListener(gdir, "load", onGDirectionsLoad);
      GEvent.addListener(gdir, "error", handleErrors);

      var marker = new GMarker(point);
      var html = "<b>Schoenmakers Druk &amp; Print<\/b><br \/>Goudenrijderhof 38<br \/>5551 VJ Valkenswaard";
      GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(html); });

      map.addOverlay(marker);

      marker.openInfoWindowHtml(html);
    }
  }
}

function handleErrors(){
  if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	alert("Google heeft uw locatie niet kunnen vaststellen. De beste manier om de route te zoeken, is door het volgende formaat aan te houden: straatnaam nummer, plaats.");
	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 Error code: " + 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 Error code: " + gdir.getStatus().code);

	//   else if (gdir.getStatus().code == G_UNAVAILABLE_ADDRESS)  <--- Doc bug... this is either not defined, or Doc is wrong
  //     alert("The geocode for the given address or the route for the given directions query cannot be returned due to legal or contractual reasons.\n Error code: " + gdir.getStatus().code);

	else if (gdir.getStatus().code == G_GEO_BAD_KEY)
	alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdir.getStatus().code);

	else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	alert("A directions request could not be successfully parsed.\n Error code: " + gdir.getStatus().code);

	else alert("U heeft het veld 'van' leeg gelaten. Deze is vereist om een route te plannen");

}

function onGDirectionsLoad(){
}


function setDirections(fromAddress, locale) {
  gdir.load("from: " + fromAddress +" to: Goudenrijderhof 38, 5551 Valkenswaard",{ "locale": locale });
}