(function($){$.fn.flexisel=function(options){var defaults=$.extend({visibleItems:4,itemsToScroll:3,animationSpeed:400,infinite:true,navigationTargetSelector:null,autoPlay:{enable:false,interval:5000,pauseOnHover:true},responsiveBreakpoints:{portrait:{changePoint:480,visibleItems:1,itemsToScroll:1},landscape:{changePoint:640,visibleItems:2,itemsToScroll:2},tablet:{changePoint:768,visibleItems:3,itemsToScroll:3}},loaded:function(){},before:function(){},after:function(){}},options);var object=$(this);var settings=$.extend(defaults,options);var itemsWidth;var canNavigate=true;var itemCount;var itemsVisible=settings.visibleItems;var itemsToScroll=settings.itemsToScroll;var responsivePoints=[];var resizeTimeout;var autoPlayInterval;var methods={init:function(){return this.each(function(){methods.appendHTML();methods.setEventHandlers();methods.initializeItems();});},initializeItems:function(){var obj=settings.responsiveBreakpoints;for(var i in obj){responsivePoints.push(obj[i]);}responsivePoints.sort(function(a,b){return a.changePoint-b.changePoint;});var childSet=object.children();itemsWidth=methods.getCurrentItemWidth();itemCount=childSet.length;childSet.width(itemsWidth);object.css({'left':-itemsWidth*(itemsVisible+1)});object.fadeIn();$(window).trigger('resize');settings.loaded.call(this,object);},appendHTML:function(){object.addClass("nbs-flexisel-ul");object.wrap("
");object.find("li").addClass("nbs-flexisel-item");if(settings.navigationTargetSelector&&$(settings.navigationTargetSelector).length>0){$("
").appendTo(settings.navigationTargetSelector);}else{settings.navigationTargetSelector=object.parent();$("
").insertAfter(object);}if(settings.infinite){var childSet=object.children();var cloneContentBefore=childSet.clone();var cloneContentAfter=childSet.clone();object.prepend(cloneContentBefore);object.append(cloneContentAfter);}},setEventHandlers:function(){var childSet=object.children();$(window).on("resize",function(event){canNavigate=false;clearTimeout(resizeTimeout);resizeTimeout=setTimeout(function(){canNavigate=true;methods.calculateDisplay();itemsWidth=methods.getCurrentItemWidth();childSet.width(itemsWidth);if(settings.infinite){object.css({'left':-itemsWidth*Math.floor(childSet.length/2)});}else{methods.clearDisabled();$(settings.navigationTargetSelector).find(".nbs-flexisel-nav-left").addClass('disabled');object.css({'left':0});}},100);});$(settings.navigationTargetSelector).find(".nbs-flexisel-nav-left").on("click",function(event){methods.scroll(true);});$(settings.navigationTargetSelector).find(".nbs-flexisel-nav-right").on("click",function(event){methods.scroll(false);});if(settings.autoPlay.enable){methods.setAutoplayInterval();if(settings.autoPlay.pauseOnHover===true){object.on({mouseenter:function(){canNavigate=false;},mouseleave:function(){canNavigate=true;}});}}object[0].addEventListener('touchstart',methods.touchHandler.handleTouchStart,false);object[0].addEventListener('touchmove',methods.touchHandler.handleTouchMove,false);},calculateDisplay:function(){var contentWidth=$('html').width();var largestCustom=responsivePoints[responsivePoints.length-1].changePoint;for(var i in responsivePoints){if(contentWidth>=largestCustom){itemsVisible=settings.visibleItems;itemsToScroll=settings.itemsToScroll;break;}else{if(contentWidth0){if(xDiff>0){methods.scroll(false);}else{methods.scroll(true);}}this.xDown=null;this.yDown=null;canNavigate=true;}},getCurrentItemWidth:function(){return(object.parent().width())/itemsVisible;},offsetItemsToBeginning:function(number){if(typeof number==='undefined'){number=1}for(var i=0;i=0){$(settings.navigationTargetSelector).find(".nbs-flexisel-nav-left").addClass('disabled');return 0;}else{return methods.getOffsetPosition()+toScroll;}},calculateNonInfiniteRightScroll:function(toScroll){methods.clearDisabled();var negativeOffsetLimit=(itemCount*itemsWidth)-(itemsVisible*itemsWidth);if(methods.getOffsetPosition()-toScroll<=-negativeOffsetLimit){$(settings.navigationTargetSelector).find(".nbs-flexisel-nav-right").addClass('disabled');return-negativeOffsetLimit;}else{return methods.getOffsetPosition()-toScroll;}},setAutoplayInterval:function(){autoPlayInterval=setInterval(function(){if(canNavigate){methods.scroll(false);}},settings.autoPlay.interval);},clearDisabled:function(){var parent=$(settings.navigationTargetSelector);parent.find(".nbs-flexisel-nav-left").removeClass('disabled');parent.find(".nbs-flexisel-nav-right").removeClass('disabled');}};if(methods[options]){return methods[options].apply(this,Array.prototype.slice.call(arguments,1));}else if(typeof options==='object'||!options){return methods.init.apply(this);}else{$.error('Method "'+method+'" does not exist in flexisel plugin!');}};})(jQuery);