/* sliderjs - jquery slider with css transitions */ var supports = (function () { 'use strict'; var style = document.createelement('div').style, vendors = ['', 'moz', 'webkit', 'khtml', 'o', 'ms'], prefix, i, l; return function (prop) { if (typeof style[prop] === 'string') { return true; } prop = prop.replace(/^[a-z]/, function (val) { return val.touppercase(); }); for (i = 0, l = vendors.length; i < l; i += 1) { prefix = vendors[i] + prop; if (typeof style[prefix] === 'string') { return true; } } return false; }; })(); var slider = (function ($) { 'use strict'; /*global jquery, settimeout, cleartimeout*/ var module = { npos: 0, timer: null, config: function (config) { module.target = config.target; module.container = module.target.find('.slider-wrapper'); module.swidth = module.container.find('.slide').outerwidth(true); module.max = module.container.find('.slide').length; module.twidth = module.swidth * module.max; module.time = config.time || 5000; }, early: function () { var self = this, slider = self.target, i, l; self.container.css({ width: self.twidth }); slider.append(self.pager()); for (i = 0, l = self.max; i < l; i += 1) { self.items(i + 1).insertbefore($('.slider-nav .next').parents('li')); } slider.find('.bullet:first').addclass('active'); }, events: function () { var self = this, slider = self.target; slider.on('click', '.slider-nav a', function (e) { e.preventdefault(); var $this = $(this), index = $this.html(); if ($this.hasclass('next')) { self.next(); } if ($this.hasclass('prev')) { self.prev(); } if ($this.hasclass('bullet')) { self.bullets(index); self.update(); } }); self.container.on({ mouseenter: function () { cleartimeout(self.timer); }, mouseleave: function () { module.auto(); } }); }, slip: function () { if (supports('transition')) { module.container.css({ left: -module.npos * module.swidth }); } else { module.container.animate({ left: -module.npos * module.swidth }, 800); } }, bullets: function (index) { cleartimeout(module.timer); module.auto(); module.npos = parseint(index, null) - 1; module.slip(); }, prev: function () { cleartimeout(module.timer); module.auto(); module.npos -= 1; if (module.npos < 0) { module.npos = module.max - 1; } module.slip(); module.update(); }, next: function () { cleartimeout(module.timer); module.auto(); module.npos += 1; if (module.npos > (module.max - 1)) { module.npos = 0; } module.slip(); module.update(); }, update: function () { var self = this, slider = self.target; slider.find('.bullet').removeclass('active'); slider.find('.bullet').eq(self.npos).addclass('active'); }, auto: function () { var self = this; self.timer = settimeout(self.next, self.time); }, pager: function () { var nav = $(''); return nav; }, items: function (i) { var item = $('
  • ' + i + '
  • '); return item; }, init: function (config) { module.config(config); if (!module.max || module.max === 1) { return; } module.auto(); module.events(); module.early(); } }; return { init: module.init }; }(jquery));