/**
 * @license 
 * jQuery Tools @VERSION / Scrollable Autoscroll
 * 
 * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
 * 
 * http://flowplayer.org/tools/scrollable/autoscroll.html
 *
 * Since: September 2009
 * Date: @DATE 
 */
(function($) {	
	var t = $.tools.scrollable; 
	
	t.autoscroll = {
		conf: {
			autoplay: true,
			interval: 3000,
			autopause: true
		}
	};	
	
	// jQuery plugin implementation
	$.fn.autoscroll = function(conf){ 
		if(typeof conf == 'number'){
			conf = {interval: conf};	
		}
		
		var opts = $.extend({}, t.autoscroll.conf, conf), ret;
		
		this.each(function(){		
			var api = $(this).data("scrollable");			
			if (api) { ret = api; }
			// interval stuff
			var timer, stopped = true;
	
			api.play = function(){
				// do not start additional timer if already exists
				if (timer) { return; }
				stopped = false;
				// construct new timer
				timer = setInterval(function() { 
					api.next();				
				}, opts.interval);
			};	
	
			api.pause = function(){
				timer = clearInterval(timer);
			};
			
			// when stopped - mouseover won't restart 
			api.stop = function() {
				api.pause();
				stopped = true;	
			};
		
			/* when mouse enters, autoscroll stops */
			if (opts.autopause) {
				api.getRoot().add(api.getNaviButtons()).hover(api.pause, api.play);
			}
			
			if (opts.autoplay) {
				api.play();				
			}
		});
		return opts.api ? ret : this;
	};
})(jQuery);
