	var a_items = new Array();
	var s_image_folder = new Array();
	var s_toggle_opened = new Array();
   var s_toggle_closed = new Array();

	function MenuItem(id, link, target, level, opened)
	{
		this.i_id		= id;
		this.s_link		= link;
		this.s_target	= target;
		this.i_level	= level;
		this.b_opened	= opened;
	}

	function close_all(menu)
	{
		for (var i = 0; i < a_items[menu].length; i++)
		{
			if (a_items[menu][i].i_level > 0)
			{
				a_items[menu][i].b_opened = false;
			}
		}
	}

	function open_single_node(menu, item_id)
	{
		close_all(menu);
		var seqno = seqno_by_item_id(menu, item_id);
		var i_level = a_items[menu][seqno].i_level;
		var a_opened = new Array();

		var c = 0
		a_opened[c] = item_id;

		for (var i = seqno; i >= 0; i--)
		{
			if (a_items[menu][i].i_level < i_level)
			{
				c = c + 1;
				a_opened[c] = a_items[menu][i].i_id;
				i_level -= 1;
				if (i_level == -1)
				{
					break;
				}
			}
		}

		for (i = a_opened.length - 1; i >= 0; i--)
		{
			toggle_group(menu, a_opened[i]);
		}
	}

	function open_children(menu, item_id)
	{
		var seqno = seqno_by_item_id(menu, item_id);
		var i_level = a_items[menu][seqno].i_level;

		for (var i = seqno; i < a_items[menu].length; i++)
		{
			if (a_items[menu][i].i_level == i_level + 1)
			{
				a_items[menu][i].b_opened = true;
			}
			else if(a_items[menu][i].i_level < i_level + 1)
			{
				break;
			}
		}
	}

	function open_group(menu, item_id)
	{
		var seqno = seqno_by_item_id(menu, item_id);
		if (seqno)
		{
			toggle_group(menu, seqno);
		}
	}

	function seqno_by_item_id(menu, item_id)
	{
		for (var i = 0; i < a_items[menu].length; i++)
		{
			if (a_items[menu][i].i_id == item_id)
			{
				return i;
				break;
			}
		}
	}

	function toggle_group(menu, item_id)
	{
		var seqno = seqno_by_item_id(menu, item_id);
		var o_current = a_items[menu][seqno];

		if (seqno < a_items[menu].length - 1)
		{
			var o_next = a_items[menu][seqno + 1];
			if (o_current.i_level == o_next.i_level - 1)
			{
				var b_opened = !o_next.b_opened;
				var i_level = o_next.i_level;
				for (var i = seqno + 1; i < a_items[menu].length; i++)
				{
					o_item = a_items[menu][i];
					if (o_item.i_level < i_level)
					{
						break;
					}
					else
					{
						if (!b_opened)
						{
							o_item.b_opened = false;
						}
						else
						{
							o_item.b_opened = o_item.i_level == i_level;
						}
					}
				}
			}
		}
		update_menu(menu);
	}

	function update_menu(menu)
	{
		var images = window.document.images;
		var b_opened;
		var i_level;
		var s_display_type;

		for (var i = 0; i < a_items[menu].length; i++)
		{
			s_display_type = 'block';
			i_level = a_items[menu][i].i_level;
			if (menu == 'Site' && i_level == 0)
			{
				s_display_type = 'inline';
			}

			window.document.getElementById(menu + '_d' + a_items[menu][i].i_id).style.display = a_items[menu][i].b_opened ? s_display_type : 'none';

			if (document.images[menu + '_t' + a_items[menu][i].i_id])
			{
				if (i < a_items[menu].length - 1)
				{
					if (a_items[menu][i + 1].i_level > a_items[menu][i].i_level)
					{
						b_opened = a_items[menu][i + 1].b_opened;
					}
					else
					{
						b_opened = false;
					}
				}
				if (s_toggle_closed[menu] && s_toggle_opened[menu])
				{
					document.images[menu + '_t' + a_items[menu][i].i_id].src = s_image_folder[menu] + ((!b_opened) ? s_toggle_closed[menu] : s_toggle_opened[menu]);
				}
			}
		}
	}