/**
* @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);
