﻿PT.Sites.Geofort = {
	geenMenu: function() {
		if (PT.Sites.General.EditorActive() == true) { // true is in de editor
			var div = document.getElementById('hoofdmenu');
			var ul = div.getElementsByTagName('ul');

			ul[0].style.display = 'none';
		}
	},

	hoogteContainer: function() {
		var hoogtescherm = document.body.clientHeight;
		var header = $('s_header');
		var obj = new Array();
		obj[0] = $('ft_middle');
		obj[1] = $('fn_middle');
		obj[2] = $('gf_middle');
		obj[3] = $('gv_middle');
		obj[4] = $('la_middle');

		var hoogte = hoogtescherm - header.clientHeight - 38 - 20;
		for (var i = 0; i < obj.length; i++) {
			obj[i].getElementsByTagName('div')[0].style.height = hoogte - 20 + "px";
		}
	},

	openMenuPopup: function(href) {
		var arr = href.split('/');
		if (href.substring(0, 7) == "http://") {
			var map = arr[3];
			var page = "";
			for (var i = 4; i < arr.length; i++) {
				page += "/" + arr[i];
			}
		}
		else {
			var map = arr[1];
			var page = "";
			for (var i = 2; i < arr.length; i++) {
				page += "/" + arr[i];
			}
		}
		if (map != "geofort" && map != "geovalley" && map != "fort_toen" && map != "fort_nu" && map != "living_atlas") { var map = 'geofort'; }
		if (page != "") {
			page = page.substring(1);
			map = map.replace(" ", "_");
			var pc = $(map).getElementsByTagName('div')[1];
			pc.innerHTML = "<iframe name=\"iframe\" class=\"main_iframe\" id=\"iframe_" + map + "\" border=\"0\" frameborder=\"0\" src=\"http://www.geofort.paradesk.nl/sites/303/pages/" + page + "\">Geen frames</iframe>";
			$(map).style.display = "block";
			var div = $(map).parentNode.getElementsByTagName('div');
			for (var i = 0; i < div.length; i++) {
				if (div[i] != $(map) && div[i].id != "") {
					div[i].style.display = "none";
					div[i].getElementsByTagName('div')[1].innerHTML = "";
				}
			}
			$('iframe_' + map).style.height = pc.clientHeight + "px";
		}
	},

	openMenu: function(deze) {
		PT.Sites.Geofort.openMenuPopup(deze.href);
		var kaart = parseInt(deze.parentNode.className.substring(9, 10)) - 2;
		PT.Sites.Geofort.hightLightMenu(kaart);
	},

	defineClicksMenu: function() {
		var menu = $('hoofdmenu');
		var items = menu.getElementsByTagName('a');
		if (!PT.Sites.General.FlashDetect.installed) {
			for (var i = 0; i < items.length; i++) {
				items[i].onclick = function() {
					PT.Sites.Geofort.openMenu(this);
					return false;
				};
			}
		}
		else {
			for (var i = 0; i < items.length; i++) {
				items[i].onclick = function() { PT.Sites.Geofort.slideToKaart('geofort_kaart', this); return false; };
			}
		}
	},

	skipToKaart: function(elid, kaartnr) {
		$(elid).skipToKaart(kaartnr);
	},

	slideToKaart: function(elid, deze) {
		var div = $('innercontainer').getElementsByTagName('div');
		for (var i = 0; i < div.length; i++) {
			if (div[i].id != "") {
				div[i].style.display = "none";
			}
		}
		var kaart = parseInt(deze.parentNode.className.substring(9, 10)) - 2;
		$(elid).slideToKaart(kaart);
	},

	openHotspot: function(url) {
		if (PT.Sites.General.EditorActive() == false) {
			PT.Sites.Geofort.openMenuPopup(url);
		}
	},

	hightLightMenu: function(kaartnr) {
		var menu = $('hoofdmenu');
		var items = menu.getElementsByTagName('a');

		for (var i = 0; i < items.length; i++) {
			if (kaartnr == i) {
				items[i].className = "hoofdmenu boldactief";
			}
			else {
				items[i].className = "hoofdmenu"
			}
		}
	},

	unhightLightMenu: function() {
		var menu = $('hoofdmenu');
		var items = menu.getElementsByTagName('a');

		for (var i = 0; i < items.length; i++) {
			items[i].className = "hoofdmenu"
		}
	},

	checkFlash: function() {
		if (!PT.Sites.General.FlashDetect.installed) {
			//niets doen
		}
		else {
			var krtnr = $('gekozenkaart').getElementsByTagName('input')[0].value;
			if (krtnr == "") { krtnr = "0"; }
			$('main_flash').innerHTML = "<div><object type=\"application/x-shockwave-flash\" data=\"/sites/303/flash/geoweb1.swf?kaart=" + krtnr + "\" width=\"1000\" height=\"525\" id=\"geofort_kaart\" name=\"geofort_kaart\"><param name=\"movie\" value=\"/sites/303/flash/geoweb1.swf?kaart=" + krtnr + "\" /><param name=\"allowScriptAccess\" value=\"always\" /><param name=\"wmode\" value=\"transparent\" /></object></div>";
		}
	},

	transForm: function(deze) {
		if (deze.value == "Zoek in het menu") {
			deze.value = "";
			deze.style.color = "#000000";
		}
	},

	transForm2: function(deze) {
		if (deze.value == "") {
			deze.value = "Zoek in het menu";
			deze.style.color = "#808080";
		}
	},

	OpenPanorama: function(binfile) {
		var div = document.createElement('div');
		var innerdiv = document.createElement('div');
		var close = document.createElement('img');
		div.className = "black_div";
		div.style.height = document.documentElement.scrollHeight;
		document.body.appendChild(div);

		innerdiv.className = "panorama_div";
		document.body.appendChild(innerdiv);

		close.className = "inner_close";
		close.src = "/sites/303/images/close.png";
		close.alt = "sluiten";
		innerdiv.appendChild(close);
		PT.Sites.General.RegisterEvent(close, "click", function() { PT.Sites.Geofort.closePanorama(div, innerdiv); });

		var div3 = document.createElement('div');
		var div2 = document.createElement('iframe');
		div2.className = "pan_iframe";
		div2.setAttribute("frameborder", "0");
		div2.setAttribute("border", "0");
		div2.src = "/sites/303/flash/panorama/panorama.html?bin=" + binfile;
		innerdiv.appendChild(div3);
		div3.appendChild(div2);

		innerdiv.style.marginLeft = (document.body.offsetWidth - innerdiv.clientWidth) / 2 + "px";
		innerdiv.style.marginTop = (document.body.offsetHeight - innerdiv.clientHeight) / 2 + "px";
	},

	OpenAnimatie: function(file) {
		var str = "<object type=\"application/x-shockwave-flash\" data=\"/sites/303/flash/animatie/" + file + "\" width=\"800\" height=\"450\" id=\"geofort_animatie\" name=\"geofort_animatie\"><param name=\"movie\" value=\"/sites/303/flash/animatie/" + file + "\" /><param name=\"allowScriptAccess\" value=\"always\" /><param name=\"wmode\" value=\"transparent\" /></object>";

		var div = document.createElement('div');
		var innerdiv = document.createElement('div');
		var close = document.createElement('img');
		div.className = "black_div";
		div.style.height = document.documentElement.scrollHeight;
		document.body.appendChild(div);

		innerdiv.className = "animatie_div";
		document.body.appendChild(innerdiv);

		var swf = document.getElementById('geofort_animatie');

		close.className = "inner_close";
		close.src = "/sites/303/images/close.png";
		close.alt = "sluiten";
		innerdiv.appendChild(close);

		var div3 = document.createElement('div');
		innerdiv.appendChild(div3);
		div3.innerHTML = str;
		PT.Sites.General.RegisterEvent(close, "click", function() { PT.Sites.Geofort.closeAnimatie(div, innerdiv, div3); });
		innerdiv.style.marginLeft = (document.body.offsetWidth - innerdiv.clientWidth) / 2 + "px";
		if (document.all) {
			innerdiv.style.marginTop = (document.body.offsetHeight - innerdiv.clientHeight) / 2 + "px";
		}
		else {
			innerdiv.style.marginTop = (document.body.offsetHeight - 484) / 2 + "px";
		}
	},

	closePanorama: function(obj, obj2) {
		obj.parentNode.removeChild(obj);
		obj2.parentNode.removeChild(obj2);
	},

	closeAnimatie: function(obj, obj2, obj3) {
		obj3.parentNode.removeChild(obj3);
		obj.parentNode.removeChild(obj);
		obj2.parentNode.removeChild(obj2);
	},

	ToggleDiv: function(elid) {
		var ft = $('fort_toen');
		var fn = $('fort_nu');
		var gf = $('geofort');
		var gv = $('geovalley');
		var la = $('living_atlas');
		var el = $(elid);

		if (el == ft) { ft.style.display = "none"; }
		else if (el == fn) { fn.style.display = "none"; }
		else if (el == gf) { gf.style.display = "none"; }
		else if (el == gv) { gv.style.display = "none"; }
		else if (el == la) { la.style.display = "none"; }

		if (!PT.Sites.General.FlashDetect.installed) {
			PT.Sites.Geofort.unhightLightMenu();
		}
	},

	onLoad: function() {
		PT.Sites.Geofort.checkFlash();
		PT.Sites.Geofort.geenMenu();
		PT.Sites.Geofort.hoogteContainer();
		if ($('hoofdmenu')) {
			PT.Sites.Geofort.defineClicksMenu();
		}
	}
}
PT.Sites.General.RegisterEvent(window, "load", function() { PT.Sites.Geofort.onLoad(); });
