// JavaScript Document
var map;									// globale variabele voor google map-object
var uitgelicht		= null;
var showUitgelicht	= false;				// moet selectie van beheerder (uitgelicht) getoond worden, of seledctie van user?
var clicked			= false;



// start aanmaak icoontjes...
// namen moeten gegenereerd worden ofzo, dit is natuurlijk een ramp...
// afmetingen van plaatjes zijn echter wel allemaal verschillend en naamgeving 
// van bestanden komt niet 100% overeen met namen in database
var iconProjectenLerenWerken 				= new GIcon(G_DEFAULT_ICON);
iconProjectenLerenWerken.image 				= "art/graphics/ico_map_projecten_jongeren.png";
iconProjectenLerenWerken.iconSize	 		= new GSize(39, 31);
iconProjectenLerenWerken.shadow				= "";

var iconProjectenDagbesteding 				= new GIcon(G_DEFAULT_ICON);
iconProjectenDagbesteding.image 			= "art/graphics/ico_map_projecten_dagbested.png";
iconProjectenDagbesteding.iconSize	 		= new GSize(43, 30);
iconProjectenDagbesteding.shadow			= "";

var iconEersteOpvang 						= new GIcon(G_DEFAULT_ICON);
iconEersteOpvang.image 						= "art/graphics/ico_map_eerste_opvang_small.png";
iconEersteOpvang.iconSize	 				= new GSize(24, 26);
iconEersteOpvang.shadow						= "";

var iconOpvangBegeleid 						= new GIcon(G_DEFAULT_ICON);
iconOpvangBegeleid.image 					= "art/graphics/ico_map_opvang_begeleid_med.png";
iconOpvangBegeleid.iconSize	 				= new GSize(38, 34);
iconOpvangBegeleid.shadow					= "";

var iconOpvangLerenWerken 					= new GIcon(G_DEFAULT_ICON);
iconOpvangLerenWerken.image 				= "art/graphics/ico_map_opvang_leren_med.png";
iconOpvangLerenWerken.iconSize	 			= new GSize(47, 34);
iconOpvangLerenWerken.shadow				= "";

// start personen
var iconGroep								= new GIcon(G_DEFAULT_ICON);
iconGroep.image 							= "art/graphics/ico_map_group.png";
iconGroep.iconSize	 						= new GSize(35, 33);
iconGroep.shadow							= "";

var iconPersonenHulpverlenerMan1			= new GIcon(G_DEFAULT_ICON);
iconPersonenHulpverlenerMan1.image 			= "art/graphics/man1_hulpverlener_klein.png";
iconPersonenHulpverlenerMan1.iconSize	 	= new GSize(19, 56);
iconPersonenHulpverlenerMan1.shadow			= "";

var iconPersonenHulpverlenerMan2			= new GIcon(G_DEFAULT_ICON);
iconPersonenHulpverlenerMan2.image 			= "art/graphics/man2_hulpverlener_klein.png";
iconPersonenHulpverlenerMan2.iconSize	 	= new GSize(24, 54);
iconPersonenHulpverlenerMan2.shadow			= "";

var iconPersonenHulpverlenerMan3			= new GIcon(G_DEFAULT_ICON);
iconPersonenHulpverlenerMan3.image 			= "art/graphics/man3_hulpverlener_klein.png";
iconPersonenHulpverlenerMan3.iconSize	 	= new GSize(20, 54);
iconPersonenHulpverlenerMan3.shadow			= "";

var iconPersonenGemeenteMan1				= new GIcon(G_DEFAULT_ICON);
iconPersonenGemeenteMan1.image 				= "art/graphics/man1_gemeente_klein.png";
iconPersonenGemeenteMan1.iconSize	 		= new GSize(19, 56);
iconPersonenGemeenteMan1.shadow				= "";

var iconPersonenGemeenteMan2				= new GIcon(G_DEFAULT_ICON);
iconPersonenGemeenteMan2.image 				= "art/graphics/man2_gemeente_klein.png";
iconPersonenGemeenteMan2.iconSize		 	= new GSize(24, 54);
iconPersonenGemeenteMan2.shadow				= "";

var iconPersonenGemeenteMan3				= new GIcon(G_DEFAULT_ICON);
iconPersonenGemeenteMan3.image 				= "art/graphics/man3_gemeente_klein.png";
iconPersonenGemeenteMan3.iconSize	 		= new GSize(20, 54);
iconPersonenGemeenteMan3.shadow				= "";

var iconPersonenCorporatieMan1				= new GIcon(G_DEFAULT_ICON);
iconPersonenCorporatieMan1.image 			= "art/graphics/man1_woningcorporatie_klein.png";
iconPersonenCorporatieMan1.iconSize	 		= new GSize(19, 56);
iconPersonenCorporatieMan1.shadow			= "";

