/*  basic script was copied from www.ey.com and upgraded by Orr Siloni */

/* ======= Dynamic Menu Creation =============== */
var bgOver="#FFA02D";
var bgOut="#FFCB05";
var fontOver = "#000000";
var fontOut = "#000000";

var menuWidth = 110;

var menuLang = "H";

// DO NOT EDIT SCRIPT BELOW THIS LINE
var items = new Array();
var openMenu = null;
var overItem = false;

function addObj(id, parent, name, url){
	var obj = new Object();
	obj.id = id;
	obj.parent = parent;
	obj.name = name;
	obj.url = url;
	obj.hasMenu = false;
	items[items.length] = obj;
}

function createMenu(){
	bubbleSort();	// sort items by parent id
	addChildIndicator();
	
	// start creating menus
	var langCode = "";
	if (menuLang == "H"){
		langCode = "dir='rtl' align='center' style='padding-right:0px;";
	} else {
		langCode = "style='padding-left:10px;";
	}
	
	var i, obj, openDiv = false;
	var prevParentId = 0;
	for (i=0; i<items.length; i++){
		if (items[i].parent != prevParentId){	// add menu here
			
			if (openDiv) document.writeln("</DIV>");	// close previous menu
			
			document.writeln("<DIV id='M"+items[i].parent+"' class='Menu' onmouseover='MouseOverMenu()' onmouseout='MouseOutMenu()'>");
			openDiv = true;
			
			prevParentId = items[i].parent;
		}
		if (items[i].parent != 0){	// add item here
			document.writeln("<div id='I"+items[i].id+"' class='Item' "+langCode+"  background-color:"+bgOut+"; color:"+fontOut+";' onmouseover='MouseOverItem()' onmouseout='MouseOutItem()' onclick='gotoUrl()'>"+items[i].name+"</div>");
		}
	}
	document.writeln("</DIV>");
}

function bubbleSort(){
	var i, j, temp;
	for (i = (items.length - 1); i >= 0; i--){
		for (j = 1; j <= i; j++){
			if (items[j-1].parent > items[j].parent){
				temp = items[j-1];
				items[j-1] = items[j];
				items[j] = temp;
			}
		}
	}
}

function addChildIndicator(){
	var i, j;
	for (i=0; i<items.length; i++){
		if (items[i].parent != 0){
			for (j=0; j<items.length; j++){
				if (items[j].id == items[i].parent){
					items[j].hasMenu = true;
					break;
				}
			}
		}
	}
}

// ==============================================
// Internal Variables
var OverButton = false;
var OverMenu = false;
var CurrentMenu = "";
var RootMenu = null;

function getObj(id){
	if (id == null) return null;
	var id = id.substring(1, id.length);
	var i, obj = null;
	for (i=0; i<items.length; i++){
		if (id == items[i].id){
			obj = items[i];
			break;
		}
	}
	return obj;
}

function gotoUrl(){
	var obj = getObj(event.srcElement.id);
	if (obj.url) window.location.href = obj.url;
}

function HideSingleMenu(Menu){
	Menu.style.display = "none"
	if(!OverButton && !OverMenu) KillTree(CurrentMenu);
	if(RootMenu == Menu.id) RootMenu = null;
}

function KillTree(Menu){
	var ItemName;
	if (!Menu) return;
	
	while (Menu){
		Menu.style.display = "none";
		ItemName = Menu.id.replace(/^M/, "I");	// get name of menu's parent item
		MenuParent = getObj(ItemName);	// get item obj
		if (MenuParent != null){
			Menu = document.all("M"+MenuParent.parent);
		} else { Menu = null; }
	}
	RootMenu = null;
}

function MouseOverButton(Menu){
	OverButton = true;
	Menu = document.all(Menu);
	if (!Menu) return;
	if (Menu.HideTimer) clearTimeout(Menu.HideTimer);
	if (RootMenu != Menu.id){
		if (RootMenu) HideSingleMenu(document.all(RootMenu));
		RootMenu = Menu.id;
		if (menuLang == "H"){
			Menu.style.pixelLeft = window.event.clientX - menuWidth - event.offsetX + event.srcElement.parentElement.clientWidth - 30;
		} else {
			Menu.style.pixelLeft = window.event.clientX - event.offsetX;
		}
		Menu.style.pixelTop = event.clientY - event.offsetY -1 + event.srcElement.parentElement.clientHeight + 4;
		Menu.style.display="inline";
	}
}

function MouseOutButton(Menu){
	Menu = document.all(Menu);
	if (!Menu) return;
	Menu.HideTimer = setTimeout("HideSingleMenu(" + Menu.id + ")", 500);
	OverButton = false;
}

function MouseOverMenu(){
	Menu = event.srcElement.parentElement;
	if (Menu.HideTimer) clearTimeout(Menu.HideTimer);
	if (Menu.ParentMenu) clearTimeout(Menu.ParentMenu.HideTimer);
	CurrentMenu = Menu;
	OverMenu = true;
}

function MouseOutMenu(){
	Menu = event.srcElement.parentElement;
	if (!OverButton) Menu.HideTimer = setTimeout("HideSingleMenu(" + Menu.id + ")",500);
	CurrentMenu = Menu;
	OverMenu = false;
}

function MouseOverItem(){
	var Item = event.srcElement;
	Item.style.backgroundColor = bgOver;
	Item.style.color = fontOver;
	var obj = getObj(Item.id);
	if (obj.hasMenu){
		var Child = document.all("M"+obj.id);
		if (Child.HideTimer) clearTimeout(Child.HideTimer);
		if (menuLang == "H"){
			Child.style.left = window.event.clientX - window.event.offsetX - menuWidth + 10;
		} else {
			Child.style.left = window.event.clientX - window.event.offsetX + menuWidth - 10;
		}
		Child.style.pixelTop = window.event.clientY - window.event.offsetY;
		Child.style.display = "inline";
	}
}

function MouseOutItem(){
	var Item = event.srcElement;
	Item.style.backgroundColor = bgOut;
	Item.style.color = fontOut;
	var obj = getObj(Item.id);
	if (obj.hasMenu){
		var Child = document.all("M"+obj.id);
		Child.ParentMenu = Item.parentElement;
		Child.HideTimer = setTimeout("HideSingleMenu("+Child.id+")",10);
	}
}
