(function(e,t){function A(e){if(i==="")return e;e=e.charAt(0).toUpperCase()+e.substr(1);return i+e}var n=Math,r=t.createElement("div").style,i=function(){var e="t,webkitT,MozT,msT,OT".split(","),t,n=0,i=e.length;for(;nr[e+"ScrollbarMaxScroll"]){if(!r.options.fixedScrollbar){s=r[e+"ScrollbarIndicatorSize"]-n.round((i-r[e+"ScrollbarMaxScroll"])*3);if(s<8)s=8;r[e+"ScrollbarIndicator"].style[e=="h"?"width":"height"]=s+"px";i=r[e+"ScrollbarMaxScroll"]+(r[e+"ScrollbarIndicatorSize"]-s)}else{i=r[e+"ScrollbarMaxScroll"]}}r[e+"ScrollbarWrapper"].style[c]="0";r[e+"ScrollbarWrapper"].style.opacity=t&&r.options.hideScrollbar?"0":"1";r[e+"ScrollbarIndicator"].style[o]="translate("+(e=="h"?i+"px,0)":"0,"+i+"px)")+k},_start:function(t){var r=this,i=m?t.touches[0]:t,s,u,a,f,l;if(!r.enabled)return;if(r.options.onBeforeScrollStart)r.options.onBeforeScrollStart.call(r,t);if(r.options.useTransition||r.options.zoom)r._transitionTime(0);r.moved=false;r.animating=false;r.zoomed=false;r.distX=0;r.distY=0;r.absDistX=0;r.absDistY=0;r.dirX=0;r.dirY=0;if(r.options.zoom&&m&&t.touches.length>1){f=n.abs(t.touches[0].pageX-t.touches[1].pageX);l=n.abs(t.touches[0].pageY-t.touches[1].pageY);r.touchesDistStart=n.sqrt(f*f+l*l);r.originX=n.abs(t.touches[0].pageX+t.touches[1].pageX-r.wrapperOffsetLeft*2)/2-r.x;r.originY=n.abs(t.touches[0].pageY+t.touches[1].pageY-r.wrapperOffsetTop*2)/2-r.y;if(r.options.onZoomStart)r.options.onZoomStart.call(r,t)}if(r.options.momentum){if(r.options.useTransform){s=getComputedStyle(r.scroller,null)[o].replace(/[^0-9\-.,]/g,"").split(",");u=+(s[12]||s[4]);a=+(s[13]||s[5])}else{u=+getComputedStyle(r.scroller,null).left.replace(/[^0-9-]/g,"");a=+getComputedStyle(r.scroller,null).top.replace(/[^0-9-]/g,"")}if(u!=r.x||a!=r.y){if(r.options.useTransition)r._unbind(T);else C(r.aniTime);r.steps=[];r._pos(u,a);if(r.options.onScrollEnd)r.options.onScrollEnd.call(r)}}r.absStartX=r.x;r.absStartY=r.y;r.startX=r.x;r.startY=r.y;r.pointX=i.pageX;r.pointY=i.pageY;r.startTime=t.timeStamp||Date.now();if(r.options.onScrollStart)r.options.onScrollStart.call(r,t);r._bind(E,e);r._bind(S,e);r._bind(x,e)},_move:function(e){var t=this,r=m?e.touches[0]:e,i=r.pageX-t.pointX,s=r.pageY-t.pointY,u=t.x+i,a=t.y+s,f,l,c,h=e.timeStamp||Date.now();if(t.options.onBeforeScrollMove)t.options.onBeforeScrollMove.call(t,e);if(t.options.zoom&&m&&e.touches.length>1){f=n.abs(e.touches[0].pageX-e.touches[1].pageX);l=n.abs(e.touches[0].pageY-e.touches[1].pageY);t.touchesDist=n.sqrt(f*f+l*l);t.zoomed=true;c=1/t.touchesDistStart*t.touchesDist*this.scale;if(ct.options.zoomMax)c=2*t.options.zoomMax*Math.pow(.5,t.options.zoomMax/c);t.lastScale=c/this.scale;u=this.originX-this.originX*t.lastScale+this.x;a=this.originY-this.originY*t.lastScale+this.y;this.scroller.style[o]="translate("+u+"px,"+a+"px) scale("+c+")"+k;if(t.options.onZoom)t.options.onZoom.call(t,e);return}t.pointX=r.pageX;t.pointY=r.pageY;if(u>0||u=0||t.maxScrollX>=0?0:t.maxScrollX}if(a>t.minScrollY||a=t.minScrollY||t.maxScrollY>=0?t.minScrollY:t.maxScrollY}t.distX+=i;t.distY+=s;t.absDistX=n.abs(t.distX);t.absDistY=n.abs(t.distY);if(t.absDistX<6&&t.absDistY<6){return}if(t.options.lockDirection){if(t.absDistX>t.absDistY+5){a=t.y;s=0}else if(t.absDistY>t.absDistX+5){u=t.x;i=0}}t.moved=true;t._pos(u,a);t.dirX=i>0?-1:i<0?1:0;t.dirY=s>0?-1:s<0?1:0;if(h-t.startTime>300){t.startTime=h;t.startX=t.x;t.startY=t.y}if(t.options.onScrollMove)t.options.onScrollMove.call(t,e)},_end:function(r){if(m&&r.touches.length!==0)return;var i=this,s=m?r.changedTouches[0]:r,u,f,l={dist:0,time:0},c={dist:0,time:0},h=(r.timeStamp||Date.now())-i.startTime,p=i.x,d=i.y,v,g,y,b,w;i._unbind(E,e);i._unbind(S,e);i._unbind(x,e);if(i.options.onBeforeScrollEnd)i.options.onBeforeScrollEnd.call(i,r);if(i.zoomed){w=i.scale*i.lastScale;w=Math.max(i.options.zoomMin,w);w=Math.min(i.options.zoomMax,w);i.lastScale=w/i.scale;i.scale=w;i.x=i.originX-i.originX*i.lastScale+i.x;i.y=i.originY-i.originY*i.lastScale+i.y;i.scroller.style[a]="200ms";i.scroller.style[o]="translate("+i.x+"px,"+i.y+"px) scale("+i.scale+")"+k;i.zoomed=false;i.refresh();if(i.options.onZoomEnd)i.options.onZoomEnd.call(i,r);return}if(!i.moved){if(m){if(i.doubleTapTimer&&i.options.zoom){clearTimeout(i.doubleTapTimer);i.doubleTapTimer=null;if(i.options.onZoomStart)i.options.onZoomStart.call(i,r);i.zoom(i.pointX,i.pointY,i.scale==1?i.options.doubleTapZoom:1);if(i.options.onZoomEnd){setTimeout(function(){i.options.onZoomEnd.call(i,r)},200)}}else if(this.options.handleClick){i.doubleTapTimer=setTimeout(function(){i.doubleTapTimer=null;u=s.target;while(u.nodeType!=1)u=u.parentNode;if(u.tagName!="SELECT"&&u.tagName!="INPUT"&&u.tagName!="TEXTAREA"){f=t.createEvent("MouseEvents");f.initMouseEvent("click",true,true,r.view,1,s.screenX,s.screenY,s.clientX,s.clientY,r.ctrlKey,r.altKey,r.shiftKey,r.metaKey,0,null);f._fake=true;u.dispatchEvent(f)}},i.options.zoom?250:0)}}i._resetPos(400);if(i.options.onTouchEnd)i.options.onTouchEnd.call(i,r);return}if(h<300&&i.options.momentum){l=p?i._momentum(p-i.startX,h,-i.x,i.scrollerW-i.wrapperW+i.x,i.options.bounce?i.wrapperW:0):l;c=d?i._momentum(d-i.startY,h,-i.y,i.maxScrollY<0?i.scrollerH-i.wrapperH+i.y-i.minScrollY:0,i.options.bounce?i.wrapperH:0):c;p=i.x+l.dist;d=i.y+c.dist;if(i.x>0&&p>0||i.xi.minScrollY&&d>i.minScrollY||i.y=0?0:t.x=t.minScrollY||t.maxScrollY>0?t.minScrollY:t.yt.options.zoomMax)o=t.options.zoomMax;if(o!=t.scale){if(!t.wheelZoomCount&&t.options.onZoomStart)t.options.onZoomStart.call(t,e);t.wheelZoomCount++;t.zoom(e.pageX,e.pageY,o,400);setTimeout(function(){t.wheelZoomCount--;if(!t.wheelZoomCount&&t.options.onZoomEnd)t.options.onZoomEnd.call(t,e)},400)}return}i=t.x+n;s=t.y+r;if(i>0)i=0;else if(it.minScrollY)s=t.minScrollY;else if(s=i+s.time){e._pos(s.x,s.y);e.animating=false;if(e.options.onAnimationEnd)e.options.onAnimationEnd.call(e);e._startAni();return}a=(a-i)/s.time-1;o=n.sqrt(1-a*a);f=(s.x-t)*o+t;l=(s.y-r)*o+r;e._pos(f,l);if(e.animating)e.aniTime=N(u)};u()},_transitionTime:function(e){e+="ms";this.scroller.style[a]=e;if(this.hScrollbar)this.hScrollbarIndicator.style[a]=e;if(this.vScrollbar)this.vScrollbarIndicator.style[a]=e},_momentum:function(e,t,r,i,s){var o=6e-4,u=n.abs(e)/t,a=u*u/(2*o),f=0,l=0;if(e>0&&a>r){l=s/(6/(a/u*o));r=r+l;u=u*r/a;a=r}else if(e<0&&a>i){l=s/(6/(a/u*o));i=i+l;u=u*i/a;a=i}a=a*(e<0?-1:1);f=u/o;return{dist:a,time:n.round(f)}},_offset:function(e){var t=-e.offsetLeft,n=-e.offsetTop;while(e=e.offsetParent){t-=e.offsetLeft;n-=e.offsetTop}if(e!=this.wrapper){t*=this.scale;n*=this.scale}return{left:t,top:n}},_snap:function(e,t){var r=this,i,s,o,u,a,f;o=r.pagesX.length-1;for(i=0,s=r.pagesX.length;i=r.pagesX[i]){o=i;break}}if(o==r.currPageX&&o>0&&r.dirX<0)o--;e=r.pagesX[o];a=n.abs(e-r.pagesX[r.currPageX]);a=a?n.abs(r.x-e)/a*500:0;r.currPageX=o;o=r.pagesY.length-1;for(i=0;i=r.pagesY[i]){o=i;break}}if(o==r.currPageY&&o>0&&r.dirY<0)o--;t=r.pagesY[o];f=n.abs(t-r.pagesY[r.currPageY]);f=f?n.abs(r.y-t)/f*500:0;r.currPageY=o;u=n.round(n.max(a,f))||200;return{x:e,y:t,time:u}},_bind:function(e,t,n){(t||this.scroller).addEventListener(e,this,!!n)},_unbind:function(e,t,n){(t||this.scroller).removeEventListener(e,this,!!n)},destroy:function(){var t=this;t.scroller.style[o]="";t.hScrollbar=false;t.vScrollbar=false;t._scrollbar("h");t._scrollbar("v");t._unbind(b,e);t._unbind(w);t._unbind(E,e);t._unbind(S,e);t._unbind(x,e);if(!t.options.hasTouch){t._unbind("DOMMouseScroll");t._unbind("mousewheel")}if(t.options.useTransition)t._unbind(T);if(t.options.checkDOMChanges)clearInterval(t.checkDOMTime);if(t.options.onDestroy)t.options.onDestroy.call(t)},refresh:function(){var e=this,t,r,i,s,o=0,u=0;if(e.scalee.wrapperH);e.hScrollbar=e.hScroll&&e.options.hScrollbar;e.vScrollbar=e.vScroll&&e.options.vScrollbar&&e.scrollerH>e.wrapperH;t=e._offset(e.wrapper);e.wrapperOffsetLeft=-t.left;e.wrapperOffsetTop=-t.top;if(typeof e.options.snap=="string"){e.pagesX=[];e.pagesY=[];s=e.scroller.querySelectorAll(e.options.snap);for(r=0,i=s.length;r=e.maxScrollX){e.pagesX[u]=o;o=o-e.wrapperW;u++}if(e.maxScrollX%e.wrapperW)e.pagesX[e.pagesX.length]=e.maxScrollX-e.pagesX[e.pagesX.length-1]+e.pagesX[e.pagesX.length-1];o=0;u=0;e.pagesY=[];while(o>=e.maxScrollY){e.pagesY[u]=o;o=o-e.wrapperH;u++}if(e.maxScrollY%e.wrapperH)e.pagesY[e.pagesY.length]=e.maxScrollY-e.pagesY[e.pagesY.length-1]+e.pagesY[e.pagesY.length-1]}e._scrollbar("h");e._scrollbar("v");if(!e.zoomed){e.scroller.style[a]="0";e._resetPos(400)}},scrollTo:function(e,t,n,r){var i=this,s=e,o,u;i.stop();if(!s.length)s=[{x:e,y:t,time:n,relative:r}];for(o=0,u=s.length;o0?0:i.leftr.minScrollY?r.minScrollY:i.topr.pagesX.length-1?r.pagesX.length-1:e;t=t<0?0:t>r.pagesY.length-1?r.pagesY.length-1:t;r.currPageX=e;r.currPageY=t;i=r.pagesX[e];s=r.pagesY[t]}else{i=-r.wrapperW*e;s=-r.wrapperH*t;if(i0?0:i.xi.minScrollY?i.minScrollY:i.y