jQuery.fn.liScroll = function(settings) {
		settings = jQuery.extend({
		                          travelocity: 0.05
		                         }, settings);		
		return this.each( function(){
				var $strip           = jQuery(this);
				$strip.addClass("pubticker")
				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 	
				$strip.find("li").each(function(i){
				                         stripWidth += jQuery(this, i).width();
				                       });
				$strip.width(stripWidth);
				$strip.css("left", '-'+stripWidth+'px');
				var totalTravel      = stripWidth + containerWidth;	
				var defTiming        = totalTravel / settings.travelocity;
											
				function scrollnews(spazio, tempo){
				  $strip.animate( {left: '+='+ spazio }, 
				                  tempo, 
								  "linear", 
								  function(){
				  	                $strip.css("left", '-'+stripWidth+'px'); 
									scrollnews(totalTravel, defTiming);
								  } );
				}
				scrollnews(totalTravel, defTiming);
				
				$strip.find("li").hover( function() {
					                       $strip.stop();
										   
										   var theId = jQuery(this).attr( 'id' );
										   $('#pubLogo').html();
										   jQuery.each( sponsors, function() {
										   	                if ( this.id == theId ) {
															  $('#pubLogo').html( '<img src="' + this.logo + '" />' );
															}
										                  } );
										   var l = jQuery(this).offset().left + (jQuery(this).width() / 2);
										   var t = $strip.parent().parent().offset().top - $('#pubLogo').height() - 12;
										   var m = $('#pubLogo').width() / 2;
										   $('#pubLogo').css( { 
										                        'left': l + 'px', 
										                        'top': t + 'px',
																'margin-left' : '-' + m + 'px',
																'display': 'block'
															  } );
				                         },
				
				                         function() {
										   $('#pubLogo').css( { 'display' : 'none' });
										   
				                           var offset = $strip.offset();
				                           var residualSpace = totalTravel - offset.left + jQuery(this).width();
				                           var residualTime  = residualSpace/settings.travelocity;
				                           scrollnews(residualSpace, residualTime);
		                                 } );	
		} );	
};