var iconPersonenCorporatieMan2				= new GIcon(G_DEFAULT_ICON);
iconPersonenCorporatieMan2.image 			= "art/graphics/man2_woningcorporatie_klein.png";
iconPersonenCorporatieMan2.iconSize		 	= new GSize(24, 54);
iconPersonenCorporatieMan2.shadow			= "";

var iconPersonenCorporatieMan3				= new GIcon(G_DEFAULT_ICON);
iconPersonenCorporatieMan3.image 			= "art/graphics/man3_woningcorporatie_klein.png";
iconPersonenCorporatieMan3.iconSize	 		= new GSize(20, 54);
iconPersonenCorporatieMan3.shadow			= "";

var iconPersonenOnderwijsMan1				= new GIcon(G_DEFAULT_ICON);
iconPersonenOnderwijsMan1.image 			= "art/graphics/man1_school_klein.png";
iconPersonenOnderwijsMan1.iconSize	 		= new GSize(19, 56);
iconPersonenOnderwijsMan1.shadow			= "";

var iconPersonenOnderwijsMan2				= new GIcon(G_DEFAULT_ICON);
iconPersonenOnderwijsMan2.image 			= "art/graphics/man2_school_klein.png";
iconPersonenOnderwijsMan2.iconSize		 	= new GSize(24, 54);
iconPersonenOnderwijsMan2.shadow			= "";

var iconPersonenOnderwijsMan3				= new GIcon(G_DEFAULT_ICON);
iconPersonenOnderwijsMan3.image 			= "art/graphics/man3_school_klein.png";
iconPersonenOnderwijsMan3.iconSize	 		= new GSize(20, 54);
iconPersonenOnderwijsMan3.shadow			= "";

var iconPersonenGeinteresseerdMan1			= new GIcon(G_DEFAULT_ICON);
iconPersonenGeinteresseerdMan1.image 		= "art/graphics/man1_geinteresseerd_klein.png";
iconPersonenGeinteresseerdMan1.iconSize	 	= new GSize(19, 56);
iconPersonenGeinteresseerdMan1.shadow		= "";

var iconPersonenGeinteresseerdMan2			= new GIcon(G_DEFAULT_ICON);
iconPersonenGeinteresseerdMan2.image 		= "art/graphics/man2_geinteresseerd_klein.png";
iconPersonenGeinteresseerdMan2.iconSize		= new GSize(24, 54);
iconPersonenGeinteresseerdMan2.shadow		= "";

var iconPersonenGeinteresseerdMan3			= new GIcon(G_DEFAULT_ICON);
iconPersonenGeinteresseerdMan3.image 		= "art/graphics/man3_geinteresseerd_klein.png";
iconPersonenGeinteresseerdMan3.iconSize	 	= new GSize(20, 54);
iconPersonenGeinteresseerdMan3.shadow		= "";

var iconPersonenSponsorMan1					= new GIcon(G_DEFAULT_ICON);
iconPersonenSponsorMan1.image 				= "art/graphics/man1_sponsor_klein.png";
iconPersonenSponsorMan1.iconSize	 		= new GSize(19, 56);
iconPersonenSponsorMan1.shadow				= "";

var iconPersonenSponsorMan2					= new GIcon(G_DEFAULT_ICON);
iconPersonenSponsorMan2.image 				= "art/graphics/man2_sponsor_klein.png";
iconPersonenSponsorMan2.iconSize			= new GSize(24, 54);
iconPersonenSponsorMan2.shadow				= "";

var iconPersonenSponsorMan3					= new GIcon(G_DEFAULT_ICON);
iconPersonenSponsorMan3.image 				= "art/graphics/man3_sponsor_klein.png";
iconPersonenSponsorMan3.iconSize	 		= new GSize(20, 54);
iconPersonenSponsorMan3.shadow				= "";

// vrouw
var iconPersonenHulpverlenerVrouw1			= new GIcon(G_DEFAULT_ICON);
iconPersonenHulpverlenerVrouw1.image 		= "art/graphics/vrouw1_hulpverlener_klein.png";
iconPersonenHulpverlenerVrouw1.iconSize	 	= new GSize(22, 55);
iconPersonenHulpverlenerVrouw1.shadow		= "";

var iconPersonenHulpverlenerVrouw2			= new GIcon(G_DEFAULT_ICON);
iconPersonenHulpverlenerVrouw2.image 		= "art/graphics/vrouw2_hulpverlener_klein.png";
iconPersonenHulpverlenerVrouw2.iconSize	 	= new GSize(18, 54);
iconPersonenHulpverlenerVrouw2.shadow		= "";

var iconPersonenHulpverlenerVrouw3			= new GIcon(G_DEFAULT_ICON);
iconPersonenHulpverlenerVrouw3.image 		= "art/graphics/vrouw3_hulpverlener_klein.png";
iconPersonenHulpverlenerVrouw3.iconSize	 	= new GSize(18, 54);
iconPersonenHulpverlenerVrouw3.shadow		= "";

