/*
de veluwe centered: http://maps.google.com/?ie=UTF8&ll=52.246301,5.800781&spn=0.862673,2.90863&z=9
*/
var map;
var pickMarker;
var pickMap;
var outline;
var overlay;
var groundOverlay;
var loMarker;
var rbMarker;
var mapBounds = new GLatLngBounds(
		new GLatLng(51.93071827931289,5.383300781825), 
		new GLatLng(52.52791908000258,6.245727530625)
);

$(document).ready(function(){
   $(".showHelp").click(function(e){
	   $('.helpContainer').remove();
	   var id = $(this).attr('id');
	   var container_start = "<div class=\"helpContainer\"><div class=\"dialog\"><div class=\"content\"><div class=\"t\"></div>";
	   var close_button = "<div class=\"popup_close\" onclick=\"removePopup();\"></div>";
	   var container_end =   "</div><div class=\"b\"><div></div></div></div></div>";
	   if (id == 'postcodeHelp') {
		   var content = '<img src="/site_files/img/sJIR.php?noBreak=false&maxWidth=270&fontSize=12px&fontColor=ED008C&font=CaeciliaLTStd-BoldItalic.otf&backgroundColor=transparent&angle=0&text=Postcode" border="0" alt="postcode" /><br />'
		   	   + 'We vragen u naar uw postcode en plaats om te kunnen inventariseren waar de deelnemers van de campagne vandaan komen: van de Veluwe, of misschien wel ergens daarbuiten. Uw persoonlijke gegevens worden niet aan derden verstrekt.';
	   } else if (id == 'woonplaatsHelp') {
		   var content = '<img src="/site_files/img/sJIR.php?noBreak=false&maxWidth=270&fontSize=12px&fontColor=ED008C&font=CaeciliaLTStd-BoldItalic.otf&backgroundColor=transparent&angle=0&text=Woonplaats" border="0" alt="woonplaats" /><br />'
		   	   + 'We vragen u naar uw postcode en plaats om te kunnen inventariseren waar de deelnemers van de campagne vandaan komen: van de Veluwe, of misschien wel ergens daarbuiten. Uw persoonlijke gegevens worden niet aan derden verstrekt.';
	   } else if (id == 'fotoPersoonHelp') {
		   var content = '<img src="/site_files/img/sJIR.php?noBreak=false&maxWidth=270&fontSize=12px&fontColor=ED008C&font=CaeciliaLTStd-BoldItalic.otf&backgroundColor=transparent&angle=0&text=Foto" border="0" alt="foto" /><br />'
			   + 'Zorgt u er bij het plaatsen van een foto voor dat deze van goede kwaliteit is, liefst 300 dpi. ';
	   } else if (id == 'fotoHelp') {
		   var content = '<img src="/site_files/img/sJIR.php?noBreak=false&maxWidth=270&fontSize=12px&fontColor=ED008C&font=CaeciliaLTStd-BoldItalic.otf&backgroundColor=transparent&angle=0&text=Foto" border="0" alt="foto" /><br />'
			   + 'Zorgt u er bij het plaatsen van een foto voor dat deze van goede kwaliteit is, liefst 300 dpi. Uw foto kan voor promotionele doeleinden gebruikt worden.';
	   } else if (id == 'filmHelp') {
		   var content = '<img src="/site_files/img/sJIR.php?noBreak=false&maxWidth=270&fontSize=12px&fontColor=ED008C&font=CaeciliaLTStd-BoldItalic.otf&backgroundColor=transparent&angle=0&text=Youtube video" border="0" alt="Youtube video" /><br />'
		   	   + 'Het plaatsen van een video gaat via <a href="http://www.youtube.com" target="_blank">youtube.com</a>. U heeft daarvoor een account nodig. Dit kunt u gemakkelijk op deze website aanmaken. De link van uw Youtube-video kunt u vervolgens in het daarvoor bestemde vakje kopiëren. ';
	   } else if (id == 'emailHelp') {
		   var content = '<img src="/site_files/img/sJIR.php?noBreak=false&maxWidth=270&fontSize=12px&fontColor=ED008C&font=CaeciliaLTStd-BoldItalic.otf&backgroundColor=transparent&angle=0&text=E-mailadres" border="0" alt="E-mailadres" /><br />'
			   + 'Uw e-mailades wordt niet gepubliceerd op de website en/of gebruikt voor commerciële doeleinden';
	   }
	   var message = container_start + close_button + content + container_end;
	   $('#siteContainer').prepend( message );
	   return false;
   }); 
   $('input:checkbox').css('border','0');
})

