/* JAVASCRIPT MENU FUNCTIONS
 * =========================
 * Copyright © 2005-2006 Foxford Services Ltd
 * Author: Stephen Boot
 * =========================
 */

// List element (types=root/top/menu)
function Menu(name, type, list)
{
	this.name = name;
	this.type = type;
	this.next = list;
}

// Create new menu structure
var m_activated = null; // Which menu has been clicked
var menu = new Menu('root', 'root', null); // Linked list of all the divs that are open
window.HideMenuTimer = null;

// TopLevel mouseOver
function topOnMouseOver(div, pColour)
{
	if (m_activated != null)
	{
		clearTimeout(HideMenuTimer);
		hideMenus(pColour);
	}

	// Open newly selected menu
	m_activated = div;
	div.className = 'm_inset';
	menu = new Menu(div.id, 'top', menu);
	document.getElementById(div.id + '_1').style.visibility = 'visible';
	menu = new Menu(div.id + '_1', 'menu', menu);
}

// TopLevel mouseOut
function topOnMouseOut(pColour)
{
	// Hide activated menu after a set number of milliseconds
	HideMenuTimer = setTimeout("hideMenus('" + pColour + "')", 500);
}

// Item mouseOver
function itemOnMouseOver(div, sColour)
{
	div.className = 'm_menuitem_hover';
	div.style.backgroundColor = sColour;
}

// Item mouseOut
function itemOnMouseOut(div, pColour)
{
	div.className = 'm_menuitem';
	div.style.backgroundColor = pColour;
}

function hideMenus(pColour)
{
	// Hide menus
	while (menu.type == 'menu')
	{
		document.getElementById(menu.name).style.visibility = 'hidden';
		menu = menu.next;
	}

	// Normalise activated menu
	m_activated.className = 'm_normal';

	m_activated.style.color = pColour;
	m_activated.style.borderColor = '#E5E5E5';
	m_activated.style.backgroundColor = 'white';
}
