$(document).ready( function() { 
	var ClearNet = {
	  mainHeight: null,
	  bodyHeight: null,
	  footerHeight: null,

	  init:function() {
		$("li.internal").navClick();
		$(".upper li").navHover();
		$(".lower li").navHover();
		$(".logo").click(function() {
			window.location.hash = '';
			return false;
		});

		ClearNet.setup();
	  },

	  openDetails:function() {
		$("#main").animate({ top: 0 }, 900);
		var details = $("#details .content");
		var padding = parseInt(details.css("padding-top").replace("px",""));
		$("#details").animate({ height: details.height()+(padding*3) }, 900, function() {
			$("#details").css("overflow","visible");
		});
	  },

	  closeDetails:function() {
		$("#details").css("overflow","hidden");
		$("#details").animate({ height: 0 }, 900);
		$("#main").animate({ top: ((this.bodyHeight/2)-(this.mainHeight/2)-50) }, 900);
	  },

	  setup:function() {
		var $footer = $("footer");
		var $main = $("#main");
		this.mainHeight = $main.height();
		this.bodyHeight = $(document).height();
		var $upperNavigation = $(".upper .content");
		var $lowerNavigation = $(".lower .content");
		var $details = $("#details");

		$main.css("position","absolute");
		$main.css("top", (this.bodyHeight/2)-(this.mainHeight/2)-50);

		if ($details.height() < 2) {
		  	$upperNavigation.css("position","relative");
			$upperNavigation.css("left", $main.width()*2);

			$lowerNavigation.css("position","relative");
			$lowerNavigation.css("left", $main.width()*-1);

			$upperNavigation.animate({ left: 0 }, 900);
			$lowerNavigation.animate({ left: 0 }, 900);
		}
	  }
	};
	
	$.fn.navClick = function(callback) {
	    this.click(function(e) {
			var href = $(this).attr("href");
			if (href == null)
				href = $(this).find("a").attr("href");
			window.location.hash = href.substring(1);

			try { _gat._getTracker("UA-1267810-3")._trackPageview(href); } catch(err) {}

			return false;
		});
	}

	$.fn.navHover = function(callback) {
		this.hover(function() {
			$(this).addClass("active");
		}, function() {
			$(this).removeClass("active");
		});
	}

	$(window).bind('hashchange', function(){
		var hash = window.location.hash.substring(1)
		if (hash != '') {
			$.get('/'+hash, function(data) {
				$('html, body').animate({scrollTop:0}, 'slow');
				$("#details").html(data);
				ClearNet.openDetails();
			});
		} else {
			ClearNet.closeDetails();
		}
	})

	ClearNet.init();
	var hash = window.location.hash;
	window.location.hash = "/";
	window.location.hash = hash;
});
