﻿/*
* jQuery.fn.slider( options );
*
* Eternal slide plugin, slide your content for ever.
*
* USAGE:
* $('.element').slider();
* $('.element').slider({
*     direction: 'ltr or rtl', // DEF: ltr
*     vertical: 'true, false', // DEF: false
*     speed: 'in millisec', // DEF: 20000
*     easing: 'require easing plugin', // DEF: linear
*     start: 'auto or time in millisec before start' // DEF: auto
* });
*
* Version 0.5.2
* www.labs.skengdon.com/slider/
* www.labs.skengdon.com/slider/js/slider.min.js
*/
; (function ($) { $.fn.slider = function (options) { var animater = function (e, settings) { $holder = $(e); if (settings.vertical) { var tf = -(settings.cHeight - settings.tHeight); } else { var tf = -(settings.cWidth - settings.tWidth); }; if (settings.direction == 'ltr') { if (settings.vertical) { $holder.css({ top: 0 }); $holder.animate({ top: tf }, settings.speed, settings.easing, function () { animater(e, settings); }); } else { $holder.css({ left: 0 }); $holder.animate({ left: tf }, settings.speed, settings.easing, function () { animater(e, settings); }); } } else { if (settings.vertical) { $holder.css({ top: tf }); $holder.animate({ top: 0 }, settings.speed, settings.easing, function () { animater(e, settings); }); } else { $holder.css({ left: tf }); $holder.animate({ left: 0 }, settings.speed, settings.easing, function () { animater(e, settings); }); } } }; return this.each(function () { var settings = { direction: 'ltr', vertical: false, speed: 20000, easing: 'linear', start: 'auto' }; $.extend(settings, options); settings.tHeight = $(this).height(); settings.tWidth = $(this).width(); var $kids = $(this).children(); if (settings.vertical) { settings.cWidth = settings.tWidth; settings.cHeight = settings.tHeight * ($kids.length + 1); } else { settings.cWidth = settings.tWidth * ($kids.length + 1); settings.cHeight = settings.tHeight; }; $kids.wrapAll('<div></div>'); var $holder = $(this).find('div:first'); $holder.css({ position: 'relative' }); $holder.css({ width: settings.cWidth }); if (settings.direction == 'ltr') { $holder.append($kids.first().clone()); } else { $holder.prepend($kids.last().clone()); }; var $kids = $holder.children(); $(this).css({ overflow: 'hidden' }); $(this).css({ width: settings.tWidth, height: settings.tHeight }); $kids.css({ 'float': 'left' }); $kids.css({  }); if (settings.start == 'auto') { animater($holder, settings); } else if (typeof settings.start === 'number') { setTimeout(function ($holder, settings) { animater($holder, settings); }, settings.start, $holder, settings); } }); }; } (jQuery));
