var map = null;
var mgr = null;
var geocoder = null;

function initialize() {
  if (GBrowserIsCompatible()) {
	map = new GMap2(document.getElementById("map_canvas"));
	map.setCenter(new GLatLng(51.151786, 10.415039), 3);
	map.addControl(new GSmallMapControl());
	geocoder = new GClientGeocoder();
  }
}

function BBGutInitialize() {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map_gutcanvas"));
  	map.setCenter(new GLatLng(51.151786, 10.415039), 6);
  	map.addControl(new GLargeMapControl());
  	map.addControl(new GScaleControl());
  	map.addControl(new GMapTypeControl());
  	mgr = new MarkerManager(map);
    window.setTimeout(setupOptMarkers, 0);
  }
}

function setupOptMarkers() {
  var markers = [];
  for (var i in OptLocations) {
    var layer = OptLocations[i];
    var place = layer["address"];
    var title = layer["title"];
    var ort = layer["ort"];
    var posn = new GLatLng(layer["lat"], layer["long"]);
    var marker = createMarker(posn,title,place,ort);
    markers.push(marker);
  }
  mgr.addMarkers(markers, 6);
  mgr.refresh();
}

function createMarker(posn, title, place, ort) {
  var blueIcon = new GIcon(G_DEFAULT_ICON);
  blueIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";
  markerOptions = { icon:blueIcon, title:title + ", "+ ort };
  var marker = new GMarker(posn, markerOptions);
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml("<b>" + title + "</b><br />" + place);
  });
  return marker;
}


function showAddress(address) {
  if (geocoder) {
	geocoder.getLatLng(
	  address,
	  function(point) {
		if (!point) {
		  alert(address + " nicht in Google-Maps gefunden");
		} else {
		  map.setCenter(point, 14);
		  var marker = new GMarker(point);
		  map.addOverlay(marker);
		  // marker.openInfoWindowHtml(address);
		}
	  }
	);
  }
}


