/*
	File:		menu.js
	Purpose:	Dynamic Menu Script
	Author:		Sergey Kondratenko
	Copyright:	(c) 2002
*/

//	Menu Styles
var menuBG			=	"#0065AD";
var menuBorderColor	=	"#FFFFFF";

var	menuBorderHide	=	"1px " + menuBG + " solid";
var	menuBorderShow	=	"1px " + menuBorderColor + " ridge";

var menuHeight		=	16;
var defaultSubWidth	=	110;
var subMenuMinWidth	=	70;
var subMenuWidth	=	70;
var subMenuHeight	=	18;
var subMenuSpace	=	2;

var subMenuBG		=	menuBG;
var subMenuOverBG	=	"#0065AD";

var	subMenuBorderColor	=	menuBorderColor;
var	subMenuBorderHide	=	"1px " + subMenuBG + " solid";
var	subMenuBorderShow	=	"1px " + subMenuBorderColor + " ridge";

var letterWidth		=	7;
var	mOutLinkColor	=	"#FFFFFF";
var	mOverLinkColor	=	"#FFFFFF";

var wStatus = ''; 
/* Browser Type Detection */
// OPERA
	var agt		=	navigator.userAgent.toLowerCase(); 
	var OPERA	=	(agt.indexOf('opera')!= -1);
// Internet Explorer
	var IE		=	(document.all);
// Netscape 6
	var NS6		=	(document.getElementById && !document.all);
// Netscape 4.x
	var NS		=	(navigator.appName=="Netscape" && navigator.appVersion.charAt(0)=="4");
// Sub-Menu Display Flag
	var	isMenu	=	false;
/*
	Function:	checkShow()
	Purpose:	Show sub-menu when mouse over
	Arguments:	_id - Menu Item Index
	Returns:	Void
*/
function checkShow(_id)
{
	clearBorders(_id);
	if (IE)
	{
		eval ("var subLayer = document.all('menu" + _id + "').style;");
		subLayer.border  = menuBorderShow;
	}
	if (isMenu && !bVis[_id])
	{
		doShowMenu(_id, true);
	}
	return;
}
/*
	Function:	checkHide()
	Purpose:	Hide sub-menu when mouse out
	Arguments:	_id - Menu Item Index
	Returns:	Void
*/
function checkHide(_id)
{
	if (IE && !bVis[_id])
	{
		clearBorders(-1);
	}
}
/*
	Function:	clearBorders()
	Purpose:	Clears All Item Borders
	Arguments:	_id - Menu Item Index
	Returns:	Void
*/
function clearBorders(_id)
{
	for (i=0; i<menuItems.length; i++)
	{
		if (i != _id)
		{
			if (IE)
			{
				eval ("var subLayer = document.all('menu" + i + "').style;");
			}
			if (NS6)
			{
				eval ("var subLayer = document.getElementById('menu"  + i + "').style;");
			}
			subLayer.border  = menuBorderHide;
		}
	}
}
/*
	Function:	clearAll()
	Purpose:	Hides All Sub-Menus
	Arguments:	None
	Returns:	Void
*/
function clearAll()
{
	for (i = 0; i < menuItems.length; i++)
	{
		if (menuItems[i][3] == 1)
		{
			if (bVis[i])
			{
				doShowMenu (i, false);
			}
		}
	}
	clearBorders(-1);
	isMenu = false;
	return;
}
/*
	Function:	doInit()
	Purpose:	Set Mouse Click Event Capture for Entire Document
	Arguments:	None
	Returns:	Void
*/
function doInit()
{
	if (!OPERA)
	{
		if (NS)
		{
			document.captureEvents(Event.MOUSEUP);
		} 
		document.onmouseup = clearAll;
	}
	return;
}
/*
	Function:	doInitVis()
	Purpose:	Set Visibility Flags for Main Menu Items
	Arguments:	None
	Returns:	Void
*/
function doInitVis()
{
	for (i = 0; i<menuItems.length; i++)
	{
		bVis[i] = false;
	}
	return;
}