function removePopup() {
	$('.helpContainer').remove();
}

/* initializeEditMap
 * 
 * This function initializes the google maps view for editing items in CMS.
 * When no long and lat suplied, the map will center on the veluwe with max zoom.
 * When a long and lat suplied, the map will center an it and zoom in on it.
 * 
 */
function initializeEditMap(lengtegraad, breedtegraad, zoomLevel, color) {
	if (GBrowserIsCompatible()) {
		pickMap = new GMap2(document.getElementById("map_canvas"));
		pickMap.setMapType(G_NORMAL_MAP);
    	if (parseInt(lengtegraad) > 0 && parseInt(breedtegraad) > 0) {
    		var center = new GLatLng( lengtegraad, breedtegraad );
    		if (typeof zoomLevel === 'undefined' || !zoomLevel) {
    			pickMap.setCenter( center, 14 );
    		} else {
    			pickMap.setCenter( center, zoomLevel );
    		}
    	} else {
    		var center = new GLatLng(52.246301, 5.800781);
    		if (typeof zoomLevel === 'undefined' || !zoomLevel) {
    			pickMap.setCenter( center, 9 );
	    	} else {
	    		pickMap.setCenter( center, zoomLevel );
			}
    	}
    	pickMap.addControl(new GLargeMapControl3D());
        
    	var punaise = getPunaise( color );
		markerOptions = { icon:punaise, draggable: true };

		pickMarker = new GMarker( center, markerOptions );
		
		GEvent.addListener(pickMarker, "dragend", function(position) {
		    $('#lengtegraad').val( pickMarker.getPoint().lat() );
		    $('#breedtegraad').val( pickMarker.getPoint().lng() );
		});

		pickMap.addOverlay(pickMarker);
	}
}
 
 /* initializeEditProjectMap
  * 
  * This function initializes the google maps view for editing PROJECTEN in CMS.
  * When no long and lat suplied, the map will center on the veluwe with max zoom.
  * When a long and lat suplied, the map will center an it and zoom in on it.
  * 
  */
 function initializeEditProjectMap(lengtegraad, breedtegraad, lo_breedtegraad, lo_lengtegraad, rb_breedtegraad, rb_lengtegraad, overlay) {
	 // outline: 5.3688812255859375, 51.92817783649208
	 //          6.2567138671875, 52.53502004855317
	 if (GBrowserIsCompatible()) {
		 map = new GMap2(document.getElementById("map_canvas"));
		 map.setMapType(G_NORMAL_MAP);
		 if (parseInt(lengtegraad) > 0 && parseInt(breedtegraad) > 0) {
			 var center = new GLatLng( lengtegraad, breedtegraad );
			 map.setCenter( center, 10 );
		 } else {
			 var center = new GLatLng(52.246301, 5.800781);
			 map.setCenter( center, 9 );
		 }
		 if (parseInt(lo_breedtegraad) > 0 && parseInt(lo_lengtegraad) > 0) {
			 var loCenter = new GLatLng(lo_lengtegraad, lo_breedtegraad);
		 } else {
			 var loCenter = center; 
		 }
		 if (parseInt(rb_breedtegraad) > 0 && parseInt(rb_lengtegraad) > 0) {
			 var rbCenter = new GLatLng(rb_lengtegraad, rb_breedtegraad);
		 } else {
			 var rbCenter = center; 
		 }
		 
		 map.addControl(new GLargeMapControl3D());
		 
		 var punaise = getPunaise( 'green' );
		 var punaise_roze = getPunaise( 'pink' );
		 markerOptions = { icon:punaise, draggable: true };
		 markerOptionsRoze = { icon:punaise_roze, draggable: true };
		 		 
		 var centerMarker = new GMarker( center, markerOptions );
		 GEvent.addListener(centerMarker, "dragend", function(position) {
			 $('#lengtegraad').val( centerMarker.getPoint().lat() ); $('#breedtegraad').val( centerMarker.getPoint().lng() );
		 });
		 map.addOverlay(centerMarker);
		 
		 loMarker = new GMarker( loCenter, markerOptionsRoze );
		 GEvent.addListener(loMarker, "dragend", function(position) {
			 $('#lo_lengtegraad').val( loMarker.getPoint().lat() ); $('#lo_breedtegraad').val( loMarker.getPoint().lng() );
			 updateGroundOverlay(overlay);
		 });
		 map.addOverlay(loMarker);
		 
		 rbMarker = new GMarker( rbCenter, markerOptionsRoze );
		 GEvent.addListener(rbMarker, "dragend", function(position) {
			 $('#rb_lengtegraad').val( rbMarker.getPoint().lat() ); $('#rb_breedtegraad').val( rbMarker.getPoint().lng() );
			 updateGroundOverlay(overlay);
		 });
		 map.addOverlay(rbMarker);
		 
		 $('#lo_lengtegraad').val( loMarker.getPoint().lat() ); $('#lo_breedtegraad').val( loMarker.getPoint().lng() );
		 $('#rb_lengtegraad').val( rbMarker.getPoint().lat() ); $('#rb_breedtegraad').val( rbMarker.getPoint().lng() );
		 
		 var boundaries = new GLatLngBounds(new GLatLng(51.92817783649208,5.3688812255859375),new GLatLng(52.53502004855317, 6.2567138671875));
		 var outline = new GGroundOverlay("/site_files/img/kaart_outline.png", boundaries);
		 map.addOverlay(outline);

		 groundOverlay = new GGroundOverlay("/site_files/img/"+overlay,new GLatLngBounds(loMarker.getPoint(), rbMarker.getPoint()));
	 	 map.addOverlay(groundOverlay);
	 }
 }