var iconPersonenGemeenteVrouw1				= new GIcon(G_DEFAULT_ICON);
iconPersonenGemeenteVrouw1.image 			= "art/graphics/vrouw1_gemeente_klein.png";
iconPersonenGemeenteVrouw1.iconSize		 	= new GSize(22, 55);
iconPersonenGemeenteVrouw1.shadow			= "";

var iconPersonenGemeenteVrouw2				= new GIcon(G_DEFAULT_ICON);
iconPersonenGemeenteVrouw2.image 			= "art/graphics/vrouw2_gemeente_klein.png";
iconPersonenGemeenteVrouw2.iconSize		 	= new GSize(18, 54);
iconPersonenGemeenteVrouw2.shadow			= "";

var iconPersonenGemeenteVrouw3				= new GIcon(G_DEFAULT_ICON);
iconPersonenGemeenteVrouw3.image 			= "art/graphics/vrouw3_gemeente_klein.png";
iconPersonenGemeenteVrouw3.iconSize		 	= new GSize(18, 54);
iconPersonenGemeenteVrouw3.shadow			= "";

var iconPersonenCorporatieVrouw1			= new GIcon(G_DEFAULT_ICON);
iconPersonenCorporatieVrouw1.image 			= "art/graphics/vrouw1_woningcorporatie_klein.png";
iconPersonenCorporatieVrouw1.iconSize		= new GSize(22, 55);
iconPersonenCorporatieVrouw1.shadow			= "";

var iconPersonenCorporatieVrouw2			= new GIcon(G_DEFAULT_ICON);
iconPersonenCorporatieVrouw2.image 			= "art/graphics/vrouw2_woningcorporatie_klein.png";
iconPersonenCorporatieVrouw2.iconSize		= new GSize(18, 54);
iconPersonenCorporatieVrouw2.shadow			= "";

var iconPersonenCorporatieVrouw3			= new GIcon(G_DEFAULT_ICON);
iconPersonenCorporatieVrouw3.image 			= "art/graphics/vrouw3_woningcorporatie_klein.png";
iconPersonenCorporatieVrouw3.iconSize		 = new GSize(18, 54);
iconPersonenCorporatieVrouw3.shadow			= "";

var iconPersonenOnderwijsVrouw1				= new GIcon(G_DEFAULT_ICON);
iconPersonenOnderwijsVrouw1.image 			= "art/graphics/vrouw1_school_klein.png";
iconPersonenOnderwijsVrouw1.iconSize		= new GSize(22, 55);
iconPersonenOnderwijsVrouw1.shadow			= "";

var iconPersonenOnderwijsVrouw2				= new GIcon(G_DEFAULT_ICON);
iconPersonenOnderwijsVrouw2.image 			= "art/graphics/vrouw2_school_klein.png";
iconPersonenOnderwijsVrouw2.iconSize		= new GSize(18, 54);
iconPersonenOnderwijsVrouw2.shadow			= "";

var iconPersonenOnderwijsVrouw3				= new GIcon(G_DEFAULT_ICON);
iconPersonenOnderwijsVrouw3.image 			= "art/graphics/vrouw3_school_klein.png";
iconPersonenOnderwijsVrouw3.iconSize		= new GSize(18, 54);
iconPersonenOnderwijsVrouw3.shadow			= "";

var iconPersonenGeinteresseerdVrouw1		= new GIcon(G_DEFAULT_ICON);
iconPersonenGeinteresseerdVrouw1.image 		= "art/graphics/vrouw1_geinteresseerd_klein.png";
iconPersonenGeinteresseerdVrouw1.iconSize	= new GSize(22, 55);
iconPersonenGeinteresseerdVrouw1.shadow		= "";

var iconPersonenGeinteresseerdVrouw2		= new GIcon(G_DEFAULT_ICON);
iconPersonenGeinteresseerdVrouw2.image 		= "art/graphics/vrouw2_geinteresseerd_klein.png";
iconPersonenGeinteresseerdVrouw2.iconSize	= new GSize(18, 54);
iconPersonenGeinteresseerdVrouw2.shadow		= "";

var iconPersonenGeinteresseerdVrouw3		= new GIcon(G_DEFAULT_ICON);
iconPersonenGeinteresseerdVrouw3.image 		= "art/graphics/vrouw3_geinteresseerd_klein.png";
iconPersonenGeinteresseerdVrouw3.iconSize	= new GSize(18, 54);
iconPersonenGeinteresseerdVrouw3.shadow		= "";

