
var active_menu_num = 0;
var menu_action = false;
var menu_queue = new Array();
var myShow;

function getPageCoords (element) {
	var coords = { x: 0, y: 0 };
	while (element) {
		coords.x += element.offsetLeft;
		coords.y += element.offsetTop;
		element = element.offsetParent;
	}
	return coords;
}

function window_resized(nodes)
{
	/* This function is defined in 'select_language.inc' */
	if (site['NodNummer'] == 888)
		language_select();

	if (nodes) {
		while (a = nodes.shift()) {
			place_menu(a);
		}
	}
}

function toggle_menu(menu_num)
{
	document.getElementById('menu_'+menu_num).blur();
	if (!menu_action) {
		menu_action = 1;
		sub_menu_wrapper = document.getElementById("sub_menu_wrapper_" + menu_num);
		if (sub_menu_wrapper.style.display == 'inline') {
			menu_out(menu_num);
			active_menu_num = 0;
		} else {
			if (active_menu_num != 0 && active_menu_num != menu_num) {
				menu_out(active_menu_num);
				active_menu_num = 0;
				menu_queue.push(menu_num);
				setTimeout("run_queue();", 210);
			} else {
				menu_in(menu_num);
				active_menu_num = menu_num;
			}
		}
	} else {
	/* Queue the request */
		menu_queue.push(menu_num);
		setTimeout("run_queue();", 210);
	}
}

function run_queue() {
	if (!menu_action) {
		toggle_menu(menu_queue.shift());
	} else {
		setTimeout("run_queue();", 210);
	}
}

function menu_in(menu_num)
{
	start_menu = document.getElementById("menu_" + menu_num);
	start_menu_pos = getPageCoords(start_menu);

	sub_menu = document.getElementById("sub_menu_" + menu_num);

	sub_menu_wrapper = document.getElementById("sub_menu_wrapper_" + menu_num);
	sub_menu_wrapper.style.display = 'inline';

	return Effect.SlideDown("sub_menu_" + menu_num, {duration: 0.2,
							 queue: 'end',
							 scope: 'menu_'+menu_num,
							 beforeStart: function callback(obj) { start_menu.className = 'selected';},
							 afterFinish: function callback(obj) { menu_action = false;}
						     });
}

function menu_out(menu_num)
{
	start_menu = document.getElementById("menu_" + menu_num);
	start_menu_pos = getPageCoords(start_menu);

	sub_menu = document.getElementById("sub_menu_" + menu_num);

	sub_menu_wrapper = document.getElementById("sub_menu_wrapper_" + menu_num);

	return Effect.SlideUp("sub_menu_" + menu_num, {	duration: 0.2,
							queue: 'end',
							scope: 'menu_'+menu_num,
							afterFinish: function callback(obj) {sub_menu_wrapper.style.display = 'none'; start_menu.className = 'unselected'; menu_action = false;}
						   });
}

function place_menu(menu_num) {
	start_menu = document.getElementById("menu_" + menu_num);
	if (!start_menu)
		return true;
	start_menu_pos = getPageCoords(start_menu);

	sub_menu_wrapper = document.getElementById("sub_menu_wrapper_" + menu_num);
	h = start_menu.offsetHeight;
	sub_menu_wrapper.style.top = (start_menu_pos.y + h) + "px";
	sub_menu_wrapper.style.left = start_menu_pos.x + "px";
}

