/*
----------------------------------------------------------
	This file is included in all admin pages
	Displays menus and sub menus
	Copyright 2004 Scion Solutions Ltd www.scion.co.uk
	Version 1.00 29/01/04
	Version 2.00 20/09/05
	Author: Ian Winstanley
----------------------------------------------------------
*/

var menuClicked = false;
function down(e) {
	var el;
	el = (!e) ? window.event.srcElement : e.target;
	var parent = el.parentNode;
	var parentId = parent.id;

	if (parentId == lastMenu) {
		return;
	}

	if (document.getElementById(lastMenu) && document.getElementById(lastMenu).style.visibility == 'visible') {
		document.getElementById(lastMenu).style.visibility = 'hidden';
		hideSelects(lastMenu);
		setClick(false);
	}
}

/* Initialise events onload */
function CMSinit(e) {
	if (NS6 || Firefox || Opera) {
		document.addEventListener('mousedown', down, false);
	} else {
		document.onmousedown = down;
	}
}

/* Hides or displays all selects on the page in order that they do not interfere with drop down menus. Changes the style. */
function hideSelects(menuItem) {
	if (document.getElementById(menuItem) && document.getElementById(menuItem).style.visibility == 'visible') {
		document.getElementById('mainCMSContent') ? document.getElementById('mainCMSContent').className = "selectHide" : document.getElementById('mainCMSContentEditor');
	} else {
		document.getElementById('mainCMSContent') ? document.getElementById('mainCMSContent').className = "selectVisible" : document.getElementById('mainCMSContentEditor');
	}
}

function setClick(boolVal, menu, state, hrefID) {
	menuClicked = boolVal;
	if (boolVal == true) {
		menuList(menu, state, hrefID);
	}
}

var lastMenu;
function menuList(menu, state, hrefID) {
	if (!menu || menuClicked == false) {
		return;
	}
	
	var extraTop = 5, leftOffset = 5;

	if (document.getElementById(lastMenu)) {
		document.getElementById(lastMenu).style.visibility = 'hidden';
	}
	
	lastMenu = menu

	document.getElementById(menu).style.visibility = state;
	hideSelects(menu);

	document.getElementById(menu).style.top = document.getElementById(hrefID).offsetHeight + extraTop + 'px';
	var parentMenuLeft = Opera ? (document.getElementById(hrefID).offsetLeft - document.getElementById('CMSMenu').offsetLeft) : document.getElementById(hrefID).offsetLeft;
	document.getElementById(menu).style.left = parentMenuLeft - leftOffset + 'px';
}
