/*
jTwitter.js V3+ (jQuery+rotate)
Revision 1 (30-05-2011)
© Webspacedesign (www.webspacedesign.nl)


options:
- username (required): username on twitter
- limit (optional): maximum number of tweets, default is 1 (integer)
- rotate (optional): rotate through the tweets, default is false (boolean)
- interval (optional): interval for the rotate function in milliseconds, default is 5000 (integer)
- parseURL (optional): parse URL's in tweets, default is true (boolean)
- parseUsername (optional): parse usernames in tweets, default is true (boolean)
- parseHashtag (optional): parse hashtags in tweets, default is true (boolean)
*/


jQuery.fn.wsd_twitter = function(options) {

	var wrapper = $(this[0]).html("");

	if(options.parseURL === undefined) options.parseURL = true;
	if(options.parseUsername === undefined) options.parseUsername = true;
	if(options.parseHashtag === undefined) options.parseHashtag = true;

	$.getJSON("http://twitter.com/status/user_timeline/"+options.username+".json?count="+(!options.limit ? 1 : options.limit)+"&callback=?",function(data) {
		for(var i=0; i<data.length; i++) {
			text = data[i].text;

			if(options.parseURL) {
				text = text.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(url) {
					return '<a href="'+url+'" target="_blank" onclick="return outcount(\''+url+'\',\'footer-twitter\');">'+url+'</a>';
					//return url.link(url);
				});
			}

			if(options.parseUsername) {
				text = text.replace(/[@]+[A-Za-z0-9-_]+/, function(u) {
					var username = u.replace("@","");
					return '<a href="http://twitter.com/'+username+'" target="_blank" onclick="return outcount(\'http://twitter.com/'+username+'\',\'footer-twitter\');">'+u+'</a>';
					//return u.link("http://twitter.com/"+username);
				});
			}

			if(options.parseHashtag) {
				text = text.replace(/[#]+[A-Za-z0-9-_]+/, function(t) {
					var tag = t.replace("#","%23")
					return '<a href="http://search.twitter.com/search?q='+tag+'" target="_blank" onclick="return outcount(\'http://search.twitter.com/search?q='+tag+'\',\'footer-twitter\');">'+t+'</a>';
					//return t.link("http://search.twitter.com/search?q="+tag);
				});
			}

			wrapper.append("<div>"+text+"</div>\n");
		}

		if(options.rotate && data.length > 1) {
			$(wrapper).cycle({	fx: 'fade' });
			/*if($(wrapper).css("position") != "absolute") $(wrapper).css("position","relative");
			$(wrapper).children().css("position","absolute");
			$(wrapper).children(":not(:first)").hide();

			clearInterval($(this).data("timer"));

			var interval = (!options.interval) ? 5000 : options.interval;

			$(this).data("timer",setInterval(function(wrapper) {
				if($.browser.webkit) var current = $(wrapper).children(":visible").hide();
				else var current = $(wrapper).children(":visible").fadeOut();
				if($(current).next().is("div") == true){
					if($.browser.webkit) $(current).next().show();
					else $(current).next().fadeIn();
				} else {
					if($.browser.webkit) $(wrapper).children().first().show();
					else $(wrapper).children().first().fadeIn();
				}
			},interval,wrapper));*/
		}
	});
};
