window.onresize = setSize;
window.onload = init;

function setSize()
{
	siteBreedte = 925;
	// Bepaal de beschikbare breedte van het window
	if (self.innerHeight) // all except Explorer
	{
		hoogteTot = self.innerHeight;
		breedteTot = self.innerWidth;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		hoogteTot = document.documentElement.clientHeight;
		breedteTot = document.documentElement.clientWidth;
	}
	else if (document.body) // other Explorers
	{
		hoogteTot = document.body.clientHeight;
		breedteTot = document.body.clientWidth;
	}
	extraTopNavPadding = (siteBreedte - breedteTot) +3;
	if(document.getElementById('topnavbar')) //bepaal of het element bestaat
	{
		topNavBar = document.getElementById('topnavbar');
		if (extraTopNavPadding > 0) {
			topNavBar.style.padding = '0px ' + extraTopNavPadding + 'px 0px 0px';
			topNavBar.style.width = (siteBreedte - extraTopNavPadding) + 'px';
		}
		else {
			topNavBar.style.padding = '0px 0px 0px 0px';
			topNavBar.style.width = siteBreedte + 'px';
		}
	}
	if(document.getElementById('uppro') || document.getElementById('upproblauw')) //bepaal of het element bestaat
	{
		if(document.getElementById('uppro')) upproFrame = document.getElementById('uppro');
		else upproFrame = document.getElementById('upproblauw');
		content_upproDiv = document.getElementById('content_uppro');
		frameHoogte = hoogteTot - 247;
		if (frameHoogte > 0) {
			upproFrame.style.height = frameHoogte + 'px';
			content_upproDiv.style.height = (frameHoogte) + 'px';
			
		}
	}
}

function renderSWFObjects(elem)
{
	if (!elem || !elem.id)
		return;
	if (elem.id.substr(elem.id.length - 8) == "FlashDiv")
	{
		var swfName = elem.id.substr(0, elem.id.length - 8);
		if (elem.parentNode.id == "leftnavbar")
		{
			flashWidth = "169";
			flashHeight = "170";
		}
		else
		{
			flashWidth = "129";
			flashHeight = "129";
		}
		var swfo = new SWFObject(flashLoc + swfName + ".swf", swfName, flashWidth, flashHeight, "7", "#FFFFFF");
		var found = false;
		for (fid in elem.childNodes)
		{	
			fChild = elem.childNodes[fid];
			if (!found && fChild && String(fChild.tagName).toLowerCase() == "a" && fChild.href != "")
			{
				swfo.addVariable("rubURL", fChild.href);
				found = true;
			}
		}
		swfo.write(elem.id);
	}
	for (cid in elem.childNodes)
	{
		var elem2 = elem.childNodes[cid];
		renderSWFObjects(elem2);
	}
}

function init()
{
	if(document.getElementById("content_container")) 
		contentcontainer = document.getElementById("content_container");
	renderSWFObjects(contentcontainer);
	setSize();

	// code voor googlemap klantenkaart
	if (document.getElementById("map")) {
	
		// uitvoeren google map script
		
		if (GBrowserIsCompatible()) {


			var map = new GMap2(document.getElementById("map"));
			var center = new GLatLng(52.20172, 5.42204);
			map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());
			map.setCenter(center, 7);
			//GEvent.addListener(map.getInfoWindow(), "closeclick", function() {
			//	map.setCenter(center, 7);
			//  });

			var baseIcon = new GIcon();
			baseIcon.shadow = "http://dezta.nl/template/dezta06/script/markerShadow.png";
			baseIcon.iconSize = new GSize(20, 29);
			baseIcon.shadowSize = new GSize(37, 29);
			baseIcon.iconAnchor = new GPoint(9, 29);
			baseIcon.infoWindowAnchor = new GPoint(9, 3);
			baseIcon.infoShadowAnchor = new GPoint(18, 26);

			var iconDP = new GIcon(baseIcon);
			iconDP.image = "http://dezta.nl/template/dezta06/script/markerDP.png";

			var iconPM = new GIcon(baseIcon);
			iconPM.image = "http://dezta.nl/template/dezta06/script/markerPM.png";

			var iconDezta = new GIcon(baseIcon);
			iconDezta.image = "http://dezta.nl/template/dezta06/script/dezta.png";
			iconDezta.iconSize = new GSize(50, 27);

			var markers;
			var cb_dp = document.getElementById("cb_dp");
			var cb_pm = document.getElementById("cb_pm");
			
			GDownloadUrl("http://dezta.nl/template/dezta06/script/gmap_klanten.xml", function(data, responseCode) {
			  var xml = GXml.parse(data);
			  markers = xml.documentElement.getElementsByTagName("klant");
			  plaatsMarkers();

			});
			
			cb_dp.onclick = function () {plaatsMarkers()};
			cb_pm.onclick = function () {plaatsMarkers()};

			function stringToCor(cor) {	// functie om een string zoals "53.54030739150022, 26.3671875" om te zetten in een GLatLng object
				var corSplit = cor.split(', ');
				var latCor = corSplit[0] * 1;
				var lngCor = corSplit[1] * 1;
				var point = new GLatLng(latCor, lngCor);
				return point;
			}


			
			function toonKlant(klant) {
				var marker = new GMarker(klant.locatie, klant.icon);
				if (klant.prod) var prodHTML = "<p class='gmap_prod'>Producten: " + klant.prod + "</p>";
				else var prodHTML = "";
				map.addOverlay(marker);
					GEvent.addListener(marker, "click", function() {
						marker.openInfoWindowHtml("<p class='gmap_orgtype'>" + klant.organisatie + "</p><h2 class='gmap_orgnaam'>" + klant.naam + "</h2>" + prodHTML);
						var zoomTo = 10;
						if(map.getZoom() >= zoomTo) map.panTo(klant.locatie);
						else map.setCenter(klant.locatie, zoomTo);
					  });
			}
			
			function getNodeContent(nodeParent, tag) {
				if (!nodeParent.getElementsByTagName(tag)[0]) return false;
				else return nodeParent.getElementsByTagName(tag)[0].firstChild.nodeValue;
			}
			
			function plaatsMarkers() {
				  map.clearOverlays();
				  var aantalMarkers = markers.length;
				  for (var i = 0; i < aantalMarkers; i++) {

					var klant = {
						organisatie:getNodeContent(markers[i], "organisatie"),
						naam:getNodeContent(markers[i], "naam"),
						locatie:getNodeContent(markers[i], "locatie"),
						prod:getNodeContent(markers[i], "producten")
					}


					if(cb_dp.checked && klant.prod.indexOf("Dezta Plan") != -1) {
						klant.icon = iconDP;
					}
					if(cb_pm.checked && klant.prod.indexOf("Planmanager") != -1) {
						klant.icon = iconPM;
					}
					
					if (klant.icon) {
						if (!klant.locatie) klant.locatie = "52.47608904123904, 4.1748046875"; //ergens voor de kust
						if (klant.organisatie == "dezta") klant.icon = iconDezta;
						klant.locatie = stringToCor(klant.locatie);
						toonKlant(klant);
					}

				  }
			}
			


		}	// Einde google maps script
		
	}
	
}

