// Stores the active SubMenu
var activeSubMenu = -1;
var activeSubSubMenu = -1;
var gugu = "";


function positionLayer(layername) {
	// Check if layer is outside screen width
	var layerObj = window.document.getElementById(layername);
	if(!layerObj) return;
	var layerStyle = layerObj.style;
	var layerWidth = parseInt(layerStyle.width);
	var layerLeft = parseInt(layerStyle.left);

	var bodyWidth = document.body.clientWidth;
	
	// If the layer name does not contain "menu", and also does not contain "rollover",
	// it is a main menu item layer
	var isMainMenuItem = ((layername.indexOf('menu') + layername.indexOf('rollover')) != -2);
	if(! isMainMenuItem) { 
	 	// Wenns ueber Browserbreite geht
		if( (layerLeft + layerWidth) > bodyWidth ) {
		 	// SubSubMenu...
		 	if(layername.match(/(text).+_.+/)) {
				var parentObj = window.document.getElementById(layername.substring(0,layername.indexOf("_")));
				layerStyle.left = (parseInt(parentObj.style.left) - layerWidth) + "px";
			}
			// SubMenu
			else {
				layerStyle.left = (bodyWidth - layerWidth - 1) + "px";
			}
		}
		else {
			if((layerLeft + layerWidth + 1) < bodyWidth) {
				var parentObj = window.document.getElementById("menu" + layername.substring(4,5));
				layerStyle.left = parentObj.style.left;
			}
		}
	}	
}

function isLayer(layername) {
	return window.document.getElementById(layername);
}

// Layer
function showLayer(layername) {
	positionLayer(layername);
	window.document.getElementById(layername).style.visibility = 'visible';
}

function hideLayer(layername) {
	window.document.getElementById(layername).style.visibility = 'hidden';
}
//////////////////////////////////////////////////////////////////////////////////
// 										MainMenu
//////////////////////////////////////////////////////////////////////////////////
function mainOver(mainnr) {
	activeSubMenu = mainnr;
	showSubMenuDelayed(mainnr);
}

function rolloverImg(mainnr) {
	showLayer("rollover" + mainnr);
}
function rolloutImg(mainnr) {
	hideLayer("rollover" + mainnr);
}

function mainOut(mainnr) {
	activeSubMenu = -1;
	hideSubMenuDelayed(mainnr);
}
//////////////////////////////////////////////////////////////////////////////////
// 										SubMenu
//////////////////////////////////////////////////////////////////////////////////
function showSubMenu(mainnr) {
	if(activeSubMenu == mainnr) {
		rolloverImg(mainnr);
		showLayer("text" + mainnr);
	}
}

function hideSubMenu(mainnr) {
	if(activeSubMenu != mainnr) {
		rolloutImg(mainnr);
		hideLayer("text" + mainnr);
	}
}

function subOver(mainnr, nr) { 
	activeSubMenu = mainnr;
	activeSubSubMenu = nr;

	showSubMenuDelayed(mainnr);
	showSubSubMenuDelayed(mainnr, nr);
}

function subOut(mainnr, nr) { 
	activeSubMenu = -1;
	activeSubSubMenu = -1;
	
	hideSubSubMenuDelayed(mainnr, nr);
	hideSubMenuDelayed(mainnr);
}
function hideSubMenuDelayed(mainnr, nr) {
	setTimeout("hideSubMenu" + "(" + mainnr + ")", 10);
}
function showSubMenuDelayed(mainnr, nr) {
	setTimeout("showSubMenu" + "(" + mainnr + ")", 10);
}

////////////////////////////////////////////////
// SubSub
////////////////////////////////////////////////
function subsubOver(mainnr, nr, subnr) { 
	subOver(mainnr, nr)
}
function subsubOut(mainnr, nr, subnr) { 
	subOut(mainnr, nr);
}

function showSubSubMenu(mainnr, nr) {
	if(activeSubSubMenu == nr) {
		if(isLayer("text" + mainnr + "_" + nr))
			showLayer("text" + mainnr + "_" + nr);
	}
}

function showSubSubMenuDelayed(mainnr, nr) {
	setTimeout("showSubSubMenu" + "(" + mainnr + "," + nr + ")", 10);
}
function hideSubSubMenuDelayed(mainnr, nr) {
	setTimeout("hideSubSubMenu" + "(" + mainnr + "," + nr + ")", 10);
}

function hideSubSubMenu(mainnr, nr) {
	if(activeSubSubMenu != nr) {
		if(isLayer("text" + mainnr + "_" + nr))
			hideLayer("text" + mainnr + "_" + nr);
	}
}

function showDebug() {
	alert(gugu);
	gugu = "";
}