<!--

if(window.addEventListener){
	window.addEventListener('load', function(){ fLoad(); } , false);
	window.addEventListener('unload', function(){ GUnload(); } , false);
} else {
	window.attachEvent('onload', function(){ fLoad(); } );
	window.attachEvent('onunload', function(){ GUnload(); });
}

function fLoad() {
	if (GBrowserIsCompatible()) {
		if(sXmlMarkers == undefined || sXmlMarkers == ''){
			sXmlMarkers = '/googlemaps/markers.cfm';
		}
		var oMap = new GMap2(document.getElementById("map"));
		oMap.setCenter(new GLatLng(52.1000, 5.2000), 7);		
		oMap.addControl(new GLargeMapControl());
        oMap.addControl(new GMapTypeControl());
		//oMap.addControl(new GOverviewMapControl()); 
		oMap.enableScrollWheelZoom();
		oMap.setMapType(G_SATELLITE_MAP);
		
		var oBaseIcon = new GIcon();
		oBaseIcon.iconSize = new GSize(23, 23);
		oBaseIcon.shadowSize = new GSize(37, 34);
		oBaseIcon.iconAnchor = new GPoint(9, 34);
		oBaseIcon.infoWindowAnchor = new GPoint(9, 2);
		oBaseIcon.infoShadowAnchor = new GPoint(18, 25);

		var bounds = oMap.getBounds();
        var southWest = bounds.getSouthWest();
        var northEast = bounds.getNorthEast();
        var lngSpan = northEast.lng() - southWest.lng();
        var latSpan = northEast.lat() - southWest.lat();
		
		if(sXmlMarkers.substring(0, 31) == '/googlemaps/markers_treffen.cfm'){
			new Ajax.Request(sXmlMarkers, {     
				method:'get',     
				onSuccess: function(transport){      
					oResponse = transport.responseXML || "Geen respons";
					fGetMarkersTreffen(oMap, oBaseIcon, oResponse); 
				},     
				onFailure: function(){ alert('Er is iets fout gegaan...') }   
			}); 
		} else {
			new Ajax.Request(sXmlMarkers, {     
				method:'post',     
				onSuccess: function(transport){      
					oResponse = transport.responseXML || "Geen respons";
					switch(sXmlMarkers){
						case '/googlemaps/markers.cfm':
							fGetMarkers(oMap, oBaseIcon, oResponse);   
						break;
						case '/googlemaps/markers_occasions.cfm':						
							fGetMarkersOccasions(oMap, oBaseIcon, oResponse);   
						break;						
						case '/googlemaps/markers_rijscholen.cfm':
							fGetMarkersRijscholen(oMap, oBaseIcon, oResponse);   
						break;
					}
				},     
				onFailure: function(){ alert('Er is iets fout gegaan...') }   
			}); 
		}
	}
}

function fGetMarkers(oMap, oBaseIcon, oResponse) {
	var sResponse;
	var aJsMarkers = new Array();
	
	aInfoWindowOptions = {
		maxWidth: 500,
		selectedTab: 1
	};
	
	aMarkers = oResponse.getElementsByTagName('marker');

	for (i=0; i<aMarkers.length; i++) {
		
		iId = aMarkers[i].getAttribute('id');
		sLat = parseFloat(aMarkers[i].getAttribute('lat'));
		sLng = parseFloat(aMarkers[i].getAttribute('lng'));
		sAfbeelding = aMarkers[i].getAttribute('icon');
		
		aDealer = aMarkers[i].getElementsByTagName('dealer')[0];
		sBedrijfsnaam = aDealer.getElementsByTagName('bedrijfsnaam')[0].firstChild.data;		
		sAdres = aDealer.getElementsByTagName('adres')[0].firstChild.data;
		sPostcode = aDealer.getElementsByTagName('postcode')[0].firstChild.data;
		sPlaats = aDealer.getElementsByTagName('plaats')[0].firstChild.data;	
		sEmail = aDealer.getElementsByTagName('email')[0].firstChild.data;		
		sUrl = aDealer.getElementsByTagName('url')[0].firstChild.data;	
		
		aActies = aMarkers[i].getElementsByTagName('acties')[0];
		sTekst = aActies.getElementsByTagName('tekst')[0].firstChild.data;
		sLink = aActies.getElementsByTagName('link')[0].firstChild.data;
		
		var oIcon = new GIcon(oBaseIcon);
		oIcon.image = sAfbeelding;
		
		aMarkerOptions = { 
			icon: oIcon, 
			draggable: false,
			title: sBedrijfsnaam
		};

		oMarker = new GMarker(new GLatLng(sLat, sLng), aMarkerOptions);
		oMarker.iId = iId;
		oMarker.sBedrijfsnaam = sBedrijfsnaam;
		oMarker.sAdres = sAdres;
		oMarker.sPostcode = sPostcode;
		oMarker.sPlaats = sPlaats;
		oMarker.sEmail = sEmail;
		oMarker.sUrl = sUrl;
		oMarker.sTekst = sTekst;
		oMarker.sLink = sLink;
		
		GEvent.addListener(oMarker, "click", function () {
			var aTabs = [];
			aTabs.push(new GInfoWindowTab('Bedrijf', "<div style='width:340px;'><b>" + this.sBedrijfsnaam + "</b><br /><br />" + this.sAdres + "<br />" + this.sPostcode + " " + this.sPlaats + "<br /><a href='mailto:" + this.sEmail + "'>" + this.sEmail + "</a><br /><a target='_blank' href='" + this.sUrl + "'>" + this.sUrl + "</a></div>"));
			aTabs.push(new GInfoWindowTab("Acties", "<div id='toCrop' style='width:340px;'><b>Dealeractie " + this.sBedrijfsnaam + "</b><br /><br />" + this.sTekst + "<a href='" + this.sLink + "'>lees meer</a></div>"));
			this.openInfoWindowTabsHtml(aTabs, aInfoWindowOptions);
			window.setTimeout("fCropGoogleMapsImages(340)", 200);
		});
		
		GEvent.addListener(oMarker, "infowindowclose", function(){
			oMap.returnToSavedPosition();											
		});

		aJsMarkers.push(oMarker);
		oMap.addOverlay(aJsMarkers[aJsMarkers.length - 1]);
	}
}

