﻿if(typeof dode !== 'undefined') {
	dode.mainfunc.hideMainMenu = {
		init : function () {
			if (!document.getElementById("mainMenuSwitch")) { return false; }
			if (!document.getElementById("hauptMenu")) { return false; }
			var textMenuShow = dode.pagevar.lang.hauptmenueTextShow;
			var textMenuHide = dode.pagevar.lang.hauptmenueTextHide;
			var newTextSwitchElement = document.createElement("SPAN");
			var switchNode = document.getElementById("mainMenuSwitch");
			if (document.getElementById("kopfPanoramaKlein")) {
				var elementHead = document.getElementById("kopfPanoramaKlein");
			} else if (document.getElementById("kopfPanorama")) {
				var elementHead = document.getElementById("kopfPanorama");
			} else {
				return false;
			}

			var speedTimer = 10;
			var aktiv;
			var elementMenuOffset = 4.583 // in em
			var elementSuFiBox = null;
			var newPositionSuFi = null;
			var elementSuFiPositionStart = null;
			if (document.getElementById("suchenUndFinden")) {
				var elementSuFiBox = document.getElementById("suchenUndFinden");
				var elementSuFiBoxPosition = dode.util.getPositionValues(elementSuFiBox,"top");
				var elementSuFiPosition = elementSuFiBoxPosition[0];
				elementSuFiPosition = Number(elementSuFiPosition);
				if (elementSuFiBoxPosition[1] === "px") {
					elementSuFiPosition = elementSuFiPosition/12;
				}
				elementSuFiPositionStart = elementSuFiPosition;
			}
			var positionHead = dode.util.getPositionValues(elementHead,"marginTop");
			elementHeadPosition = positionHead[0];
			elementHeadPosition = Number(elementHeadPosition);
			if (positionHead[1] === "px") {
				elementHeadPosition = elementHeadPosition/12;
			}
			var newOffset = (elementHeadPosition + elementMenuOffset);
			var step = elementMenuOffset/30;
			var start = newOffset;
			var stop = elementHeadPosition;
			
			function slideUp() {
				if (start > stop) {
					start = start - step;
					elementHead.style.marginTop = start+"em";
					if (elementSuFiBox) {
						elementSuFiPosition = elementSuFiPosition - step;
						elementSuFiBox.style.top = elementSuFiPosition + "em";
					}
					aktiv = setTimeout(slideUp,speedTimer);
				} else {
					elementHead.style.marginTop = elementHeadPosition+"em";
					if (elementSuFiBox) {
						elementSuFiBox.style.top = elementSuFiPositionStart+"em";
					}
					start = newOffset;
					clearTimeout(aktiv);
					dode.newevent.addEvent(newTextSwitchElement,"mouseup",showMenu);
					dode.css.deleteCssClass(switchNode,"kkAktiv");
					dode.css.addCssClass(switchNode,"kkInaktiv");
				}
			}
			
			function slideDown() {
				if (stop < start) {
					stop = stop + step;
					elementHead.style.marginTop = stop+"em";
					if (elementSuFiBox) {
						elementSuFiPosition = elementSuFiPosition + step;
						elementSuFiBox.style.top = elementSuFiPosition+"em";
					}
					aktiv = setTimeout(slideDown,speedTimer);
				} else {
					// elementHead.style.marginTop = newOffset+"em";
					stop = elementHeadPosition;
					dode.css.deleteCssClass(document.getElementById("hauptMenu"),"hide");
					newTextSwitchElement.firstChild.replaceData(0,newTextSwitchElement.firstChild.nodeValue.length,textMenuShow);
					clearTimeout(aktiv);
					dode.newevent.addEvent(newTextSwitchElement,"mouseup",hideMenu);
					dode.css.deleteCssClass(switchNode,"kkInaktiv");
					dode.css.addCssClass(switchNode,"kkAktiv");
				}
			}
		
			var showMenu = function (e) {
				dode.newevent.removeEvent(newTextSwitchElement,"mouseup",showMenu);
				slideDown();
				return true;
			}
			
			var hideMenu = function (e) {
				dode.newevent.removeEvent(newTextSwitchElement,"mouseup",hideMenu);
				dode.css.addCssClass(document.getElementById("hauptMenu"),"hide");
				newTextSwitchElement.firstChild.replaceData(0,newTextSwitchElement.firstChild.nodeValue.length,textMenuHide);
				slideUp();
				return true;
			}
			
			var setSwitch = function (switchNode) {
				var allChilds = switchNode.childNodes;
				dode.util.deleteAllNodes(switchNode);
				switchNode.appendChild(newTextSwitchElement);
				var newTextElement = document.createTextNode(textMenuHide);
				newTextSwitchElement.appendChild(newTextElement);
				dode.css.addCssClass(switchNode,"kkInaktiv");
				if (!dode.css.hasCssClass(document.getElementById("hauptMenu"),"hide")) {
					dode.css.addCssClass(document.getElementById("hauptMenu"),"hide");
				}
				dode.css.addCssClass(newTextSwitchElement,"pointer");
				dode.css.addCssClass(newTextSwitchElement,"linkKnopf");
				dode.newevent.addEvent(newTextSwitchElement,"mouseup",showMenu);
				if (!dode.css.hasCssClass(elementHead,"hideMainMenu")) {
					dode.css.addCssClass(elementHead,"hideMainMenu");
				}
				/*
				if (elementSuFiBox) {
					elementSuFiBox.style.top = (elementSuFiPosition-elementMenuOffset)+"em";
				}
				*/
				return true;
			}
			setSwitch(switchNode);
			return true;
		}
	};
	dode.domLoad.registerOnLoad(dode.mainfunc.hideMainMenu.init);
};
