/* * iScroll v4.2.5 ~ Copyright (c) 2012 Matteo Spinelli, http://cubiq.org * Released under MIT license, http://cubiq.org/license */ (function(E,d){var p=Math,e=d.createElement("div").style,D=(function(){var H="t,webkitT,MozT,msT,OT".split(","),G,m=0,F=H.length;for(;mI[m+"ScrollbarMaxScroll"]){if(!I.options.fixedScrollbar){H=I[m+"ScrollbarIndicatorSize"]-p.round((G-I[m+"ScrollbarMaxScroll"])*3);if(H<8){H=8}I[m+"ScrollbarIndicator"].style[m=="h"?"width":"height"]=H+"px";G=I[m+"ScrollbarMaxScroll"]+(I[m+"ScrollbarIndicatorSize"]-H)}else{G=I[m+"ScrollbarMaxScroll"]}}}I[m+"ScrollbarWrapper"].style[x]="0";I[m+"ScrollbarWrapper"].style.opacity=F&&I.options.hideScrollbar?"0":"1";I[m+"ScrollbarIndicator"].style[v]="translate("+(m=="h"?G+"px,0)":"0,"+G+"px)")+B},_start:function(G){var J=this,I=h?G.touches[0]:G,H,K,L,m,F;if(!J.enabled){return}if(J.options.onBeforeScrollStart){J.options.onBeforeScrollStart.call(J,G)}if(J.options.useTransition||J.options.zoom){J._transitionTime(0)}J.moved=false;J.animating=false;J.zoomed=false;J.distX=0;J.distY=0;J.absDistX=0;J.absDistY=0;J.dirX=0;J.dirY=0;if(J.options.zoom&&h&&G.touches.length>1){m=p.abs(G.touches[0].pageX-G.touches[1].pageX);F=p.abs(G.touches[0].pageY-G.touches[1].pageY);J.touchesDistStart=p.sqrt(m*m+F*F);J.originX=p.abs(G.touches[0].pageX+G.touches[1].pageX-J.wrapperOffsetLeft*2)/2-J.x;J.originY=p.abs(G.touches[0].pageY+G.touches[1].pageY-J.wrapperOffsetTop*2)/2-J.y;if(J.options.onZoomStart){J.options.onZoomStart.call(J,G)}}if(J.options.momentum){if(J.options.useTransform){H=getComputedStyle(J.scroller,null)[v].replace(/[^0-9\-.,]/g,"").split(",");K=+(H[12]||H[4]);L=+(H[13]||H[5])}else{K=+getComputedStyle(J.scroller,null).left.replace(/[^0-9-]/g,"");L=+getComputedStyle(J.scroller,null).top.replace(/[^0-9-]/g,"")}if(K!=J.x||L!=J.y){if(J.options.useTransition){J._unbind(C)}else{b(J.aniTime)}J.steps=[];J._pos(K,L);if(J.options.onScrollEnd){J.options.onScrollEnd.call(J)}}}J.absStartX=J.x;J.absStartY=J.y;J.startX=J.x;J.startY=J.y;J.pointX=I.pageX;J.pointY=I.pageY;J.startTime=G.timeStamp||Date.now();if(J.options.onScrollStart){J.options.onScrollStart.call(J,G)}J._bind(q,E);J._bind(f,E);J._bind(a,E)},_move:function(I){var N=this,L=h?I.touches[0]:I,G=L.pageX-N.pointX,H=L.pageY-N.pointY,J=N.x+G,K=N.y+H,m,F,M,O=I.timeStamp||Date.now();if(N.options.onBeforeScrollMove){N.options.onBeforeScrollMove.call(N,I)}if(N.options.zoom&&h&&I.touches.length>1){m=p.abs(I.touches[0].pageX-I.touches[1].pageX);F=p.abs(I.touches[0].pageY-I.touches[1].pageY);N.touchesDist=p.sqrt(m*m+F*F);N.zoomed=true;M=1/N.touchesDistStart*N.touchesDist*this.scale;if(MN.options.zoomMax){M=2*N.options.zoomMax*Math.pow(0.5,N.options.zoomMax/M)}}N.lastScale=M/this.scale;J=this.originX-this.originX*N.lastScale+this.x;K=this.originY-this.originY*N.lastScale+this.y;this.scroller.style[v]="translate("+J+"px,"+K+"px) scale("+M+")"+B;if(N.options.onZoom){N.options.onZoom.call(N,I)}return}N.pointX=L.pageX;N.pointY=L.pageY;if(J>0||J=0||N.maxScrollX>=0?0:N.maxScrollX}if(K>N.minScrollY||K=N.minScrollY||N.maxScrollY>=0?N.minScrollY:N.maxScrollY}N.distX+=G;N.distY+=H;N.absDistX=p.abs(N.distX);N.absDistY=p.abs(N.distY);if(N.absDistX<6&&N.absDistY<6){return}if(N.options.lockDirection){if(N.absDistX>N.absDistY+5){K=N.y;H=0}else{if(N.absDistY>N.absDistX+5){J=N.x;G=0}}}N.moved=true;N._pos(J,K);N.dirX=G>0?-1:G<0?1:0;N.dirY=H>0?-1:H<0?1:0;if(O-N.startTime>300){N.startTime=O;N.startX=N.x;N.startY=N.y}if(N.options.onScrollMove){N.options.onScrollMove.call(N,I)}},_end:function(H){if(h&&H.touches.length!==0){return}var S=this,O=h?H.changedTouches[0]:H,R,I,J={dist:0,time:0},K={dist:0,time:0},G=(H.timeStamp||Date.now())-S.startTime,M=S.x,N=S.y,m,F,L,Q,P;S._unbind(q,E);S._unbind(f,E);S._unbind(a,E);if(S.options.onBeforeScrollEnd){S.options.onBeforeScrollEnd.call(S,H)}if(S.zoomed){P=S.scale*S.lastScale;P=Math.max(S.options.zoomMin,P);P=Math.min(S.options.zoomMax,P);S.lastScale=P/S.scale;S.scale=P;S.x=S.originX-S.originX*S.lastScale+S.x;S.y=S.originY-S.originY*S.lastScale+S.y;S.scroller.style[y]="200ms";S.scroller.style[v]="translate("+S.x+"px,"+S.y+"px) scale("+S.scale+")"+B;S.zoomed=false;S.refresh();if(S.options.onZoomEnd){S.options.onZoomEnd.call(S,H)}return}if(!S.moved){if(h){if(S.doubleTapTimer&&S.options.zoom){clearTimeout(S.doubleTapTimer);S.doubleTapTimer=null;if(S.options.onZoomStart){S.options.onZoomStart.call(S,H)}S.zoom(S.pointX,S.pointY,S.scale==1?S.options.doubleTapZoom:1);if(S.options.onZoomEnd){setTimeout(function(){S.options.onZoomEnd.call(S,H)},200)}}else{if(this.options.handleClick){S.doubleTapTimer=setTimeout(function(){S.doubleTapTimer=null;R=O.target;while(R.nodeType!=1){R=R.parentNode}if(R.tagName!="SELECT"&&R.tagName!="INPUT"&&R.tagName!="TEXTAREA"){I=d.createEvent("MouseEvents");I.initMouseEvent("click",true,true,H.view,1,O.screenX,O.screenY,O.clientX,O.clientY,H.ctrlKey,H.altKey,H.shiftKey,H.metaKey,0,null);I._fake=true;R.dispatchEvent(I)}},S.options.zoom?250:0)}}}S._resetPos(400);if(S.options.onTouchEnd){S.options.onTouchEnd.call(S,H)}return}if(G<300&&S.options.momentum){J=M?S._momentum(M-S.startX,G,-S.x,S.scrollerW-S.wrapperW+S.x,S.options.bounce?S.wrapperW:0):J;K=N?S._momentum(N-S.startY,G,-S.y,(S.maxScrollY<0?S.scrollerH-S.wrapperH+S.y-S.minScrollY:0),S.options.bounce?S.wrapperH:0):K;M=S.x+J.dist;N=S.y+K.dist;if((S.x>0&&M>0)||(S.xS.minScrollY&&N>S.minScrollY)||(S.y=0?0:G.x=G.minScrollY||G.maxScrollY>0?G.minScrollY:G.yI.options.zoomMax){m=I.options.zoomMax}if(m!=I.scale){if(!I.wheelZoomCount&&I.options.onZoomStart){I.options.onZoomStart.call(I,H)}I.wheelZoomCount++;I.zoom(H.pageX,H.pageY,m,400);setTimeout(function(){I.wheelZoomCount--;if(!I.wheelZoomCount&&I.options.onZoomEnd){I.options.onZoomEnd.call(I,H)}},400)}return}F=I.x+J;G=I.y+K;if(F>0){F=0}else{if(FI.minScrollY){G=I.minScrollY}else{if(G=G+J.time){K._pos(J.x,J.y);K.animating=false;if(K.options.onAnimationEnd){K.options.onAnimationEnd.call(K)}K._startAni();return}N=(N-G)/J.time-1;F=p.sqrt(1-N*N);L=(J.x-H)*F+H;M=(J.y-I)*F+I;K._pos(L,M);if(K.animating){K.aniTime=r(m)}};m()},_transitionTime:function(m){m+="ms";this.scroller.style[y]=m;if(this.hScrollbar){this.hScrollbarIndicator.style[y]=m}if(this.vScrollbar){this.vScrollbarIndicator.style[y]=m}},_momentum:function(F,N,H,G,L){var m=0.0006,M=p.abs(F)/N,I=(M*M)/(2*m),J=0,K=0;if(F>0&&I>H){K=L/(6/(I/M*m));H=H+K;M=M*H/I;I=H}else{if(F<0&&I>G){K=L/(6/(I/M*m));G=G+K;M=M*G/I;I=G}}I=I*(F<0?-1:1);J=M/m;return{dist:I,time:p.round(J)}},_offset:function(m){var F=-m.offsetLeft,G=-m.offsetTop;while(m=m.offsetParent){F-=m.offsetLeft;G-=m.offsetTop}if(m!=this.wrapper){F*=this.scale;G*=this.scale}return{left:F,top:G}},_snap:function(L,M){var J=this,m,F,G,K,H,I;G=J.pagesX.length-1;for(m=0,F=J.pagesX.length;m=J.pagesX[m]){G=m;break}}if(G==J.currPageX&&G>0&&J.dirX<0){G--}L=J.pagesX[G];H=p.abs(L-J.pagesX[J.currPageX]);H=H?p.abs(J.x-L)/H*500:0;J.currPageX=G;G=J.pagesY.length-1;for(m=0;m=J.pagesY[m]){G=m;break}}if(G==J.currPageY&&G>0&&J.dirY<0){G--}M=J.pagesY[G];I=p.abs(M-J.pagesY[J.currPageY]);I=I?p.abs(J.y-M)/I*500:0;J.currPageY=G;K=p.round(p.max(H,I))||200;return{x:L,y:M,time:K}},_bind:function(G,F,m){(F||this.scroller).addEventListener(G,this,!!m)},_unbind:function(G,F,m){(F||this.scroller).removeEventListener(G,this,!!m)},destroy:function(){var m=this;m.scroller.style[v]="";m.hScrollbar=false;m.vScrollbar=false;m._scrollbar("h");m._scrollbar("v");m._unbind(t,E);m._unbind(u);m._unbind(q,E);m._unbind(f,E);m._unbind(a,E);if(!m.options.hasTouch){m._unbind("DOMMouseScroll");m._unbind("mousewheel")}if(m.options.useTransition){m._unbind(C)}if(m.options.checkDOMChanges){clearInterval(m.checkDOMTime)}if(m.options.onDestroy){m.options.onDestroy.call(m)}},refresh:function(){var K=this,H,F,G,m,J=0,I=0;if(K.scaleK.wrapperH);K.hScrollbar=K.hScroll&&K.options.hScrollbar;K.vScrollbar=K.vScroll&&K.options.vScrollbar&&K.scrollerH>K.wrapperH;H=K._offset(K.wrapper);K.wrapperOffsetLeft=-H.left;K.wrapperOffsetTop=-H.top;if(typeof K.options.snap=="string"){K.pagesX=[];K.pagesY=[];m=K.scroller.querySelectorAll(K.options.snap);for(F=0,G=m.length;F=K.maxScrollX){K.pagesX[I]=J;J=J-K.wrapperW;I++}if(K.maxScrollX%K.wrapperW){K.pagesX[K.pagesX.length]=K.maxScrollX-K.pagesX[K.pagesX.length-1]+K.pagesX[K.pagesX.length-1]}J=0;I=0;K.pagesY=[];while(J>=K.maxScrollY){K.pagesY[I]=J;J=J-K.wrapperH;I++}if(K.maxScrollY%K.wrapperH){K.pagesY[K.pagesY.length]=K.maxScrollY-K.pagesY[K.pagesY.length-1]+K.pagesY[K.pagesY.length-1]}}}K._scrollbar("h");K._scrollbar("v");if(!K.zoomed){K.scroller.style[y]="0";K._resetPos(400)}},scrollTo:function(K,L,J,G){var I=this,H=K,m,F;I.stop();if(!H.length){H=[{x:K,y:L,time:J,relative:G}]}for(m=0,F=H.length;m0?0:F.leftG.minScrollY?G.minScrollY:F.topG.pagesX.length-1?G.pagesX.length-1:m;F=F<0?0:F>G.pagesY.length-1?G.pagesY.length-1:F;G.currPageX=m;G.currPageY=F;I=G.pagesX[m];J=G.pagesY[F]}else{I=-G.wrapperW*m;J=-G.wrapperH*F;if(I0?0:G.xG.minScrollY?G.minScrollY:G.y