// JavaScript Document

//Custom icon gebruiken voor de markers
var myIcon = new GIcon(G_DEFAULT_ICON);
myIcon.image = "afbeeldingen/schoen3.gif";
myIcon.shadow = "afbeeldingen/schoentje_schaduw.png";
myIcon.iconSize = new GSize(18, 18);
myIcon.shadowSize = new GSize(40, 25);
myIcon.iconAnchor = new GPoint(4, 15);
myIcon.infoWindowAnchor = new GPoint(9, 0);

// global vars
var map;
var geoXml;
var toggleState = 1;
var bounds = new GLatLngBounds();

//Pak de variabele uit de string (in php $_GET)
function get(key_str) {
	if(window.location.search) {
		var query = window.location.search.substr(1);
		pairs = query.split("/");
		for(var i = 0; i < pairs.length; i++) {
			pair = pairs[i].split("=");
			if(unescape(pair[0]) == key_str)
				return unescape(pair[1]);
		}
	}
}

// de functie initialize welke de map aanmaakt met nieuwe controls en het center van de map aanmaakt
function initialize() {
	if (GBrowserIsCompatible()) {
		//get();
		//geoXml = new GGeoXml("http://www.boerenlandpad.nl/brabant.kml");
		map = new GMap2(document.getElementById("map_canvas"));
		
		// functies toevoegen
		//map.addControl(new CustomZoomControl());
		//map.addControl(new CustomTypeControl());
		$("#zoomin").click(function(){
			map.zoomIn();
		});
		$("#zoomout").click(function(){
			map.zoomOut();
		});
		$("#kaart").click(function(){
			map.setMapType(G_NORMAL_MAP);
		});
		$("#sat").click(function(){
			map.setMapType(G_SATELLITE_MAP);
		});
		$("#beide").click(function(){
			map.setMapType(G_HYBRID_MAP);
		});
		map.setCenter(new GLatLng(0.0, 0.0), 0);
		geocoder = new GClientGeocoder();
		
		//map.addOverlay(geoXml);
		loadMarkers();	
		

	}
}

// Maak de marker aan en een infoWindow bij een hover
function createMarker(point, adres, id, naam, plaats, lengte) {
  var marker = new GMarker(point, myIcon);
  
  var html = 'Naam: '+naam+'<br>Plaats: '+plaats+'<br>Lengte: '+lengte+' km';
  GEvent.addListener(marker, 'mouseover', function() {
	marker.openInfoWindowHtml(html);
  });
  
  GEvent.addListener(marker, 'click', function() {
    window.location.href = '/route/'+modrewriteEncode(id)+'.html';
  });
  return marker;
}

// Laad de markers uit de xml welke gevuld wordt door de database
function loadMarkers() {
	// get xml en zet om naar markers
	  GDownloadUrl("gen_xml.php?dummy="+(new Date()).getTime()+"&provincie="+pair[1], function(data) {
	  var xml = GXml.parse(data);
	  var markers = xml.documentElement.getElementsByTagName("marker");
	  if (markers.length == 0){
		  alert('Geen ommetjes gevonden!');
	  }
	  for (var i = 0; i<markers.length; i++) {
		var id			= markers[i].getAttribute("id");
		var naam		= markers[i].getAttribute("naam");
		var plaats		= markers[i].getAttribute("plaats");
		var adres		= markers[i].getAttribute("adres");
		var lengte		= markers[i].getAttribute("lengte");
		var point 		= new GLatLng(parseFloat(markers[i].getAttribute("lat")),
								parseFloat(markers[i].getAttribute("lng")));
		bounds.extend(point);
		var marker = createMarker(point, adres, id, naam, plaats, lengte);
		map.addOverlay(marker);
		//map.setZoom(map.getBoundsZoomLevel(bounds));
		map.setZoom(8); 
		map.setCenter(bounds.getCenter());
		$("#map_canvas").css("visibility","visible");	
		}
	});
}
function modrewriteEncode(str) {
	str = str.replace(/ /, "-");
	str = str.toLowerCase();
	return str;
}
