/**
 * @author Theo Bakker, WHELP.nl
 */

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

        //add controls
        map.addControl(new GMapTypeControl());

        //create randomnumber to prevent caching and retrieve xml file
        var randomnumber=Math.floor(Math.random()*11111)
        GDownloadUrl("includes/data.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.sensia-zorg.nl/images/GM_Marker.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 = GXml.value(markers[i].getElementsByTagName("infowindow")[0]);
                var label = markers[i].getAttribute("label");
                showAddress(map,geocoder,address,html,label,icon);
    } //close for loop

          }
        ); //close GDownloadUrl
  } //close GBrowserIsCompatible
} //close load



  //Create marker and set up event window
  function createMarker(point,html,icon){
  	var marker = new GMarker(point,icon);
	GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml(html);
    });
	return marker;
  }
  
  //showAddress
function showAddress(map,geocoder,address,html,icon) {
  geocoder.getLatLng(
    address,
    function(point) {
      if (!point) {
        alert(address + " niet gevonden");
      } else {
        map.setCenter(point, 15);
        var marker = createMarker(point,html+'<br /><br />'+address,icon);
        map.addOverlay(marker);
        map.addControl(new GMapTypeControl());
      }
    }
  );
}