function updateGroundOverlay(overlay) {
	if (groundOverlay) {
	    map.removeOverlay(groundOverlay);
	}
	groundOverlay = new GGroundOverlay ("/site_files/img/"+overlay,new GLatLngBounds(loMarker.getPoint(), rbMarker.getPoint()) );
	map.addOverlay(groundOverlay);
} 
  
function initializeViewMap(lengtegraad, breedtegraad) {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map_canvas"));
		map.setMapType(G_NORMAL_MAP);
    	map.addControl(new GSmallMapControl());
    	map.addControl(new GMapTypeControl());
    	if (parseInt(lengtegraad) > 0 && parseInt(breedtegraad) > 0) {
    		var center = new GLatLng( lengtegraad, breedtegraad );
    		map.setCenter( center, 9 );
    	} else {
    		var center = new GLatLng(52.246301, 5.800781);
    		map.setCenter( center, 9 );
    	}        
        var punaise = getPunaise( 'pink' );
		markerOptions = { icon:punaise, draggable: false };
		var marker = new GMarker( center, markerOptions );
		map.addOverlay(marker);
	}
}

function initializeProjectViewMap(lengtegraad, breedtegraad, lo_lengtegraad, lo_breedtegraad, rb_lengtegraad, rb_breedtegraad, overlay) {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map_canvas"));
    	map.setMapType(G_NORMAL_MAP);
    	map.addControl(new GSmallMapControl());
    	map.addControl(new GMapTypeControl());
    	if (parseInt(lengtegraad) > 0 && parseInt(breedtegraad) > 0) {
    		var center = new GLatLng( lengtegraad, breedtegraad );
    		map.setCenter( center, 10 );
    	} else {
    		var center = new GLatLng(52.246301, 5.800781);
    		map.setCenter( center, 9 );
    	}        
        var punaise = getPunaise( 'green' );
		markerOptions = { icon:punaise, draggable: false };
		var marker = new GMarker( center, markerOptions );
		map.addOverlay(marker);
		groundOverlay = new GGroundOverlay ("/site_files/img/"+overlay,new GLatLngBounds(
				new GLatLng( lo_lengtegraad, lo_breedtegraad ), 
				new GLatLng( rb_lengtegraad, rb_breedtegraad )
	    ));
		map.addOverlay(groundOverlay);
	}
}
function onMapMoveStep()
{
	 var msg = 'RB: '+mapBounds.getNorthEast() + "\n";
	 msg = msg + 'LO: '+mapBounds.getSouthWest() + "\n";
	 msg = msg + 'RB KAART: '+map.getBounds().getNorthEast() + "\n";
	 msg = msg + 'LO KAART: '+map.getBounds().getSouthWest() + "\n";
	 msg = msg + 'MIDDEN: '+map.getCenter();
     $('#debug').val( msg );
	 if (mapBounds.contains(map.getCenter()) == false)
     {
         var x = map.getCenter().lng();
         var y = map.getCenter().lat();
         
         var maxX = mapBounds.getNorthEast().lng();
         var maxY = mapBounds.getNorthEast().lat();
         var minX = mapBounds.getSouthWest().lng();
         var minY = mapBounds.getSouthWest().lat();
         
         var curMaxX = map.getBounds().getNorthEast().lng();
         var curMaxY = map.getBounds().getNorthEast().lat();
         var curMinX = map.getBounds().getSouthWest().lng();
         var curMinY = map.getBounds().getSouthWest().lat();

         if (x < minX) { x = minX; }
         if (x > maxX) { x = maxX; }
         if (y < minY) { y = minY; }
         if (y > maxY) { y = maxY; }

         map.setCenter(new GLatLng(y, x));
     }
} 
function initializePickMap( draggable, lengte, breedte ) {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map_canvas"));
		
		map.setMapType(G_NORMAL_MAP);
		if (breedte != '' && lengte != '') {
			var center = new GLatLng(lengte, breedte);
			map.setCenter( center, 16 );
		} else {
			var center = new GLatLng(52.246301, 5.800781);
			map.setCenter( center, 9 );
		}
		map.addControl(new GLargeMapControl3D());
		map.addControl(new GMapTypeControl());
		
		var punaise = getPunaise( 'pink' );
        markerOptions = { icon:punaise, draggable: draggable };
		var marker = new GMarker( center, markerOptions );
		pickMarker = marker;
		pickMap = map;
		var geocoder = new GClientGeocoder();
		GEvent.addListener(marker, "drag", function() { snapMarkerToBoundary(); });
		GEvent.addListener(marker, "dragend", function(position) {
			$('#lengtegraad').val( marker.getPoint().lat() );
			$('#breedtegraad').val( marker.getPoint().lng() );
			geocoder.getLocations(position, function(addresses) {
				if(addresses.Status.code == 200 && !!addresses.Placemark) {
				    var address = addresses.Placemark[0];
				    $('#plaats').val( address.AddressDetails.Country.AdministrativeArea.Locality.LocalityName );
				    if (typeof address.AddressDetails.Country.AdministrativeArea.Locality.DependentLocality === 'object' && typeof address.AddressDetails.Country.AdministrativeArea.Locality.DependentLocality.Thoroughfare === 'object') {
				    	$('#adres').val( address.AddressDetails.Country.AdministrativeArea.Locality.DependentLocality.Thoroughfare.ThoroughfareName );
				    } else {
				    	$('#adres').val( '' );
				    }
				}
			});
		});
		map.addOverlay(marker);
	}
}
function isWithinBoundaries(x, y) {
	var maxX = mapBounds.getNorthEast().lng();
	var maxY = mapBounds.getNorthEast().lat();
	var minX = mapBounds.getSouthWest().lng();
	var minY = mapBounds.getSouthWest().lat();
	withinBoundaries = true;
	if (x < minX) { x = minX; withinBoundaries = false; }
	if (x > maxX) { x = maxX; withinBoundaries = false; }
	if (y < minY) { y = minY; withinBoundaries = false; }
	if (y > maxY) { y = maxY; withinBoundaries = false; }
	return withinBoundaries;
}
function snapMarkerToBoundary() {
	var x = pickMarker.getPoint().lng();
	var y = pickMarker.getPoint().lat(); 
	
	var maxX = mapBounds.getNorthEast().lng();
	var maxY = mapBounds.getNorthEast().lat();
	var minX = mapBounds.getSouthWest().lng();
	var minY = mapBounds.getSouthWest().lat();
	
	if (x < minX) { x = minX;  }
	if (x > maxX) { x = maxX; }
	if (y < minY) { y = minY; }
	if (y > maxY) { y = maxY; }
	
	pickMarker.setLatLng(new GLatLng(y, x));
}
function findAddress() {
	var plaats = $('#plaats').val();
	var adres = $('#adres').val();
	if (plaats != '' || (adres != '' && plaats != '')) {
		var geocoder = new GClientGeocoder();
		geocoder.getLocations(adres+','+plaats+',nl', function(response) {
			if (response && !!response.Placemark) {
				var accuracy = response.Placemark[0].AddressDetails.Accuracy;
			    var place = response.Placemark[0];
			    var point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
			    pickMarker.setLatLng(point); 
			    
			    var withinBoundaries = isWithinBoundaries( pickMarker.getPoint().lng(), pickMarker.getPoint().lat() );
			    if (withinBoundaries) {
				    pickMap.setCenter(point, 10 + parseInt(accuracy) );
				    $('#lengtegraad').val( place.Point.coordinates[1] );
					$('#breedtegraad').val( place.Point.coordinates[0] );
			    } else {
			    	$('#plaats').val('');
			    	$('#plaats').focus();
			    	point = pickMap.getCenter();
				    pickMarker.setLatLng(point); 
			    	alert('De ingevoerde locatie ligt niet op de Veluwe.')
			    }
			}
		});
	}
}

