var gmarkers = [];
var htmls = [];
var googleIcon;
var requestCat;
var markers;
var request;
var marker;
var xmlDoc;
var i = 0;
var html;
var map;

/* Overige */
var point;
var image;
var label;
var html;
var lat;
var lng;
				

/* Initialiseren */
function googleMaps(cat)
{
	
	/* Controle GoogleMaps pagina */
	if( document.getElementById("googleMapsArea") != null ){
		
		/* Browser controle */
		if (GBrowserIsCompatible()){        
			
			/* GoogleMaps laden */
			var map = new GMap2(document.getElementById("googleMapsArea"));
			map.addControl(new GLargeMapControl3D());
			map.addControl(new GMapTypeControl());
			map.setCenter(new GLatLng(0,0),0);
			map.enableScrollWheelZoom();
			
			/* Data inladen */
			showData(map, cat);
		
		} else {
			/* Foutmelding laden */
			alert('Sorry, uw browser wordt niet door GoogleMaps ondersteund !\nControleer uw instellingen en schakel Javascript in.');
		}
		
	}

}	

/* Functie marker aanmaken */
function createMarker(point,image,name,html,map,i)
{
			
	/* Afbeelding (marker) weergeven */
	var googleIcon = new GIcon(G_DEFAULT_ICON);
	googleIcon.image = "http://www.vlietkinderen.nl/media/afbeeldingen/"+image;
	googleIcon.infoWindowAnchor = new GPoint(16,0);
	googleIcon.iconAnchor = new GPoint(16,32);
	googleIcon.iconSize = new GSize(32,32);
			
	var marker = new GMarker(point, { icon:googleIcon, zoom:true });
	GEvent.addListener(marker, "mouseover", function() {
		marker.openInfoWindowHtml(html);
		//map.setCenter(point);
	});
	
	/* Opslaan */
	gmarkers[i] = marker;
	htmls[i] = html;
			
	return marker;
}

/* AJAX data ophalen */
function showData(map, cat)
{
		
	/* Cache legen... */
	map.clearOverlays();

	/* Array maken */
	var bounds = new GLatLngBounds();
	var request = GXmlHttp.create();
		
	if( cat != null && cat != '' ){
		request.open("GET", "include/ajax.php?vestigingCategorie="+cat, true);
	} else {
		request.open("GET", "include/ajax.php", true);
	}
	
	/* Resultaat GoogleMaps */
	request.onreadystatechange = function(){
	
		/* AJAX status */
		if (request.readyState == 4){
				
			var xmlDoc = GXml.parse(request.responseText);
			// obtain the array of markers and loop through it
			var markers = xmlDoc.documentElement.getElementsByTagName("marker");
				  
			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 image = markers[i].getAttribute("image");
				var label = markers[i].getAttribute("label");
				var html = markers[i].getAttribute("html");
				var point = new GLatLng(lat,lng);
		
				// create the marker
				var marker = createMarker(point,image,label,html,map,i);
				map.addOverlay(marker);
					
				/* Marker opslaan */
				bounds.extend(point);
				
			}       
			
			/* Center bepalen */
			map.setCenter(bounds.getCenter());

			/* Zoomlevel bepalen */
			map.setZoom(13);

		}
		
	}
			
	/* Data inlezen */
	request.send(null);
	showCats(map, cat);
		
}

/* AJAX data ophalen */
function showCats(map, cat)
{
		
	/* XML HTTP */		
	var requestCat = GXmlHttp.create();
		
	if( cat != null && cat != '' ){
		requestCat.open("GET", "include/ajax.php?type=cat&vestigingCategorie="+cat, true);
	} else {
		requestCat.open("GET", "include/ajax.php?type=cat", true);
	}
	
	/* Resultaat GoogleCats */
	requestCat.onreadystatechange = function(){
	
		/* AJAX status */
		if (requestCat.readyState == 4){
				
			/* Categorien weergeven */
			document.getElementById('googleCats').innerHTML = requestCat.responseText;

		}
		
	}
			
	/* Data inlezen */
	requestCat.send(null);
		
}

/* AJAX data ophalen */
function showVest(ID)
{
		
	/* XML HTTP */		
	var requestVest = GXmlHttp.create();
		
	if( ID != null && ID != '' ){
		requestVest.open("GET", "include/ajax.php?type=vestiging&vestigingID="+ID, true);
	} else {
		requestVest.open("GET", "include/ajax.php?type=vestiging", true);
	}
	
	/* Resultaat GoogleCats */
	requestVest.onreadystatechange = function(){
	
		/* AJAX status */
		if (requestVest.readyState == 4){
				
			/* Categorien weergeven */
			document.getElementById('vestigingInfo').innerHTML = requestVest.responseText;
			//alert(requestVest.responseText);

		}
		
	}
			
	/* Data inlezen */
	requestVest.send(null);
		
}

/* Click naar map */
function googleClick(i){
	GEvent.trigger(gmarkers[i], "click");
}