jQuery.fn.hScroll = function(settings) {
		settings = jQuery.extend({
		hspeed: 0.07
		}, settings);		
		return this.each(function(){
				var $strip = jQuery(this);
				$strip.addClass("newsticker")
				var stripWidth = 0;
				var $mask = $strip.wrap("<div class='mask'></div>");
				var $tickercontainer = $strip.parent().wrap("<div class='tickercontainer'></div>");								
				var containerWidth = $strip.parent().parent().width();	//a.k.a. 'mask' width 	
				
				for (i=0;i<=4;i++)
				{
					$(this).append($(this).html());
				}

				
				$strip.find("li").each(function(i){
				stripWidth += jQuery(this, i).outerWidth(true);
				});

				$strip.width(stripWidth);			
				var totalTravel = stripWidth+containerWidth;
				var defTiming = totalTravel/settings.hspeed;
				
				scrollnews(totalTravel, defTiming);				
				
				$strip.hover(function(){
				jQuery(this).stop();
				},
				function(){
				var offset = jQuery(this).offset();
				var residualSpace = offset.left + stripWidth;
				var residualTime = residualSpace/settings.hspeed;
				scrollnews(residualSpace, residualTime);
				});			
				// The function that actually kicks of scrolling
				function scrollnews(hposition, timing){
					$strip.animate(
						{
						left: '-='+ hposition
						}, 
						timing, 
						"linear", 

						function(){
							$strip.css("left", containerWidth); 
							scrollnews(totalTravel, defTiming);
						}
						);
				}
				
		});	
};
