var menu = [];
var menuTimeout = null;
var menuAuto = false;
var menuShow = function () {
	if (menuTimeout) {
		clearTimeout(menuTimeout);
	}
	if (menuAuto) {
		$("#menubar").animate({top: "0px"}, "fast", "swing");
	}
};
var menuHide = function () {
	if (menuTimeout) {
		clearTimeout(menuTimeout);
	}
	menuTimeout = setTimeout(function () {
		if (menuAuto) {
			$("#menubar").animate({top: "-54px"}, "slow", "swing");
		}
	}, 1000);
};
var menuRequest = function () {
	$.ajax({
		data: {
			action: "menuRequest"
		}, success: function (data) {
			menu = data.menu;
			menuDraw();
		}
	});
};
var menuDraw = function () {
	$("#menubar").empty();
	for (var i = 0; i < menu.length; i++) {
		$("#menubar")
			.append("<div></div>").children("div:last")
				.addClass("menuitem")
				.text(menu[i].name)
				.each(function () {
					if (menu[i].page) {
						$(this).attr("page", menu[i].page);
					} else if (menu[i].action) {
						$(this).attr("action", menu[i].action);
					} else if (menu[i].submenu) {
						$(this).attr("submenu", i);
						subMenuDraw(i);
					}
				})
				.hover(function() {
					$(this).addClass("menuitem-hover");
					if ($(this).attr("submenu") != undefined) {
						subMenuShow($(this).attr("submenu"));
					}
				}, function () {
					$(this).removeClass("menuitem-hover");
					if ($(this).attr("submenu") != undefined) {
						subMenuHide($(this).attr("submenu"));
					}
				})
				.click(function () {
					menuAuto = true;
					if ($(this).attr("page") != undefined) {
						pageLoad($(this).attr("page"));
					} else if ($(this).attr("action") != undefined) {
						window[$(this).attr("action")]();
					}
				})
			.end()
		.end();
	}
};



var subMenuTimeout = [];
var subMenuShow = function (num) {
	menuShow();
	if (subMenuTimeout[num]) {
		clearTimeout(subMenuTimeout[num]);
	}
	$("#container .submenubar[num=" + num + "]").slideDown("fast")
};
var subMenuHide = function (num) {
	if (subMenuTimeout[num]) {
		clearTimeout(subMenuTimeout[num]);
	}
	subMenuTimeout[num] = setTimeout(function () {
		$("#container .submenubar[num=" + num + "]").slideUp("slow");
		menuHide();
	}, 500);
};
var subMenuDraw = function (num) {
	$("#container")
		.append("<div></div>").children("div:last")
			.addClass("submenubar")
			.attr("num", num)
			.hover(function () {
				subMenuShow($(this).attr("num"));
			}, function () {
				subMenuHide($(this).attr("num"));
			})
			.each(function () {
				for (var i = 0; i < menu[num].submenu.length; i++) {
					$(this)
						.append("<div></div>").children("div:last")
							.addClass("submenuitem")
							.text(menu[num].submenu[i].name)
							.each(function () {
								if (menu[num].submenu[i].page) {
									$(this).attr("page", menu[num].submenu[i].page);
								} else if (menu[num].submenu[i].action) {
									$(this).attr("action", menu[num].submenu[i].action);
								}
							})
							.hover(function() {
								$(this).addClass("submenuitem-hover");
							}, function () {
								$(this).removeClass("submenuitem-hover");
							})
							.click(function () {
								menuAuto = true;
								if ($(this).attr("page") != undefined) {
									pageLoad($(this).attr("page"));
								} else if ($(this).attr("action") != undefined) {
									window[$(this).attr("action")]();
								}
							})
						.end()
					.end();
				}
			})
		.end()
	.end();
};
