var popuplink = function (url) {
	window.open(url,"mywindow","menubar=1,location=1,resizable=1,scrollbars=1,width=650,height=450"); 
}

var listeners = {};
var addListener = function (name, fn, persistent) {
	if (!listeners[name]) {
		listeners[name] = [];
	}
	listeners[name][(listeners[name].length)] = {
		action: fn,
		persistent: persistent,
		executed: false
	}
}
var triggerListener = function (name) {
	if (listeners[name]) {
		for (var i = 0; i < listeners[name].length; i++) {
			if (listeners[name][i].persistent || !listeners[name][i].executed) {
				listeners[name][i].action();
				listeners[name][i].executed = true;
			}
		}
	}
};
$(function() {
	/** RPC SETUP **/
	$.ajaxSetup({
		type: "POST",
		url: "rpc.php",
		async: false,
		timeout: 30000,
		dataType: "json",
		beforeSend: function (xhr) {},
		success: function (data, textStatus) {},
		error: function (xhr, textStatus, errorThrown) {
			var message = "Could not Complete Request\n";
			if (errorThrown) {
				message += "Error Thrown: " + errorThrown + "\n";
			}
			if (textStatus) {
				message += textStatus + "\n";
			}
			alert(message);
		},
		complete: function (xhr, textStatus) {}
	});
	/** CONSTRUCTOR **/
	$("#main")
		.append("<div></div>").children("div:last")
			.attr("id", "container")
			.append("<div></div>").children("div:last")
				.attr("id", "splash")
				.append("<img/>").children("img:last")
					.attr("src", "img/splash.jpg")
				.end()
				.one("click", function () {
					var zB = $("#faderB").css("z-index");
					var zT = $("#faderT").css("z-index");
					$("#faderB").css("z-index", 3000);
					$("#faderT").css("z-index", 3010);
					pageFadeOut(function () {
						$("#splash").hide();
						pageFadeIn(function () {
							$("#faderB").css("z-index", zB);
							$("#faderT").css("z-index", zT);
						});
					});
				})
				.each(function () {
					setTimeout(function () {$("#splash").click();}, 3000);
				})
			.end()
			.append("<div></div>").children("div:last")
				.attr("id", "menubar-listener")
				.hover(menuShow, menuHide)
			.end()
			.append("<div></div>").children("div:last")
				.attr("id", "menubar")
				.hover(menuShow, menuHide)
				.each(menuRequest)
			.end()
			.append("<div></div>").children("div:last")
				.attr("id", "logo")
				.hover(menuShow, menuHide)
				.append("<img/>").children("img:last")
					.attr("src", "img/logo.png")
					.attr("title", "LeCompte")
					.attr("alt", "LeCompte")
				.end()
			.end()
			.append("<div></div>").children("div:last")
				.attr("id", "bg")
				.append("<img/>").children("img:last")
					//.attr("src", "img/intro-" + ((new Date()).getTime() % 10) + ".jpg")
					.attr("src", "img/intro.jpg")
				.end()
			.end()
			.append("<div></div>").children("div:last").attr("id", "text").end()
			.append("<div></div>").children("div:last").attr("id", "display").end()
			.append("<div></div>").children("div:last").attr("id", "faderB").end()
			.append("<div></div>").children("div:last").attr("id", "faderT").end()
			.append("<div></div>").children("div:last").attr("id", "pager").end()
			.append("<div></div>").children("div:last").attr("id", "sound").end()
			.append("<div></div>").children("div:last")
					.attr("id", "back-button")
					.click(function () {
						var page = $(this).attr("page");
						if (page) {
							pageLoad(page);
						}
					})
			.end()
			.append("<div></div>").children("div:last")
				.attr("id", "cart")
				.each(cartDraw)
			.end()
			.append("<div></div>").children("div:last")
				.attr("id", "loader")
				.append("<img/>").children("img:last")
					.attr("src", "img/loader.gif")
				.end()
			.end()
		.end()
	.end();
})