function initializeProjectenMap() { 
	if (GBrowserIsCompatible()) {    	
    	map = new GMap2(document.getElementById("map_canvas"));
    	map.setMapType(G_NORMAL_MAP);
		var center = new GLatLng(52.216301, 5.800781);
		map.setCenter(center, 10);
    	map.addControl(new GLargeMapControl3D());
    	map.addControl(new GMapTypeControl());

        var punaise = getPunaise( 'green' );
		markerOptions = { icon:punaise };
	    
		$.getJSON('/site_files/custom_modules/projecten/ajax/getAllProjecten.php', function( markerObjects ){
			for (var i = 0; i < markerObjects.length; i++) {
				var boundaries = new GLatLngBounds(
						new GLatLng(markerObjects[i].overlay_lo_lengtegraad, markerObjects[i].overlay_lo_breedtegraad),
						new GLatLng(markerObjects[i].overlay_rb_lengtegraad, markerObjects[i].overlay_rb_breedtegraad)
				);
				var marker = addProjectMarkerToMap( 
						map, 
						new GLatLng(markerObjects[i].lengtegraad, markerObjects[i].breedtegraad), markerObjects[i].id,  
						markerOptions,
						boundaries,
						"/site_files/img/"+markerObjects[i].gebied
				);	    
			}
		});
    }
}

