function Ret(num)
{
	if (browser == 'IE')
		return(document.all['menu' + num].style);
	else if (browser == 'NS6')
		return(document.getElementById('menu' + num).style);
	else if (browser == 'NS4')
		return(document.layers['menu' + num]);
}

function Obj(num)
{
	if (browser == 'IE')
		return(document.all['menu' + num]);
	else if (browser == 'NS6')
		return(document.getElementById('menu' + num));
	else if (browser == 'NS4')
		return(document.layers['menu' + num]);
}

function RetName(name)
{
	if (browser == 'IE')
		return(document.all[name]);
	else if (browser == 'NS6')
		return(document.getElementById(name));
	else if (browser == 'NS4')
		return(document.layers[name]);
}

var shown = false;

function KeepOpen()
{
	shown = true;
}

function Loop(num)
{
	Ret(num).visibility = 'hidden';
}

function Hide()
{
	for (i=1; i<=numOfMenus-1; i++)
		Loop(i);
}

function CheckAgain()
{
	if (shown == false)
		Hide();
}

function Check()
{
	shown = false;
	setTimeout('CheckAgain()', hideTimer);
}

function HideAfter(num)
{
	shown = true;
	for (i=num+1; i<=numOfMenus-1; i++)
		Loop(i);
}

function HideBeforeShow(num)
{
	HideAfter(num);
	var start = num;
	for (i=1; i<=numOfMenus-1; i++)
			Ret(i).visibility = 'hidden';
	while(start >= 1)
	{
		var temp = eval('menu' + start + '.parent');
		Ret(temp).visibility = 'visible';
		start                = temp;
	}
}

function CheckAbs(num)
{
	num *= -1;
	return(num);
}

function Show(num, parentNum, itemNum, showDirection)
{
	shown = true;
	HideBeforeShow(num);

	var theLeft = 0, theTop = 0, theHeight = 0, theWidth = 0;
	if (browser == 'IE' || browser == 'NS6')
	{
		theLeft    = parseInt(Obj(parentNum).style.left);
		theLeft2   = RetName('menu' + parentNum + 'Item' + itemNum).offsetLeft;
		theTop     = parseInt(Obj(parentNum).style.top);
		theHeight  = RetName('menu' + parentNum + 'Item' + itemNum).offsetTop;
		theHeight2 = Obj(parentNum).offsetHeight;
		theWidth   = Obj(num).offsetWidth;
		theWidth2  = Obj(parentNum).offsetWidth;
	}
	else if (browser == 'NS4')
	{
		theLeft   = Obj(parentNum).left;
		theLeft2  = eval('menu' + parentNum + '.items[' + itemNum + '].left');
		theTop    = Obj(parentNum).top;
		theHeight = eval('menu' + parentNum + '.items[' + itemNum + '].top');
		theHeigh2 = Obj(parentNum).clip.height;
		theWidth  = Obj(num).clip.width;
		theWidth2 = Obj(parentNum).clip.width;
	}

	if (showDirection == 'l')
	{
		var menuLeft = theLeft - theWidth + propName.offsetH;
		var menuTop  = theTop + theHeight + propName.offsetV;
		if (itemNum == 0)
			menuTop = theTop + propName.offsetV;
	}
	else if (showDirection == 'r')
	{
		var menuLeft = theLeft + theWidth2 - propName.offsetH;
		var menuTop  = theTop + theHeight + propName.offsetV;
		if (itemNum == 0)
			menuTop = theTop + propName.offsetV;
	}
	else if (showDirection == 't')
	{
		var menuLeft = theLeft + theLeft2 - propName.offsetH;
		var menuTop  = theTop - theHeight2 + propName.offsetV;
	}
	else if (showDirection == 'b')
	{
		var menuLeft = theLeft + theLeft2 - propName.offsetH;
		var menuTop  = theTop + theHeight2 - propName.offsetV;
	}

	var theTempLeft = menuLeft;
	var theTempTop  = menuTop;

	if (browser == 'IE' || browser == 'NS6')
	{
		if ((menuLeft + theWidth) > (document.body.clientWidth + document.body.scrollLeft))
			menuLeft -= (menuLeft + theWidth) - (document.body.clientWidth + document.body.scrollLeft);
		else if (menuLeft < document.body.clientLeft)
			menuLeft += CheckAbs(menuLeft);
		else if ((menuTop + Obj(num).offsetHeight) > (document.body.clientHeight + document.body.scrollTop))
			menuTop -= (menuTop + Obj(num).offsetHeight) - (document.body.clientHeight + document.body.scrollTop);
		else if (menuTop < document.body.clientTop)
			menuTop += CheckAbs(menuTop);

		if (Obj(num).offsetHeight > document.body.offsetHeight)
			menuTop = theTempTop;
		else if (theWidth > document.body.offsetWidth)
			menuLeft = theTempLeft;
	}
	else if (browser == 'NS4')
	{
		if ((menuLeft + theWidth) > (window.innerWidth + window.pageXOffset))
			menuLeft -= (menuLeft + theWidth) - (window.innerWidth + window.pageXOffset);
		else if (menuLeft < window.pageXOffset)
			menuLeft += CheckAbs(menuLeft);
		else if ((menuTop + Obj(num).clip.height) > (window.innerHeight + window.pageYOffset))
			menuTop -= (menuTop + Obj(num).clip.height) - (window.innerHeight + window.pageYOffset);
		else if (menuTop < window.pageYOffset)
			menuTop += CheckAbs(menuTop);

		if (Obj(num).clip.height > window.innerHeight)
			menuTop = theTempTop;
		else if (theWidth > window.innerWidth)
			menuLeft = theTempLeft;
	}

	Ret(parentNum).visibility = 'visible';
	Ret(num).left             = menuLeft;
	Ret(num).top              = menuTop;
	Ret(num).visibility       = 'visible';
}