function fGetMarkersOccasions(oMap, oBaseIcon, oResponse) {
	var sResponse;
	var aJsMarkers = new Array();
	
	aInfoWindowOptions = {
		maxWidth: 150,
		selectedTab: 0
	};
	
	oBaseIcon.iconSize = new GSize(18, 18);
	oBaseIcon.shadowSize = new GSize(32, 29);
	oBaseIcon.iconAnchor = new GPoint(9, 29);

	aMarkers = oResponse.getElementsByTagName('marker');

	for (i=0; i<aMarkers.length; i++) {
		//alert(aMarkers.length);		
		iId = aMarkers[i].getAttribute('id');
		sLat = parseFloat(aMarkers[i].getAttribute('lat'));
		sLng = parseFloat(aMarkers[i].getAttribute('lng'));
		
		aOccasion = aMarkers[i].getElementsByTagName('occasion');
		sBedrijfsnaam = aOccasion[0].getElementsByTagName('bedrijfsnaam')[0].firstChild.data || '';		
		sPlaats = aOccasion[0].getElementsByTagName('plaats')[0].firstChild.data || '';
		sUrl = aOccasion[0].getElementsByTagName('url')[0].firstChild.data || '';	
		sMerk = aOccasion[0].getElementsByTagName('merk')[0].firstChild.data || '';		
		sType = aOccasion[0].getElementsByTagName('type')[0].firstChild.data || '';	
		sPrijs = aOccasion[0].getElementsByTagName('prijs')[0].firstChild.data || '';	
		sFoto = aOccasion[0].getElementsByTagName('foto')[0].firstChild.data || '';			
		
		var oIcon = new GIcon(oBaseIcon);
		oIcon.image = sAfbeelding;
		
		aMarkerOptions = { 
			icon: oIcon, 
			draggable: false,
			title: sBedrijfsnaam + '(' + sPlaats + ')'
		};

		// oMarker = new GMarker(new GLatLng(sLat, sLng), aMarkerOptions);
		oMarker = new GMarker(new GLatLng(sLat, sLng), aMarkerOptions);
		oMarker.iId = iId;
		oMarker.sBedrijfsnaam = sBedrijfsnaam;
		oMarker.sMerk = sMerk;
		oMarker.sType = sType;
		oMarker.sPrijs = sPrijs;
		oMarker.sPlaats = sPlaats;
		oMarker.sUrl = sUrl;
		oMarker.sFoto = sFoto;
		/*
		GEvent.addListener(oMarker, "click", function () {
			var aTabs = [];
			aTabs.push(new GInfoWindowTab('Occasion', "<div style='width:150px;background-color:#ff0000;'><br /><b>" + this.sMerk + " " + this.sType + "</b><br />" + this.sPrijs + "</a><br /><br />" + this.sFoto + "</div>"));
			this.openInfoWindowTabsHtml(aTabs, aInfoWindowOptions);
		});
		*/
		GEvent.addListener(oMarker, "click", function () {
			oMarker.openExtInfoWindow(
			  oMap,
			  "simple_example_window",
			  "I'm some HTML content that will go in the initial example's ExtInfoWindow.",
			  {beakOffset: 3}
			); 
		});
		
		GEvent.addListener(oMarker, "infowindowclose", function(){
			oMap.returnToSavedPosition();											
		});

		aJsMarkers.push(oMarker);
		oMap.addOverlay(aJsMarkers[aJsMarkers.length - 1]);
		
	}
	
}

