tweetscript = function() 
{
	var waiting = 0;
	this.Init = init;
	this.UpdateTweets = utweets;
	this.TweetTick = ttick;
	this.formatTwitString = ftstr;
	this.relativeTime = rlt;
	this.logError = lerror;
	
	function init()
	{
		TweetScript.UpdateTweets();
	}

	function utweets()
	{
		var container=$('#tweet-container');
		var api = "http://search.twitter.com/search.json?q=&ands=&phrase=&ors=&nots=&tag=&lang=all&from=letaccess&to=&ref=&near=&within=15&units=mi&since=&until=&rpp=15&callback=TweetScript.TweetTick"
		if(waiting != '1')
		{
			try {
					waiting = 1;
					$('#twitter-ticker').slideUp('fast');
					container.before('<script type="text/javascript" src="' + api + '"></script>');
				} catch ( e ) {
					TweetScript.logError ( e );
				}
		}
		
		//intId = setInterval( TweetScript.UpdateTweets, 10000 );
	}
	
	function ttick(ob)
	{
		waiting = 0;
		var container=$('#tweet-container');
		if(ob.results && ob.results.length > 0)
		{
			//$('#twitter-ticker').slideDown('slow');
			$('#twitter-ticker').slideDown('slow');
			
			var str = "";
			
			$(ob.results).each(function(el)
			{
				if(this.source.search("twitterfeed.com")==-1)
				{
					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="user"><a href="http://twitter.com/'+this.from_user+'" target="_blank">'+this.from_user+'</a></div>\
								<div class="time">'+TweetScript.relativeTime(this.created_at)+'</div>\
								<div class="txt">'+TweetScript.formatTwitString(this.text)+'</div>\
								</div>';
				}
			});

			container.empty().append($(str)).jScrollPane();
			//container.append($(str)).jScrollPane();
			container[0].scrollTo(0);
		}
		else
		{
			//$('#twitter-ticker').slideDown('slow');
			$('#twitter-ticker').slideDown('slow');
			
			var str = "";
			
			str += '	<div class="tweet">\
						<div class="avatar">No New Tweets In The Last 7 Days.</div>\
						<div class="user">LETAS</div>\
						<div class="time"></div>\
						<div class="txt"></div>\
						</div>';

			container.empty().append($(str)).jScrollPane();
			//container.append($(str)).jScrollPane();
			container[0].scrollTo(0);
		}
	}
	
	function ftstr(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 rlt(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]:'');
	}
	
	function lerror( e )
	{
		// For clued up Firefox/Safari developers
		if(console && console.log) {
			console.log("TQ: " + e);
		}
	}
}
var TweetScript = new tweetscript();
