/*! JRoll v2.5.0 ~ (c) 2015-2017 Author:BarZu Git:https://github.com/chjtx/JRoll Website:http://www.chjtx.com/JRoll/ */ ;!function(o,r,e){"use strict";function l(o){var r=h.findAllJRolls(o.target),e=r.length;if(!(a.jrollActive&&!a.jrollActive.options.zoom&&o.touches&&o.touches.length>1))if(e){for(;e--;)r[e].moving&&(o.preventDefault(),r[e]._endAction());a.jrollActive=r[0],a.jrollActive._start(o)}else a.jrollActive&&a.jrollActive._end(o)}function t(o){if(a.jrollActive){var e=r.activeElement;a.jrollActive.options.preventDefault&&o.preventDefault(),h.isMobile&&a.jrollActive.options.autoBlur&&("INPUT"===e.tagName||"TEXTAREA"===e.tagName)&&e.blur(),a.jrollActive._move(o)}}function s(o){a.jrollActive&&a.jrollActive._end(o)}function n(){setTimeout(function(){for(var o in m)m[o].refresh().scrollTo(m[o].x,m[o].y,200)},600)}function i(o){var r=h.findScroller(o.target);r&&r._wheel(o)}function c(o,e){r.addEventListener(o,e,!!v&&{passive:!1})}var a,p="2.5.0",u=o.requestAnimationFrame||o.webkitRequestAnimationFrame||function(o){setTimeout(o,17)},d=r.createElement("div").style,m={},f=navigator.userAgent.toLowerCase(),_=function(){for(var o,r=["OT","msT","MozT","webkitT","t"],e=r.length;e--;)if(o=r[e]+"ransform",o in d)return r[e]}(),h={TSF:_+"ransform",TSD:_+"ransitionDuration",TFO:_+"ransformOrigin",isAndroid:/android/.test(f),isIOS:/iphone|ipad/.test(f),isMobile:/mobile|phone|android|pad/.test(f),translateZ:function(o){var r;return r=o?o+"Perspective"in d:"perspective"in d,r?" translateZ(0px)":""}(_.substr(0,_.length-1)),computeTranslate:function(r,e){for(var l,t=0,s=0;r;)l=o.getComputedStyle(r)[h.TSF].replace(/matrix\(|\)/g,"").split(", "),t+=parseInt(l[4])||0,s+=parseInt(l[5])||0,r=r.parentElement,r===e&&(r=null);return{x:t,y:s}},computePosition:function(o,r){for(var e=0,l=0;o;)e+=o.offsetLeft,l+=o.offsetTop,o=o.offsetParent,o===r&&(o=null);return{left:e,top:l}},moveTo:function(o,r,e,l,t){function s(){p-=17,p<=0?(n=r,i=e):(n=parseInt(n+c,10),i=parseInt(i+a,10)),o.style[h.TSF]="translate("+n+"px, "+i+"px)"+h.translateZ+" scale("+_+")",p>0&&(n!==r||i!==e)?u(s):"function"==typeof t&&t()}var n,i,c,a,p,d,m=0,f=0,_=1;d=/translate\(([-\d.]+)px,\s+([-\d.]+)px\)\s+(?:translateZ\(0px\)\s+)?scale\(([\d.]+)\)/.exec(o.style[h.TSF]),d&&(m=Number(d[1]),f=Number(d[2]),_=Number(d[3])),p=l||17,c=(r-m)/(p/17),a=(e-f)/(p/17),n=m,i=f,s()},findScroller:function(o,e){var l;if(e||!("TEXTAREA"===o.tagName&&o.scrollHeight>o.offsetHeight))for(;o!==r;){if(l=o.getAttribute("jroll-id"))return m[l];o=o.parentNode}return null},findAllJRolls:function(o,e){var l,t=[];if(e||!("TEXTAREA"===o.tagName&&o.scrollHeight>o.clientHeight&&o.scrollTop>0&&o.scrollTop0&&(a.maxScrollX=0),a.maxScrollY>0&&(a.maxScrollY=0),a._s.endX=a.x,a._s.endY=a.y,a.options.scrollBarX?(a.scrollBarX||(i=a._createScrollBar("jroll-xbar","jroll-xbtn",!1),a.scrollBarX=i[0],a.scrollBtnX=i[1]),a.scrollBarScaleX=a.wrapper.clientWidth/a.scrollerWidth,c=e.round(a.scrollBarX.clientWidth*a.scrollBarScaleX),a.scrollBtnX.style.width=(c>8?c:8)+"px",a._runScrollBarX()):a.scrollBarX&&(a.wrapper.removeChild(a.scrollBarX),a.scrollBarX=null),a.options.scrollBarY?(a.scrollBarY||(i=a._createScrollBar("jroll-ybar","jroll-ybtn",!0),a.scrollBarY=i[0],a.scrollBtnY=i[1]),a.scrollBarScaleY=a.wrapper.clientHeight/a.scrollerHeight,c=e.round(a.scrollBarY.clientHeight*a.scrollBarScaleY),a.scrollBtnY.style.height=(c>8?c:8)+"px",a._runScrollBarY()):a.scrollBarY&&(a.wrapper.removeChild(a.scrollBarY),a.scrollBarY=null),r||a._execEvent("refresh"),a},scale:function(o){var r=this,e=parseFloat(o);return isNaN(e)||(r.scroller.style[h.TFO]="0 0",r._z.scale=e,r.refresh()._scrollTo(r.x,r.y),r.scrollTo(r.x,r.y,400)),r},_wheel:function(o){var r=this,e=o.wheelDelta||120*-(o.detail/3);(r.options.scrollY||r.options.scrollFree)&&r.scrollTo(r.x,r._compute(r.y+e,r.minScrollY,r.maxScrollY))},_runScrollBarX:function(){var o=this,r=e.round(-1*o.x*o.scrollBarScaleX);o._scrollTo.call({scroller:o.scrollBtnX,_z:{scale:1}},r,0)},_runScrollBarY:function(){var o=this,r=e.round(-1*o.y*o.scrollBarScaleY);o._scrollTo.call({scroller:o.scrollBtnY,_z:{scale:1}},0,r)},_createScrollBar:function(o,e,l){var t,s,n=this;return t=r.createElement("div"),s=r.createElement("div"),t.className=o,s.className=e,this.options.scrollBarX!==!0&&this.options.scrollBarY!==!0||(l?(t.style.cssText="position:absolute;top:2px;right:2px;bottom:2px;width:6px;overflow:hidden;border-radius:2px;-webkit-transform: scaleX(.5);transform: scaleX(.5);",s.style.cssText="background:rgba(0,0,0,.4);position:absolute;top:0;left:0;right:0;border-radius:2px;"):(t.style.cssText="position:absolute;left:2px;bottom:2px;right:2px;height:6px;overflow:hidden;border-radius:2px;-webkit-transform: scaleY(.5);transform: scaleY(.5);",s.style.cssText="background:rgba(0,0,0,.4);height:100%;position:absolute;left:0;top:0;bottom:0;border-radius:2px;")),n.options.scrollBarFade&&(t.style.opacity=0),t.appendChild(s),n.wrapper.appendChild(t),[t,s]},_fade:function(o,r){var e=this;e.fading&&r>0&&(r-=25,r%100===0&&(o.style.opacity=r/1e3),u(e._fade.bind(e,o,r)))},on:function(o,r){var e=this;switch(o){case"scrollStart":e._event.scrollStart.push(r);break;case"scroll":e._event.scroll.push(r);break;case"scrollEnd":e._event.scrollEnd.push(r);break;case"zoomStart":e._event.zoomStart.push(r);break;case"zoom":e._event.zoom.push(r);break;case"zoomEnd":e._event.zoomEnd.push(r);break;case"refresh":e._event.refresh.push(r);break;case"touchEnd":e._event.touchEnd.push(r)}return e},_execEvent:function(o,r){for(var e=this,l=e._event[o].length-1;l>=0;l--)e._event[o][l].call(e,r)},_compute:function(o,r,l){var t=this;return o>r?t.options.bounce&&o>r+10?e.round(r+(o-r)/4):r:o=i.minScrollX?(i.x=i.minScrollX,n&&(i._s.startX=n[0].pageX,i._s.endX=i.minScrollX)):o<=i.maxScrollX?(i.x=i.maxScrollX,n&&(i._s.startX=n[0].pageX,i._s.endX=i.maxScrollX)):i.x=o,r>=i.minScrollY?(i.y=i.minScrollY,n&&(i._s.startY=n[0].pageY,i._s.endY=i.minScrollY)):r<=i.maxScrollY?(i.y=i.maxScrollY,n&&(i._s.startY=n[0].pageY,i._s.endY=i.maxScrollY)):i.y=r),s||(i._s.endX=i.x,i._s.endY=i.y),e?h.moveTo(i.scroller,i.x,i.y,e,t):(i._scrollTo(i.x,i.y),"function"==typeof t&&t()),i.scrollBtnX&&i._runScrollBarX(),i.scrollBtnY&&i._runScrollBarY(),i},scrollToElement:function(o,r){var e=this,l="string"==typeof o?e.scroller.querySelector(o):o;if(l instanceof HTMLElement){var t=h.computePosition(l,e.scroller),s=h.computeTranslate(l,e.scroller),n=-(t.left+s.x),i=-(t.top+s.y);return e.scrollTo(n,i,r)}},_endAction:function(){var o=this;o._s.endX=o.x,o._s.endY=o.y,o.moving=!1,o.options.scrollBarFade&&!o.fading&&(o.fading=!0,o.scrollBarX&&o._fade(o.scrollBarX,2e3),o.scrollBarY&&o._fade(o.scrollBarY,2e3)),o._execEvent("scrollEnd")},_stepBounce:function(){function o(){r.scrollTo(r.x,r.y,300)}var r=this;r.bouncing=!1,"scrollY"===r.s?1===r.directionY?(r.scrollTo(r.x,r.minScrollY+15,100,!0,o),r.y=r.minScrollY):(r.scrollTo(r.x,r.maxScrollY-15,100,!0,o),r.y=r.maxScrollY):"scrollX"===r.s&&(1===r.directionX?(r.scrollTo(r.minScrollX+15,r.y,100,!0,o),r.x=r.minScrollX):(r.scrollTo(r.maxScrollX-15,r.y,100,!0,o),r.x=r.maxScrollX))},_x:function(o){var r=this,e=r.directionX*o;isNaN(e)||(r.x=r.x+e,(r.x>=r.minScrollX||r.x<=r.maxScrollX)&&(r.moving=!1,r.options.bounce&&(r.bouncing=!0)))},_y:function(o){var r=this,e=r.directionY*o;isNaN(e)||(r.y=r.y+e,(r.y>=r.minScrollY||r.y<=r.maxScrollY)&&(r.moving=!1,r.options.bounce&&(r.bouncing=!0)))},_xy:function(o){var r=this,l=e.round(r.cosX*o),t=e.round(r.cosY*o);isNaN(l)||isNaN(t)||(r.x=r.x+l,r.y=r.y+t,(r.x>=r.minScrollX||r.x<=r.maxScrollX)&&(r.y>=r.minScrollY||r.y<=r.maxScrollY)&&(r.moving=!1))},_step:function(o){var r=this,l=Date.now(),t=l-o,s=0;if(r.bouncing&&r._stepBounce(),!r.moving)return void r._endAction();if(t>10){if(r.speed=r.speed-t*(r.speed>1.2?.001:r.speed>.6?8e-4:6e-4),s=e.round(r.speed*t),r.speed<=0||s<=0)return void r._endAction();o=l,r._do(s),r.scrollTo(r.x,r.y,0,!1,null,!0),r._execEvent("scroll")}u(r._step.bind(r,o))},_doScroll:function(r,e){var l,t=this;t.distance=r,t.options.bounce&&(t.x=t._compute(t.x,t.minScrollX,t.maxScrollX),t.y=t._compute(t.y,t.minScrollY,t.maxScrollY)),t.scrollTo(t.x,t.y,0,t.options.bounce,null,!0,e.touches||[e]),t._execEvent("scroll",e),e&&e.touches&&t.options.edgeRelease&&(l=e.touches[0].pageY,(l<=10||l>=o.innerHeight-10)&&t._end(e))},_yTextarea:function(o){var r=this,e=o.target;return!("TEXTAREA"===e.tagName&&e.scrollHeight>e.clientHeight&&(0===e.scrollTop&&r.directionY===-1||e.scrollTop===e.scrollHeight-e.clientHeight&&1===r.directionY))||(r._end(o,!0),!1)},_start:function(o){var l=this,t=o.touches||[o];if(l.options.zoom&&t.length>1){l.s="preZoom",l.scroller.style[h.TFO]="0 0";var s=e.abs(t[0].pageX-t[1].pageX),n=e.abs(t[0].pageY-t[1].pageY);return l._z.spacing=e.sqrt(s*s+n*n),l._z.startScale=l._z.scale,l.originX=(t[0].pageX-t[1].pageX)/2+t[1].pageX-(h.computePosition(l.scroller,r.body).left+h.computeTranslate(l.scroller,r.body).x),l.originY=(t[0].pageY-t[1].pageY)/2+t[1].pageY-(h.computePosition(l.scroller,r.body).top+h.computeTranslate(l.scroller,r.body).y),void l._execEvent("zoomStart",o)}if(l.options.scrollBarFade&&(l.fading=!1,l.scrollBarX&&(l.scrollBarX.style.opacity=1),l.scrollBarY&&(l.scrollBarY.style.opacity=1)),l.options.scrollFree)l._do=l._xy,l.s="scrollFree";else if(l.options.scrollX&&l.options.scrollY)l.s="preScroll";else if(!l.options.scrollX&&l.options.scrollY)l._do=l._y,l.s="scrollY";else{if(!l.options.scrollX||l.options.scrollY)return void(l.s=null);l._do=l._x,l.s="scrollX"}l.distance=0,l.lastMoveTime=l.startTime=Date.now(),l._s.lastX=l.startPositionX=l._s.startX=t[0].pageX,l._s.lastY=l.startPositionY=l._s.startY=t[0].pageY,l._execEvent("scrollStart",o)},_move:function(o){var r,l,t,s,n,i,c,a,p=this,u=o.touches||[o],d=1,m=1;if("preScroll"!==p.s&&"scrollX"!==p.s&&"scrollFree"!==p.s||(l=u[0].pageX),"preScroll"!==p.s&&"scrollY"!==p.s&&"scrollFree"!==p.s||(t=u[0].pageY),s=l-p._s.lastX,n=t-p._s.lastY,p._s.lastX=l,p._s.lastY=t,d=s>=0?1:-1,m=n>=0?1:-1,r=Date.now(),(r-p.lastMoveTime>200||p.directionX!==d||p.directionY!==m)&&(p.startTime=r,p.startPositionX=l,p.startPositionY=t,p.directionX=d,p.directionY=m),p.lastMoveTime=r,i=l-p.startPositionX,c=t-p.startPositionY,"preScroll"===p.s){if(e.abs(t-p._s.startY)>=e.abs(l-p._s.startX))return p._do=p._y,void(p.s="scrollY");if(e.abs(t-p._s.startY)p.options.zoomMax&&(x=p.options.zoomMax),f=x/p._z.startScale,p.x=e.round(p.originX-p.originX*f+p._s.endX),p.y=e.round(p.originY-p.originY*f+p._s.endY),p._z.scale=x,p._scrollTo(p.x,p.y),void p._execEvent("zoom",o)}},_end:function(o,r){var l,t,s=this,n=Date.now(),i="scrollY"===s.s,c="scrollX"===s.s,p="scrollFree"===s.s;if(i||c||p){if(o.touches&&o.touches.length&&!r)return;return s._execEvent("touchEnd"),a.jrollActive=null,s.duration=n-s.startTime,l=s.y>s.minScrollY||s.ys.minScrollX||s.x2?2:s.speed,s.moving=!0,u(s._step.bind(s,n))):s._endAction())}if("preZoom"===s.s)return s._execEvent("touchEnd"),a.jrollActive=null,s._z.scale>s.options.zoomMax?s._z.scale=s.options.zoomMax:s._z.scale