var tweetUsers = ['Challengers1978'];
var buildString = "";
var reloadTime = 3; //Seconds
var tweets = null;
var since = null;
var MAX_TWEET = 30;

(function($){
$(document).ready(function(){
	tweetSetup();
});

function tweetSetup(){
	jQuery.getJSON(
		'/tweet',
		function(data){
			since  = data.date;
			tweets = data.tweets;
			$('#twitter-ticker').slideDown('slow');
			for(var i=0;i<tweetUsers.length;i++)
			{
				if(i!=0) buildString+='+OR+';
				buildString+='from:'+tweetUsers[i];
			}
			getTweet();
		}
	);
}

function getTweet()
{
	jQuery.getJSON('http://search.twitter.com/search.json?q='+buildString+'&callback=?&rpp='+MAX_TWEET+'&since='+since, TweetTick);
	setTimeout(function(){ getTweet(); }, (reloadTime * 1000));
}

function TweetTick(ob)
{
	var container=$('#tweet-container');
	container.html('');
	var c = 0;
	$(ob.results).each(function(el){
		var str = '	<div class="tweet clearfix';
		if(c % 2 == 0) str += ' even';
		str +=    '	">\
					<div class="tweet_img"><a href="http://twitter.com/'+this.from_user+'" target="_blank"><img src="'+this.profile_image_url+'" alt="'+this.from_user+'" /></a></div>\
					<div class="tweet_str"><p class="name"><a href="http://twitter.com/Challengers1978" target="_blank">@Challengers1978</a></p><p class="txt">\
					'
					//<div class="time">'+relativeTime(this.created_at)+'</div>\
					+formatTwitString(this.text)+'</p></div>\
					</div>';
		container.append(str);
		c++;
	});

	$(tweets).each(function(){
		if(c >= MAX_TWEET) return;
		var str = '	<div class="tweet clearfix';
		if(c % 2 == 0) str += ' even';
		str +=    '	">\
					<div class="tweet_img"><a href="http://twitter.com/Challengers1978" target="_blank"><img src="'+this.profile_image_url+'" alt="Challengers1978" /></a></div>\
					<div class="tweet_str"><p class="name"><a href="http://twitter.com/Challengers1978" target="_blank">@Challengers1978</a></p><p class="txt">\
					'
					//<div class="time">'+relativeTime(this.created_at)+'</div>\
					+formatTwitString(this.text)+'</p></div>\
					</div>';
		container.append(str);
		c++;
	});
	//container.jScrollPane();
}

function formatTwitString(str)
{
	str=' '+str;
	str = str.replace(/((ftp|https?):\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?)/gm,'<a href="$1" target="_blank">$1</a>');
	str = str.replace(/([^\w])\@([\w\-]+)/gm,'$1@<a href="http://twitter.com/$2" target="_blank">$2</a>');
	str = str.replace(/([^\w])\#([\w\-]+)/gm,'$1<a href="http://twitter.com/search?q=%23$2" target="_blank">#$2</a>');
	return str;
}

function relativeTime(pastTime)
{
	var origStamp = Date.parse(pastTime);
	var curDate = new Date();
	var currentStamp = curDate.getTime();

	var difference = parseInt((currentStamp - origStamp)/1000);

	if(difference < 0) return false;
	if(difference <= 5)				return "Just now";
	if(difference <= 20)			return "Seconds ago";
	if(difference <= 60)			return "A minute ago";
	if(difference < 3600)			return parseInt(difference/60)+" minutes ago";
	if(difference <= 1.5*3600) 		return "One hour ago";
	if(difference < 23.5*3600)		return Math.round(difference/3600)+" hours ago";
	if(difference < 1.5*24*3600)	return "One day ago";

	var dateArr = pastTime.split(' ');
	return dateArr[4].replace(/\:\d+$/,'')+' '+dateArr[2]+' '+dateArr[1]+(dateArr[3]!=curDate.getFullYear()?' '+dateArr[3]:'');
}
})(jQuery);
