//global javascripts
$(document).ready(init);

var preloader;
var useAjax = false;
var baseLoc = window.location;
var loaded = false;

function init()
{
	preloader = $("<img class='loader' src='images/loader.gif' alt='loading...' />");
	$("a").focus(removeOutline);
			
	if(useAjax)
	{
		$("a.live").live("click", ajaxClick).live("keyup", ajaxClick);
		$("input[type=submit].live, input[type=image].live").live("click", formClick).live("keyup", formClick);
	}
}

function removeOutline()
{
	$(this).blur();
}

function ajaxClick()
{
	if(!loaded) $.historyInit(loadFromHistory);
	if($(this).attr("href").length > 0)
		$.historyLoad($(this).attr("href"));
	return false;
}

function loadFromHistory(data)
{	
	if(data.length == 0) 
		if(!loaded) { loaded = true; return; }
		else window.location = baseLoc;
	var linkObj   = $("*[href="+data+"]").blur();
	var activeObj  = $("a.active[rel="+linkObj.attr("rel")+"]");
	var targetID  = "#" + linkObj.attr("rel");
	var classID =  "." + linkObj.attr("span");
	var targetContentID = " " + targetID + " > *";
	var classTargetID = " " + classID + " > *";	
	
	if(!linkObj.hasClass("active"))
	{
		activeObj.removeClass("active");
		linkObj.addClass("active");
		$(targetID).empty().append(preloader).load(linkObj.attr("href") + targetContentID);
		$(classID).empty().append(preloader).load(linkObj.attr("href") + classTargetID);
	}	
}

function formClick()
{
	var curBtn	= $(this);
	var hash	= $(this).attr("rel");
	var curForm = curBtn.closest("form")
	var data    = curForm.formSerialize() + "&" + curBtn.attr("name") + "=" + curBtn.val() + "&" + curBtn.attr("name") + ".x=100";
	var url		= curForm.attr("action") + " #" + curForm.attr("id") + " > *";
	var offset  = curBtn.offset();

	curForm.append(preloader).load(url, data, function(a, b, c){
		if(hash) window.location.hash = hash;
		curBtn.attr("disabled", "");
	});
	return false;
}

function clickCol()
{
	$("#leftcol li#"+$(this).attr("rel")+" > a").click();
	return false;
}

function unClickCol()
{
	$("#leftcol a.live").removeClass("active");
	return true;
}
