(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
        if (o.showHeading) {
            $(this).append('<h2>'+o.headingText+'</h2>');
        }

        // 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
        if (o.showProfileLink) {
            $(this).append('<a id="profileLink" href="http://twitter.com/'+o.userName+'">http://twitter.com/'+o.userName+'</a>');
        }

        // show container element
        $(this).show();
	
        $.getScript("http://twitter.com/javascripts/blogger.js");
        $.getScript("http://twitter.com/statuses/user_timeline/"+o.userName+".json?callback=twitterCallback2&count="+o.numTweets, function() {
            // remove preLoader from container element
            $(pl).remove();

            // show twitter list
            if (o.slideIn) {
                $("ul#twitter_update_list").slideDown(1000);
            }
            else {
                $("ul#twitter_update_list").show();
            }

            // give first list item a special class
            $("ul#twitter_update_list li:first").addClass("firstTweet");

            // give last list item a special class
            $("ul#twitter_update_list li:last").addClass("lastTweet");
			
			
            $("ul#twitter_update_list a").attr('target','_blank');
			
			
        });
		
		
    };

    // plugin defaults
    $.fn.getTwitter.defaults = {
        userName: null,
        numTweets: 5,
        preloaderId: "preloader",
        loaderText: "Loading tweets...",
        slideIn: false,
        showHeading: true,
        headingText: "Latest Tweets",
        showProfileLink: true
    };
	
})(jQuery);
