$(document).ready(function(){
	function PLoader(){}
	
	PLoader.prototype.init = function(page){
		var 
			self = this;

		self.page = page;
		self.inner = $("div#contentInner");
		self.outer = $("div#contentOuter");
		self.pTop = (function(){
			var 
				pp = self.inner.css("paddingTop");
			return pp.substr(0,pp.length - 2) * 1;
		})();
		
		self.pBottom = (function(){
			var 
				pp = self.inner.css("paddingBottom");
			return pp.substr(0,pp.length - 2) * 1;
		})();
		
		self.dropShadow = 9;
		self.h = self.inner.height();
		self.newHtml = "";
		self.pageIsUp = false;
		
		
		self.run();
						
		return true;
	}
	
	PLoader.prototype.run = function(){
		var self = this;
		
		self.pageUp();
		self.getData();
		
		return true;
	}

	PLoader.prototype.makeVerticalDisplace = function(){
		return this.h + this.pTop + this.pBottom - this.dropShadow;
	}

	PLoader.prototype.pageUp = function(){
		var self = this;
		self.outer.animate({"height":self.pBottom+self.pTop});

		self.inner.animate({"top":-self.makeVerticalDisplace() },400,"swing",function(){
			
			self.pageIsUp = true;
			
			if(self.newHtml.length != ""){
				self.pageDown();
			}
			
			return true;

		});
		
		return true;
	}

	PLoader.prototype.pageDown = function(){
		var self = this;
		
		self.inner.hide()
		self.inner.css({"height":"auto"});
		self.inner.html( self.newHtml );
		

		//gets new height and hides
		self.h = self.inner.height();

		self.inner.css({ "top" : -self.makeVerticalDisplace() },400);
		

		var agent=navigator.userAgent.toLowerCase();
		var is_iphone = ( (agent.indexOf('iphone')) != -1);

		//iphone fucks up the about page		
		if (is_iphone) {
			setTimeout(showAgain,500);
		}else{
			showAgain();
		}
		
		function showAgain(){
			self.inner.show();

			//show Page
			self.inner.animate({"top":0});
			self.outer.animate({"height":self.makeVerticalDisplace() + self.dropShadow},400);
		
			rebind();
		
			delete self;
			
		}

	}
	
	PLoader.prototype.getData = function(){
		var 
			self = this;

		$.ajax({
			"type" : "GET",
			"url" : self.page,
			"success" : function(r){
				self.newHtml = r;
				if(self.pageIsUp){
					self.pageDown();
				}
			},
			"cache" : false
		});
		
	}
		
	
	$("ul#navBar li a").click(function(){
		
		$(this).trigger("blur");//kills the outlines in ie
		
		if( $(this).is(".current") ){
			return false;
		}
		
		if( $(this).is("a#home") ){
			$("ul#navBar li a#about").trigger("click");
			return false;
		}
		

		var 	
			pages = {
				"about":"about.html",
				"work":"work.html",
				"contact":"contact.html"
			},
			pL = new PLoader(),
			o = $(this);
				
		
		pL.init( pages[o.attr("id")] );
		
		$("ul#navBar li a").removeClass("current");
		o.addClass("current");
		
		return false;
	});
		
});

$(window).load(function(){
	$("ul#navBar li a#about").trigger("click");
	checkWHeight();
});


function rebind(){

	$(".contactTrigger").unbind("click").click(function(){
		$("ul#navBar li a#contact").trigger("click");
		
		return false;
	});

}

$(window).bind("resize",checkWHeight);

function checkWHeight(){
	var wH = $(window).height();
	if( wH < 530 ){
		$("div#bottomSpan").animate({"height": 0 },100);
	} else{
		if( $("div#bottomSpan").height() != 40 ){
			$("div#bottomSpan").animate({"height":40},100);
		}
	}	
	return true;
}