window.LoadHandler = GLoad;
window.UnLoadHandler = GUnload;

dispatch(window, "load", "LoadHandler");
dispatch(window, "unload", "UnLoadHandler");

function GLoad()
{
  if (GBrowserIsCompatible()) 
  {
    var map = new GMap2(document.getElementById("map"));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
		map.enableScrollWheelZoom();
		map.enableContinuousZoom();	

    map.setCenter(new GLatLng(lat, lng), 15);
		
		var texts = ["<strong>Gezonheidscentrum 't Woud</strong><br />Griend 25-23<br />8225 SB Lelystad",
                 "<strong>Gezonheidscentrum Waterwijk</strong><br />Voorstraat 333<br />8226 KB Lelystad",
                 "<strong>Gezonheidscentrum De Haven</strong><br />Binnendijk 29<br />8244 AA Lelystad"
                ];
		var points = [new GLatLng(52.501083,5.487417),
                  new GLatLng(52.494133,5.491955),
                  new GLatLng(52.501614,5.420142)
                 ];
		
    for(var i=0; i<texts.length; ++i)
    {
			map.addOverlay( createMarker(points[i], texts[i]) );
    }		
  }
}

function createMarker(point, text) 
{
  var marker = new GMarker(point);

  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(text);
  });
  return marker;
}

function dispatch( targetElement, eventName, handlerName )
{ 
  var originalHandler;
	if (targetElement.addEventListener) { 
    targetElement.addEventListener(eventName, function() { return targetElement[handlerName](); }, false);
  } else if (targetElement.attachEvent) { 
    targetElement.attachEvent("on" + eventName, function() { return targetElement[handlerName](); });
  } else { 
    originalHandler = targetElement["on" + eventName];
    if (originalHandler) { 
      targetElement["on" + eventName] = function() { originalHandler(); return targetElement[handlerName](); };
    } else { 
      targetElement["on" + eventName] = function() { return targetElement[handlerName](); };
    }
  }
}
