$(function() {	 
	getSearch();
});

var timer;
var timerOn = 0;

function tweetSlider(){
	x = $('.openTweet').length;
	t = setTimeout('startTimer(x)', 8000);	
}

function startTimer(a){
	var x = a;
	x--;
	clearTimeout(timer);
	var divCount = $("#recentTweets > div").size();
	var firstDiv = $("#recentTweets div.tweet:first-child");
	var nextDiv = $("#recentTweets div.tweet:nth-child("+(divCount)+")");
	firstDiv.fadeTo(500, 0, function(){
		$(this).slideUp(800, function(){
			$(this).remove();
			nextDiv.animate({"height": "toggle"}, "slow").removeClass('hiddenTweet');
		});
	}); 
	if(x == 7 || x < 3){
		clearTimeout(timer);
		return false;
	} else {
		timer = setTimeout('startTimer(x)', 8000);	
	}
}

function timeSince(yourTimestamp) {
	var e = new Date(yourTimestamp);
	dt = e.getDate();
	mn = e.getMonth();
	yr = e.getFullYear();
	hr = e.getHours();
	min = e.getMinutes();
	sec = e.getSeconds();
	
	ms = Date.UTC(yr,mn,dt,hr,min,sec);
	ms = Math.round(ms/1000); 
	
	cur = new Date();
	theDate = cur.getTime();
	theDate = Math.round((theDate/1000)+3600); //ADD 3600 when observing BST
	
	seconds = theDate - ms;
    minutes = 0;
    hours = 0;
    days = 0;
    weeks = 0;
    months = 0;
    years = 0;
    if ( seconds == 0 ) {
    	seconds = 1;
    }
    if ( seconds> 60 ) {
        minutes =  seconds/60;
    } else {
        return add_s(seconds,'second');
    }

    if ( minutes >= 60 ) {
        hours = minutes/60;
    } else {
        return add_s(minutes,'minute');
    }

    if ( hours >= 24) {
        days = hours/24;
    } else {
        return add_s(hours,'hour');
    }

    if ( days >= 7 ) {
        weeks = days/7;
    } else {
        return add_s(days,'day');
    }
	if ( weeks >= 4 ) {
        months = weeks/4;
    } else {
        return add_s(weeks,'week');
    }

    if ( months>= 12 ) {
        years = months/12;
        return add_s(years,'year');
    } else {
        return add_s(months,'month');
    }
}

function add_s(num,word) {
	val = num*1;
    val = Math.round(val);
    if ( num == 1 ) {
        return val+' '+word+' ago';
    } else {
        return val+' '+word+'s ago';
    }
}

function getSearch() {
	$.getJSON(
		"http://search.twitter.com/search.json?callback=?&q=everythingconf&rpp=13",
		function(data){
			var theDiv = $("#recentTweets");
			$.each(data.results, function(index, item){
				var result = timeSince(item.created_at);
				var thisTweet = "<div class='tweet'><a href='http://www.twitter.com/"+item.from_user+"'>"+item.from_user+"</a>: "+item.text+"<br /><p class='postData'></i>Posted "+result+"</div>";
				if(index < 10){
					if(index > 2){
						var thisTweet = "<div class='hiddenTweet tweet'><a href='http://www.twitter.com/"+item.from_user+"'>"+item.from_user+"</a>: "+item.text+"<br /><p class='postData'></i>Posted "+result+"</div>";
					} else {
						var thisTweet = "<div class='tweet openTweet' rel=T"+index+"'><a href='http://www.twitter.com/"+item.from_user+"'>"+item.from_user+"</a>: "+item.text+"<br /><p class='postData'></i>Posted "+result+"</div>";
					}
				}
				theDiv.append(thisTweet);			
			});
			tweetSlider();
		}
	);
}