	$(document).ready(function(){
    	//$(".content").fadeIn("slow", function(){$(".bio").fadeIn("slow")});
   		$("#bio-link,#bio-sub-link").click(function(){navHandler(this)});
   		$("#contact-link,#contact-sub-link").click(function(){navHandler(this)});
   		$("#social-link,#social-sub-link").click(function(){navHandler(this)});
		$("#labs-link,#labs-sub-link").click(function(){navHandler(this)});
		$("#moreLink").click(function(){handleHomeMore()});
        if (window.location.hash) {
          handleHash(window.location.hash);
        } else {
          $(".content").fadeIn("slow", function(){$(".bio").fadeIn("slow")});
        }
	})
	
  function handleHash(hash) {
    $(".content").fadeIn("slow");
    hash = hash + "";
    if (hash == "#bio"){$("#bio-link").click()};
    if (hash == "#labs"){$("#labs-link").click()};
    if (hash == "#contact"){$("#contact-link").click()};
    if (hash == "#social"){$("#social-link").click()};
  }
	
	function navHandler(arg) {
		//console.log(arg.id);
		
		if (arg.id == "bio-link" || arg.id == "bio-sub-link") {
			handleBio();
		}
		if (arg.id == "contact-link" || arg.id == "contact-sub-link") {
			handleContact(); 
		}
		if (arg.id == "social-link" || arg.id == "social-sub-link") {
			handleSocial();
		}
		if (arg.id == "labs-link" || arg.id == "labs-sub-link") {
			handleLabs();
		}
	}
	
	function handleBio() {
		$(".bio").fadeIn("slow");
		$(".contact").hide();
		$(".social").hide();
		$(".labs").hide();
		$(".header-ttl").html(".:bio");
		//$("#contact-content").hide().load("contact.php",[],function(){$("#contact-content").fadeIn("slow")});
	}
	
	function handleContact() {
		$(".bio").hide();
		$(".social").hide();
		$(".labs").hide();
		$(".header-ttl").html(".:contact");
		$("#contact-content").hide().load("contact.php",[],function(){$("#contact-content").fadeIn("slow")});
	}
	
	function handleSocial() {
		$(".bio").hide();
		$(".contact").hide();
		$(".labs").hide();			
		$(".header-ttl").html(".:social");
		$("#social-content").hide().load("social.php",[],function(){$("#social-content").fadeIn("slow")});
	}
	
	function handleLabs() {
		$(".bio").hide();
		$(".contact").hide();
		$(".social").hide();
		$(".header-ttl").html(".:labs");
		$("#labs-content").hide().load("labs.php",[],function(){$("#labs-content").fadeIn("slow")});
	}
		
	function handleHomeMore() {
		$("#moreLink").hide();
		$("#otherInterests").fadeIn("slow");
	}
	
	function handleTwitterResponse(response)
	{
		try {
			var responseObj = eval('(' + response + ')');
		} catch (e) {
			//Swallow errror: twitter is probably down or api out of requests
		}
		if (responseObj != undefined) {
			var display = "";
			display += '<img src="' + responseObj[0].user.profile_image_url + '"/>';
			display += massageTweet(responseObj[0].text) ;
			
			var mTxt = massageTwitDate(responseObj[0].created_at);
			display += '<br>' + mTxt + " UTC";
			
			$('#tweet').html(display);
		}
	}
	
	function massageTwitDate(date)
	{
		var dt = new Date(date);

		var weekday = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
		var monthname = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

		var day = weekday[dt.getUTCDay()];
		var date = dt.getUTCDate();
		var month = monthname[dt.getUTCMonth()];
		var minutes = padZero(dt.getUTCMinutes());
		var hours = padZero(dt.getUTCHours());
		var seconds = padZero(dt.getUTCSeconds());
		var year = dt.getUTCFullYear();
	
		var dtStr = day + " " + month + " " + date + ", " + year + " " + hours + ":" + minutes + ":" + seconds ;
	
		return dtStr;
	}
	
	

	function padZero(number)
	{
		if (number < 10)
			number = "0" + number;
	
		return number;
	}
	
		
	function createReplyLink(str)
	{
		var link = '<a href="http://www.twitter.com/' + str.slice(1);
		link += '">'+ str + '</a>';
		return link;
		
	}
	
	function massageTweet(tweet)
	{
		var replyRegEx = new RegExp("@\\w*", "g");

		if (tweet.search(replyRegEx != -1)) {
			var newTweet = tweet;
			var m = newTweet.match(replyRegEx);
			var cacheTweet = "";
			var replyReplace = [];
			
			if (m) {
				for (var i = 0; i < m.length; i++) {
					var rLink = createReplyLink(m[i]);
					replyReplace.push(rLink);
				}
			}
		}
		
		var tmp = "";
		for (var i = 0;i < replyReplace.length; i++) {
			tmp = (tmp == "")?tweet.replace(m[i], replyReplace[i]):
				tmp = tmp.replace(m[i], replyReplace[i]);
		}
		
		return (tmp!="")?tmp:tweet;
	}