/* initializeFrontendMap
 * 
 * This function initializes the map for the website frontend.
 * It also renders all markers on the map.
 * 
 */
function initializeFrontendMap( loadMapFromCookie ) {
    if (GBrowserIsCompatible()) {    	
    	map = new GMap2(document.getElementById("map_canvas"));
    	$('#siteContainer').prepend('<div class="loadingBar"><img src="/site_files/img/loading-text.gif" border="0" alt="de mooie plekjes worden geladen..." /></div>');
    	map.setMapType(G_NORMAL_MAP);
    	if (loadMapFromCookie == 'true' && $.cookie('MooiMijnPlek_MapPositionLat') != '' && $.cookie('MooiMijnPlek_MapPositionLng') != '') {	
    		var center = new GLatLng($.cookie('MooiMijnPlek_MapPositionLat'),$.cookie('MooiMijnPlek_MapPositionLng'));
    		var zoom = parseInt($.cookie('MooiMijnPlek_MapZoom'))
    		map.setCenter(center, zoom );
    	} else {
    		var center = new GLatLng(52.246301, 5.800781);
    		map.setCenter(center, 10);
    	}
    	map.addControl(new GLargeMapControl3D());
    	map.addControl(new GMapTypeControl());
    	//map.enableScrollWheelZoom();
    	
    	var styles = [{
            url: '/site_files/img/kaart_punaise_multiple.png',
            height: 49,
            width: 43,
            opt_anchor: [8, 29],
            count_visible: 'false',
            opt_textColor: '#ED008C'
          }];

    	GEvent.addListener(map, 'moveend', function(){
    		var center = map.getCenter(); 
    		var zoom = map.getZoom();
    		$.cookie('MooiMijnPlek_MapPositionLat', center.lat());
    		$.cookie('MooiMijnPlek_MapPositionLng', center.lng());
    		$.cookie('MooiMijnPlek_MapZoom', zoom);
    	});
    	
        var punaise = getPunaise( 'pink' );
		markerOptions = { icon:punaise };

		$.getJSON('/site_files/custom_modules/inzendingen/ajax/getAllInzendingen.php', function( markerObjects ){
			var markers = []
			for (var i = 0; i < markerObjects.length; i++) {
				var marker = addMarkerToMap( map, new GLatLng(markerObjects[i].lengtegraad, markerObjects[i].breedtegraad), markerObjects[i].id,  markerOptions, false );
				markers.push(marker);
			}
			var markerCluster = new MarkerClusterer(map, markers, { styles:styles });
			$('.loadingBar').remove();
		});
		
    }
}

