google.load("maps", "2.x");

var InvMaps = function(){
	
	return {
		createBaseMap: function(id, center, zoom, type){
			if (window.baseMap)
				return window.baseMap
			
			// Create the map
			var map = new google.maps.Map2(document.getElementById(id));
			
			// Set type
			type = type || G_HYBRID_MAP;
			map.setMapType(type);
			
			// Set center and zoom
			var center = center || new google.maps.LatLng(50.978721, 5.306396);
			var zoom = zoom || 10;
			map.setCenter(center, zoom);

			// Add the controls
			map.addControl(new google.maps.SmallZoomControl());
			map.addControl(new google.maps.MenuMapTypeControl());
			//map.addControl(new StreetViewControl());
			
			// Fix copyright breakout
			map.getContainer().style.overflow = "hidden";
			
			// Register as global and return
			window.baseMap = map;
			return window.baseMap;
		},
		
		createIcon: function(icon, w, h){
			var i = new google.maps.Icon(G_DEFAULT_ICON, icon);
			var w = w | 16;
			var h = h | 16;
			var iconCenter = new google.maps.Point(w/2, h/2);

			i.iconSize = new google.maps.Size(w, h);
			i.shadow = null;
			i.shadowSize = new google.maps.Size(0,0);
			i.iconAnchor = iconCenter;
			i.infoWindowAnchor = iconCenter;
			
			return i;
		},
		
		createPanoramioIcon: function(icon, size){
			
			size = size || 'medium';
			icon = icon.replace('/'+size+'/', '/mini_square/');
			i = this.createIcon(icon, 20, 20);
			i.shadow = 'http://www.rlkm.be/design/images/layout/icons/markers/photo_shadow.png';
			i.shadowSize = new google.maps.Size(35, 24);
			
			return i;
		},
		
		createHeritageIcon: function(){
			
			var i = new google.maps.Icon(G_DEFAULT_ICON, 'http://www.rlkm.be/design/images/layout/icons/markers/heritage.png');
			var w = 18;
			var h = 32;
			var iconCenter = new google.maps.Point(w/2, h);
			
			i.iconSize = new google.maps.Size(w, h);
			i.shadow = 'http://www.rlkm.be/design/images/layout/icons/markers/heritage_shadow.png';
			i.shadowSize = new google.maps.Size(34, 32);
			i.iconAnchor = iconCenter;
			
			return i;
		},
		
		createHeritageClusterIcon: function(){
			
			var i = new google.maps.Icon(G_DEFAULT_ICON, 'http://www.rlkm.be/design/images/layout/icons/markers/heritage_cluster.png');
			var w = 34;
			var h = 38;
			var iconCenter = new google.maps.Point(w/2, h);
			
			i.iconSize = new google.maps.Size(w, h);
			i.shadow = 'http://www.rlkm.be/design/images/layout/icons/markers/heritage_cluster_shadow.png';
			i.shadowSize = new google.maps.Size(46, 24);
			i.iconAnchor = iconCenter;
			
			return i;
		},
		
		createStartpointIcon: function(){
			
			var i = new google.maps.Icon(G_DEFAULT_ICON, 'http://www.rlkm.be/design/images/layout/icons/markers/startpunt.png');
			var w = 18;
			var h = 32;
			var iconCenter = new google.maps.Point(w/2, h);
			
			i.iconSize = new google.maps.Size(w, h);
			i.shadow = 'http://www.rlkm.be/design/images/layout/icons/markers/startpunt_shadow.png';
			i.shadowSize = new google.maps.Size(34, 32);
			i.iconAnchor = iconCenter;
			i.infoWindowAnchor = new google.maps.Point(7,15);
			
			return i;
		},
		
		createPolyLine: function(coordinates, color, width){
	
			if(coordinates.length <= 0) {
				return;
			}
			
			var points = [];
			
			for (i = 0; i < coordinates.length; i++){
				var coord = coordinates[i];
				points.push(new google.maps.LatLng(
					parseFloat(coord.latitude), 
					parseFloat(coord.longitude)
				));
			}
		
			var color = color || '#ff6600';
			var width = width || 2;
			var opacity = 1;
			var overlay = new google.maps.Polygon(points,color,width,opacity,"#000000",0);
			
			return overlay;
			
		}
	}
}();function initializeOverview() {
	
	var map = new GMap2(document.getElementById("map")); 
		map.setCenter(new GLatLng(51.084547,5.67443),9);
		map.setMapType(G_SATELLITE_MAP);
		map.addControl(new google.maps.SmallZoomControl());
		map.addControl(new google.maps.MenuMapTypeControl());
		map.getContainer().style.overflow = "hidden";
		map.addControl(new StreetViewControl());
		
	
	var kml = new GGeoXml("http://www.rlkm.be//uploads/kml/perimeter_KB_2008_aangepast_2009_3_16_13_54.KML?1328357070", function() {
	  if (kml.loadedCorrectly()) {
		//kml.gotoDefaultViewport(map);
	  }
	});
	map.addOverlay(kml);

	var kml = new GGeoXml("http://www.rlkm.be//uploads/kml/perimeter_nphk_2009_3_16_13_43.KML?1328357070", function() {
	  if (kml.loadedCorrectly()) {
		//kml.gotoDefaultViewport(map);
	  }
	});
	map.addOverlay(kml);

	var kml = new GGeoXml("http://www.rlkm.be//uploads/kml/perimeter_MV_2009_3_16_13_48.KML?1328357070", function() {
	  if (kml.loadedCorrectly()) {
		//kml.gotoDefaultViewport(map);
	  }
	});
	map.addOverlay(kml);
	
	GEvent.addListener(map, 'click', mapClick); 	
	
	
	function mapClick(overlay, clickedPoint, overlayPoint) { 
    	if (overlay != null) {
		
			if(overlay.name == 'KB'){
				location.href = "http://www.kempenbroek.be/startplekken";
			}
			else if(overlay.name == 'MV'){
				location.href = "http://www.demaasvallei.be/startplekken";
			}
			else if(overlay.name == 'HK'){
				location.href = "http://www.nationaalpark.be/toegangspoorten";
			}
      	}
   	}  

	
}
google.setOnLoadCallback(initializeOverview);

