function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  } 
  //alert('Query Variable ' + variable + ' not found');
}




      // A function to create the marker and set up the event window
      function createMarker(point,name,html, soort) {
        var icon = new GIcon();
        if( soort == "2" ) {
        	icon.image = "http://labs.google.com/ridefinder/images/mm_20_blue.png";
        }
        else {
        	icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
        }
        icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
        icon.iconSize = new GSize(12, 20);icon.shadowSize = new GSize(22, 20);
        icon.iconAnchor = new GPoint(6, 20);
        icon.infoWindowAnchor = new GPoint(5, 1);
        var marker = new GMarker(point, icon);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        gmarkers[i] = marker;
        htmls[i] = html;

        // ======= Add the entry to the select box =====
        select_html += "<option> " + name + "</option>";
        // ==========================================================

        i++;
        return marker;
      }


      // ======= This function handles selections from the select box ====
      // === If the dummy entry is selected, the info window is closed ==
      function handleSelected(opt) {
        var i = opt.selectedIndex - 1;
        if (i > -1) {
          GEvent.trigger(gmarkers[i],"click");
        }
        else {
          map.closeInfoWindow();
        }
      }


var select_html = "<select name=\"placeSelect\" id=\"placeSelect\" onChange=\"handleSelected(this)\">" +
                  "<option selected> - Select a location - </option>";
var gmarkers = [];
var htmls = [];
var i = 0;


function showMap() {

    if (GBrowserIsCompatible()) {
      // create the map
      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      map.setCenter(new GLatLng( 52.373399,4.891610), 14);

      // Read the data from 100.xml

      GDownloadUrl("http://www.daarzijnweweer.nl/xml.php?selected=" + getQueryVariable("selected") + "&mood=" + getQueryVariable("mood") + "&category=" + getQueryVariable("category"), function (doc) {
        var xmlDoc = GXml.parse(doc);
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
	var selectedMarker = -1;

        for (var i = 0; i < markers.length; i++) {
          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new GLatLng(lat,lng);
          var html = markers[i].getAttribute("html");
          var label = markers[i].getAttribute("label");
          var soort = markers[i].getAttribute("soort");
	  if( markers[i].getAttribute("selected") == "true" ) {
	  	selectedMarker = i;
	  }
          // create the marker
          var marker = createMarker(point,label,html, soort);
          gmarkers[i] = marker;
          htmls[i] = html;
          map.addOverlay(marker);
        }
        // ===== final part of the select box =====
        select_html += "</select>";
        if(document.getElementById("selection")) {
        	document.getElementById("selection").innerHTML = select_html;
        }
        if(selectedMarker != -1) {
          gmarkers[selectedMarker].openInfoWindowHtml(markers[selectedMarker].getAttribute("html"));
          map.setCenter(new GLatLng(parseFloat(markers[selectedMarker].getAttribute("lat")), parseFloat(markers[selectedMarker].getAttribute("lng"))), 15);
          //document.getElementById("placeSelect").selectedIndex = selectedMarker+1;	
        }
        
      });
    }

    else {
      alert("Sorry, the Google Maps API is not compatible with this browser");
    }
    // This Javascript is based on code provided by the
    // Blackpool Community Church Javascript Team
    // http://www.commchurch.freeserve.co.uk/
    // http://www.econym.demon.co.uk/googlemaps/

  return;
}