var iconPersonenSponsorVrouw1				= new GIcon(G_DEFAULT_ICON);
iconPersonenSponsorVrouw1.image 			= "art/graphics/vrouw1_sponsor_klein.png";
iconPersonenSponsorVrouw1.iconSize			= new GSize(22, 55);
iconPersonenSponsorVrouw1.shadow			= "";

var iconPersonenSponsorVrouw2				= new GIcon(G_DEFAULT_ICON);
iconPersonenSponsorVrouw2.image 			= "art/graphics/vrouw2_sponsor_klein.png";
iconPersonenSponsorVrouw2.iconSize			= new GSize(18, 54);
iconPersonenSponsorVrouw2.shadow			= "";

var iconPersonenSponsorVrouw3				= new GIcon(G_DEFAULT_ICON);
iconPersonenSponsorVrouw3.image 			= "art/graphics/vrouw3_sponsor_klein.png";
iconPersonenSponsorVrouw3.iconSize			= new GSize(18, 54);
iconPersonenSponsorVrouw3.shadow			= "";

var iconPersonenJongere 					= new GIcon(G_DEFAULT_ICON);
iconPersonenJongere.image 					= "art/graphics/ico_map_jongere.png";
iconPersonenJongere.iconSize	 			= new GSize(47, 32);
iconPersonenJongere.shadow					= "";

// start iconen groot

var iconProjectenLerenWerkenGroot			= new GIcon(G_DEFAULT_ICON);
iconProjectenLerenWerkenGroot.image 		= "art/graphics/ico_map_projecten_jo_big.png";
iconProjectenLerenWerkenGroot.iconSize	 	= new GSize(88, 63);
iconProjectenLerenWerkenGroot.shadow		= "";

var iconProjectenDagbestedingGroot 			= new GIcon(G_DEFAULT_ICON);
iconProjectenDagbestedingGroot.image 		= "art/graphics/ico_map_projecten_dag_big.png";
iconProjectenDagbestedingGroot.iconSize	 	= new GSize(88, 63);
iconProjectenDagbestedingGroot.shadow		= "";

var iconEersteOpvangGroot					= new GIcon(G_DEFAULT_ICON);
iconEersteOpvangGroot.image 				= "art/graphics/ico_map_eerste_opvang.png";
iconEersteOpvangGroot.iconSize	 			= new GSize(48, 52);
iconEersteOpvangGroot.shadow				= "";

var iconOpvangBegeleidGroot					= new GIcon(G_DEFAULT_ICON);
iconOpvangBegeleidGroot.image 				= "art/graphics/ico_map_opvang_begeleid.png";
iconOpvangBegeleidGroot.iconSize	 		= new GSize(48, 52);
iconOpvangBegeleidGroot.shadow				= "";

var iconOpvangLerenWerkenGroot				= new GIcon(G_DEFAULT_ICON);
iconOpvangLerenWerkenGroot.image 			= "art/graphics/ico_map_opvang_leren.png";
iconOpvangLerenWerkenGroot.iconSize	 		= new GSize(48, 52);
iconOpvangLerenWerkenGroot.shadow			= "";




