/*
 *		Style\TopNavigation.js
 */

var lastMenu = null;
var rightY = 0;
var leftY = 0;
var leftX = 0;
var rightX = 0;
var ie;
var ns6;
var menus = new Array();

if (document.all) {
	ie=1;
	ns6=0;
	fShow="visible";
	fHide="hidden";
}

if (document.getElementById&&!document.all) {
	ie=0;
	ns6=1;
	fShow="visible";
	fHide="hidden";
}

function Menu(id) {
	this.Id = id;
	this.Items = new Array();
	menus[menus.length] = this;
}

function MenuItem(text,link) {
	this.Text = text;
	this.Link = link;
}

function getMenu(id) {
	for (i = 0; i < menus.length; i++) {
		if (menus[i].Id == id) {
			return menus[i];
		}
	}
	return null;
}

function getMenuItems(id) {
	var objMenu = getMenu(id);
	var menuItems = "";
	
	// Add table beginning
	menuItems += "<table class=\"dynsubmenu\" width=\"" + (document.getElementById(id).offsetWidth + 14) + "\" cellpadding=\"0\" cellspacing=\"0\">\n";

	// Add table content rows
	for (i = 0; i < objMenu.Items.length; i++)
		menuItems += "<tr><td><a href=\"" + objMenu.Items[i].Link + "\">&nbsp;&nbsp;&nbsp;" + objMenu.Items[i].Text + "&nbsp;&nbsp;&nbsp;</a></td>" +
						 "<td class=\"dkgray\" width=\"1\"><img width=\"1\" height=\"1\"></td>" +
						 "</tr>\n";

	// Add table end
	menuItems += "<tr><td colspan=\"2\" class=\"dkgray\" height=\"1\"></td></tr>";
	menuItems += "</table>\n";

	// Done
	return menuItems;
}

function displaySubMenu(idMainMenu)
{
	document.getElementById("submenu").innerHTML = getMenuItems(idMainMenu);

	var menu;
	var submenu;
	menu = ie ? document.all[idMainMenu] : document.getElementById(idMainMenu);
	submenu = ie ? document.all["submenu"].style : document.getElementById("submenu").style;
	submenu.left = calculateSumOffset((ie ? document.all[idMainMenu] : document.getElementById(idMainMenu)), 'offsetLeft') - 6;
	submenu.top  = calculateSumOffset(menu,'offsetTop') + 26;
	submenu.visibility = fShow;
	if (lastMenu != null && lastMenu != submenu) {
		hideAll();
	}

	leftX  = ie ? document.all["submenu"].style.posLeft : parseInt(document.getElementById("submenu").style.left);
	rightX = ie ? leftX + document.all["submenu"].offsetWidth : leftX+parseInt(document.getElementById("submenu").offsetWidth);

	leftY  = ie ? document.all["submenu"].style.posTop + document.all["submenu"].offsetHeight : parseInt(document.getElementById("submenu").style.top)+parseInt(document.getElementById("submenu").offsetHeight);
	rightY = leftY;
	lastMenu = submenu;
}

function hideAll()
{
	if (lastMenu != null) {lastMenu.visibility = fHide;lastMenu.left = 0;}
}

function calculateSumOffset(idItem, offsetName)
{
	var totalOffset = 0;
	var item = idItem;
	do
	{
		totalOffset += eval("item." + offsetName);
		item = eval("item.offsetParent");
	} while (item != null);
	return totalOffset;
}

function updateIt(e)
{
	if (ie)
	{
		var x = window.event.clientX;
		var y = window.event.clientY;

		if (x > rightX || x < leftX) hideAll();
		else if (y > rightY) hideAll();
	}
	if (ns6)
	{
		var x = e.pageX;
		var y = e.pageY;

		if (x > rightX || x < leftX) hideAll();
		else if (y > rightY) hideAll();
	}
}

if (ie||ns6)
{
	document.onclick=hideAll;
	document.onscroll=hideAll;
	document.onmousemove=updateIt;
}