//$(document).ready(function(){ showTweets() });
var laatsteBericht;

function showTweets()
{
	$('#twitter-ticker').slideDown('slow');
	
	if($('#twitlist'))
	{
			$('#twitlist').remove();
	}
	
	var fileref = document.createElement('script');
	
	fileref.setAttribute("type","text/javascript");
	fileref.setAttribute("src", "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=mouterijnoort&count=3&callback=TweetTickUser");
	fileref.setAttribute("id", "twitlist");
	
	document.getElementsByTagName("head")[0].appendChild(fileref);
}

function showTweetSearch()
{
	$('#twitter-ticker').slideDown('slow');
	
	if($('#twitlist'))
	{
			$('#twitlist').remove();
	}
	
	var fileref = document.createElement('script');
	
	fileref.setAttribute("type","text/javascript");
	fileref.setAttribute("src", "http://search.twitter.com/search.json?q=%23mouterijnoort&rpp=3&callback=TweetTickSearch");
	fileref.setAttribute("id", "twitlist");
	
	document.getElementsByTagName("head")[0].appendChild(fileref);
}

function TweetTickUser(ob)
{
	var container=$('#tweet-container');
	container.html('');
	
	$(ob).each(function(el){
	
		var str = '	<div class="tweet">\
					<div class="avatar"><a href="http://twitter.com/'+this.user.screen_name+'" target="_blank"><img src="'+this.user.profile_image_url+'" alt="'+this.user.screen_name+'" /></a></div>\
					<div class="tweettext">\
					<div class="txt">'+formatTwitString(this.text)+'</div>\
					<div class="time">'+relativeTime(this.created_at)+'</div>\
					</div>\
					</div>';
		container.append(str);
	
	});
	
	laatsteBericht = formatTwitString( ob[0].text );
	
}

function TweetTickSearch(ob)
{
	var container=$('#tweet-container');
	container.html('');
	
	$(ob.results).each(function(el){
	
		var str = '	<div class="tweet">\
					<div class="avatar"><a href="http://twitter.com/'+this.from_user+'" target="_blank"><img src="'+this.profile_image_url+'" alt="'+this.from_user+'" /></a></div>\
						<div class="tweettext">\
							<div class="user"><a href="http://twitter.com/'+this.from_user+'" target="_blank">'+this.from_user+'</a></div>\
							<div class="txt">'+formatTwitString(this.text)+'</div>\
							<div class="time">'+relativeTime(this.created_at)+'</div>\
						</div>\
					</div>';	
		container.append(str);
	
	});
	
	
}


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[2]+' '+dateArr[1]+(dateArr[3]!=curDate.getFullYear()?' '+dateArr[5].replace(/\:\d+$/,'')+' - '+dateArr[3]:'');
}