function getNewMarkers(bounds, layers) 
{
	
	/*
		functie om nieuwe markers op te halen die binnen bounding box van kaart vallen
		argumenten: boundingBox, en een array met booleans om aan te geven welke 
		markers er getoond moeten worden (opvang, projecten, personen, e.d.)
	*/
	
	
	//alert(clicked);
	
	// geef weer dat nieuwe kaartdata geladen wordt.
	if (document.getElementById("loading"))
	{
		document.getElementById("loading").style.display = 'block';
	}
	
    // maak string aan die meegegeven kan worden argumentenlijst van url, met daarin bounding box van kaart
	var sw 										= bounds.getSouthWest();
	var ne 										= bounds.getNorthEast();
	var boundsString 							= sw.lng() + "," + sw.lat() + "," + ne.lng() + "," + ne.lat();
	
	// maak ook string aan met voor iedere layer een 1 of een 0....
	var layerString								= "";
	// en hou bij of alle lagen toevallig uit staan
	var allesuit								= true;
	
	for(var i = 0; i < layers.length; i++)
	{
		if(layers[i])
		{
			allesuit							= false;
			layerString							+= "1";
		}
		else
		{
			layerString							+= "0";
		}
	}
	
	if(allesuit)
	{	
		// alle lagen staan uit, laat selectie van beheerder zien
		showUitgelicht							= true;
	}
	else
	{
		showUitgelicht							= false;
	}
	
	
	
	/* haal XML van groepen en personen op */
	// moet selectie van beheerder getoond worden, of selectie van user?
	if(showUitgelicht)
	{
		// geef tekst 'uitgelicht' weer als ie er nog niet stond
		if(uitgelicht == null)
		{
			uitgelicht = new GControl(true);
	
			uitgelicht.initialize = function(map) 
			{
				var container = document.createElement("div");
				container.innerHTML 	= '<img src="http://www.versie1.com/zwerfnet/art/graphics/uitgelicht.png" border="0">';
				container.style.width	= '83px';
				container.style.height	= '20px';
				
				map.getContainer().appendChild(container);
				return container;
			};
			
			uitgelicht.getDefaultPosition = function() 
			{
				return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(70, 10));
			};
	
			
			map.addControl(uitgelicht);
		}
		var url									= "index.php?go=home.getUitgelichtXML&bounds=" + boundsString;
	}
	else
	{
		if(uitgelicht !== null)
		{
			map.removeControl(uitgelicht);
			uitgelicht = null;
		}
		var url									= "index.php?go=home.getKaartXML&bounds=" + boundsString + "&layers=" + layerString;
	}
	
	// alert(url);
	
	var request 								= GXmlHttp.create();
	
	request.open("GET", url, true);
	
	request.onreadystatechange = function() 
	{
		switch(request.readyState) 
		{
			case 0:
				//alert('fout bij afhandelen xmlrequest...');
				break;
			case 1:
				//alert('request is verstuurd...');
				break;
			case 2:
			case 3:
				//alert('xmlRequest wordt afgehandeld...');
				break;
			case 4:
				// alert('xmlRequest is klaar...');
				
				// request afgehandeld
				
				
				//alert("docElement\n>" + request.responseXML.documentElement + "<"); 
				//alert("responseText\n>" + request.responseText + "<"); 
				
		        var xmlDoc 					= request.responseXML;
		        
				// als dit de wondere wereld van Micro$oft IE is
				if(window.ActiveXObject)
  				{
					// check dan welke versie 
					var versie 				= navigator.appVersion;
					var pos					= versie.search(/MSIE/);
					
					// bij versies 6 en 7 xmlDoc aanpassen 
					// (moet waarschijnlijk ook bij 4, 5, en 5.5, niet getest!)
					switch(versie.substr(pos+2, 4))
					{
						case 'IE 6':
						case 'IE 7':
				
							var xmlElement = document.createElement('xml');
							//Put the requester.responseText in the innerHTML of the xml tag
							xmlElement.setAttribute('innerHTML',request.responseText);
							//Set the xml tag's id to _formjAjaxRetornoXML
							xmlElement.setAttribute('id','_formjAjaxRetornoXML');
							//Add the created tag to the page context
							document.body.appendChild(xmlElement);
							//Just for check put the xmlhttp.responseXML in the innerHTML of the tag
							document.getElementById('_formjAjaxRetornoXML').innerHTML = request.responseText;
							//Now we can get the xml tag and put it on a var
							xmlDoc = document.getElementById('_formjAjaxRetornoXML');
							//So we have a valid xml we can remove the xml tag 
							document.body.removeChild(document.getElementById('_formjAjaxRetornoXML'));
							break;
					}
				}
				
				var newMarkersList 			= xmlDoc.documentElement.getElementsByTagName("marker");
				var totalen 				= xmlDoc.documentElement.getElementsByTagName("totaal");
				
				if(totalen.length > 0){
					if(totalen[0].getAttribute("waarde") > 50){
						document.getElementById('toomuch').style.display = "block";
						document.getElementById('toomuch').innerHTML = "" + totalen[0].getAttribute("waarde") + " resultaten - maximaal 50 te zien op kaart - zoom in voor meer";
					}else{
						document.getElementById('toomuch').style.display = "none";
					}
				}
					
				//alert(newMarkersList.length + ' markers opgehaald...');
				
				// verwijder alle oude markers
				map.clearOverlays();
				
				// voeg nieuwe markers toe aan kaart
				for (var i = 0; i < newMarkersList.length; i++) 
				{
					var markerXML 			= newMarkersList[i];
					
					var marker				= createMarker(new GLatLng(
		          							parseFloat(markerXML.getAttribute("lng")),
		          							parseFloat(markerXML.getAttribute("lat"))),
											markerXML.getAttribute("html"), 
											markerXML.getAttribute("type"));
											
					map.addOverlay(marker);
					
				}
				
				// zet 'kaart wordt geladen' uit
				if(document.getElementById("loading"))
				{
					document.getElementById("loading").style.display = 'none';
				}
				
				
				break;
			default:
				alert('request zit in readystate ' + request.readyState);	
				
		}
	}
	
	request.send(null);
}


