/**
 * @author Bauke Couperus
 * (c)2008 W!E media
 */

//load Google Map
function load() {
  if (GBrowserIsCompatible()) {
  	var map = new GMap2(document.getElementById("map"));
	var geocoder = new GClientGeocoder();
	//geocoder.setBaseCountryCode("NL");

	//add controls ============================================
	map.addMapType(G_PHYSICAL_MAP); //Terreinkaart
		// map.removeMapType() haal eventueel een knop weg
    map.addControl(new GMapTypeControl());
	
	//IN en UITZOOMEN EN PANNING =================================
	//map.addControl(new GSmallMapControl());
	map.addControl(new GLargeMapControl());
	
	
	//create randomnumber to prevent caching and retrieve xml file
	var randomnumber=Math.floor(Math.random()*11111)
    GDownloadUrl("adressen.xml?random="+randomnumber, function(data, responseCode) {
    var xml = GXml.parse(data);

	//store markers in markers array
    var markers = xml.documentElement.getElementsByTagName("marker");
/*
	// create marker icon
	var icon = new GIcon();
	icon.image = "http://www.whelp.nl/googlemaps/images/whelp_small.png";
	icon.iconSize = new GSize(24, 23);
	icon.iconAnchor = new GPoint(0, 20);
	icon.infoWindowAnchor = new GPoint(5, 1);
*/
	
	//loop over the markers array
    for (var i = 0; i < markers.length; i++) {
		var address = markers[i].getAttribute("address");
		var html = markers[i].getAttribute("html");
		showAddress(map,geocoder,address,html);
    } //close for loop

	  }
	); //close GDownloadUrl

//Create marker and set up event window
function createMarker(point,html){
  var marker = new GMarker(point);
  GEvent.addListener(marker, "mouseover", function() {
     marker.openInfoWindowHtml(html);
  });
  return marker;
}



//showAddress
function showAddress(map,geocoder,address,html) {
  geocoder.getLatLng(
    address,
    function(point) {
      if (!point) {
        alert(address + " niet gevonden");
      } else {
	  	//alert(point);  
	  	center = new GLatLng(53.190597,5.642001);   // MIdden van Nederland (Lelystad)
        map.setCenter(center, 10);					// Inzoomgrootte 
        var marker = createMarker(point,html+'<br/><br/>'+address);
        map.addOverlay(marker);
		map.addControl(new GMapTypeControl());
      }
    }
  );
}


  } //close GBrowserIsCompatible
} //close load