function ChangeImg(imgObj, rollover)
{
	if (propName.imgTrans && browser == 'IE')
	{
		imgObj.style.filter = 'blendTrans(duration=.5)';
		imgObj.filters.blendTrans.apply();
		imgObj.src = rollover;
		imgObj.filters.blendTrans.play();
	}
	else
		imgObj.src = rollover;
}

function ChangeImgBack(imgObj, rollout)
{
	if (propName.imgTrans && browser == 'IE')
	{
		imgObj.style.filter = 'blendTrans(duration=.5)';
		imgObj.filters.blendTrans.apply();
		imgObj.src = rollout;
		imgObj.filters.blendTrans.play();
	}
	else
		imgObj.src = rollout;
}

function ChangeBg(menuNum, itemNum)
{
	if (browser !== 'NS4')
		RetName('menu' + menuNum + 'Item' + itemNum).style.backgroundColor = propName.bgColorOver;
}

function ChangeBgBack(menuNum, itemNum)
{
	if (browser !== 'NS4')
		RetName('menu' + menuNum + 'Item' + itemNum).style.backgroundColor = propName.bgColorOut;
}

function ChangeFont(fontName)
{
	if (browser !== 'NS4')
		RetName(fontName).color = propName.fontColorOver;
}

function ChangeFontBack(fontName)
{
	if (browser !== 'NS4')
		RetName(fontName).color = propName.fontColorOut;
}

function ChangeMarkImg(markImgName, markImgSrc)
{
	if (browser !== 'NS4')
		RetName(markImgName).src = markImgSrc;
}

function ChangeMarkImgBack(markImgName, markImgSrc)
{
	if (browser !== 'NS4')
		RetName(markImgName).src = markImgSrc;
}

function ChangeMark(markName)
{
	if (browser !== 'NS4')
		RetName(markName).color = propName.fontColorOver;
}

function ChangeMarkBack(markName)
{
	if (browser !== 'NS4')
		RetName(markName).color = propName.fontColorOut;
}

function ChangeLayer(menuNum, itemNum)
{
	if (menuNum == 0)
	{
		eval('document.layers.menu' + menuNum + 'Item' + itemNum + 'Content1.visibility=\'hidden\'');
		eval('document.layers.menu' + menuNum + 'Item' + itemNum + 'Content2.visibility=\'inherit\'');
	}
	else
	{
		eval('document.layers.menu' + menuNum + '.layers.menu' + menuNum + 'Item' + itemNum + 'Content1.visibility=\'hidden\'');
		eval('document.layers.menu' + menuNum + '.layers.menu' + menuNum + 'Item' + itemNum + 'Content2.visibility=\'inherit\'');
	}
}

function ChangeLayerBack(menuNum, itemNum)
{
	if (menuNum == 0)
	{
		eval('document.layers.menu' + menuNum + 'Item' + itemNum + 'Content2.visibility=\'hidden\'');
		eval('document.layers.menu' + menuNum + 'Item' + itemNum + 'Content1.visibility=\'inherit\'');
	}
	else
	{
		eval('document.layers.menu' + menuNum + '.layers.menu' + menuNum + 'Item' + itemNum + 'Content2.visibility=\'hidden\'');
		eval('document.layers.menu' + menuNum + '.layers.menu' + menuNum + 'Item' + itemNum + 'Content1.visibility=\'inherit\'');
	}
}