function fGetMarkersRijscholen(oMap, oBaseIcon, oResponse) {
	var sResponse;
	var aJsMarkers = new Array();
	
	aInfoWindowOptions = {
		maxWidth: 500,
		selectedTab: 0
	};
	
	oBaseIcon.iconSize = new GSize(18, 18);
	oBaseIcon.shadowSize = new GSize(32, 29);
	oBaseIcon.iconAnchor = new GPoint(9, 29);

	aMarkers = oResponse.getElementsByTagName('marker');

	for (i=0; i<aMarkers.length; i++) {
		//alert(aMarkers.length);		
		iId = aMarkers[i].getAttribute('id');
		sLat = parseFloat(aMarkers[i].getAttribute('lat'));
		sLng = parseFloat(aMarkers[i].getAttribute('lng'));
		sAfbeelding = aMarkers[i].getAttribute('icon');
		
		aRijschool = aMarkers[i].getElementsByTagName('rijschool');
		sBedrijfsnaam = aRijschool[0].getElementsByTagName('bedrijfsnaam')[0].firstChild.data;		
		sAdres = aRijschool[0].getElementsByTagName('adres')[0].firstChild.data;
		sPostcode = aRijschool[0].getElementsByTagName('postcode')[0].firstChild.data;		
		sPlaats = aRijschool[0].getElementsByTagName('plaats')[0].firstChild.data;	
	
		sEmail = aRijschool[0].getElementsByTagName('email')[0].firstChild.data || '';				
		sUrl = aRijschool[0].getElementsByTagName('url')[0].firstChild.data || '';			
		
		bBovag = aRijschool[0].getElementsByTagName('bovag')[0].firstChild.data;	
		bKnmv = aRijschool[0].getElementsByTagName('knmv')[0].firstChild.data;	
		if(aRijschool[0].getElementsByTagName('opmerking')[0].firstChild.data){
			sOpmerking = aRijschool[0].getElementsByTagName('opmerking')[0].firstChild.data;
		} else {
			sOpmerking = '';
		}
		
		var oIcon = new GIcon(oBaseIcon);
		oIcon.image = sAfbeelding;
		
		aMarkerOptions = { 
			icon: oIcon, 
			draggable: false,
			title: sBedrijfsnaam + '(' + sPlaats + ')'
		};

		oMarker = new GMarker(new GLatLng(sLat, sLng), aMarkerOptions);
		oMarker.iId = iId;
		oMarker.sBedrijfsnaam = sBedrijfsnaam;
		oMarker.sAdres = sAdres;
		oMarker.sPostcode = sPostcode;
		oMarker.sPlaats = sPlaats;
		oMarker.sEmail = sEmail;
		oMarker.sUrl = sUrl;
		oMarker.bBovag = bBovag;
		oMarker.bKnmv = bKnmv;
		oMarker.sOpmerking = sOpmerking;
		oMarker.sLid = '';		
		
		if(bBovag == 1){
			oMarker.sLid = oMarker.sLid + "<img src='/Content/Rijden/Gevonden/RS_BOVAG.gif' border='0'>";
		}
		
		if(bKnmv == 1){
			oMarker.sLid = oMarker.sLid + "<img src='/Content/Rijden/Gevonden/RS_knmv.gif' border='0'>";
		}
		
		if(oMarker.sLid != ""){
			oMarker.sLid = "<br />" + oMarker.sLid + "<br />";
		}
		
		GEvent.addListener(oMarker, "click", function () {
			var aTabs = [];
			aTabs.push(new GInfoWindowTab('Rijschool', "<div style='width:340px;'><b>" + this.sBedrijfsnaam + "</b><br /><br />" + this.sAdres + "<br />" + this.sPostcode + " " + this.sPlaats + "<br /><a href='mailto:" + this.sEmail + "'>" + this.sEmail + "</a><br /><a target='_blank' href='" + this.sUrl + "'>" + this.sUrl + "</a><br />" + this.sLid + "<br />" + this.sOpmerking + "</div>"));
			this.openInfoWindowTabsHtml(aTabs, aInfoWindowOptions);
		});
		
		GEvent.addListener(oMarker, "infowindowclose", function(){
			//oMap.returnToSavedPosition();											
		});

		aJsMarkers.push(oMarker);
		oMap.addOverlay(aJsMarkers[aJsMarkers.length - 1]);
		
	}
}

