// JavaScript Document

//setInterval, setTimeout returns id

var IMAGE_DIRECTORY = "images/";

var divider = "<div class='menu_box'><img src='images/spacer.gif' width='100%' height='1px'></div>";


//var sourceElement;
	

var menuElement = null;
var menuWidth = 220;
var menuTimeout = 500;
var menuItems; // [ [id, parent_id, title, link], ...]
var menuTimer = 1;
var menuItems = MENU_ITEMS;

drawMenu = function(sourceElement, menuID) {
	//this.menuTimer = 1;
	if (document.body == null) return;
	
	if (menuElement == null) {
		menuElement = document.createElement("div");
		menuElement.id = "main_menu";
		menuElement.style.position = "absolute";
		menuElement.style.zIndex = 100;
		menuElement.style.top = "145px";
		menuElement.style.width = "150px";
		document.body.appendChild(menuElement);
	}

	resetTimer();

	if ((getOffsetLeft(sourceElement) - 4 + menuWidth) > document.body.clientWidth) {
		this.menuElement.style.left = (getOffsetLeft(sourceElement) + 4 + sourceElement.offsetWidth - menuWidth).toString() + "px";
	} else {
		this.menuElement.style.left = (getOffsetLeft(sourceElement) - 4).toString() + "px";
	}
	
	menuElement.innerHTML = getMenuContent(getMenuItems(menuID));
	
	iFrameFix(document.body, menuElement, "menu");
}

getMenuContent = function(menu) {
	if (menu.length == 0) return "";

	var content = "<table width='" + menuWidth.toString() + "px' border='0' cellspacing='0' cellpadding='0'><tr class='sub_menu_box'><td colspan='3'><img src='images/spacer.gif' width='100%' height='1px'></td></tr>";

	for (var i = 0; i < menu.length; i++) {
		content += "<tr><td class='sub_menu_box' width='1px'><img src='images/spacer.gif' width='1px' height='1px'></td>";
		content += "<td class='sub_menu_fill' onMouseOver=\"this.className='sub_menu_fill_hover'; resetTimer();\" onMouseOut=\"startTimer(); this.className='sub_menu_fill';\" onClick=\"window.location='" + menu[i][2] + "'\">" + menu[i][1] + "</td>";
		content += "<td class='sub_menu_box' width='1px'><img src='images/spacer.gif' width='1px' height='1px'></td></tr>";

		// divider
		if (i < menu.length - 1) content += "<tr><td class='sub_menu_box' colspan='3'>" + divider + "</td></tr>";
	}
	
	return content + "<tr class='sub_menu_box'><td colspan='3'><img src='images/spacer.gif' width='100%' height='1px'></td></tr></table>";
}

getMenuItems = function(id) {
	var subMenu = Array();
	for (var i = 0; i < menuItems.length; i++) {
		if (menuItems[i][0] == id) subMenu.push(menuItems[i]);
	}
	return subMenu;
}


/**
 * Timer and clear functions
 */
clearMenu = function() {
	menuElement.innerHTML = "";
	
	var iframe = document.getElementById("menu_iframe");
	if (iframe != null) document.body.removeChild(iframe);

}

clearLastMenu = function(count) {
	if (menuTimer == count) clearMenu();
}

startTimer = function() {
	setTimeout("clearLastMenu(" + menuTimer.toString() + ")", menuTimeout);
}

resetTimer = function() {
	menuTimer++;
}

iFrameFix = function(parentElement, menuElement, menuName) {
	if (isInternetExplorer()) {
		var iframe = document.getElementById(menuName + "_iframe");
		
		if (iframe == null) {
			var iframe = document.createElement("iframe");
			iframe.id = menuName + "_iframe";
			iframe.style.borderWidth = 0;
			iframe.style.position = "absolute";
			parentElement.appendChild(iframe);
		}
		
		iframe.style.top = menuElement.offsetTop.toString() + "px";
		iframe.style.left = menuElement.offsetLeft.toString() + "px";
		iframe.style.width = menuElement.clientWidth.toString() + "px";
		iframe.style.height = menuElement.clientHeight.toString() + "px";

		if (menuElement.innerHTML.length == 0) {
			parentElement.removeChild(iframe);
		}
	}
}
