;(function($){
var PLUGIN_NAME = "sliderManager";
var ImplementationClass = function(target, config) {
var settings = $.extend({}, $[PLUGIN_NAME].defaults, config);
var myself = this, slider = null, timeoutID = null;
$(target).data(PLUGIN_NAME, myself);
/** constructor */
function _constructor_() { $(target).on('createChildren', initSlider); $(target).on('destroyChildren', destroy); }
$.extend( myself, { moveSlide : function(f, index) { slider.stopAuto(false); slider[f](index); if(timeoutID) { clearTimeout(timeoutID); } if(settings.auto) { timeoutID = setTimeout(function(){ slider.startAuto(false); timeoutID = null; }, settings.pause); } }, havingnopoint : "" }); _constructor_();
function initSlider(event){
var bxSliderOptions = { auto: settings.auto, speed: settings.speed, pause: settings.pause, minSlides: settings.minSlides, maxSlides: settings.maxSlides, slideWidth: settings.slideWidth, slideMargin: settings.slideMargin, areaMargin: settings.areaMargin, moveSlides: 1, pager: false, controls: false };
var agent = navigator.userAgent;
if(agent.search(/iPhone/) != -1 || agent.search(/iPad/) != -1 || agent.search(/iPod/) != -1) { bxSliderOptions.useCSS = false; }
if(settings.onSlideAfter) { bxSliderOptions.onSlideAfter = settings.onSlideAfter; }
slider = $('.bxslider', $(target)).bxSlider(bxSliderOptions);
timeoutID = null;
$(".next", $(target)).on('click', function(event){ myself.moveSlide('goToNextSlide', -1); event.preventDefault(); });
$(".pre", $(target)).on('click', function(event){ myself.moveSlide('goToPrevSlide', -1); event.preventDefault(); });
if(settings.auto) { $('.bxslider a', $(target)).hover(function(event){ if(timeoutID) { clearTimeout(timeoutID); } slider.stopAuto(false); }, function(event){ slider.startAuto(false); }); }
if(settings.onInitSlide) { settings.onInitSlide(); }
}
//function destroy(event){ if (slider) { $(".next", $(target)).off(); $(".pre", $(target)).off(); $('.bxslider', $(target)).off(); if (settings.onDestroy) { settings.onDestroy(); } slider.destroySlider(); slider = null; } }
function destroy(event){ if (slider) { $(".next", $(target)).off(); $(".pre", $(target)).off(); $('.bxslider', $(target)).off(); if (settings.onDestroy) { settings.onDestroy(); } } }
};
$[PLUGIN_NAME] = { defaults : {auto: true, speed: 500, pause: 8000, minSlides: 1, maxSlides: 1, slideWidth: 0, slideMargin: 0, areaMargin: 0, onInitSlide: null, onSlideAfter: null, onDestroy: null } };
$.fn[PLUGIN_NAME] = function(config){ return this.each(function(i){ new ImplementationClass(this, config); }); };
})(jQuery);