function fGetMarkersTreffen(oMap, oBaseIcon, oResponse) {
	var sResponse;
	var aJsMarkers = new Array();
	
	aInfoWindowOptions = {
		maxWidth: 500,
		selectedTab: 0
	};
	
	aMarkers = oResponse.getElementsByTagName('marker');

	for (i=0; i<aMarkers.length; i++) {
		
		iId = aMarkers[i].getAttribute('id');
		sLat = parseFloat(aMarkers[i].getAttribute('lat'));
		sLng = parseFloat(aMarkers[i].getAttribute('lng'));
		sAfbeelding = aMarkers[i].getAttribute('icon');
		
		aTreffen = aMarkers[i].getElementsByTagName('treffen')[0];
		
		if(aTreffen.getElementsByTagName('naam')[0].firstChild){
			sNaam = aTreffen.getElementsByTagName('naam')[0].firstChild.data;		
		} else {
			sNaam = "";
		}	
		if(aTreffen.getElementsByTagName('dealernaam')[0].firstChild){
			sDealerNaam = aTreffen.getElementsByTagName('dealernaam')[0].firstChild.data + "<br />";		
		} else {
			sDealerNaam = "";
		}		
		if(aTreffen.getElementsByTagName('adres')[0].firstChild){
			sAdres = aTreffen.getElementsByTagName('adres')[0].firstChild.data;	
		} else {
			sAdres = "";
		}
		if(aTreffen.getElementsByTagName('postcode')[0].firstChild){
			sPostcode = aTreffen.getElementsByTagName('postcode')[0].firstChild.data;
		} else {
			sPostcode = "";
		}
		if(aTreffen.getElementsByTagName('plaats')[0].firstChild){
			sPlaats = aTreffen.getElementsByTagName('plaats')[0].firstChild.data;					
		} else {
			sPlaats = "";
		}
		if(aTreffen.getElementsByTagName('datum')[0].firstChild){
			sDatum = aTreffen.getElementsByTagName('datum')[0].firstChild.data;					
		} else {
			sDatum = "";
		}
		if(aTreffen.getElementsByTagName('tijd')[0].firstChild){
			sTijd = aTreffen.getElementsByTagName('tijd')[0].firstChild.data;					
		} else {
			sTijd = "";
		}
		
		var oIcon = new GIcon(oBaseIcon);
		oIcon.image = sAfbeelding;
		
		aMarkerOptions = { 
			icon: oIcon, 
			draggable: false,
			title: sNaam
		};

		oMarker = new GMarker(new GLatLng(sLat, sLng), aMarkerOptions);
		oMarker.iId = iId;
		oMarker.sNaam = sNaam;
		oMarker.sDealerNaam = sDealerNaam;
		oMarker.sAdres = sAdres;
		oMarker.sPostcode = sPostcode;
		oMarker.sPlaats = sPlaats;
		oMarker.sDatum = sDatum;
		oMarker.sTijd = sTijd;
		
		GEvent.addListener(oMarker, "click", function () {
			var aTabs = [];
			aTabs.push(new GInfoWindowTab('Treffen', "<div style='width:340px;'><b>" + this.sNaam + "</b><br /><br />" + this.sDealerNaam + this.sAdres + "<br />" + this.sPostcode + " " + this.sPlaats + "<br /><br />Datum: " + this.sDatum + "<br />Tijd: " + this.sTijd + "</div>"));
			this.openInfoWindowTabsHtml(aTabs, aInfoWindowOptions);
		});
		
		/*
		GEvent.addListener(oMarker, "infowindowclose", function(){
			oMap.returnToSavedPosition();											
		});
		*/

		aJsMarkers.push(oMarker);
		oMap.addOverlay(aJsMarkers[aJsMarkers.length - 1]);
	}
}

function fCropGoogleMapsImages(widthmax){ 
	var x = document.getElementById('toCrop').getElementsByTagName('img');
	for (var i=0;i<x.length;i++){
		if (x[i].className != "nocrop") {
			var height = parseInt(x[i].height);
			var width = parseInt(x[i].width);
	
			if (width  > widthmax){
				newwidth 		= widthmax;
				newheight 	= Math.round(widthmax * (height / width));
				x[i].width  = newwidth;
				x[i].height = newheight;
			}
		}
	}
}


//-->
