// Don't change these parameters
var delay        = 550; /////
var menuElement  = new Array ();
var usedWidth    = 0;
var numOfMenus   = 0;
/// ----------------------------

var topID  = -1;

var xPos = 0;
var yPos = 0;

function offsetLeft(o){
    var i = 0;
    while (o.offsetParent!=null) {
    	//alert("o.offsetParent = "+o.offsetParent);
        i += o.offsetLeft;
        o = o.offsetParent;
    }
        //alert("o = "+o.offsetLeft);
        //alert("i = "+i);
    return i + o.offsetLeft;
}
function offsetTop(o){
    var i = 0;
    while (o.offsetParent!=null) {
        i += o.offsetTop;
        o = o.offsetParent;
    }
    return i + o.offsetTop;
}

function menuPos(ID)
{
	var explorerTest = windowsExplorer();
	
	xPos = offsetLeft(document.getElementById('ref' + ID));
	xSitePos = offsetLeft(document.getElementById('PhoneBook'));
	
	xPos = xPos - xSitePos;
	if(ID == 71)
	{
		xPos = xPos - 400;
	}
	//alert("xPos2 = "+xPos);
	
//	explorerTest == true ? yPos = 5 : yPos = 128;
	yPos = offsetTop(document.getElementById('ref' + ID));
	ySitePos = offsetTop(document.getElementById('PhoneBook'));
	
	yPos = yPos - ySitePos + 15;
	if(ID == 71)
	{
		yPos = yPos - 180;
	}
	//alert("yPos = "+yPos);


}

// constructor of menu elements
function menuConstructor(id)
{
	this.ID            = id; // the Current Menu ID
	this.parentID      = -1; // the Current Menu's Parent Menu ID
	this.parentItemID  = -1; // the Current Menu's Parent Menu Item ID
	this.timerID       = -1; // the Current Menu's Delay timer
	this.isOn          = false; // the Current Menu's Display Status
	this.currItemID    = -1; // the i don't know
	
	/*if(id > 1)
	{
		this.parentID      = 1;
		this.parentItemID  = id - 2;
	}*/
	
	return this;
}

function enterTopItem(ID)
{//alert('enterTopItem');
	if (topID != ID && topID != -1)
	{
		hideTree(topID);
	}
	menuPos(ID);
	releaseTree(ID);
	topID = ID;
	show(ID);
	document.getElementById('ref' + ID).style.color = "#996600";
}

function enterSearchOpsItem(ID)
{//alert('enterTopItem');
	if (topID != ID && topID != -1)
	{
		hideTree(topID);
	}
	menuPos(ID);
	releaseTree(ID);
	topID = ID;
	showSearchOps(ID);
	document.getElementById('ref' + ID).style.color = "#996600";
}

function enterBucketItem(ID)
{//alert('enterTopItem');
	//alert("topID = "+topID);
	if (topID != ID && topID != -1)
	{
		//alert("here1");
		hideTree(topID);
	}
	menuPos(ID);
	releaseTree(ID);
	//alert("releaseTree");
	topID = ID;
	//alert("topID = "+topID);
	showBucket(ID);
	//alert("showBucket");
	document.getElementById('ref' + ID).style.color = "#996600";
}

function exitTopItem(ID)
{//alert('exitTopItem');
	menuElement[ID].timerID = setTimeout('hide (' + ID + ')', delay);
}


// Called by PopMenu Items

function enterItem(menuID, itemID)
{//alert('enterItem');
	var currItemID = menuElement[menuID].currItemID;
	menuPos(2, itemID);
	if (currItemID > -1)	
	{
		hide (currItemID);
	}

	for (var i = 0; i < numOfMenus; i++)
	{
		if (menuElement[i].parentID == menuID && menuElement[i].parentItemID == itemID)
		{
			clearTimeout (menuElement[i].timerID);
			menuElement[i].timerID = -1;
			show(i);
			return 0;
		}
	}

	return -1;
}

function exitItem(menuID, itemID)
{//alert('exitItem');
	
	for (var i = 0; i < numOfMenus; i++)
	{
		if (menuElement[i].parentID == menuID && menuElement[i].parentItemID == itemID)
		{
			menuElement[i].timerID = setTimeout ('hide (' + i + ')', delay);
			return 0;
		}
	}
	
	/*menuElement[menuID].timerID = setTimeout ('hide (' + menuID + ')', delay);
		
	if (menuElement[menuID].parentID > -1)
	{
		menuElement[menuElement[menuID].parentID].timerID = setTimeout ('hide (' + menuElement[menuID].parentID + ')', delay);
	}*/
}


