function Point(x, y) {
	this.x = x;
	this.y = y;
}
function getXY(obj) {
	var tmp = obj;
	var pt = new Point(0,0);
	do {
		pt.x += tmp.offsetLeft;
		pt.y += tmp.offsetTop;
		tmp = tmp.offsetParent;
	} while(tmp.tagName!="BODY" && tmp.tagName != "HTML")
	return pt;
}
var t;
var lastMenuItem;
var activeMenuItem;
var openMenu;
function ovr(obj,direction) {
	clearTimeout(t);
	activeMenuItem = obj;
	if(activeMenuItems[obj.parent.level]) {
		var tmp = activeMenuItems[obj.parent.level];
		if(tmp != obj)
			tmp.className = tmp.className.replace(/\bselected\b/g,"");
	}
	obj.className += " selected";
	activeMenuItems[obj.parent.level] = obj;
	if(arguments.length < 2 || direction == 0) {
		if(openMenu && obj.parent != openMenu) 
			t = setTimeout("hide()",50);
	} else {
		t = setTimeout("showMenu(" + direction + ")",50);
	}
}
function showMenu(direction) {
	if(openMenu && openMenu != activeMenuItem.child) hide();
	var obj = activeMenuItem;
	var pt = getXY(obj);
	var child = document.getElementById("menu" + obj.rel);
	openMenu = child;
	child.parent = obj;
	obj.child = child;
	if(direction == 1) {
		child.style.top = (pt.y + obj.offsetHeight) + "px";
		child.style.left = pt.x + "px";
	} else if(direction == 2) {
		child.style.top = pt.y + "px";
		child.style.left = (pt.x + obj.offsetWidth - 2 ) + "px";
	} else {
		child.style.top = (pt.y + obj.offsetHeight) + "px";
		child.style.left = pt.x + obj.offsetWidth - child.offsetWidth + "px";
	}
	child.style.visibility = "visible";
	child.style.display = "";
	delete(pt);
}
function ovr3() {
	ovr(this,3);
}
function ovr2() {
	if(this.rel && this.rel != "") 
		ovr(this,1);
	else
		ovr(this,0);
}
function out(obj) {
	activeMenuItem = null;
	lastMenuItem = obj;
	clearTimeout(t);
	if(!obj.child || (openMenu && obj.child != openMenu)) 
		obj.className = obj.className.replace(/\bselected\b/g,"");
	t = setTimeout("hide()",300);
}
function out2() {
	out(this);
}
var hideExec = null;
function hide() {
	if(openMenu) {
		var tmp = openMenu;
		while(tmp.parent && (!activeMenuItem || (tmp.parent != activeMenuItem && tmp != activeMenuItem.parent))) {
			tmp.style.visibility = "hidden";
			tmp.parent.className = tmp.parent.className.replace(/\bselected\b/g,"");
			tmp = tmp.parent.parent;
		}
		if(tmp.parent) openMenu = tmp;
		else openMenu = null;
	}
	
	if(!openMenu && hideExec) {
		eval(hideExec);
		hideExec = null;
	}
}

function buildMenu(items,className,level) {
	var menuArray = eval(items);
	var index = items.replace("menuDef_","");

	var menu = document.createElement("DIV");
	menu.id = "menu" + index;
	menu.className = className;
	menu.level = level;
	document.body.appendChild(menu);
	var menuHTML = '<table border="0" cellpadding="0" cellspacing="0"><tr><td>';
	var classAttr;
	for(var i=0, j=1; i < menuArray.length; i+=3, j++) {
		if(menuArray[i+2] != 0) 
			classAttr = 'class="more"';
		else classAttr = "";
		if(menuArray[i+1] != "") {
			if(menuArray[i+1].search("http") == 0)
				menuHTML += '<a href="' + menuArray[i+1] + '" rel="' + index + '_' + j + '" onMouseOver="ovr(this,' + menuArray[i+2] + ')" onMouseOut="out(this)" ' + classAttr + ' target="_self">' + menuArray[i] + '</a>';
			else
				menuHTML += '<a href="' + menuArray[i+1] + '" rel="' + index + '_' + j + '" onMouseOver="ovr(this,' + menuArray[i+2] + ')" onMouseOut="out(this)" ' + classAttr + ' target="_self">' + menuArray[i] + '</a>';
		} else
			menuHTML += '<div onMouseOver="ovr(this,' + menuArray[i+2] + ')" onMouseOut="out(this)" ' + classAttr + '>' + menuArray[i] + '</div>';
	}
	menuHTML += '</td></tr></table></div>';
	menu.innerHTML = menuHTML;
	var menuItems = menu.getElementsByTagName("A");
	for(var i=0; i < menuItems.length; i++) {
		menuItems[i].parent = menu;
	}
	var menuItems = menu.getElementsByTagName("DIV");
	for(var i=0; i < menuItems.length; i++) {
		menuItems[i].parent = menu;
	}
}
var activeMenuItems = new Array(3);
function menuInit() {
		
	buildMenu("menuDef_3","menu2",1);
	buildMenu("menuDef_4","menu2",1);
	buildMenu("menuDef_11","menu2",1);
	buildMenu("menuDef_12","menu2",1);
	
	var menuContainer = document.getElementById("menu");
	menuContainer.level = 0;
	var menuItems = menuContainer.getElementsByTagName("A");
	for(var i=0; i < menuItems.length; i++) {
		if(!menuItems[i].className) {
		menuItems[i].onmouseover = ovr2;
		menuItems[i].onmouseout = out2;
		menuItems[i].menuGroup = menuContainer;
		menuItems[i].parent = menuContainer;
		}
	}
}
