(function ($){
	$.fn.tweetable = function (options){
		var defaults = {
			limit: 30,
			show: 2,
			username: "uwcompustore",
			datetime: true,
			replies: false,
			position: "append",
			numericDate: false
		};
	
		var options = $.extend(defaults, options);
		
		return this.each(function (options)
		{
			var act = $(this);
			var $tweetList;
			var tweetMonth = "";
			var langMonths = ["jan", "feb", "mar", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"];
			var shortMonths = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
			var api = "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=";
			var count = "&count=";
			var seperator = " ";
			var displayItems = 0;
		
			$.getJSON(api + defaults.username + count + defaults.limit + "&callback=?", act, function (data)
			{
				$.each(data, function (i, item)
				{
					if (i == 0)
					{
						$tweetList = $('<ul class="tweetList">')[defaults.position.toLowerCase() + 'To'](act);
					}
					
					if (displayItems < defaults.show)
					{
						if (item.in_reply_to_status_id === null)
						{
							$tweetList.append('<li class="tweet_content_' + i + '"><p class="tweet_link_' + i + '">' + item.text.replace(/#(.*?)(\s|$)/g, '<span class="hash">#$1 </span>').replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, '<a href="$&">$&</a> ').replace(/@(.*?)(\s|\(|\)|$)/g, '<a href="http://twitter.com/$1">@$1 </a>$2') + '</p></li>');
							displayItems++;
						}
						
						if (defaults.datetime == true)
						{
							for (var j = 0; j <= 12; j++)
							{
								if (shortMonths[j] == item.created_at.substr(4, 3))
								{
									if (defaults.numericDate == true)
									{
										tweetMonth = j + 1;
										if (tweetMonth < 10)
										{
											tweetMonth = '0' + tweetMonth;
										}
										seperator = "-";
									}
									else
									{
										tweetMonth = langMonths[j];
									}
								}
							}
							
							$('.tweet_link_' + i).append('<br><span class="DateTime">' + item.created_at.substr(11, 5) + " @ " + item.created_at.substr(8, 2) + seperator + tweetMonth + seperator + item.created_at.substr(26, 4) + " via " + item.source + '</span>');
						}
					}
				});
			});
		});
	}
})(jQuery);