function getSubMenuWidth(_id)
{
	var subItemsMenu = new Array;
	eval ("subItemsMenu = subItems" + _id + ";");
	var maxLen	=	0;
	for (k=0; k<subItemsMenu.length; k++)
	{
		if (subItemsMenu[k][0].length > maxLen)
		{
			maxLen = subItemsMenu[k][0].length;
		}
	}
	return maxLen;
}
/*
	Function:	doShowMenu()
	Purpose:	Set Mouse Click Event Capture for Entire Document
	Arguments:	_id - Menu Item Index, flag - Visibility Flag
	Returns:	Void
*/
function doShowMenu(_id, flag)
{
	if (flag)
	{
		isMenu = true;
		for (k=0; k<bVis.length; k++)
		{
			if (k != _id && bVis[k])
			{
				doShowMenu(k, false);
			}
		}
	}
	if (menuItems[_id][3] == 1)
	{
		bVis[_id] = !bVis[_id];
		if (bVis[_id])
		{
			if (IE || NS6)
			{
				vis  = 'visible';
			}
			if (NS)
			{
				vis = 'show';
			}
		}
		else
		{
			if (IE || NS6)
			{
				vis  = 'hidden';
			}
			if (NS)
			{
				vis = 'hide';
			}
		}
		var subMenu = new Array;
		eval ("subMenu = subItems" + _id + ";");
		for (i=0; i<subMenu.length; i++)
		{
			if (IE)
			{
				eval ("var subLayer = document.all('submenu" + _id + i + "').style;");
			}
			if (NS6)
			{
				eval ("var subLayer = document.getElementById('submenu" + _id  + i + "').style;");
			}
			if (NS)
			{
				eval ("var subLayer = document.layers['submenu" + _id + i + "'];");
			}
			subLayer.visibility = vis;
		}
	}
	return;
}	
/*
	Function:	doWriteMenu()
	Purpose:	Menu initilizaiton
	Arguments:	None
	Returns:	Void
*/
function doWriteMenu()
{
	var sY = menuPosY;
	var sX = menuPosX;
	var itemAll = menuPosY;//10
	for (i = 0; i < menuItems.length; i++)
	{
		sY = itemAll;
		sH = menuHeight;
		cName = 'active';
		itemWidth = menuItems[i][0].length * letterWidth;
		if (menuItems[i][0].length > 10 )
		{
			itemWidth = (menuItems[i][0].length - 1) * (letterWidth);
		}
		if (itemWidth < defaultWidth)
		{
			itemWidth+=10;
//			itemWidth  = defaultWidth;
		}
		if (itemWidth > defaultWidth + 2 * letterWidth)
		{
			alert (menuItems[i][0]);
			itemWidth	=	defaultWidth + 2 * letterWidth;
		}
		if (itemWidth < subMenuMinWidth)
		{
			itemWidth	=	subMenuMinWidth;
		}
		itemAll += itemWidth + 2;
		if (NS)
		{
			document.write('<layer name="menu' + i + '" top="'+ sX +'" left="' + sY + '" visibility="show">');
			onClk = 'doShowMenu(' + i + ', true)';
		}
		else
		{
			document.write('<div id="menu' + i + '" style="position:absolute; top:'+ sX +'; left:' + sY + '; width:'+ itemWidth +'; height:' + sH + '; background-color: ' + menuBG + '; border: ' + menuBorderShow + '"  onmouseover="checkShow('+i+')" onmouseout="checkHide('+i+')">\n');
			onClk = 'this.blur(); doShowMenu(' + i + ', true)';
		}
		document.write('<table width="'+itemWidth+'px" cellspacing="0" cellpadding="0" bgcolor="">\n');
		document.write('<tr><td><img src="images/1x1.gif" width="'+itemWidth+'px" height="1px" border="0" alt=""></td></tr>\n');
		document.write('<tr>\n');
//		document.write('<td class="' + cName + '" valign="top" height="16px" align="center">&nbsp;&nbsp;<a name="link' + i + '" href="' + menuItems[i][1] + '" target="' + menuItems[i][2] + '" onclick="' + onClk + '" class="menu">' + menuItems[i][0] + '</a>&nbsp;&nbsp;</td></tr>\n');
		document.write('<td class="' + cName + '" valign="top" height="' + menuHeight + 'px" align="center" onmouseover="' + onClk + ';this.style.cursor = \'pointer\'; var linkObj = document.getElementById(\'mmlink'+i+'\'); linkObj.style.color = mOverLinkColor; wStatus = window.status; window.status=\''+ menuItems[i][0] + '\';return false" onmouseout="window.status = wStatus; var linkObj = document.getElementById(\'mmlink'+i+'\'); linkObj.style.color = mOutLinkColor;return false" onclick="document.location.href=\'' + menuItems[i][1] + '\'"> <a id="mmlink' + i + '" name="link' + i + '" href="' + menuItems[i][1] + '" target="' + menuItems[i][2] + '" onmouseover="' + onClk + '; wStatus = window.status; window.status=\''+ menuItems[i][0] + '\';return false;" onmouseout="window.status = wStatus;return false;" class="menu">' + menuItems[i][0] + '</a></td></tr>\n');
		document.write('</table>\n');
		if (NS)
		{
			document.write('</layer>\n');
		}
		else
		{
			document.write('</div>\n');
		}
		if (menuItems[i][3] == 1)
		{
			subMenuWidth = getSubMenuWidth(i) * letterWidth;
			if (subMenuWidth < itemWidth)
			{
				subMenuWidth = itemWidth + 2;
			}
			doWriteSubMenu (sX, sY, i);
		}
	}
}
/*
	Function:	doWriteSubMenu() 
	Purpose:	Sub-Menu initilizaiton
	Arguments:	x - top left X coord, y - top left Y coord, id - Menu Item Index
	Returns:	Void
*/
function doWriteSubMenu(x, y, id)
{
	var subMenu = new Array;
	eval ("subMenu = subItems" + id + ";");
	var sY = y;
	var sX = 0;
	for (j=0; j<subMenu.length; j++)
	{
		sX = x + ( j + 1 ) * subMenuHeight + subMenuSpace;
		sH = subMenuHeight;
		cName = 'active';
		if (NS)
		{
			document.write('<layer name="submenu' + id + j + '" top="'+ sX +'" left="' + sY + '" visibility="hide">');
			onClk = 'makeMenu(' + j + ', 0)';
		}
		else
		{
			document.write('<div id="submenu' + id + j + '" style="position:absolute; visibility: hidden; top:'+ sX +'; left:' + sY + '; height:' + sH + '; border: ' + subMenuBorderHide +'">\n');
			onClk = 'this.blur();';
		}
		document.write('<table width="' + subMenuWidth + '" cellspacing="0" cellpadding="0" bgcolor="' + subMenuBG + '">\n');
		document.write('<tr><td><img src="images/1x1.gif" width="' + subMenuWidth + '" height="1px" border="0" alt=""></td></tr>\n');
		document.write('<tr>\n');
		document.write('<td class="' + cName + '" id="over" valign="top" height="' + subMenuHeight +'" onmouseover="this.style.backgroundColor=\'' + subMenuOverBG + '\';  this.style.border=subMenuBorderShow; this.style.cursor = \'pointer\'; var linkObj = document.getElementById(\'mlink'+id+'_'+j+'\'); linkObj.style.color = mOverLinkColor; wStatus = window.status; window.status=\''+ subMenu[j][0] + '\'" onmouseout="window.status = wStatus; this.style.border = subMenuBorderHide; this.style.backgroundColor=\'' + subMenuBG + '\'; var linkObj = document.getElementById(\'mlink'+id+'_'+j+'\'); linkObj.style.color = mOutLinkColor;" onclick="document.location.href=\'' + subMenu[j][1] + '\'">&nbsp;&nbsp;<a id="mlink' + id + '_' + j + '" name="link' + j + '" href="' + subMenu[j][1] + '" target="' + subMenu[j][2] + '" onclick="' + onClk + '" class="menu">' + subMenu[j][0] + '</a></td></tr>\n');
		document.write('</table>\n');
		if (NS)
		{
			document.write('</layer>\n');
		}
		else
		{
			document.write('</div>\n');
		}
		
	}
}
function scResize()
{
	document.location.reload () ;
}

