var current_menu = "";
var mouseover_count = 0;
var timeout_ref = 0;
var hide_delay = 500;

function show_menu (menu_name, caller)
{
	if (menu_name == current_menu)
	{
		mouseover_count++;
		if (mouseover_count == 1) clearTimeout(timeout_ref);
	} else {
		var ref = document.getElementById(current_menu+"_menu");
		if (ref) $(ref).stop(true, true).hide();
		clearTimeout(timeout_ref);
		current_menu = menu_name;
		mouseover_count = 1;
		ref = document.getElementById(current_menu+"_menu");
		ref.style.left = caller.offsetParent.offsetLeft+"px";
		$(ref).slideDown();
	}
}

function hide_menu (menu_name)
{
	if (menu_name != current_menu) return;
	mouseover_count--;
	if (mouseover_count == 0)
	{
		timeout_ref = setTimeout("hide_menu2();", hide_delay);
		hiding = true;
	}
}

// Internal functions

function hide_menu2 ()
{
	var ref = document.getElementById(current_menu+"_menu");
	$(ref).slideUp();
	current_menu = "";
	timeout_ref = 0;
}