function initializeMap() 
{
	/*
	functie die eenmalig aangeroepen wordt bij starten van kaart, om
	Google Maps-object aan te maken en markers erop te zetten bij start
	*/
	
  	if(GBrowserIsCompatible()) 
	{
		map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(52.35547370875268, 5.3173828125), 7);
		map.setMapType(G_SATELLITE_MAP);
		
		map.addControl(new GLargeMapControl());
		
		// zet bij initialize 1 keer de markers erop die nu getoond moeten worden
		updateKaart();
		
		// voeg event listeners voor zoom- en move-events toe
		
		// bij move wordt het vrij traag door plaatsen overlay!
		
		GEvent.addListener(map, "moveend", function() 
		{
			// kaart is bewogen
			updateKaart();
			
		});
		
		GEvent.addListener(map, "zoomend", function() 
		{
			// zoomniveau is aangepast
			/*alert('zoom: ' + this.getZoom());*/
			
			// verander achtergrond van pagina (raster) aan de hand van huidig zoomniveau
			document.body.style.backgroundImage = 'url(art/graphics/gra_raster_' + this.getZoom() + '.png)';
			
			if(this.getZoom() < 17)
			{
				//clicked			= false;
			}
			
			updateKaart();
			
			//
		});
	}
	else
	{
		var mapdiv = document.getElementById("map");
		
		mapdiv.innerHTML = "Google Maps is niet beschikbaar!";
	}
	
	openMeegegeven();
}

function zoomToMarker(point)
{
	//var lat = point.lat();
	map.setCenter(point, 17);
	
	clicked = true;
	
	//alert(clicked);
	
	updateKaart();
}

function createMarker(point, html, type) 
{
	/*
		functie om nieuwe GMarker mee aan te maken, die
		bij onclick een HTML-window opent 
	*/
	
	// naamgeving van subcategorie is nogal verwarrend, maar hier wordt de 
	// subcategorie uit de db omgezet naar het bijpassende icoontje
	
	if(map.getZoom()>16){
		var groot = true;	
	}else{
		var groot = false;	
	}
		
	
	switch(type)
	{
		case "leren":
			if(groot){
				var icon				= iconProjectenLerenWerkenGroot;
			}else{
				var icon				= iconProjectenLerenWerken;
			}
			break;
		case "dagbesteding":
			if(groot){
				var icon				= iconProjectenDagbestedingGroot;
			}else{
				var icon				= iconProjectenDagbesteding;
			}
			break;
		case "eerste opvang":
			if(groot){
				var icon				= iconEersteOpvangGroot;
			}else{
				var icon				= iconEersteOpvang;
			}
			break;
		case "begeleid wonen":
			if(groot){
				var icon				= iconOpvangBegeleidGroot;
			}else{
				var icon				= iconOpvangBegeleid;
			}
			break;
		case "leren werken":
			if(groot){
				var icon				= iconOpvangLerenWerkenGroot;
			}else{
				var icon				= iconOpvangLerenWerken;
			}
			break;
		
			
		// personen
		
		case "gewoon":
				var icon				= iconGroep;
			break;
		case "hulpverlener_m1":
				var icon				= iconPersonenHulpverlenerMan1;
			break;
		case "hulpverlener_m2":
				var icon				= iconPersonenHulpverlenerMan2;
			break;
		case "hulpverlener_m3":
				var icon				= iconPersonenHulpverlenerMan3;
			break;
		case "gemeente_m1":
				var icon				= iconPersonenGemeenteMan1;
			break;
		case "gemeente_m2":
				var icon				= iconPersonenGemeenteMan2;
			break;
		case "gemeente_m3":
				var icon				= iconPersonenGemeenteMan3;
			break;
		case "woningcorporatie_m1":
				var icon				= iconPersonenCorporatieMan1;
			break;
		case "woningcorporatie_m2":
				var icon				= iconPersonenCorporatieMan2;
			break;
		case "woningcorporatie_m3":
				var icon				= iconPersonenCorporatieMan3;
			break;
		case "school_m1":
				var icon				= iconPersonenOnderwijsMan1;
			break;
		case "school_m2":
				var icon				= iconPersonenOnderwijsMan2;
			break;
		case "school_m3":
				var icon				= iconPersonenOnderwijsMan3;
			break;
		case "geinteresseerd_m1":
				var icon				= iconPersonenGeinteresseerdMan1;
			break;
		case "geinteresseerd_m2":
				var icon				= iconPersonenGeinteresseerdMan2;
			break;
		case "geinteresseerd_m3":
				var icon				= iconPersonenGeinteresseerdMan3;
		case "sponsor_m1":
				var icon				= iconPersonenSponsorMan3;
			break;
		case "sponsor_m2":
				var icon				= iconPersonenSponsorMan2;
			break;
		case "sponsor_m3":
				var icon				= iconPersonenSponsorMan3;
			break;
			// vrouw
			
		case "hulpverlener_v1":
				var icon				= iconPersonenHulpverlenerVrouw1;
			break;
		case "hulpverlener_v2":
				var icon				= iconPersonenHulpverlenerVrouw2;
			break;
		case "hulpverlener_v3":
				var icon				= iconPersonenHulpverlenerVrouw3;
			break;
		case "gemeente_v1":
				var icon				= iconPersonenGemeenteVrouw1;
			break;
		case "gemeente_v2":
				var icon				= iconPersonenGemeenteVrouw2;
			break;
		case "gemeente_v3":
				var icon				= iconPersonenGemeenteVrouw3;
			break;
		case "woningcorporatie_v1":
				var icon				= iconPersonenCorporatieVrouw1;
			break;
		case "woningcorporatie_v2":
				var icon				= iconPersonenCorporatieVrouw2;
			break;
		case "woningcorporatie_v3":
				var icon				= iconPersonenCorporatieVrouw3;
			break;
		case "school_v1":
				var icon				= iconPersonenOnderwijsVrouw1;
			break;
		case "school_v2":
				var icon				= iconPersonenOnderwijsVrouw2;
			break;
		case "school_v3":
				var icon				= iconPersonenOnderwijsVrouw3;
			break;
		case "geinteresseerd_v1":
				var icon				= iconPersonenGeinteresseerdVrouw1;
			break;
		case "geinteresseerd_v2":
				var icon				= iconPersonenGeinteresseerdVrouw2;
			break;
		case "geinteresseerd_v3":
				var icon				= iconPersonenGeinteresseerdVrouw3;
			break;
		case "sponsor_v1":
				var icon				= iconPersonenSponsorVrouw1;
			break;
		case "sponsor_v2":
				var icon				= iconPersonenSponsorVrouw2;
			break;
		case "sponsor_v3":
				var icon				= iconPersonenSponsorVrouw3;
			break;
		case "zwerfjongere_m1":
		case "zwerfjongere_v1":
				var icon				= iconPersonenJongere;
			break;
	}
	
	
	var marker = new GMarker(point, {icon:icon});
	
	// voeg event listeners toe aan marker
	GEvent.addListener(marker, "mouseover", function() 
	{
		marker.openInfoWindowHtml(html,{maxWidth:350});
	});
	
	GEvent.addListener(marker, "click", function(point) 
	{
		//alert('je hebt op een marker geklikt met locatie ' + point);
		clicked						= true;
		
		//alert(clicked);
		
		zoomToMarker(point);
	});
	
	return marker;
}

