/*!iScroll v5.2.0 ~ (c) 2008-2016 Matteo Spinelli ~ http://cubiq.org/license*/(function(window,document,Math){var rAF=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){window.setTimeout(callback,1000/60);};var utils=(function(){var me={};var _elementStyle=document.createElement('div').style;var _vendor=(function(){var vendors=['t','webkitT','MozT','msT','OT'],transform,i=0,l=vendors.length;for(;i0){destination=wrapperSize?wrapperSize/2.5*(speed/8):0;distance=Math.abs(current)+destination;duration=distance/speed;} return{destination:Math.round(destination),duration:duration};};var _transform=_prefixStyle('transform');me.extend(me,{hasTransform:_transform!==false,hasPerspective:_prefixStyle('perspective')in _elementStyle,hasTouch:'ontouchstart'in window,hasPointer:!!(window.PointerEvent||window.MSPointerEvent),hasTransition:_prefixStyle('transition')in _elementStyle});me.isBadAndroid=(function(){var appVersion=window.navigator.appVersion;if(/Android/.test(appVersion)&&!(/Chrome\/\d/.test(appVersion))){var safariVersion=appVersion.match(/Safari\/(\d+.\d)/);if(safariVersion&&typeof safariVersion==="object"&&safariVersion.length>=2){return parseFloat(safariVersion[1])<535.19;}else{return true;}}else{return false;}})();me.extend(me.style={},{transform:_transform,transitionTimingFunction:_prefixStyle('transitionTimingFunction'),transitionDuration:_prefixStyle('transitionDuration'),transitionDelay:_prefixStyle('transitionDelay'),transformOrigin:_prefixStyle('transformOrigin')});me.hasClass=function(e,c){var re=new RegExp("(^|\\s)"+c+"(\\s|$)");return re.test(e.className);};me.addClass=function(e,c){if(me.hasClass(e,c)){return;} var newclass=e.className.split(' ');newclass.push(c);e.className=newclass.join(' ');};me.removeClass=function(e,c){if(!me.hasClass(e,c)){return;} var re=new RegExp("(^|\\s)"+c+"(\\s|$)",'g');e.className=e.className.replace(re,' ');};me.offset=function(el){var left=-el.offsetLeft,top=-el.offsetTop;while(el=el.offsetParent){left-=el.offsetLeft;top-=el.offsetTop;} return{left:left,top:top};};me.preventDefaultException=function(el,exceptions){for(var i in exceptions){if(exceptions[i].test(el[i])){return true;}} return false;};me.extend(me.eventType={},{touchstart:1,touchmove:1,touchend:1,mousedown:2,mousemove:2,mouseup:2,pointerdown:3,pointermove:3,pointerup:3,MSPointerDown:3,MSPointerMove:3,MSPointerUp:3});me.extend(me.ease={},{quadratic:{style:'cubic-bezier(0.25, 0.46, 0.45, 0.94)',fn:function(k){return k*(2-k);}},circular:{style:'cubic-bezier(0.1, 0.57, 0.1, 1)',fn:function(k){return Math.sqrt(1-(--k*k));}},back:{style:'cubic-bezier(0.175, 0.885, 0.32, 1.275)',fn:function(k){var b=4;return(k=k-1)*k*((b+1)*k+b)+1;}},bounce:{style:'',fn:function(k){if((k/=1)<(1/2.75)){return 7.5625*k*k;}else if(k<(2/2.75)){return 7.5625*(k-=(1.5/2.75))*k+0.75;}else if(k<(2.5/2.75)){return 7.5625*(k-=(2.25/2.75))*k+0.9375;}else{return 7.5625*(k-=(2.625/2.75))*k+0.984375;}}},elastic:{style:'',fn:function(k){var f=0.22,e=0.4;if(k===0){return 0;} if(k==1){return 1;} return(e*Math.pow(2,-10*k)*Math.sin((k-f/4)*(2*Math.PI)/f)+1);}}});me.tap=function(e,eventName){var ev=document.createEvent('Event');ev.initEvent(eventName,true,true);ev.pageX=e.pageX;ev.pageY=e.pageY;e.target.dispatchEvent(ev);};me.click=function(e){var target=e.target,ev;if(!(/(SELECT|INPUT|TEXTAREA)/i).test(target.tagName)){ev=document.createEvent(window.MouseEvent?'MouseEvents':'Event');ev.initEvent('click',true,true);ev.view=e.view||window;ev.detail=1;ev.screenX=target.screenX||0;ev.screenY=target.screenY||0;ev.clientX=target.clientX||0;ev.clientY=target.clientY||0;ev.ctrlKey=!!e.ctrlKey;ev.altKey=!!e.altKey;ev.shiftKey=!!e.shiftKey;ev.metaKey=!!e.metaKey;ev.button=0;ev.relatedTarget=null;ev._constructed=true;target.dispatchEvent(ev);}};return me;})();function IScroll(el,options){this.wrapper=typeof el=='string'?document.querySelector(el):el;this.scroller=this.wrapper.children[0];this.scrollerStyle=this.scroller.style;this.options={resizeScrollbars:true,mouseWheelSpeed:20,snapThreshold:0.334,disablePointer:!utils.hasPointer,disableTouch:utils.hasPointer||!utils.hasTouch,disableMouse:utils.hasPointer||utils.hasTouch,startX:0,startY:0,scrollY:true,directionLockThreshold:5,momentum:true,bounce:true,bounceTime:600,bounceEasing:'',preventDefault:true,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT|LABEL)$/},HWCompositing:true,useTransition:true,useTransform:true,bindToWrapper:typeof window.onmousedown==="undefined"};for(var i in options){this.options[i]=options[i];} this.translateZ=this.options.HWCompositing&&utils.hasPerspective?' translateZ(0)':'';this.options.useTransition=utils.hasTransition&&this.options.useTransition;this.options.useTransform=utils.hasTransform&&this.options.useTransform;this.options.eventPassthrough=this.options.eventPassthrough===true?'vertical':this.options.eventPassthrough;this.options.preventDefault=!this.options.eventPassthrough&&this.options.preventDefault;this.options.scrollY=this.options.eventPassthrough=='vertical'?false:this.options.scrollY;this.options.scrollX=this.options.eventPassthrough=='horizontal'?false:this.options.scrollX;this.options.freeScroll=this.options.freeScroll&&!this.options.eventPassthrough;this.options.directionLockThreshold=this.options.eventPassthrough?0:this.options.directionLockThreshold;this.options.bounceEasing=typeof this.options.bounceEasing=='string'?utils.ease[this.options.bounceEasing]||utils.ease.circular:this.options.bounceEasing;this.options.resizePolling=this.options.resizePolling===undefined?60:this.options.resizePolling;if(this.options.tap===true){this.options.tap='tap';} if(!this.options.useTransition&&!this.options.useTransform){if(!(/relative|absolute/i).test(this.scrollerStyle.position)){this.scrollerStyle.position="relative";}} if(this.options.shrinkScrollbars=='scale'){this.options.useTransition=false;} this.options.invertWheelDirection=this.options.invertWheelDirection?-1:1;this.x=0;this.y=0;this.directionX=0;this.directionY=0;this._events={};this._init();this.refresh();this.scrollTo(this.options.startX,this.options.startY);this.enable();} IScroll.prototype={version:'5.2.0',_init:function(){this._initEvents();if(this.options.scrollbars||this.options.indicators){this._initIndicators();} if(this.options.mouseWheel){this._initWheel();} if(this.options.snap){this._initSnap();} if(this.options.keyBindings){this._initKeys();}},destroy:function(){this._initEvents(true);clearTimeout(this.resizeTimeout);this.resizeTimeout=null;this._execEvent('destroy');},_transitionEnd:function(e){if(e.target!=this.scroller||!this.isInTransition){return;} this._transitionTime();if(!this.resetPosition(this.options.bounceTime)){this.isInTransition=false;this._execEvent('scrollEnd');}},_start:function(e){if(utils.eventType[e.type]!=1){var button;if(!e.which){button=(e.button<2)?0:((e.button==4)?1:2);}else{button=e.button;} if(button!==0){return;}} if(!this.enabled||(this.initiated&&utils.eventType[e.type]!==this.initiated)){return;} if(this.options.preventDefault&&!utils.isBadAndroid&&!utils.preventDefaultException(e.target,this.options.preventDefaultException)){e.preventDefault();} var point=e.touches?e.touches[0]:e,pos;this.initiated=utils.eventType[e.type];this.moved=false;this.distX=0;this.distY=0;this.directionX=0;this.directionY=0;this.directionLocked=0;this.startTime=utils.getTime();if(this.options.useTransition&&this.isInTransition){this._transitionTime();this.isInTransition=false;pos=this.getComputedPosition();this._translate(Math.round(pos.x),Math.round(pos.y));this._execEvent('scrollEnd');}else if(!this.options.useTransition&&this.isAnimating){this.isAnimating=false;this._execEvent('scrollEnd');} this.startX=this.x;this.startY=this.y;this.absStartX=this.x;this.absStartY=this.y;this.pointX=point.pageX;this.pointY=point.pageY;this._execEvent('beforeScrollStart');},_move:function(e){if(!this.enabled||utils.eventType[e.type]!==this.initiated){return;} if(this.options.preventDefault){e.preventDefault();} var point=e.touches?e.touches[0]:e,deltaX=point.pageX-this.pointX,deltaY=point.pageY-this.pointY,timestamp=utils.getTime(),newX,newY,absDistX,absDistY;this.pointX=point.pageX;this.pointY=point.pageY;this.distX+=deltaX;this.distY+=deltaY;absDistX=Math.abs(this.distX);absDistY=Math.abs(this.distY);if(timestamp-this.endTime>300&&(absDistX<10&&absDistY<10)){return;} if(!this.directionLocked&&!this.options.freeScroll){if(absDistX>absDistY+this.options.directionLockThreshold){this.directionLocked='h';}else if(absDistY>=absDistX+this.options.directionLockThreshold){this.directionLocked='v';}else{this.directionLocked='n';}} if(this.directionLocked=='h'){if(this.options.eventPassthrough=='vertical'){e.preventDefault();}else if(this.options.eventPassthrough=='horizontal'){this.initiated=false;return;} deltaY=0;}else if(this.directionLocked=='v'){if(this.options.eventPassthrough=='horizontal'){e.preventDefault();}else if(this.options.eventPassthrough=='vertical'){this.initiated=false;return;} deltaX=0;} deltaX=this.hasHorizontalScroll?deltaX:0;deltaY=this.hasVerticalScroll?deltaY:0;newX=this.x+deltaX;newY=this.y+deltaY;if(newX>0||newX0?0:this.maxScrollX;} if(newY>0||newY0?0:this.maxScrollY;} this.directionX=deltaX>0?-1:deltaX<0?1:0;this.directionY=deltaY>0?-1:deltaY<0?1:0;if(!this.moved){this._execEvent('scrollStart');} this.moved=true;this._translate(newX,newY);if(timestamp-this.startTime>300){this.startTime=timestamp;this.startX=this.x;this.startY=this.y;}},_end:function(e){if(!this.enabled||utils.eventType[e.type]!==this.initiated){return;} if(this.options.preventDefault&&!utils.preventDefaultException(e.target,this.options.preventDefaultException)){e.preventDefault();} var point=e.changedTouches?e.changedTouches[0]:e,momentumX,momentumY,duration=utils.getTime()-this.startTime,newX=Math.round(this.x),newY=Math.round(this.y),distanceX=Math.abs(newX-this.startX),distanceY=Math.abs(newY-this.startY),time=0,easing='';this.isInTransition=0;this.initiated=0;this.endTime=utils.getTime();if(this.resetPosition(this.options.bounceTime)){return;} this.scrollTo(newX,newY);if(!this.moved){if(this.options.tap){utils.tap(e,this.options.tap);} if(this.options.click){utils.click(e);} this._execEvent('scrollCancel');return;} if(this._events.flick&&duration<200&&distanceX<100&&distanceY<100){this._execEvent('flick');return;} if(this.options.momentum&&duration<300){momentumX=this.hasHorizontalScroll?utils.momentum(this.x,this.startX,duration,this.maxScrollX,this.options.bounce?this.wrapperWidth:0,this.options.deceleration):{destination:newX,duration:0};momentumY=this.hasVerticalScroll?utils.momentum(this.y,this.startY,duration,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:newY,duration:0};newX=momentumX.destination;newY=momentumY.destination;time=Math.max(momentumX.duration,momentumY.duration);this.isInTransition=1;} if(this.options.snap){var snap=this._nearestSnap(newX,newY);this.currentPage=snap;time=this.options.snapSpeed||Math.max(Math.max(Math.min(Math.abs(newX-snap.x),1000),Math.min(Math.abs(newY-snap.y),1000)),300);newX=snap.x;newY=snap.y;this.directionX=0;this.directionY=0;easing=this.options.bounceEasing;} if(newX!=this.x||newY!=this.y){if(newX>0||newX0||newY0){x=0;}else if(this.x0){y=0;}else if(this.y-1){this._events[type].splice(index,1);}},_execEvent:function(type){if(!this._events[type]){return;} var i=0,l=this._events[type].length;if(!l){return;} for(;i0;var transitionType=this.options.useTransition&&easing.style;if(!time||transitionType){if(transitionType){this._transitionTimingFunction(easing.style);this._transitionTime(time);} this._translate(x,y);}else{this._animate(x,y,time,easing.fn);}},scrollToElement:function(el,time,offsetX,offsetY,easing){el=el.nodeType?el:this.scroller.querySelector(el);if(!el){return;} var pos=utils.offset(el);pos.left-=this.wrapperOffset.left;pos.top-=this.wrapperOffset.top;if(offsetX===true){offsetX=Math.round(el.offsetWidth/2-this.wrapper.offsetWidth/2);} if(offsetY===true){offsetY=Math.round(el.offsetHeight/2-this.wrapper.offsetHeight/2);} pos.left-=offsetX||0;pos.top-=offsetY||0;pos.left=pos.left>0?0:pos.left0?0:pos.top0){newX--;}else if(wheelDeltaX<0){newX++;} if(wheelDeltaY>0){newY--;}else if(wheelDeltaY<0){newY++;} this.goToPage(newX,newY);return;} newX=this.x+Math.round(this.hasHorizontalScroll?wheelDeltaX:0);newY=this.y+Math.round(this.hasVerticalScroll?wheelDeltaY:0);this.directionX=wheelDeltaX>0?-1:wheelDeltaX<0?1:0;this.directionY=wheelDeltaY>0?-1:wheelDeltaY<0?1:0;if(newX>0){newX=0;}else if(newX0){newY=0;}else if(newY-this.scrollerWidth){this.pages[i]=[];l=0;y=0;while(y>-this.scrollerHeight){this.pages[i][l]={x:Math.max(x,this.maxScrollX),y:Math.max(y,this.maxScrollY),width:stepX,height:stepY,cx:x-cx,cy:y-cy};y-=stepY;l++;} x-=stepX;i++;}}else{el=this.options.snap;l=el.length;n=-1;for(;ithis.maxScrollX){m++;}}} this.goToPage(this.currentPage.pageX||0,this.currentPage.pageY||0,0);if(this.options.snapThreshold%1===0){this.snapThresholdX=this.options.snapThreshold;this.snapThresholdY=this.options.snapThreshold;}else{this.snapThresholdX=Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width*this.options.snapThreshold);this.snapThresholdY=Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height*this.options.snapThreshold);}});this.on('flick',function(){var time=this.options.snapSpeed||Math.max(Math.max(Math.min(Math.abs(this.x-this.startX),1000),Math.min(Math.abs(this.y-this.startY),1000)),300);this.goToPage(this.currentPage.pageX+this.directionX,this.currentPage.pageY+this.directionY,time);});},_nearestSnap:function(x,y){if(!this.pages.length){return{x:0,y:0,pageX:0,pageY:0};} var i=0,l=this.pages.length,m=0;if(Math.abs(x-this.absStartX)0){x=0;}else if(x0){y=0;}else if(y=this.pages[i][0].cx){x=this.pages[i][0].x;break;}} l=this.pages[i].length;for(;m=this.pages[0][m].cy){y=this.pages[0][m].y;break;}} if(i==this.currentPage.pageX){i+=this.directionX;if(i<0){i=0;}else if(i>=this.pages.length){i=this.pages.length-1;} x=this.pages[i][0].x;} if(m==this.currentPage.pageY){m+=this.directionY;if(m<0){m=0;}else if(m>=this.pages[0].length){m=this.pages[0].length-1;} y=this.pages[0][m].y;} return{x:x,y:y,pageX:i,pageY:m};},goToPage:function(x,y,time,easing){easing=easing||this.options.bounceEasing;if(x>=this.pages.length){x=this.pages.length-1;}else if(x<0){x=0;} if(y>=this.pages[x].length){y=this.pages[x].length-1;}else if(y<0){y=0;} var posX=this.pages[x][y].x,posY=this.pages[x][y].y;time=time===undefined?this.options.snapSpeed||Math.max(Math.max(Math.min(Math.abs(posX-this.x),1000),Math.min(Math.abs(posY-this.y),1000)),300):time;this.currentPage={x:posX,y:posY,pageX:x,pageY:y};this.scrollTo(posX,posY,time,easing);},next:function(time,easing){var x=this.currentPage.pageX,y=this.currentPage.pageY;x++;if(x>=this.pages.length&&this.hasVerticalScroll){x=0;y++;} this.goToPage(x,y,time,easing);},prev:function(time,easing){var x=this.currentPage.pageX,y=this.currentPage.pageY;x--;if(x<0&&this.hasVerticalScroll){x=0;y--;} this.goToPage(x,y,time,easing);},_initKeys:function(e){var keys={pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40};var i;if(typeof this.options.keyBindings=='object'){for(i in this.options.keyBindings){if(typeof this.options.keyBindings[i]=='string'){this.options.keyBindings[i]=this.options.keyBindings[i].toUpperCase().charCodeAt(0);}}}else{this.options.keyBindings={};} for(i in keys){this.options.keyBindings[i]=this.options.keyBindings[i]||keys[i];} utils.addEvent(window,'keydown',this);this.on('destroy',function(){utils.removeEvent(window,'keydown',this);});},_key:function(e){if(!this.enabled){return;} var snap=this.options.snap,newX=snap?this.currentPage.pageX:this.x,newY=snap?this.currentPage.pageY:this.y,now=utils.getTime(),prevTime=this.keyTime||0,acceleration=0.250,pos;if(this.options.useTransition&&this.isInTransition){pos=this.getComputedPosition();this._translate(Math.round(pos.x),Math.round(pos.y));this.isInTransition=false;} this.keyAcceleration=now-prevTime<200?Math.min(this.keyAcceleration+acceleration,50):0;switch(e.keyCode){case this.options.keyBindings.pageUp:if(this.hasHorizontalScroll&&!this.hasVerticalScroll){newX+=snap?1:this.wrapperWidth;}else{newY+=snap?1:this.wrapperHeight;} break;case this.options.keyBindings.pageDown:if(this.hasHorizontalScroll&&!this.hasVerticalScroll){newX-=snap?1:this.wrapperWidth;}else{newY-=snap?1:this.wrapperHeight;} break;case this.options.keyBindings.end:newX=snap?this.pages.length-1:this.maxScrollX;newY=snap?this.pages[0].length-1:this.maxScrollY;break;case this.options.keyBindings.home:newX=0;newY=0;break;case this.options.keyBindings.left:newX+=snap?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.up:newY+=snap?1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.right:newX-=snap?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.down:newY-=snap?1:5+this.keyAcceleration>>0;break;default:return;} if(snap){this.goToPage(newX,newY);return;} if(newX>0){newX=0;this.keyAcceleration=0;}else if(newX0){newY=0;this.keyAcceleration=0;}else if(newY=destTime){that.isAnimating=false;that._translate(destX,destY);if(!that.resetPosition(that.options.bounceTime)){that._execEvent('scrollEnd');} return;} now=(now-startTime)/duration;easing=easingFn(now);newX=(destX-startX)*easing+startX;newY=(destY-startY)*easing+startY;that._translate(newX,newY);if(that.isAnimating){rAF(step);}} this.isAnimating=true;step();},handleEvent:function(e){switch(e.type){case 'touchstart':case 'pointerdown':case 'MSPointerDown':case 'mousedown':this._start(e);break;case 'touchmove':case 'pointermove':case 'MSPointerMove':case 'mousemove':this._move(e);break;case 'touchend':case 'pointerup':case 'MSPointerUp':case 'mouseup':case 'touchcancel':case 'pointercancel':case 'MSPointerCancel':case 'mousecancel':this._end(e);break;case 'orientationchange':case 'resize':this._resize();break;case 'transitionend':case 'webkitTransitionEnd':case 'oTransitionEnd':case 'MSTransitionEnd':this._transitionEnd(e);break;case 'wheel':case 'DOMMouseScroll':case 'mousewheel':this._wheel(e);break;case 'keydown':this._key(e);break;case 'click':if(this.enabled&&!e._constructed){e.preventDefault();e.stopPropagation();} break;}}};function createDefaultScrollbar(direction,interactive,type){var scrollbar=document.createElement('div'),indicator=document.createElement('div');if(type===true){scrollbar.style.cssText='position:absolute;z-index:9999';indicator.style.cssText='-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px';} indicator.className='iScrollIndicator';if(direction=='h'){if(type===true){scrollbar.style.cssText+=';height:7px;left:2px;right:2px;bottom:0';indicator.style.height='100%';} scrollbar.className='iScrollHorizontalScrollbar';}else{if(type===true){scrollbar.style.cssText+=';width:7px;bottom:2px;top:2px;right:1px';indicator.style.width='100%';} scrollbar.className='iScrollVerticalScrollbar';} scrollbar.style.cssText+=';overflow:hidden';if(!interactive){scrollbar.style.pointerEvents='none';} scrollbar.appendChild(indicator);return scrollbar;} function Indicator(scroller,options){this.wrapper=typeof options.el=='string'?document.querySelector(options.el):options.el;this.wrapperStyle=this.wrapper.style;this.indicator=this.wrapper.children[0];this.indicatorStyle=this.indicator.style;this.scroller=scroller;this.options={listenX:true,listenY:true,interactive:false,resize:true,defaultScrollbars:false,shrink:false,fade:false,speedRatioX:0,speedRatioY:0};for(var i in options){this.options[i]=options[i];} this.sizeRatioX=1;this.sizeRatioY=1;this.maxPosX=0;this.maxPosY=0;if(this.options.interactive){if(!this.options.disableTouch){utils.addEvent(this.indicator,'touchstart',this);utils.addEvent(window,'touchend',this);} if(!this.options.disablePointer){utils.addEvent(this.indicator,utils.prefixPointerEvent('pointerdown'),this);utils.addEvent(window,utils.prefixPointerEvent('pointerup'),this);} if(!this.options.disableMouse){utils.addEvent(this.indicator,'mousedown',this);utils.addEvent(window,'mouseup',this);}} if(this.options.fade){this.wrapperStyle[utils.style.transform]=this.scroller.translateZ;var durationProp=utils.style.transitionDuration;if(!durationProp){return;} this.wrapperStyle[durationProp]=utils.isBadAndroid?'0.0001ms':'0ms';var self=this;if(utils.isBadAndroid){rAF(function(){if(self.wrapperStyle[durationProp]==='0.0001ms'){self.wrapperStyle[durationProp]='0s';}});} this.wrapperStyle.opacity='0';}} Indicator.prototype={handleEvent:function(e){switch(e.type){case 'touchstart':case 'pointerdown':case 'MSPointerDown':case 'mousedown':this._start(e);break;case 'touchmove':case 'pointermove':case 'MSPointerMove':case 'mousemove':this._move(e);break;case 'touchend':case 'pointerup':case 'MSPointerUp':case 'mouseup':case 'touchcancel':case 'pointercancel':case 'MSPointerCancel':case 'mousecancel':this._end(e);break;}},destroy:function(){if(this.options.fadeScrollbars){clearTimeout(this.fadeTimeout);this.fadeTimeout=null;} if(this.options.interactive){utils.removeEvent(this.indicator,'touchstart',this);utils.removeEvent(this.indicator,utils.prefixPointerEvent('pointerdown'),this);utils.removeEvent(this.indicator,'mousedown',this);utils.removeEvent(window,'touchmove',this);utils.removeEvent(window,utils.prefixPointerEvent('pointermove'),this);utils.removeEvent(window,'mousemove',this);utils.removeEvent(window,'touchend',this);utils.removeEvent(window,utils.prefixPointerEvent('pointerup'),this);utils.removeEvent(window,'mouseup',this);} if(this.options.defaultScrollbars){this.wrapper.parentNode.removeChild(this.wrapper);}},_start:function(e){var point=e.touches?e.touches[0]:e;e.preventDefault();e.stopPropagation();this.transitionTime();this.initiated=true;this.moved=false;this.lastPointX=point.pageX;this.lastPointY=point.pageY;this.startTime=utils.getTime();if(!this.options.disableTouch){utils.addEvent(window,'touchmove',this);} if(!this.options.disablePointer){utils.addEvent(window,utils.prefixPointerEvent('pointermove'),this);} if(!this.options.disableMouse){utils.addEvent(window,'mousemove',this);} this.scroller._execEvent('beforeScrollStart');},_move:function(e){var point=e.touches?e.touches[0]:e,deltaX,deltaY,newX,newY,timestamp=utils.getTime();if(!this.moved){this.scroller._execEvent('scrollStart');} this.moved=true;deltaX=point.pageX-this.lastPointX;this.lastPointX=point.pageX;deltaY=point.pageY-this.lastPointY;this.lastPointY=point.pageY;newX=this.x+deltaX;newY=this.y+deltaY;this._pos(newX,newY);e.preventDefault();e.stopPropagation();},_end:function(e){if(!this.initiated){return;} this.initiated=false;e.preventDefault();e.stopPropagation();utils.removeEvent(window,'touchmove',this);utils.removeEvent(window,utils.prefixPointerEvent('pointermove'),this);utils.removeEvent(window,'mousemove',this);if(this.scroller.options.snap){var snap=this.scroller._nearestSnap(this.scroller.x,this.scroller.y);var time=this.options.snapSpeed||Math.max(Math.max(Math.min(Math.abs(this.scroller.x-snap.x),1000),Math.min(Math.abs(this.scroller.y-snap.y),1000)),300);if(this.scroller.x!=snap.x||this.scroller.y!=snap.y){this.scroller.directionX=0;this.scroller.directionY=0;this.scroller.currentPage=snap;this.scroller.scrollTo(snap.x,snap.y,time,this.scroller.options.bounceEasing);}} if(this.moved){this.scroller._execEvent('scrollEnd');}},transitionTime:function(time){time=time||0;var durationProp=utils.style.transitionDuration;if(!durationProp){return;} this.indicatorStyle[durationProp]=time+'ms';if(!time&&utils.isBadAndroid){this.indicatorStyle[durationProp]='0.0001ms';var self=this;rAF(function(){if(self.indicatorStyle[durationProp]==='0.0001ms'){self.indicatorStyle[durationProp]='0s';}});}},transitionTimingFunction:function(easing){this.indicatorStyle[utils.style.transitionTimingFunction]=easing;},refresh:function(){this.transitionTime();if(this.options.listenX&&!this.options.listenY){this.indicatorStyle.display=this.scroller.hasHorizontalScroll?'block':'none';}else if(this.options.listenY&&!this.options.listenX){this.indicatorStyle.display=this.scroller.hasVerticalScroll?'block':'none';}else{this.indicatorStyle.display=this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?'block':'none';} if(this.scroller.hasHorizontalScroll&&this.scroller.hasVerticalScroll){utils.addClass(this.wrapper,'iScrollBothScrollbars');utils.removeClass(this.wrapper,'iScrollLoneScrollbar');if(this.options.defaultScrollbars&&this.options.customStyle){if(this.options.listenX){this.wrapper.style.right='8px';}else{this.wrapper.style.bottom='8px';}}}else{utils.removeClass(this.wrapper,'iScrollBothScrollbars');utils.addClass(this.wrapper,'iScrollLoneScrollbar');if(this.options.defaultScrollbars&&this.options.customStyle){if(this.options.listenX){this.wrapper.style.right='2px';}else{this.wrapper.style.bottom='2px';}}} var r=this.wrapper.offsetHeight;if(this.options.listenX){this.wrapperWidth=this.wrapper.clientWidth;if(this.options.resize){this.indicatorWidth=Math.max(Math.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8);this.indicatorStyle.width=this.indicatorWidth+'px';}else{this.indicatorWidth=this.indicator.clientWidth;} this.maxPosX=this.wrapperWidth-this.indicatorWidth;if(this.options.shrink=='clip'){this.minBoundaryX=-this.indicatorWidth+8;this.maxBoundaryX=this.wrapperWidth-8;}else{this.minBoundaryX=0;this.maxBoundaryX=this.maxPosX;} this.sizeRatioX=this.options.speedRatioX||(this.scroller.maxScrollX&&(this.maxPosX/this.scroller.maxScrollX));} if(this.options.listenY){this.wrapperHeight=this.wrapper.clientHeight;if(this.options.resize){this.indicatorHeight=Math.max(Math.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8);this.indicatorStyle.height=this.indicatorHeight+'px';}else{this.indicatorHeight=this.indicator.clientHeight;} this.maxPosY=this.wrapperHeight-this.indicatorHeight;if(this.options.shrink=='clip'){this.minBoundaryY=-this.indicatorHeight+8;this.maxBoundaryY=this.wrapperHeight-8;}else{this.minBoundaryY=0;this.maxBoundaryY=this.maxPosY;} this.maxPosY=this.wrapperHeight-this.indicatorHeight;this.sizeRatioY=this.options.speedRatioY||(this.scroller.maxScrollY&&(this.maxPosY/this.scroller.maxScrollY));} this.updatePosition();},updatePosition:function(){var x=this.options.listenX&&Math.round(this.sizeRatioX*this.scroller.x)||0,y=this.options.listenY&&Math.round(this.sizeRatioY*this.scroller.y)||0;if(!this.options.ignoreBoundaries){if(xthis.maxBoundaryX){if(this.options.shrink=='scale'){this.width=Math.max(this.indicatorWidth-(x-this.maxPosX),8);this.indicatorStyle.width=this.width+'px';x=this.maxPosX+this.indicatorWidth-this.width;}else{x=this.maxBoundaryX;}}else if(this.options.shrink=='scale'&&this.width!=this.indicatorWidth){this.width=this.indicatorWidth;this.indicatorStyle.width=this.width+'px';} if(ythis.maxBoundaryY){if(this.options.shrink=='scale'){this.height=Math.max(this.indicatorHeight-(y-this.maxPosY)*3,8);this.indicatorStyle.height=this.height+'px';y=this.maxPosY+this.indicatorHeight-this.height;}else{y=this.maxBoundaryY;}}else if(this.options.shrink=='scale'&&this.height!=this.indicatorHeight){this.height=this.indicatorHeight;this.indicatorStyle.height=this.height+'px';}} this.x=x;this.y=y;if(this.scroller.options.useTransform){this.indicatorStyle[utils.style.transform]='translate('+x+'px,'+y+'px)'+this.scroller.translateZ;}else{this.indicatorStyle.left=x+'px';this.indicatorStyle.top=y+'px';}},_pos:function(x,y){if(x<0){x=0;}else if(x>this.maxPosX){x=this.maxPosX;} if(y<0){y=0;}else if(y>this.maxPosY){y=this.maxPosY;} x=this.options.listenX?Math.round(x/this.sizeRatioX):this.scroller.x;y=this.options.listenY?Math.round(y/this.sizeRatioY):this.scroller.y;this.scroller.scrollTo(x,y);},fade:function(val,hold){if(hold&&!this.visible){return;} clearTimeout(this.fadeTimeout);this.fadeTimeout=null;var time=val?250:500,delay=val?0:300;val=val?'1':'0';this.wrapperStyle[utils.style.transitionDuration]=time+'ms';this.fadeTimeout=setTimeout((function(val){this.wrapperStyle.opacity=val;this.visible=+val;}).bind(this,val),delay);}};IScroll.utils=utils;if(typeof module!='undefined'&&module.exports){module.exports=IScroll;}else if(typeof define=='function'&&define.amd){define(function(){return IScroll;});}else{window.IScroll=IScroll;}})(window,document,Math);/*! * Scrolloverflow 2.0.0 module for fullPage.js >= 3 * https://github.com/alvarotrigo/fullPage.js * @license MIT licensed * * Copyright (C) 2015 alvarotrigo.com - A project by Alvaro Trigo */(function(window,document){window.fp_scrolloverflow=(function(){var SCROLLABLE='fp-scrollable';var SCROLLABLE_SEL='.'+SCROLLABLE;var ACTIVE='active';var ACTIVE_SEL='.'+ACTIVE;var SECTION='fp-section';var SECTION_SEL='.'+SECTION;var SECTION_ACTIVE_SEL=SECTION_SEL+ACTIVE_SEL;var SLIDE='fp-slide';var SLIDE_SEL='.'+SLIDE;var SLIDE_ACTIVE_SEL=SLIDE_SEL+ACTIVE_SEL;var SLIDES_WRAPPER='fp-slides';var SLIDES_WRAPPER_SEL='.'+SLIDES_WRAPPER;var TABLE_CELL='fp-tableCell';var TABLE_CELL_SEL='.'+TABLE_CELL;var RESPONSIVE='fp-responsive';var AUTO_HEIGHT_RESPONSIVE='fp-auto-height-responsive';IScroll.prototype.wheelOn=function(){this.wrapper.addEventListener('wheel',this);this.wrapper.addEventListener('mousewheel',this);this.wrapper.addEventListener('DOMMouseScroll',this);};IScroll.prototype.wheelOff=function(){this.wrapper.removeEventListener('wheel',this);this.wrapper.removeEventListener('mousewheel',this);this.wrapper.removeEventListener('DOMMouseScroll',this);};function getPaddings(element){var section=fp_utils.closest(element,SECTION_SEL);if(section!=null){return parseInt(getComputedStyle(section)['padding-bottom'])+parseInt(getComputedStyle(section)['padding-top']);} return 0;} function scrollBarHandler(){var self=this;self.options=null;self.init=function(options,iscrollOptions){self.options=options;self.iscrollOptions=iscrollOptions;if(document.readyState==='complete'){createScrollBarForAll();fullpage_api.shared.afterRenderActions();} window.addEventListener('load',function(){createScrollBarForAll();fullpage_api.shared.afterRenderActions();});return self;};function createScrollBarForAll(){if(fp_utils.hasClass(document.body,RESPONSIVE)){removeResponsiveScrollOverflows();} else{forEachSectionAndSlide(createScrollBar);}} function createScrollBar(element){if(fp_utils.hasClass(element,'fp-noscroll'))return;fp_utils.css(element,{'overflow':'hidden'});var scrollOverflowHandler=self.options.scrollOverflowHandler;var wrap=scrollOverflowHandler.wrapContent();var section=fp_utils.closest(element,SECTION_SEL);var scrollable=scrollOverflowHandler.scrollable(element);var contentHeight;var paddings=getPaddings(section);if(scrollable!=null){contentHeight=scrollOverflowHandler.scrollHeight(element);} else{contentHeight=element.scrollHeight-paddings;if(self.options.verticalCentered){contentHeight=$(TABLE_CELL_SEL,element)[0].scrollHeight-paddings;}} var scrollHeight=fp_utils.getWindowHeight()-paddings;if(contentHeight>scrollHeight){if(scrollable!=null){scrollOverflowHandler.update(element,scrollHeight);} else{if(self.options.verticalCentered){fp_utils.wrapInner($(TABLE_CELL_SEL,element)[0],wrap.scroller);fp_utils.wrapInner($(TABLE_CELL_SEL,element)[0],wrap.scrollable);}else{fp_utils.wrapInner(element,wrap.scroller);fp_utils.wrapInner(element,wrap.scrollable);} scrollOverflowHandler.create(element,scrollHeight,self.iscrollOptions);}} else{scrollOverflowHandler.remove(element);} fp_utils.css(element,{'overflow':''});} function forEachSectionAndSlide(callback){$(SECTION_SEL).forEach(function(section){var slides=$(SLIDE_SEL,section);if(slides.length){slides.forEach(function(slide){callback(slide);});}else{callback(section);}});} function removeResponsiveScrollOverflows(){var scrollOverflowHandler=self.options.scrollOverflowHandler;forEachSectionAndSlide(function(element){if(fp_utils.hasClass(fp_utils.closest(element,SECTION_SEL),AUTO_HEIGHT_RESPONSIVE)){scrollOverflowHandler.remove(element);}});} self.createScrollBarForAll=createScrollBarForAll;} var $=null;var iscrollHandler={refreshId:null,iScrollInstances:[],iscrollOptions:{scrollbars:true,mouseWheel:true,hideScrollbars:false,fadeScrollbars:false,disableMouse:true,interactiveScrollbars:true},init:function(options){$=fp_utils.$;var isTouch=(('ontouchstart'in window)||(navigator.msMaxTouchPoints>0)||(navigator.maxTouchPoints));iscrollHandler.iscrollOptions.click=isTouch;iscrollHandler.iscrollOptions=fp_utils.deepExtend(iscrollHandler.iscrollOptions,options.scrollOverflowOptions);return new scrollBarHandler().init(options,iscrollHandler.iscrollOptions);},toggleWheel:function(value){var scrollable=$(SCROLLABLE_SEL,$(SECTION_ACTIVE_SEL)[0]);scrollable.forEach(function(item){var iScrollInstance=item.fp_iscrollInstance;if(iScrollInstance!=null){if(value){iScrollInstance.wheelOn();} else{iScrollInstance.wheelOff();}}});},onLeave:function(){iscrollHandler.toggleWheel(false);},beforeLeave:function(){iscrollHandler.onLeave()},afterLoad:function(){iscrollHandler.toggleWheel(true);},create:function(element,scrollHeight,iscrollOptions){var scrollable=$(SCROLLABLE_SEL,element);scrollable.forEach(function(item){fp_utils.css(item,{'height':scrollHeight+'px'});var iScrollInstance=item.fp_iscrollInstance;if(iScrollInstance!=null){iscrollHandler.iScrollInstances.forEach(function(instance){instance.destroy();});} iScrollInstance=new IScroll(item,iscrollOptions);iscrollHandler.iScrollInstances.push(iScrollInstance);if(!fp_utils.hasClass(fp_utils.closest(element,SECTION_SEL),ACTIVE)){iScrollInstance.wheelOff();} item.fp_iscrollInstance=iScrollInstance;});},isScrolled:function(type,scrollable){var scroller=scrollable.fp_iscrollInstance;if(!scroller){return true;} if(type==='top'){return scroller.y>=0&&!fp_utils.getScrollTop(scrollable);}else if(type==='bottom'){return(0-scroller.y)+fp_utils.getScrollTop(scrollable)+1+scrollable.offsetHeight>=scrollable.scrollHeight;}},scrollable:function(activeSection){if($(SLIDES_WRAPPER_SEL,activeSection).length){return $(SCROLLABLE_SEL,$(SLIDE_ACTIVE_SEL,activeSection)[0])[0];} return $(SCROLLABLE_SEL,activeSection)[0];},scrollHeight:function(element){return $('.fp-scroller',$(SCROLLABLE_SEL,element)[0])[0].scrollHeight;},remove:function(element){if(element==null)return;var scrollable=$(SCROLLABLE_SEL,element)[0];if(scrollable!=null){var iScrollInstance=scrollable.fp_iscrollInstance;if(iScrollInstance!=null){iScrollInstance.destroy();} scrollable.fp_iscrollInstance=null;$('.fp-scroller',element)[0].outerHTML=$('.fp-scroller',element)[0].innerHTML;$(SCROLLABLE_SEL,element)[0].outerHTML=$(SCROLLABLE_SEL,element)[0].innerHTML;}},update:function(element,scrollHeight){clearTimeout(iscrollHandler.refreshId);iscrollHandler.refreshId=setTimeout(function(){iscrollHandler.iScrollInstances.forEach(function(instance){instance.refresh();fullpage_api.silentMoveTo(fp_utils.index($(SECTION_ACTIVE_SEL)[0])+1);});},150);fp_utils.css($(SCROLLABLE_SEL,element)[0],{'height':scrollHeight+'px'});fp_utils.css($(SCROLLABLE_SEL,element)[0].parentNode,{'height':scrollHeight+getPaddings(element)+'px'});},wrapContent:function(){var scrollable=document.createElement('div');scrollable.className=SCROLLABLE;var scroller=document.createElement('div');scroller.className='fp-scroller';return{scrollable:scrollable,scroller:scroller};}};return{iscrollHandler:iscrollHandler};})();})(window,document);