jQuery.fn.newsScroller = function(settings)
{
	settings = jQuery.extend({travelocity: 0.03}, settings);
	return this.each(function()
	{
		var $strip = jQuery(this);
		$strip.addClass("osNewsTicker");
		var stripWidth = 0;
		var $mask = $strip.wrap("<div class='mask'></div>");
		var $tickerContainer = $strip.parent().wrap("<div class='osTickerContainer'></div>");
		var containerWidth = $strip.parent().parent().width();
		$strip.find("li").each(function(i)
		{
			stripWidth += jQuery(this, i).width();
		});
		$strip.width(stripWidth);
		var defTiming = stripWidth/settings.travelocity;
		var totalTravel = stripWidth+containerWidth;
		function scrollNews(shrimp, barbi)
		{
			$strip.animate({left: '-='+ shrimp}, barbi, "linear", function(){$strip.css("left", containerWidth); scrollNews(totalTravel, defTiming);});
		}
		scrollNews(totalTravel, defTiming);
		$strip.hover(function()
		{
			jQuery(this).stop();
		},
		function()
		{
			var offset = jQuery(this).offset();
			var residualSpace = offset.left + stripWidth;
			var residualTime = residualSpace/settings.travelocity;
			scrollNews(residualSpace, residualTime);
		});
	});	
};