var menu_timeout;
function menu_show(o) {
	if (o.length > 0) {
		menu_clear_timeout();
		if (o.is(":hidden")) {
			menu_hide_now();
			o.show().css("visibility", "visible");
		}
	}
}
function submenu_show(o) {
	menu_clear_timeout();
	if (o.is(":hidden")) {
		menu_timeout = setTimeout(function() {
			$(o).parents("ul:first").find("ul").hide().css("visibility", "hidden");
			o.show().css("visibility", "visible");
		}, 250);
	}
}
function menu_hide() {
	menu_clear_timeout();
	menu_timeout = setTimeout(function() {
		menu_hide_now();
	}, 500);
}
function menu_clear_timeout() {
	if (menu_timeout) {
		clearTimeout(menu_timeout);
		menu_timeout = null;
	}
}
function menu_hide_now() {
	$(".menu ul").hide().css("visibility", "hidden");
}
function menu_add_right_arrows() {
	$(".menu li:has(ul)").each(function() {
		var el = document.createElement("span");
		el.appendChild(document.createTextNode(">"));
		el.className = 'menu_arrow';
		this.insertBefore(el, this.firstChild);
	});
}
function menu_box_link() {
	$(".menu li:not(:has(ul))").click(function() {
		var href = $(this).find("a:first").get(0).href;
		document.location = href;
	}).find("a").click(function(event) {
		event.preventDefault();
	});
}
$(function() {
	var i = 0;
	menu_hide_now();
	menu_add_right_arrows();
	$(".menu td").hover(function() {
		menu_show($(this).find("ul:first"));
	},function() {
		menu_hide();
	});
	$(".menu li").hover(function() {
		$(this).addClass("menu_highlight");
		submenu_show($(this).find("ul:first"));
	},function() {
		$(this).removeClass("menu_highlight");
	});
	menu_box_link();
});
