/*
	File:		menu.js
	Purpose:	Dynamic Menu Script
	Author:		Sergey Kondratenko
	Copyright:	(c) 2002
*/

//	Menu Styles
var menuBG			=	"";
var menuBorderColor	=	"#FFFFFF";
var	menuBorderHide	=	"none";//"1px " + menuBG + " solid";
var	menuBorderShow	=	"none";//"1px " + menuBorderColor + " ridge";
var menuHeight		=	17;
var defaultSubWidth	=	90;
var subMenuWidth	=	90;
var subMenuHeight	=	20;
var subMenuSpace	=	-3;
var subMenuBG		=	"";
var subMenuOverBG	=	"";
var letterWidth		=	9;
var	menuOverColor	=	"";
var	subMenuLinkOverColor	=	"#848284";
var	menuItemColor	=	"#000000";
var menuOverColor	=	"#848284";
var	subMenuBorderShow	=	"none";//1px #000000 solid";
var	subMenuBorderHide	=	"none";
var	subMenuLinkColor	=	"#000000";
var	defaultWidth	=	112;
var wStatus = '';
var	defStatus	=	'Albis Optoelectronics';
var	bVis	=	new Array;
window.status	=	defStatus;
/* 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 false;
}
/*
	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 = 'mainMenuItemActive';
		itemWidth = menuItems[i][0].length * letterWidth;
		if (menuItems[i][0].length > 10 )
		{
			itemWidth = (menuItems[i][0].length - 1) * (letterWidth - 2);
		}
		if (itemWidth < defaultWidth)
		{
			itemWidth  = defaultWidth;
		}
		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="" border="0">\n');
		document.write('<tr>\n');
		document.write('<td nowrap class="' + cName + '" valign="top" height="16px" onmouseover="' + onClk + ';this.style.cursor = \'hand\'; var linkObj = document.getElementById(\'mmlink'+i+'\'); linkObj.style.color = \''+menuOverColor+'\'; wStatus = window.status; window.status=\''+ menuItems[i][0] + '\'" onmouseout="window.status = defStatus; var linkObj = document.getElementById(\'mmlink'+i+'\'); linkObj.style.color = \''+menuItemColor+'\';" onclick="document.location.href=\'' + menuItems[i][1] + '\'"><a class="mainMenuItem" 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 true" class="mainMenuItem" onmouseout="window.status = defStatus;return true">' + 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;
	var	defStyle	=	"border: none;";// border-left: 1px #F7BA8C solid;border-right: 1px #F7BA8C solid; border-bottom: 1px #F7BA8C solid;";
	for (j=0; j<subMenu.length; j++)
	{
		sX = x + ( j + 1 ) * subMenuHeight + subMenuSpace;
		sH = subMenuHeight;
		cName = 'subMenuItemActive';
		tStyle	=	"";
		if (j == 0)
		{
// 			tStyle	+=	"border-top: 1px #F7BA8C solid;";
 		}
		if (j == subMenu.length - 1)
		{
// 			tStyle	+=	"border-bottom: 1px #F7BA8C solid;";
		}
		tStyle	+=	defStyle;
		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 + '; + ' + tStyle + '">\n');
			onClk = 'this.blur();';
		}
		document.write('<table width="' + subMenuWidth + 'px" cellspacing="0" cellpadding="0" bgcolor="' + subMenuBG + '" border="0" ' + tStyle +'>\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 width="7px"><div id="il'+id+'_'+j+'" style="visibility: hidden"><img src="images/sml.gif" width="7px" height="15px"></div> </td>');
		document.write('<td width="' + (subMenuWidth-14) + '" class="' + cName + '" class="subMenuItem" height="22px" onmouseover="this.style.backgroundColor=\'' + subMenuOverBG + '\';  this.style.border= \''+subMenuBorderShow+'\'; this.style.cursor = \'hand\'; var linkObj = document.getElementById(\'mlink'+id+'_'+j+'\'); linkObj.style.color = \''+menuOverColor+'\'; wStatus = window.status; window.status=\''+ subMenu[j][0] + '\'" onmouseout="window.status = defStatus; this.style.border = \''+subMenuBorderHide+'\'; this.style.backgroundColor=\'' + subMenuBG + '\'; var linkObj = document.getElementById(\'mlink'+id+'_'+j+'\'); linkObj.style.color = \''+subMenuLinkColor+'\';" onclick="document.location.href=\'' + subMenu[j][1] + '\'"><a onmouseover="wStatus = window.status; window.status=\''+ subMenu[j][0] + '\';return true" onmouseout="window.status = defStatus;return true" id="mlink' + id + '_' + j + '" name="link' + j + '" href="' + subMenu[j][1] + '" target="' + subMenu[j][2] + '" onclick="' + onClk + '" class="subMenuItem">' + subMenu[j][0] + '</a></td>');
//		document.write('<td width="7px"><div style="visibility: hidden" id="ir'+id+'_'+j+'"><img src="images/smr.gif" width="7px" height="15px"></td></div></tr>\n');
		document.write('</table>\n');
		if (NS)
		{
			document.write('</layer>\n');
		}
		else
		{
			document.write('</div>\n');
		}
		
	}
}