function addProjectMarkerToMap ( map, position, project_id, markerOptions, boundaries, gebied ) {
	var outline = new GGroundOverlay( gebied, boundaries );
	var marker = new GMarker( position, markerOptions );
	GEvent.addListener(marker, 'click', function(){
		$.getJSON('/site_files/custom_modules/projecten/ajax/getProject.php', { id: project_id }, function(data){
			content = getContent(data);
			marker.openExtInfoWindow( map, "gm_popup", content, {beakOffset: 0} );
		})
	});
	map.addOverlay(marker);
	map.addOverlay(outline);
}

function getContent(data) {
	var fotoStr = '';
	if (data.image_1_filename != null) {
		var width = 268,
			height = parseInt(268 * data.fotoRatio);
		fotoStr = "<a href=\"" + data.link + "\"><img src=\"/site_files/img/thumbs/project_maps/" + data.image_1_filename + "\" border=\"0\" alt=\"foto\" width=\""+width+"\" height=\""+height+"\" class=\"popup_foto\" /></a>";
	}
	var content =   "<div class=\"dialog\"><div class=\"content\"><div class=\"t\"></div>" +
					"<span class=\"popup_titel\"><a href=\"" + data.link + "\"><img src=\"/site_files/img/sJIR.php?noBreak=false&maxWidth=270&fontSize=12px&fontColor=ED008C&font=CaeciliaLTStd-BoldItalic.otf&backgroundColor=transparent&angle=0&text=" + data.titel + "\" border=\"0\" alt=\"" + data.titel + "\" /></a></span><br />" +
					"<span class=\"popup_naam\">" + data.subtitel + "</span><br />" +
					fotoStr +
					(!!data.short_text ? '<p class="popup_text">' + data.short_text + '</p>' : '') +
					"<a href=\"" + data.link + "\" class=\"popup_bekijkmeer\"><img src=\"/site_files/img/button_bekijk_meer.gif\" border=\"0\" alt=\"bekijk meer\" /></a>" + 
					"</div><div class=\"b\"><div></div></div></div>";
	return content;
}
 
