function initialize()
{
  if(GBrowserIsCompatible())
  {	
	var map = new GMap2(document.getElementById("map_canvas"));
	var geocoder = new GClientGeocoder();
	gdir = new GDirections(map, document.getElementById("directions"));
	GEvent.addListener(gdir, "error", handleErrors);
	GEvent.addListener(gdir, "load", onGDirectionsLoad);
	//map.addControl(new GSmallMapControl());	
	
	var mapTypeControl = new GMapTypeControl();
	var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
	var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10));
	//map.addControl(mapTypeControl, topRight);

	
	GEvent.addListener(map, "dblclick", function() {
	  map.removeControl(mapTypeControl);
	  map.addControl(new GMapTypeControl(), bottomRight);
	});
	map.addControl(new GSmallMapControl());

	//map.addControl(new GScaleControl());
	//map.addControl(new GMapTypeControl());
	point = new GLatLng(47.266077, 11.34542);
	//map.setCenter(point,14);
	map.setCenter(new GLatLng(47.266077, 11.34542), 16);
	
	var baseIcon = new GIcon();
	baseIcon.shadow = "http://www.ofner-partner.com/breinoesslbuehne/images/maps_ico_shadow.png";
	baseIcon.iconSize = new GSize(70, 58);
	baseIcon.shadowSize = new GSize(90, 58);
	baseIcon.iconAnchor = new GPoint(0, 56);
	baseIcon.image = "http://www.ofner-partner.com/breinoesslbuehne/images/maps_ico.png";
	
	// Richtet das GMarkerOptions-Objekt ein
	markerOptions = { icon:baseIcon };	
	
	var marker = new GMarker(point, markerOptions);	
	map.addOverlay(marker);	
  }
}

function setDirections(fromAddress, toAddress, locale)
{
	gdir.load("from: " + fromAddress + " to: " + toAddress, { "locale": "de" });
	/*document.getElementById('directions').style.display = 'block';*/
}

function handleErrors(){
	if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	{
		//alert(unescape("Es ist ein Fehler aufgetreten. Bitte %FCberpr%FCfen Sie Ihre Adresseingabe (PLZ, Ort, Stra%DFe)"));
		document.getElementById('error').style.display = 'block';
	}
	else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
	{
		alert("Es ist ein Fehler aufgetreten.\n Error code: " + gdir.getStatus().code);
	}
	else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
	{
		alert("Es ist ein Fehler aufgetreten.\n Error code: " + gdir.getStatus().code);
	}
	else if (gdir.getStatus().code == G_GEO_BAD_KEY)
	{
		alert("Es ist ein Fehler aufgetreten. \n Error code: " + gdir.getStatus().code);
	}
	else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	{
		alert("Es ist ein Fehler aufgetreten.\n Error code: " + gdir.getStatus().code);
	}
	else
	{
		//alert("Bitte geben Sie einen Startpunkt ein.");
		document.getElementById('error').style.display = 'block';
	}
}

function onGDirectionsLoad(){ 
  document.getElementById('directions').style.display = 'block';
}

/*var map;
var gdir;
var geocoder = null;
var addressMarker;

function initialize() {
  if (GBrowserIsCompatible()) {      
	map = new GMap2(document.getElementById("map_canvas"));
	//gdir = new GDirections(map, document.getElementById("directions"));
	GEvent.addListener(gdir, "load", onGDirectionsLoad);
	GEvent.addListener(gdir, "error", handleErrors);
	map.addControl(new GSmallMapControl());
	
	//setDirections("San Francisco", "Mountain View", "en_US");
  }
}

function setDirections(fromAddress, toAddress, locale) {
  gdir.load("from: " + fromAddress + " to: " + toAddress,
			{ "locale": "de" });
}

function handleErrors(){
   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	 alert(unescape("Es ist ein Fehler aufgetreten. Bitte %FCberpr%FCfen Sie Ihre Adresseingabe (PLZ, Ort, Stra%DFe)"));
   else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
	 alert("Es ist ein Fehler aufgetreten.\n Error code: " + gdir.getStatus().code);
   else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
	 alert("Es ist ein Fehler aufgetreten.\n Error code: " + gdir.getStatus().code);
   else if (gdir.getStatus().code == G_GEO_BAD_KEY)
	 alert("Es ist ein Fehler aufgetreten. \n Error code: " + gdir.getStatus().code);
   else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	 alert("Es ist ein Fehler aufgetreten.\n Error code: " + gdir.getStatus().code);
   else alert("Bitte geben Sie einen Startpunkt ein.");
  
}

function onGDirectionsLoad(){ 
  // Use this function to access information about the latest load()
  // results.

  // e.g.
  document.getElementById("map_canvas").style.visibility = 'visible';
  // and yada yada yada...
}*/

