var menus_open = new Array(0);
var menu_on = false;
var menu_timeout;
var menu_timeout_on = false;
var menu_depth = 0;

function menu_over(over_id, over_depth, over_sub) {
	if (menu_timeout_on) {
		clearTimeout(menu_timeout);
		menu_timeout_on = false;
	}
	menu_on = true;
	if (menu_depth >= over_depth) {
		for (var i = menu_depth; i >= over_depth; i--) {
			document.getElementById("sub_" + menus_open[i]).style.display = 'none';
			menus_open.splice(i,1);
		}
		menu_depth = over_depth - 1;
	}
	if (over_sub > 0) {
		set_position(over_id, over_depth);
		document.getElementById("sub_" + over_id).style.display = 'block';
		menu_depth = over_depth;
		menus_open[over_depth] = over_id;
	}
}

function set_position(over_id,over_depth) {
    var topValue = 0,leftValue = 0;
	var obj = document.getElementById("button_" + over_id);
    while(obj){
		leftValue += obj.offsetLeft;
		topValue += obj.offsetTop;
		obj= obj.offsetParent;
    }
	if (over_depth > 1) {
		leftValue += document.getElementById("button_" + over_id).offsetWidth;
	} else {
		topValue += document.getElementById("button_" + over_id).offsetHeight;
	}
	
	document.getElementById("sub_" + over_id).style.left = leftValue + "px";
	document.getElementById("sub_" + over_id).style.top = topValue + "px";
}

function menu_out() {
	menu_on = false;
	menu_timeout_on = true;
	menu_timeout = setTimeout('close_menu()',3000);
}

function menu_click(pagelink) {
	location.href = pagelink;
}

function close_menu() {
	if (!menu_on) {
		for (var i = menu_depth; i > 0; i--) {
			document.getElementById("sub_" + menus_open[i]).style.display = 'none';
			menus_open.splice(i,1);
		}
		menu_depth = 0;
	}
}

document.onclick = window_clicked;

function window_clicked(){
	if (!menu_on) close_menu();
}
