(function($) {
	$.fn.getTwitter = function(options) {
		var o = $.extend({}, $.fn.getTwitter.defaults, options);
		var c = $(this);
		// hide container element
		//$(this).hide();
		c.hide();
		// add heading to container element
		if (o.showHeading) {
			//$(this)
			c.append('<h2>'+o.headingText+'</h2>');
		}

		// add twitter list to container element
		//$(this)
		c.append('<ul id="twitter_update_list" style="list-style-image:url(./lib/images/t1.png);")><li></li></ul>');
     	
		var tl = $("ul#twitter_update_list");

		// hide twitter list
		//$("ul#twitter_update_list").hide();
		tl.hide();

		// add preLoader to container element
		var pl = $('<p id="'+o.preloaderId+'">'+o.loaderText+'</p>');
		c.append(pl);
		var flg=false;
		// 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>');
			//c.append('<a id="profileLink" href="twitter.html">More Tweets</a>');
			flg=true;
		}else{
			c.append('<a id="profileLink" href="http://twitter.com/'+o.userName+'">http://twitter.com/'+o.userName+'</a>');
			flg=false;
		}

		// show container element
		c.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();
			
			// remove timestamp and move to title of list item
			if (!o.showTimestamp) {
					tl.find("li").each(function() {
							var timestampHTML = $(this).children("a");
							var timestamp = timestampHTML.html();
							timestampHTML.remove();
							$(this).attr("title", timestamp);
					});
			}
								
			// show twitter list
			if (o.slideIn) {
				if(flg)
					$("ul#twitter_update_list").slideDown(1000);
				else
					$("ul#twitter_update_list").slideDown(3000);
			}
			else {
				tl.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");
		});
	};

	// plugin defaults
	$.fn.getTwitter.defaults = {
		userName: "bukupushcart",
		numTweets: 10,
		preloaderId: "preloader",
		loaderText: "Loading tweets...",
		slideIn: false,
		showHeading: true,
		slideDuration: 750,
		headingText: "Latest Tweets",
		showProfileLink: true,
		showTimestamp: true

	};
})(jQuery);
