	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("menu_header"))
				continue;

			var ec = ei.children();
			if (ec.length != 0)
			{
				if (location.href == ec[0].href)
					ei.addClass("mselected");
				else
					ec.bind("mouseenter mouseleave", select_menu_item);
			}
		}
	}

	function select_menu_item(eventObject)
	{
		$(this).parent().toggleClass("mselected");
	}

	function image_onload(url, callback)
	{
		var img = new Image();
		img.src = url;

		if (img.complete)
		{
			callback();
			return;
		}

		$(img).bind("load", callback);
	}

	function bind_headbuttons()
	{
		var headbuttons = $(".button");

		headbuttons.hover(
			function()
			{
				var div = $(this);
				var patch = "/img/buttons";

				var pos = div.css("background-image").lastIndexOf("/");
				var name = div.css("background-image").substring( pos , div.css("background-image").length );
				pos = name.lastIndexOf(".");
				name = name.substring( 0 , pos );

				var newname = patch + name + "_sel.png";

				image_onload(newname, function()
				{
					div.addClass("button_sel");
					div.removeClass("button");
					div.css("background-image", "url('" + newname + "')");
				});
			},
			function()
			{
				var div = $(this);
				var patch = "/img/buttons";

				var pos = div.css("background-image").lastIndexOf("/");
				var name = div.css("background-image").substring( pos , div.css("background-image").length );
				pos = name.lastIndexOf("_");
				name = name.substring( 0 , pos );

				var newname = patch + name + ".png";

				image_onload(newname, function()
				{
					div.addClass("button");
					div.removeClass("button_sel");
					div.css("background-image", "url('" + newname + "')");
				});
			}
		);

		var headprices = $(".price");

		headprices.hover(
			function()
			{
				var div = $(this);
				var img = "/img/buttons/price_sel.png";

				image_onload(img, function()
				{
					div.addClass("price_sel");
					div.removeClass("price");
				});
			},
			function()
			{
				var div = $(this);
				var img = "/img/buttons/price.png";

				image_onload(img, function()
				{
					div.addClass("price");
					div.removeClass("price_sel");
				});
			}
		);
	}

	var arr = ["price","price_sel","11","12","13","21","22","23","31","32","33","11_sel","12_sel","13_sel","21_sel","22_sel","23_sel","31_sel","32_sel","33_sel"];

	function load_img(i)
	{
		if (i >= 20)
		{
			bind_headbuttons();
			return;
		}

		newname = arr[i];
		image_onload("/img/buttons/" + newname + ".png", function()
		{
			load_img(i + 1);
		});
	}

	function bind_main()
	{
		$(".button, .price").bind("click", function()
		{
			window.location = $(this).closest("td").attr("rel");
		});
	}

	$(document).ready(function()
	{
		add_menu_handlers($("div.menu").children());
		bind_main();
		load_img(0);
	});