/*************************************
 *                                   *
 *  This script includes:            *
 *  cmenu.js - version: 1.0.0         *
 *  Vertical Cascading Menu          *
 *  by Tolga Akyay                   *
 *  Copyright (c) 2002 Tolga Akyay   *
 *  tolga@mimarsinan.com             *
 *                                   *
 *  You may use this code in public  *
 *  only if this entire copyright    *
 *  notice remains unchanged.        *
 *                                   *
 *************************************/

var itemHeight = 20;
var menuTimeOut = 500;
var menuTimerId = null;
var menuTimerTicking = false;
var activeMenu = null;
var hasActiveMenu = false;
var childMenu = null;
var hasVisibleChild = false;
var hasChildMenu = false;
var isChild = true;
var parentMenu = null;
var visibleChild = null;

function hideMenu(obj)
{
	if (!obj) return;
	if (obj.hasVisibleChild)
	{
		hideMenu(obj.visibleChild);
	}
	obj.parentMenu.hasVisibleChild = false;
	obj.parentMenu.visibleChild = null;
	if (obj.isChild == false)
	{
		menuContainer.hasActiveMenu = false;
		menuContainer.activeMenu = null;
	}
	obj.style.visibility = "hidden";
}

function showMenu(obj)
{
	obj.parentMenu.hasVisibleChild = true;
	obj.parentMenu.visibleChild = obj;
	if (obj.isChild == false)
	{
		menuContainer.hasActiveMenu = true;
		menuContainer.activeMenu = obj;
	}
	obj.style.visibility = "visible";
}

function closeAll()
{

	hideMenu(menuContainer.activeMenu);
}

function menuItemMouseOut()
{
	this.className = "menuItem";
	menuTimerId = setTimeout("closeAll()", menuTimeOut);
	menuTimerTicking = true;
}

function menuItemMouseOver()
{
	this.className = "menuItemOver";
	clearTimeout(menuTimerId);
	menuTimerTicking = false;
	if ((this.hasChildMenu) && (this.parentMenu.hasVisibleChild) && (this.parentMenu.visibleChild == this.childMenu)) return;
	if (this.parentMenu.hasVisibleChild)
	{
		hideMenu(this.parentMenu.visibleChild);
	}
	if (this.hasChildMenu)
	{
		showMenu(this.childMenu);
	}
}

function findSubMenus(obj)
{
	var i, j, menu, item;
	obj.noWrap = true;
	obj.style.pixelWidth = "auto";
	obj.style.pixelWidth = obj.offsetWidth + 20;
	var w = obj.offsetWidth;
	for (i = 0; i < obj.children.length; i++)
	{
		if (obj.children[i].className == "menuItem")
		{
			item = obj.children[i];
			item.style.pixelWidth = w;
			item.parentMenu = obj;
			item.onmouseout = menuItemMouseOut;
			item.onmouseover = menuItemMouseOver;
		}
		else if (obj.children[i].className == "subMenu")
		{
			
			menu = obj.children[i];
			item = obj.children[i - 1];
			menu.parentMenu = obj;
			if (obj.id == "menuContainer")
			{
				menu.isChild = false;
			}
			item.hasChildMenu = true;
			item.childMenu = menu;
			item.innerHTML = "<span class=\"more\">4</span>" + item.innerHTML;
			menu.style.pixelLeft = item.offsetLeft + item.offsetWidth - 4;
			menu.style.pixelTop = item.offsetTop + 4;
			findSubMenus(menu);
		}
	}
}

function initMenus()
{
	findSubMenus(menuContainer);
}

function documentClickFromMenu()
{
	if (menuTimerTicking)
	{
		closeAll();
	}
}