function addMarkerToMap( map, position, inzending_id, markerOptions, simpleView ) {
	var marker = new GMarker(position, markerOptions)
	GEvent.addListener(marker, 'click', function(){
		$.getJSON('/site_files/custom_modules/inzendingen/ajax/getInzending.php', { id: inzending_id }, function(data){
			var fotoStr = '';
			if (data.foto != '') {
				var width = 268,
					height = parseInt(268 * data.fotoRatio);
				fotoStr = "<a href=\"" + data.link + "\"><img src=\"/site_files/img/thumbs/maps/" + data.foto + "\" border=\"0\" alt=\"foto\" width=\""+width+"\" height=\""+height+"\" class=\"popup_foto\" /></a>";
			}
			var scorePercentage = (100/5)*data.score;
			if (simpleView == true) {
				var content = "<div class=\"dialog\"><div class=\"content\"><div class=\"t\"></div>" +
				"<span class=\"popup_titel\">" +
				"<a href=\"" + data.link + "\">" + 
				"<img src=\"/site_files/img/sJIR.php?maxWidth=270&backgroundColor=FFFFFF&text=" + data.titelEscaped + "\" border=\"0\" alt=\"" + data.titel + "\" /></a><br />" +
				"<a href=\"" + data.link + "\" class=\"popup_bekijkmeer\"><img src=\"/site_files/img/button_bekijk_meer.gif\" border=\"0\" alt=\"bekijk meer\" /></a>" + 
				"</div><div class=\"b\"><div></div></div></div>";
			} else {
				var content = "<div class=\"dialog\"><div class=\"content\"><div class=\"t\"></div>" +
				"<span class=\"popup_titel\">" +
				"<a href=\"" + data.link + "\">" + 
				"<img src=\"/site_files/img/sJIR.php?maxWidth=270&backgroundColor=FFFFFF&text=" + data.titelEscaped + "\" border=\"0\" alt=\"" + data.titel + "\" /></span><br />" +
				"</a>" + 
				(!!data.user.naam ? "<span class=\"popup_naam\">" + data.user.naam + "</span><br />" : '') +
				"<span class=\"popup_rating\">" + renderScore(scorePercentage) + "</span>" +
				fotoStr +
				"<p class=\"popup_text\">" + data.short_text + "...</p>" +
				"<a href=\"" + data.link + "\" class=\"popup_bekijkmeer\"><img src=\"/site_files/img/button_bekijk_meer.gif\" border=\"0\" alt=\"bekijk meer\" /></a>" + 
				"</div><div class=\"b\"><div></div></div></div>";
			}
			marker.openExtInfoWindow( map, "gm_popup", content, {beakOffset: 0}); 
		});
    });
	return marker;
}

function hideWelcome() {
	$('.removeMe').hide();
	$.cookie('hideWelcome', 'true', { path: '/', expires: 1 });
	return false;
}

function hideWelcomeProjecten() {
	$('.removeMe').hide();
	$.cookie('hideWelcomeProjecten', 'true', { path: '/', expires: 1 });
	return false;
}


function renderScore( percentage ) {
	if (percentage > 0) {
		var code = '<div class="scoreContainer"><div class="scoreFillment" style="width: '+ Math.round(percentage) +'%;"></div></div>';
	} else {
		var code = '<div class="scoreContainerGrey"></div>';		
	}
	return code;
}

function getPunaise( color ) {
	var punaise = new GIcon(G_DEFAULT_ICON);
	if (color == 'green') {
		punaise.image = "/site_files/img/punaise_groen.png";
	} else {
		punaise.image = "/site_files/img/kaart_punaise.png";
	}
    punaise.shadow = "/site_files/img/kaart_punaise_schaduw.png";
    punaise.iconSize = new GSize(32, 50);
    punaise.imageMap = new Array(13,6, 10,21, 3,24, 4,37, 8,39, 5,50, 9,50, 14,41, 25,38, 26,38, 26,28, 23,35, 31,9);
    punaise.shadowSize = new GSize(51, 51);
    punaise.iconAnchor = new GPoint(5, 49);
    punaise.infoWindowAnchor = new GPoint(22, 25);
    punaise.maxHeight = 20;
    return punaise;
}

function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') {
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}