/**********************************************
Menu functions for www.Premier-Percussion.co.uk
Developer: Chris Pennington
Date: 01/11/2005 
© Visuality Ltd 2005 - www.visuality.co.uk
**********************************************/

var browserWidth; // global to hold screen width populated by - getScreenWidth() function onLoad and onResize
// show or hide the flyout menu
function showHideMenu(currentElem,targetElem,color,which,level) {

	var baseDepth = adjustBaseDepth(level,110);
	var extendedDepth = parseInt(level * 23);
	var yOffSet = baseDepth + extendedDepth;
	var xOffSet = getOffSetX(browserWidth);
	
	changeBackground(currentElem,color);
	
	if (document.getElementById) {
		if (which == "show") {
			if (document.getElementById(targetElem).style.display == "none") {
				document.getElementById(targetElem).style.display = "";
				document.getElementById(targetElem).style.left = xOffSet;
				document.getElementById(targetElem).style.top = yOffSet;
			}
		}
		else if (which == "hide") {
			currentElem.style.cursor = "pointer";
			if (document.getElementById(targetElem).style.display == "") {
				document.getElementById(targetElem).style.display = "none";
			}
		}
	}
}

// changes the bgcolor of an element
function changeBackground(elem,color) {
	// NS/Mozilla seems to change colour but not change 
	//back so keep background as white if NS/Mozilla
	if (navigator.appName.indexOf("Netscape") == -1) {
		elem.style.background = color;
	}
}

// changes the className of an element
function changeClass(elem,name) {
	// As changeBackground function intermittently works
	// on NS/Mozilla - don't change text color
	if (navigator.appName.indexOf("Netscape") == -1) {
		elem.className = name;
	}
}

// populates global browserWidth with browser width
function getScreenWidth() {
	browserWidth = document.body.clientWidth;
}

// calculates left position of flyout relative to screen size
function getOffSetX(width) {
	if (width > 760) { xOffSet = parseInt([width - 760] / 2) + 156; } else { xOffSet = 160; }
	return xOffSet;
}

// adjusts the depth of the 5th menu element
function adjustBaseDepth(level, baseDepth) {
	if (parseInt(level) > 4) { // Menu level 5 spans 2 rows so next menu level needs to be 12px deeper
		baseDepth = baseDepth + 12; 
	}
	return baseDepth;
}

function showHide() {
	document.getElementById("imageDescription").style.left = getDivLeftOffSet();
	if (document.getElementById("imageDescription").style.display == "none") {
		document.getElementById("imageDescription").style.display = "";
		document.getElementById("openClose").innerText = "close";
	}
	else if (document.getElementById("imageDescription").style.display == "") {
		document.getElementById("imageDescription").style.display = "none";
		document.getElementById("openClose").innerText = "open";
	}
}

function getDivLeftOffSet() {
	var leftOffSet = parseInt([browserWidth - 747] / 2 );
	leftOffSet = leftOffSet + 517;
	return leftOffSet;
}