function updateKaart()
{
	/*
		functie om te checken wat de bounding box van de kaart
		is, en welke layers er aan staan. en om vervolgens
		getNewMarkers aan te roepen 
	*/
	
	var bounds 				= map.getBounds();
	var layers				= getLayers();
	getNewMarkers(bounds, layers);
}

function getLayers()
{
	/*
		functie om te checken welke typen markers getoond
		moeten worden (welke checkboxes aan staan), en een
		arraytje terug te geven 
	*/
	
	var layers					= [];
	
	layers[0] 					= (document.forms['leftmenu'].projecten_lerenwerken.checked)?true:false;
	layers[1] 					= (document.forms['leftmenu'].projecten_dagbesteding.checked)?true:false;
	layers[2] 					= (document.forms['leftmenu'].opvang_eerste.checked)?true:false;
	layers[3] 					= (document.forms['leftmenu'].opvang_begeleid.checked)?true:false;
	layers[4] 					= (document.forms['leftmenu'].opvang_begeleid2.checked)?true:false;
	layers[5] 					= (document.forms['leftmenu'].personen_groepen.checked)?true:false;
	layers[6] 					= (document.forms['leftmenu'].personen_hulpverlening.checked)?true:false;
	layers[7] 					= (document.forms['leftmenu'].personen_gemeente.checked)?true:false;
	layers[8] 					= (document.forms['leftmenu'].personen_woningcorporatie.checked)?true:false;
	layers[9] 					= (document.forms['leftmenu'].personen_onderwijs.checked)?true:false;
	layers[10] 					= (document.forms['leftmenu'].personen_geinteresseerd.checked)?true:false;
	layers[11] 					= (document.forms['leftmenu'].personen_zwerfjongere.checked)?true:false;
	layers[12] 					= (document.forms['leftmenu'].personen_sponsor.checked)?true:false;
	
	
	return(layers);
}


function updateSessie()
{
	// update sessie variabele met Ajax-call...
	var layers 									= getLayers();
	var layerString								= "";
	
	for(var i = 0; i < layers.length; i++)
	{
		if(layers[i])
		{
			layerString							+= "1";
		}
		else
		{
			layerString							+= "0";
		}
	}
	
	var url										= "home/act_updateSessie.php?layers=" + layerString;
	
	var request 								= GXmlHttp.create();
	
	request.open("GET", url, true);
	
	request.onreadystatechange = function() 
	{
		if(request.readyState == 4)
		{
			
			// ajax werkte... 
		}
	}
	
	request.send(null);
}


