/*
* jQuery Marquee Scroller
* Timothy Oliver
*
* Horizontal Marquee Scroller
*/

(function($) {
	$.fn.marqueeScroller = function(options)
	{
		var settings = $.extend( {}, $.fn.marqueeScroller.defaults, options );
		
		return this.each( function() {
			//internal vars between functions
			var vars = { 
				scrollerWidth: 0,
				innerWidth: 0,
				timer: 0,
				scrollPos: 0
			};
			
			//the outer main scroller block
			var scroller = $(this);
			vars.scrollerWidth = scroller.width();
			
			//generate an inner block which will be the one that moves
			var innerBlock = $('<div>').show().addClass('inner').css( 'position', 'relative');
			
			//move the children to that block
			//(and duplicate for the scroller)
			var kids = scroller.children();
			innerBlock.append(kids);
		 	innerBlock.append(kids.clone());
		 
		 	scroller.append(innerBlock);
			
			vars.innerWidth = innerBlock.width();
			vars.intervalID = setInterval( runScroller, 40, scroller, innerBlock );
			
			scroller.data( 'marq.vars', vars );
		 });
	
		function runScroller(scroller, inner)
		{
			var vars = scroller.data('marq.vars');
			var move = vars.scrollPos - settings.speed;
			vars.scrollPos = move;
			
			inner.css( 'left', move+'px' );
		}
	};
	
	$.fn.marqueeScroller.defaults = {
		speed: 1,
		stopOnMouseOver: true,
		showDialogBox: true
	};
	
})(jQuery);
