/*! * SmoothScroll module */ !function(t,o){var n,i,e,s=t(window),r="onwheel"in document||document.documentMode>=9?"wheel":"mousewheel DOMMouseScroll";function a(o,s,a){var c;document.body&&(s="number"==typeof s?{duration:s}:s||{},n=n||t("html, body"),c=s.container||n,"number"==typeof o&&(o={top:o}),i&&e&&i.off(r,e),s.wheelBehavior&&"none"!==s.wheelBehavior&&(e=function(t){"stop"===s.wheelBehavior?(c.off(r,e),c.stop()):"ignore"===s.wheelBehavior&&t.preventDefault()},i=c.on(r,e)),c.stop().animate({scrollLeft:o.left,scrollTop:o.top},s.duration,function(){e&&c.off(r,e),t.isFunction(a)&&a()}))}function c(o){this.options=t.extend({anchorLinks:'a[href^="#"]',container:null,extraOffset:null,activeClasses:null,easing:"swing",animMode:"duration",animDuration:800,animSpeed:1500,anchorActiveClass:"anchor-active",sectionActiveClass:"section-active",wheelBehavior:"stop",useNativeAnchorScrolling:!1},o),this.init()}c.prototype={init:function(){this.initStructure(),this.attachEvents(),this.isInit=!0},initStructure:function(){var o=this;this.container=this.options.container?t(this.options.container):t("html,body"),this.scrollContainer=this.options.container?this.container:s,this.anchorLinks=jQuery(this.options.anchorLinks).filter(function(){return jQuery(o.getAnchorTarget(jQuery(this))).length})},getId:function(t){try{return"#"+t.replace(/^.*?(#|$)/,"")}catch(t){return null}},getAnchorTarget:function(o){var n=this.getId(t(o).attr("href"));return t(n.length>1?n:"html")},getTargetOffset:function(t){var o=t.offset().top;return this.options.container&&(o-=this.container.offset().top-this.container.prop("scrollTop")),"number"==typeof this.options.extraOffset?o-=this.options.extraOffset:"function"==typeof this.options.extraOffset&&(o-=this.options.extraOffset(t)),{top:o}},attachEvents:function(){var o=this;if(this.options.activeClasses&&this.anchorLinks.length){this.anchorData=[];for(var n=0;n=i-e?s===o.anchorData.length-1?o.toggleActiveClass(c,a.block,!0):o.toggleActiveClass(c,a.block,!1):!n&&(r>=a.offset.top-1||0===s)?(n=!0,o.toggleActiveClass(c,a.block,!0)):o.toggleActiveClass(c,a.block,!1)}))},calculateScrollDuration:function(t){return"speed"===this.options.animMode?Math.abs(this.scrollContainer.scrollTop()-t.top)/this.options.animSpeed*1e3:this.options.animDuration},onClick:function(t){var o=this.getAnchorTarget(t.currentTarget),n=this.getTargetOffset(o);t.preventDefault(),a(n,{container:this.container,wheelBehavior:this.options.wheelBehavior,duration:this.calculateScrollDuration(n)}),this.makeCallback("onBeforeScroll",t.currentTarget)},makeCallback:function(t){if("function"==typeof this.options[t]){var o=Array.prototype.slice.call(arguments);o.shift(),this.options[t].apply(this,o)}},destroy:function(){var o=this;this.isInit=!1,this.options.activeClasses&&(s.off("resize.SmoothScroll load.SmoothScroll orientationchange.SmoothScroll refreshAnchor.SmoothScroll",this.resizeHandler),this.scrollContainer.off("scroll",this.scrollHandler),t.each(this.anchorData,function(t){var n=o.anchorData.length-t-1,i=o.anchorData[n],e="parent"===o.options.activeClasses?i.link.parent():i.link;o.toggleActiveClass(e,i.block,!1)})),this.anchorLinks.off("click",this.clickHandler)}},t.extend(c,{scrollTo:function(t,o,n){a(t,o,n)}}),o.SmoothScroll=c}(jQuery,this);