/**
 * Ticker.js - A tiny whatever ticker ;-)
 * 
 * @author  Webstores <info at webstores dot nl>
 *           Copyright (c) Webstores internet totaalbureau <http://www.webstores.nl/>
 */

var Ticker = function(id) {
	var ticker,
	    interval,
	    tickerItems,
		tickerWidth,
		contentWidth,
		scrollSpeed = 1,
		visibleItems = 3,
		extraMargin = 10,
		duration = 30;
	
	return {
		initialize: function() {
			ticker = id;					
			if($('#'+ticker+' li').length > visibleItems)
				this.initEvents();
		},
		initEvents: function() {
			tickerWidth = $('#'+ticker).outerWidth();			
			contentWidth = ($('#'+ticker+' li').last().offset().left + $('#'+ticker+' li').last().outerWidth() + extraMargin);
			
			var self = this;
			
			$('#'+ticker).bind('mouseover', function() {
				self.stop();
			});
			$('#'+ticker).bind('mouseout', function() {
				self.start();
			});
			
			tickerItems = $('#'+ticker+' li');
			
			for(var i = 0; i < tickerItems.length; i++) {				
				$('#brand-ticker-content').append($('#'+ticker+' li').eq(i).clone());
			}
						
			this.start();
		},
		start: function() {
			var self = this;
			interval = setInterval(function() {								
				self.scroll(scrollSpeed);
			}, duration);
		},
		stop: function() {
			clearInterval(interval);
		},
		scroll: function(offset) {			
			if($('#'+ticker).scrollLeft() < contentWidth) {
				var new_offset = $('#'+ticker).scrollLeft() + offset;
				$('#'+ticker).scrollLeft(new_offset);
			} else {
				$('#'+ticker).scrollLeft(0);
			}
		}
	}
}

