		function add_menu_handlers(es)
		{
			for (var i = 0; i < es.length; i++)
			{
				var ei = es.eq(i);
				if (ei.attr("tagName") != "DIV")
					continue;

				if (ei.hasClass("sub") || ei.hasClass("subsub"))
				{
					add_menu_handlers(ei.children());
					continue;
				}

				var ec = ei.children();
				if (ec.length == 0)
					continue;

				if (location.href == ec[0].href)
					parse_selected(ei);
				else
					ei.bind("mouseenter mouseleave", select_menu_item);

				ei.bind("dbclick click", click_item);
			}
		}

		function select_menu_item(eventObject)
		{
			$(this).toggleClass("mselected");
		}

		function parse_selected(el)
		{
			el.toggleClass("mselected");

			var current = el;
			while (true)
			{
				var parent = current.parent();
				if (!parent.hasClass("menu"))
				{
					current = parent;
					current.show();
					continue;
				}

				var root = current;
				if (current.hasClass("sub"))
					root = current.prev();
				break;
			}

			var sub = el.next();
			if (sub.length != 0)
				sub.show();
		}

		function click_item(eventObject)
		{
			var hrefs = $("a", this);
			if (hrefs.length == 0)
				return;

			location.href = hrefs[0].href;
		}