(function($) {
	/*
		jquery.twitter.js v1.0
		Last updated: 26 October 2008

		Created by Damien du Toit
		http://coda.co.za/blog/2008/10/26/jquery-plugin-for-twitter

		Licensed under a Creative Commons Attribution-Non-Commercial 3.0 Unported License
		http://creativecommons.org/licenses/by-nc/3.0/
	*/

	$.fn.getTwitter = function(options) {
		var o = $.extend({}, $.fn.getTwitter.defaults, options);
	
		// hide container element
		$(this).hide();
	
		// add heading to container element
		$(this).html('');
		
		
		
		// add twitter list to container element
		$(this).append('<ul id="twitter_update_list"><li></li></ul>');

		// hide twitter list
		$("ul#twitter_update_list").hide();

		// add preLoader to container element
		var pl = $('<p id="'+o.preloaderId+'">'+o.loaderText+'</p>');
		$(this).append(pl);

		// add Twitter profile link to container element

		// show container element
		$(this).show();
	
		//$.getScript("http://twitter.com/javascripts/blogger.js");
		$.getJSON("/__ajax/getTwitterJSON.php", function(data) {
		//$.getScript("http://twitter.com/statuses/user_timeline/"+o.userName+".json?callback=twitterCallback2&count="+o.numTweets, function() {
		//$.getScript("http://search.twitter.com/search.json?callback=jsonp1290253428214&_=1290253434124&q=%40gebroedersfretz&page=1&rpp=6", function() {
			// remove preLoader from container element
			
			
			
			$(pl).remove();
			
			
			
			for ( var i = 0; i < o.numTweets; i++ )
			{
				
				var tweet = '';
				current = data[i];
				if(current) {
					user = current.from_user;
					publish_time = current.created_at;
					text = current.text.replace(/(https?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/, function (u) {
						var shortUrl = (u.length > 30) ? u.substr(0, 30) + '...': u;
						return '<a href="' + u + '">' + shortUrl + '</a>';
					}).replace(/@([a-zA-Z0-9_]+)/g, '@<a href="http://twitter.com/$1" target="_blank">$1</a>').replace(/(?:^|\s)#([^\s\.\+:!]+)/g, function (a, u) {
						return ' <a href="http://twitter.com/search?q=' + encodeURIComponent(u) + '" target="_blank">#' + u + '</a>';
					});
					tweet +=  text +' <a href="http://twitter.com/' + o.userName + '/statuses/' + current.id + '" target="_blank">'+ relative_time(current.created_at) +'</a>';
				
					// Add tweet to the page
					
					$("ul#twitter_update_list").append('<li class="inactive">'+tweet+'</li>');
				
				}
			}
			
			

			// show twitter list

			$("ul#twitter_update_list").show();

			// give first list item a special class
			$("ul#twitter_update_list li:first").addClass("firstTweet");
			$("ul#twitter_update_list li:first").addClass("active");
			$("ul#twitter_update_list li:first").removeClass("inactive");

			// give last list item a special class
			$("ul#twitter_update_list li:last").addClass("lastTweet");
			
			function rotate() {
            	//console.log(o.duration);
				
				// Get current item
				var currentItem = $("ul#twitter_update_list li.active");
				
				if(currentItem.hasClass('lastTweet')) {
					var nextItem = $("ul#twitter_update_list li.firstTweet").next(); 
				} else {	
					var nextItem = $("ul#twitter_update_list li.active").next(); 
				}
				
				// classes goed zetten
				currentItem.fadeOut('slow');
				currentItem.removeClass('active');
				currentItem.addClass('inactive');
				nextItem.fadeIn('slow');
				nextItem.addClass('active');
				nextItem.removeClass('inactive');
				
				var twitterTimer = setTimeout(rotate, o.duration)
				
   			}	
			
			rotate();
			clearTimeout(twitterTimer);
		});
		
	};

	// plugin defaults
	$.fn.getTwitter.defaults = {
		userName: null,
		numTweets: 5,
		preloaderId: "preloader",
		loaderText: "Loading tweets...",
		duration: 2000,
		slideIn: false
	};
	
	
})(jQuery);
