/*!
 * Mobgen.com Scroller.
 */


jQuery.fn.mgScroller = function(settings) {

	settings = jQuery.extend({
		travelocity: 0.07,
		secondUlPaddingLeft: 10
	}, settings);	
	
	return this.each(function(){
		var container = jQuery(this);

		// Set style for main element
		container.css( 'overflow-x', 'hidden' ).css( 'width', container.width() );

		var containerPos = container.find('ul').offset(); // get containerPos.left
		var ulWidth = 0;

		container.find( 'ul li' ).each( function(){
			ulWidth += $(this).outerWidth();
		});

		container.append( container.html() );
		container.wrapInner('<div class="innerwrap" />');
		container.find('ul:eq(0)').css( 'padding-right', settings.secondUlPaddingLeft + 'px' );
		container.find('ul').css( 'left', '0px' );
		container.find('ul').css('width', ulWidth).css('float', 'left');
		container.find('div.innerwrap').width( ( ulWidth * 2 ) + settings.secondUlPaddingLeft ).css('position','relative');

		doScroll();

		container.find('div.innerwrap').hover( function(){
			$(this).stop();
		}, function() {
			doScroll();
		} );

		function doScroll( )
		{
			var residualSpace = ulWidth;
			var residualTime = residualSpace/settings.travelocity;

			container.find('div.innerwrap').animate({left: '-='+ residualSpace}, residualTime, "linear", function(){
				container.find('div.innerwrap').css( 'left', '0px' );
				doScroll();
			} );
		}
	});	
};