// Called By Main Div Holders of Nav Peace

function enterMenu(ID)
{//alert('enterMenu');
	var parentID = menuElement[ID].parentID;
	//alert("parentID = "+parentID);
	if (parentID == -1)
	{
		clearTimeout (menuElement[ID].timerID);
		menuElement[ID].timerID = -1;
	}
	else
	{
		releaseTree(ID);
	}
}

function exitMenu(ID)
{//alert('exitMenu');
	timeoutTree(ID);
}


function hideTree(ID)
{//alert('hideTree');
	if(ID == "all")
	{
		for (var j = 0; j < numOfMenus; j++)
		{
			if (menuElement[j].isOn)
			{
				hide(j);
			}
		}
	}
	else
	{
		hide(ID);
		
		for (var j = 0; j < numOfMenus; j++)
		{
			if (menuElement[j].parentID == ID && menuElement[j].isOn)
			{
				hideTree(j);
				return 0;
			}
		}
	}
}

function releaseTree(ID)
{//alert("ID = "+ID);
	clearTimeout(menuElement[ID].timerID);
	menuElement[ID].timerID = -1;

	var parentID = menuElement[ID].parentID;
	
	if (parentID > -1)
	{
		releaseTree(parentID);
	}
}

function timeoutTree(ID)
{//alert('timeoutTree');
	menuElement[ID].timerID = setTimeout ('hide (' + ID + ')', delay);
	
	var parentID = menuElement[ID].parentID;
	
	if (parentID > -1)
	{
		timeoutTree(parentID);
	}
}


function showHolder()
{//alert('showHolder');
	document.getElementById('MenuHolder').style.display = 'block';
}

function hideHolder()
{//alert('hideHolder');
	document.getElementById('MenuHolder').style.display = "none";
}

function show(ID)
{//alert('show');
	//showHolder();

	document.getElementById('Menu' + ID).style.visibility = 'visible';
	document.getElementById('Menu' + ID).style.left = xPos + 'px';
	document.getElementById('Menu' + ID).style.top =  yPos + 'px';

	menuElement[ID].isOn = true;

	if (menuElement[ID].parentID > -1)
	{
		menuElement[menuElement[ID].parentID].currItemID = ID;
	}
	document.getElementById('ref' + ID).style.color = "#996600";
}

function showSearchOps(ID)
{//alert('show');
	//showHolder();

	document.getElementById('Menu' + ID).style.visibility = 'visible';
	
		document.getElementById('Menu' + ID).style.top =  yPos + 'px';
	
	menuElement[ID].isOn = true;

	if (menuElement[ID].parentID > -1)
	{
		menuElement[menuElement[ID].parentID].currItemID = ID;
	}
	document.getElementById('ref' + ID).style.color = "#996600";
}

function showBucket(ID)
{//alert('show');
	//showHolder();

	document.getElementById('Menu' + ID).style.visibility = 'visible';
	
	document.getElementById('Menu' + ID).style.left = xPos + 35 + 'px';
	document.getElementById('Menu' + ID).style.top =  yPos - 35 + 'px';
	
	menuElement[ID].isOn = true;

	if (menuElement[ID].parentID > -1)
	{
		menuElement[menuElement[ID].parentID].currItemID = ID;
	}
	document.getElementById('ref' + ID).style.color = "#996600";
}

function hide(ID)
{//alert('hide');
	document.getElementById('Menu' + ID).style.visibility = "hidden";
	menuElement[ID].isOn = false;

	if (menuElement[ID].parentID > -1)
	{
		menuElement[menuElement[ID].parentID].currItemID = -1;
	}
	
	var elementOn = 0;
	
	for(var j = 0; j < numOfMenus; j++)
	{
		if(menuElement[j].isOn)
		{
			elementOn++;
		}
	}
	
	if(elementOn == 0)
	{
		//hideHolder();
	}
	document.getElementById('ref' + ID).style.color = "#000000";
}

function createMenuTree()
{
	//mhayee 71 changed to 72 to allow embed video msg.
	for (var i = 0; i < 72; i++)
	{
		menuElement[i] = new menuConstructor(i);
		numOfMenus++;
	}
}

createMenuTree ();


//--------------------------------------------------------------------------------------// JavaScript Document