var tweets;
var current = 0;
var timer;

function replaceURLWithHTMLLinks(text)
	{
	var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
	return text.replace(exp,'<a href="$1" target="_blank">$1</a>'); 
	}

function clearAutoTransition()
	{
	clearTimeout(timer);
	}

function setupAutoTransition()
	{
	timer = setTimeout('autoTransition()', 7000);
	}

function autoTransition()
	{
	clearAutoTransition();
	current++;
	if (current == 5)
		{
		current = 0;
		}
	$('#twitter').fadeOut('fast', function()
		{
		$('#twitter_p').html(replaceURLWithHTMLLinks(tweets[current].text) + '<span>' + $.timeago(new Date(tweets[current].created_at)) + '</span>');
		$('#twitter').fadeIn();
		setupAutoTransition()
		});
	}

function initTwitter()
	{
	$.getJSON('https://api.twitter.com/1/statuses/user_timeline.json?screen_name=knuckleheadspdx&trim_user=true&count=5&callback=?',
		function(data)
			{
			if (data.length = 5)
				{
				tweets = data;
				$('#twitter_p').html(replaceURLWithHTMLLinks(tweets[0].text) + '<span>' + $.timeago(new Date(tweets[0].created_at)) + '</span>');
				$('#twitter').fadeIn();
				setupAutoTransition()
				}
			}
		);

	$('#twitter a.arrow_top').click(function()
		{
		clearAutoTransition();
		current--;
		if (current < 0)
			{
			current = 4;
			}
		$('#twitter').fadeOut('fast', function()
			{
			$('#twitter_p').html(replaceURLWithHTMLLinks(tweets[current].text) + '<span>' + $.timeago(new Date(tweets[current].created_at)) + '</span>');
			$('#twitter').fadeIn();
			setupAutoTransition()
			});
		});

	$('#twitter a.arrow_bottom').click(function()
		{
		clearAutoTransition();
		current++;
		if (current == 5)
			{
			current = 0;
			}
		$('#twitter').fadeOut('fast', function()
			{
			$('#twitter_p').html(replaceURLWithHTMLLinks(tweets[current].text) + '<span>' + $.timeago(new Date(tweets[current].created_at)) + '</span>');
			$('#twitter').fadeIn();
			setupAutoTransition()
			});
		});
	}

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

