$(document).ready(function() {
	// Header gallery
	var randomImages = 5; //Number of images
	var rndNum = Math.ceil(Math.random() * randomImages);
	$("#header_gallery").css({
		"background-image" : "url(http://www.totalfootballacademy.co.uk/assets/img/h/header_pic_" + rndNum + ".jpg)",
		"background-position" : "100% 100%",
		"border-radius" : "10px"
	});
	$("#header_gallery_alt").css({
		"background-image" : "url(http://www.totalfootballacademy.co.uk/assets/img/ha/header_pic_" + rndNum + ".jpg)",
		"background-position" : "100% 100%",
		"border-radius" : "10px"
	});
	
	// Twitter & Facebook
	//$(".tweet").tweet();
	tweetFetch();
	fbFetch();
	
	// Team tabs
	$("#team-tabs").organicTabs();
	// Acordian sub menu
	// 1. Setup
	if( $(".active .active").length ) {
		$(".active .active").parent("ul").show().addClass("open");
	}
	// 2. Action
	$(".parent a").click(function() {
		if ( $(this).siblings("ul").size() > 0 ) {
			if ( $(this).siblings("ul").hasClass("open") ) {
				$(this).siblings("ul").slideUp().removeClass("open");
			} else {
				$(".open").slideUp().removeClass("open");
				$(this).siblings("ul").slideDown().addClass("open");
			}
			return false;
		}	
	});
});

function tweetFetch(){
	var url = "http://twitter.com/status/user_timeline/totalfootballuk.json?count=1&callback=?";	
	$.getJSON(url, function(data){
		var list = '<ul class="tweet_list">';
		$.each(data, function(i,item){
			var message = linkUrl(item.text);
			var date = '<a href="http://twitter.com/#!/totalfootballuk/status/' + item.id_str + '" title="view tweet on twitter" class="tweet-date">' + relative_time(item.created_at) + '</a>';
			var text = '<span class="tweet_text">' + message + '</span>';
			
			list += '<li><a href="http://twitter.com/#!/totalfootballuk">@totalfootballuk</a>: ' + text + ' ' + date + '</li>';
		});
		list += "</ul>";
		$('.twitterfeed').animate({opacity:0}, 500, function(){
			$('.twitterfeed').html(list);
		});
		$('.twitterfeed').animate({opacity:1}, 500);
	});
};

function fbFetch() {
	var fburl = "https://graph.facebook.com/241501974510/feed?access_token=317249631622763|f565aade4ee937291d42a60b1eae06c2&limit=1";
	$.getJSON(fburl,function(json){
		var html = '<ul class="facebook_list">';
		$.each(json.data,function(i,fb){
			var perma = fb.id.replace("_", "/posts/");
			if(fb.likes){
		    	html += '<li><a href="http://www.facebook.com/pages/Total-Football-Academy/241501974510">Total Football Academy:</a> ' + fb.message + '<br /><a href="http://www.facebook.com/' + perma + '" class="tweet-date">Likes: ' + fb.likes.count + ' Comments: ' + fb.comments.count + '</a></li>';
			}else{
		    	html += '<li><a href="http://www.facebook.com/pages/Total-Football-Academy/241501974510">Total Football Academy:</a> ' + fb.message + '<br /><a href="http://www.facebook.com/' + perma + '" class="tweet-date">Comments: ' + fb.comments.count + '</a></li>';
			}
		});
		html += "</ul>";
		$('.facebookfeed').animate({opacity:0}, 500, function(){
			$('.facebookfeed').html(html);
		});
		$('.facebookfeed').animate({opacity:1}, 500);
	});
};

// Helpers
function linkUrl(text) {
	var regexp1 = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;
	var regexp2 = /[\@]+([A-Za-z0-9-_]+)/gi;
	var regexp3 = / [\#]+([A-Za-z0-9-_]+)/gi;
	
	var part1 = text.replace(regexp1,"<a href=\"$1\">$1</a>");
	var part2 = part1.replace(regexp2,"<a href=\"http://twitter.com/$1\">@$1</a>");
	var result = part2.replace(regexp3, ' <a href="http://search.twitter.com/search?q=&tag=$1&lang=all&from=totalfootballuk">#$1</a>');
	
	return result;
}

function relative_time(time_value) {
	var parsed_date = Date.parse(time_value);
	var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
	var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
	if(delta < 60) {
		return 'less than a minute ago';
	} else if(delta < 120) {
		return 'about a minute ago';
	} else if(delta < (45*60)) {
		return (parseInt(delta / 60)).toString() + ' minutes ago';
	} else if(delta < (90*60)) {
		return 'about an hour ago';
	} else if(delta < (24*60*60)) {
		return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
	} else if(delta < (48*60*60)) {
		return '1 day ago';
	} else {
		return (parseInt(delta / 86400)).toString() + ' days ago';
	}
}


