//Login director.
var login_proceed = function()
{
	var message = null;
	if (typeof login_postdata != "undefined" && login_postdata == true)
	{
		message = "Logging in will cause a loss in post data. Therefore, you will be redirected to the home page. Is it alright to continue?";
		PAGE_URL=undefined;
	}
	if (message == null || confirm(message))
		window.location = SITE_ROOT + "login/" + ((typeof PAGE_URL != "undefined" && PAGE_URL != "") ? ("go/" + PAGE_URL) : "");
};

//Header fixer.
var header_fixedrepos = function()
{
	var max = document.getCoordinates(), scroll = document.getScroll(), margin = {x:0, y:0};
	max.left += scroll.x;
	max.right += scroll.x;
	max.top += scroll.y;
	max.bottom += scroll.y;
	var rel = ($type(this.container) == "element") ? this.container.getCoordinates() : max;
	header_morph.cancel();
	this.moveTo(
		{
			left:(this.position.x == "right")
				? (Math.min(rel.right,max.right) - margin.x)
				: (Math.max(rel.left,max.left) + margin.x),
			top:(this.position.y == "bottom")
				? (Math.min(rel.bottom,max.bottom) - margin.y)
				: (Math.max(rel.top,max.top) + margin.y)
		});
};
var header_fixedreposition;
var header_morph;
var header_lock_toggle = function()
{
	if ($("main-hdr-lock").getElement("span").hasClass("locked")) {
		$("main-hdr-lock").getElement("span").removeClass("locked");
		if (Browser.firefox2 || Browser.ie6 || Browser.ie7) {
			window.removeEvents(
				{
					"scroll":header_fixedreposition,
					"resize":header_fixedreposition
				});
			$("main-hdr").moveTo({top:0});
		} else {
			$("main-hdr").setStyle("position", "relative");
		}
		Cookie.write("headerlocked", "false", {duration:365});
	} else {
		$("main-hdr-lock").getElement("span").addClass("locked");
		if (Browser.firefox2 || Browser.ie6 || Browser.ie7) {
			window.addEvents(
				{
					"scroll":header_fixedreposition,
					"resize":header_fixedreposition
				});
			header_fixedreposition();
		} else {
			$("main-hdr").setStyle("position", "fixed");
		}
		Cookie.write("headerlocked", "true", {duration : 365});
	}
};

//The most uberous image loading class by yours truly... Brett.
var tabbedtable_switchcontent = function(table, content)
{
	$(table).getElements(".tabbedtable-686-middle").each(function(e)
		{
			e.addClass("display_none").removeClass("display_block");
		});
	$(table).getElements(".tabbedtable-button02, .tabbedtable-button01").each(function(e)
		{
			e.addClass ("tabbedtable-button02").removeClass("tabbedtable-button01");
		});
	$(content + "_button").addClass("tabbedtable-button01").removeClass("tabbedtable-button02");
	$(content + "_content").addClass("display_block").removeClass("display_none");
};

window.addEvent("load",function ()
	{
		//Image loading code.
		$$("img").each(function(e)
			{
				e.fade("hide");
				if (!e.complete || (typeof e.naturalWidth != "undefined" && e.naturalWidth == 0)) {
					if (e.getParent().hasClass("mm-loader")) {
						e.getParent().addClass("mm-loader-fail");
						e.getParent().removeClass("mm-loader");
					}
					e.dispose();
					return true;
				} else {
					e.fade(1);
					e.getParent().removeClass("mm-loader");
				}
			});
		
		//Header fixer.
		header_fixedreposition = header_fixedrepos.bind($("main-hdr"));
		header_morph = new Fx.Morph($("main-hdr"),
			$merge(
				{
					unit:"px",
					chain:"cancel",
					transition:Fx.Transitions.Circ.easeOut,
					duration:300
				}, null));
		$("main-hdr").moveTo = header_morph.start.bind(header_morph);
		
		//Header lock.
		if ($("main-hdr-lock") != undefined) {
			$("main-hdr-lock").addEvent("click", header_lock_toggle);
			if(Cookie.read("headerlocked") == "true")
				header_lock_toggle();
		}
		if (Browser.Platform.ios || Browser.Platform.android)
			$("main-hdr-lock").setStyle("display", "none");
		
		//Header search bar.
		var handle_searchbar = function(keydown)
		{
			if ($("main-search-input").get("value") == "" && (keydown == undefined || keydown.key == undefined))
				$("main-search").removeClass("main-search-active");
			else if (keydown != undefined && keydown.key == "enter")
				submit_searchbar ();
			else $("main-search").addClass("main-search-active");
		};
		handle_searchbar();
		var submit_searchbar = function()
		{
			window.location = SITE_ROOT + "search/?query=" + encodeURIComponent($("main-search-input").get("value"));
		};
		$("main-search-input").addEvents(
			{
				"focus":handle_searchbar,
				"blur":handle_searchbar,
				"keyup":handle_searchbar,
				"keydown":handle_searchbar
			});
		$("main-search-submit").addEvent("click", submit_searchbar);
	});