//Grote layer zonder gat
function addPictureLayer(map)
{
	// Set up the copyright information
        // Each image used should indicate its copyright permissions
        var myCopyright = new GCopyrightCollection("(c) ");
        myCopyright.addCopyright(new GCopyright('Demo',
          new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)),
          0,'©2007 Google'));

        // Create the tile layer overlay and 
        // implement the three abstract methods   		
        var tilelayer = new GTileLayer(myCopyright);
        tilelayer.getTileUrl = function() { return "./art/test.png" };
        tilelayer.isPng = function() { return true;};
        tilelayer.getOpacity = function() { return 0.7; }

        var myTileLayer = new GTileLayerOverlay(tilelayer);
      
        map.addOverlay(myTileLayer);	
		
		// alert("en nu gaat die laag eroverheen");
}

//Layer met gat
function addPictureLayerGat(map)
{
	
	//alert("gat erop!");
	
	//map.clearOverlays();
	
	var boundaries	= map.getBounds();
	
	
	var overlayGat = new GGroundOverlay("art/overlayGatGroot_klein.png", boundaries);
	
	handle = GEvent.addListener(map, "moveend", function() 
	{
		// kaart is bewogen
		map.removeOverlay(overlayGat);
		clicked = false;
	});
	
	map.addOverlay(overlayGat);
		
}


/* functie om profiel-layer aan te zetten */ 
function showProfiel(id)
{
	// haal met AJAX de info op die in de profiel-div getoond moet worden...
	// fusebox houdt niet van ampersand-entity in urls, dus gewoon een simpele ampersand 
	var url										= "index.php?go=home.getProfielXML&id=" + id;
	
	var request 								= GXmlHttp.create();
	request.open("GET", url, true);
	
	request.onreadystatechange = function() 
	{
		switch(request.readyState) 
		{
			case 0:
				//alert('fout bij afhandelen xmlrequest...');
				break;
			case 1:
				//alert('request is verstuurd...');
				break;
			case 2:
			case 3:
				//alert('xmlRequest wordt afgehandeld...');
				break;
			case 4:
				//alert('xmlRequest is klaar...');
				
				// request afgehandeld
		        var xmlDoc 					= request.responseXML;
				
				// haal profiel-tag eruit
				var profiel		 			= xmlDoc.documentElement.getElementsByTagName("profiel");
				
				// en lees de attributen eruit
				var	naam					= profiel[0].getAttribute("naam");
				var omschrijving			= profiel[0].getAttribute("omschrijving");
				var type					= profiel[0].getAttribute("type");
				
				// en maak daar een brok html van
				var html								= '<img id="btn_close" src="art/graphics/btn_profieloverlay_close.png" onclick="hideProfiel()"><h6>' + naam + '</h6>';
				html									+= '<p>' + omschrijving + '</p>';
				
					
				var profielLayer 						= document.getElementById("profielOverlay");
                var profielNaam 						= document.getElementById("profielNaam");
				var profielID							= document.getElementById("profielID");
				var profielType							= document.getElementById("profielType");
				var reactieformulier					= document.getElementById("reactieformulier");
		
		
				// naam en id veld zijn bij niet-ingelogde user niet aanwezig, dus daar komt een if omheen om js-error te voorkomen
				if(profielNaam)
				{
    				profielNaam.innerHTML					= naam;
				}
				if(profielID)
				{
					profielID.value							= id;		// stop id in hidden field
				}
				if(profielType)
				{
					profielType.value							= id;		// stop id in hidden field
				}
				
				
				profielLayer.style.display				= 'block';
				profielLayer.innerHTML 					= html + reactieformulier.innerHTML;
				
		}
		
		return(html);
	}
	
	request.send(null);
}





function hideProfiel()
{
	var profielLayer 						= document.getElementById("profielOverlay");
	profielLayer.style.display				= 'none';
	// maak div ook weer leeg, anders blijft er troep in achter
	profielLayer.innerHTML					= '';
}


// functie om google maps kaart aan te maken die het mogelijk maakt om marker op de
// kaart te (ver)plaatsen
var currentLat;
var currentLng;

function initLocationChooser()
{
	if (GBrowserIsCompatible()) 
	{
		map = new GMap2(document.getElementById("kaart"));
		map.setCenter(new GLatLng(52.35547370875268, 5.3173828125), 7);
		map.setMapType(G_SATELLITE_MAP);
		
		map.addControl(new GLargeMapControl());
		
		// voeg event listener toe om marker te plaatsen bij onclick event
		GEvent.addListener(map, "click", function(overlay, latlng) 
		{
			// stop coordinaten van dit punt in globals
			currentLat = latlng.lat();
			currentLng = latlng.lng();
		
			// haal eventuele oude marker weg
			map.clearOverlays();
		
			// en voeg een nieuwe marker toe...
			var marker = new GMarker(latlng);
			map.addOverlay(marker);
		});
		
	}
	else
	{
		document.writeln('Sorry, je browser is niet compatible met Google Maps.');
	}
}
