var is_menu_div_over = false;
var menu_div_timeout;

// Функция срабатывает при наведении на всплывающее меню.
function menu_div_over()
{
  is_menu_div_over = true;
}

// Функция срабатывает при уходе от всплывающего меню.
function menu_div_out(div_name)
{
  is_menu_div_over = false;
	setTimeout("menu_div_hide('" + div_name + "')", menu_div_timeout);
}

// Функция скрывает всплывающее меню через заданное время.
function menu_div_hide(div_name)
{
  if (is_menu_div_over)
    return;
  var div = get_object(div_name);
  if (typeof(div) == 'undefined')
    return;
	div.style.visibility = "hidden";
  is_menu_div_over = false;
}

// Функция скрывает все всплывающие меню.
function menu_div_hide_all()
{
  div_array = document.getElementsByTagName("div");
	for (var i = 0; i < div_array.length; i++)
    if (div_array[i].className == "menu_div")
			get_object(div_array[i].id).style.visibility = "hidden";
}

// Функция показывает всплывающее меню.
function menu_div_show(div_name, obj_name, left, top)
{
  var div = get_object(div_name);
  if (typeof(div) == 'undefined')
    return;
  var obj = get_object(obj_name);
  var point = get_absolute_position(obj);
  menu_div_hide_all();
  is_menu_div_over = true;
	div.style.visibility = "visible";
  div.style.left = point.x + left;
  div.style.top = point.y + top;
}

// Функция срабатывает при наведении на пункт всплывающего меню.
function menu_div_item_over(div_item)
{
  div_item.className = "menu_div_item_over";
}

// Функция срабатывает при уходе от пункта всплывающего меню.
function menu_div_item_out(div_item)
{
  div_item.className = "menu_div_item";
}