dashboard-admin/public/assets/modules/nicescroll/jquery.nicescroll.min.js
2023-09-18 18:28:52 +07:00

3706 lines
180 KiB
JavaScript

/* jquery.nicescroll v3.7.6 InuYaksa - MIT - https://nicescroll.areaaperta.com */
!(function (e) {
"function" == typeof define && define.amd
? define(["jquery"], e)
: "object" == typeof exports
? (module.exports = e(require("jquery")))
: e(jQuery);
})(function (e) {
"use strict";
var o = !1,
t = !1,
r = 0,
i = 2e3,
s = 0,
n = e,
l = document,
a = window,
c = n(a),
d = [],
u =
a.requestAnimationFrame ||
a.webkitRequestAnimationFrame ||
a.mozRequestAnimationFrame ||
!1,
h =
a.cancelAnimationFrame ||
a.webkitCancelAnimationFrame ||
a.mozCancelAnimationFrame ||
!1;
if (u) a.cancelAnimationFrame || (h = function (e) {});
else {
var p = 0;
(u = function (e, o) {
var t = new Date().getTime(),
r = Math.max(0, 16 - (t - p)),
i = a.setTimeout(function () {
e(t + r);
}, r);
return (p = t + r), i;
}),
(h = function (e) {
a.clearTimeout(e);
});
}
var m = a.MutationObserver || a.WebKitMutationObserver || !1,
f =
Date.now ||
function () {
return new Date().getTime();
},
g = {
zindex: "auto",
cursoropacitymin: 0,
cursoropacitymax: 1,
cursorcolor: "#424242",
cursorwidth: "6px",
cursorborder: "1px solid #fff",
cursorborderradius: "5px",
scrollspeed: 40,
mousescrollstep: 27,
touchbehavior: !1,
emulatetouch: !1,
hwacceleration: !0,
usetransition: !0,
boxzoom: !1,
dblclickzoom: !0,
gesturezoom: !0,
grabcursorenabled: !0,
autohidemode: !0,
background: "",
iframeautoresize: !0,
cursorminheight: 32,
preservenativescrolling: !0,
railoffset: !1,
railhoffset: !1,
bouncescroll: !0,
spacebarenabled: !0,
railpadding: { top: 0, right: 0, left: 0, bottom: 0 },
disableoutline: !0,
horizrailenabled: !0,
railalign: "right",
railvalign: "bottom",
enabletranslate3d: !0,
enablemousewheel: !0,
enablekeyboard: !0,
smoothscroll: !0,
sensitiverail: !0,
enablemouselockapi: !0,
cursorfixedheight: !1,
directionlockdeadzone: 6,
hidecursordelay: 400,
nativeparentscrolling: !0,
enablescrollonselection: !0,
overflowx: !0,
overflowy: !0,
cursordragspeed: 0.3,
rtlmode: "auto",
cursordragontouch: !1,
oneaxismousemode: "auto",
scriptpath: (function () {
var e =
l.currentScript ||
(function () {
var e = l.getElementsByTagName("script");
return !!e.length && e[e.length - 1];
})(),
o = e ? e.src.split("?")[0] : "";
return o.split("/").length > 0
? o.split("/").slice(0, -1).join("/") + "/"
: "";
})(),
preventmultitouchscrolling: !0,
disablemutationobserver: !1,
enableobserver: !0,
scrollbarid: !1,
},
v = !1,
w = function () {
if (v) return v;
var e = l.createElement("DIV"),
o = e.style,
t = navigator.userAgent,
r = navigator.platform,
i = {};
return (
(i.haspointerlock =
"pointerLockElement" in l ||
"webkitPointerLockElement" in l ||
"mozPointerLockElement" in l),
(i.isopera = "opera" in a),
(i.isopera12 = i.isopera && "getUserMedia" in navigator),
(i.isoperamini =
"[object OperaMini]" ===
Object.prototype.toString.call(a.operamini)),
(i.isie = "all" in l && "attachEvent" in e && !i.isopera),
(i.isieold = i.isie && !("msInterpolationMode" in o)),
(i.isie7 =
i.isie &&
!i.isieold &&
(!("documentMode" in l) || 7 === l.documentMode)),
(i.isie8 =
i.isie && "documentMode" in l && 8 === l.documentMode),
(i.isie9 =
i.isie && "performance" in a && 9 === l.documentMode),
(i.isie10 =
i.isie && "performance" in a && 10 === l.documentMode),
(i.isie11 = "msRequestFullscreen" in e && l.documentMode >= 11),
(i.ismsedge = "msCredentials" in a),
(i.ismozilla = "MozAppearance" in o),
(i.iswebkit = !i.ismsedge && "WebkitAppearance" in o),
(i.ischrome = i.iswebkit && "chrome" in a),
(i.ischrome38 = i.ischrome && "touchAction" in o),
(i.ischrome22 =
!i.ischrome38 && i.ischrome && i.haspointerlock),
(i.ischrome26 =
!i.ischrome38 && i.ischrome && "transition" in o),
(i.cantouch =
"ontouchstart" in l.documentElement || "ontouchstart" in a),
(i.hasw3ctouch =
(a.PointerEvent || !1) &&
(navigator.maxTouchPoints > 0 ||
navigator.msMaxTouchPoints > 0)),
(i.hasmstouch = !i.hasw3ctouch && (a.MSPointerEvent || !1)),
(i.ismac = /^mac$/i.test(r)),
(i.isios = i.cantouch && /iphone|ipad|ipod/i.test(r)),
(i.isios4 = i.isios && !("seal" in Object)),
(i.isios7 = i.isios && "webkitHidden" in l),
(i.isios8 = i.isios && "hidden" in l),
(i.isios10 = i.isios && a.Proxy),
(i.isandroid = /android/i.test(t)),
(i.haseventlistener = "addEventListener" in e),
(i.trstyle = !1),
(i.hastransform = !1),
(i.hastranslate3d = !1),
(i.transitionstyle = !1),
(i.hastransition = !1),
(i.transitionend = !1),
(i.trstyle = "transform"),
(i.hastransform =
"transform" in o ||
(function () {
for (
var e = [
"msTransform",
"webkitTransform",
"MozTransform",
"OTransform",
],
t = 0,
r = e.length;
t < r;
t++
)
if (void 0 !== o[e[t]]) {
i.trstyle = e[t];
break;
}
i.hastransform = !!i.trstyle;
})()),
i.hastransform &&
((o[i.trstyle] = "translate3d(1px,2px,3px)"),
(i.hastranslate3d = /translate3d/.test(o[i.trstyle]))),
(i.transitionstyle = "transition"),
(i.prefixstyle = ""),
(i.transitionend = "transitionend"),
(i.hastransition =
"transition" in o ||
(function () {
i.transitionend = !1;
for (
var e = [
"webkitTransition",
"msTransition",
"MozTransition",
"OTransition",
"OTransition",
"KhtmlTransition",
],
t = [
"-webkit-",
"-ms-",
"-moz-",
"-o-",
"-o",
"-khtml-",
],
r = [
"webkitTransitionEnd",
"msTransitionEnd",
"transitionend",
"otransitionend",
"oTransitionEnd",
"KhtmlTransitionEnd",
],
s = 0,
n = e.length;
s < n;
s++
)
if (e[s] in o) {
(i.transitionstyle = e[s]),
(i.prefixstyle = t[s]),
(i.transitionend = r[s]);
break;
}
i.ischrome26 && (i.prefixstyle = t[1]),
(i.hastransition = i.transitionstyle);
})()),
(i.cursorgrabvalue = (function () {
var e = ["grab", "-webkit-grab", "-moz-grab"];
((i.ischrome && !i.ischrome38) || i.isie) && (e = []);
for (var t = 0, r = e.length; t < r; t++) {
var s = e[t];
if (((o.cursor = s), o.cursor == s)) return s;
}
return "url(https://cdnjs.cloudflare.com/ajax/libs/slider-pro/1.3.0/css/images/openhand.cur),n-resize";
})()),
(i.hasmousecapture = "setCapture" in e),
(i.hasMutationObserver = !1 !== m),
(e = null),
(v = i),
i
);
},
b = function (e, p) {
function v() {
var e = T.doc.css(P.trstyle);
return (
!(!e || "matrix" != e.substr(0, 6)) &&
e
.replace(/^.*\((.*)\)$/g, "$1")
.replace(/px/g, "")
.split(/, +/)
);
}
function b() {
var e = T.win;
if ("zIndex" in e) return e.zIndex();
for (; e.length > 0; ) {
if (9 == e[0].nodeType) return !1;
var o = e.css("zIndex");
if (!isNaN(o) && 0 !== o) return parseInt(o);
e = e.parent();
}
return !1;
}
function x(e, o, t) {
var r = e.css(o),
i = parseFloat(r);
if (isNaN(i)) {
var s =
3 == (i = I[r] || 0)
? t
? T.win.outerHeight() - T.win.innerHeight()
: T.win.outerWidth() - T.win.innerWidth()
: 1;
return T.isie8 && i && (i += 1), s ? i : 0;
}
return i;
}
function S(e, o, t, r) {
T._bind(
e,
o,
function (r) {
var i = {
original: (r = r || a.event),
target: r.target || r.srcElement,
type: "wheel",
deltaMode: "MozMousePixelScroll" == r.type ? 0 : 1,
deltaX: 0,
deltaZ: 0,
preventDefault: function () {
return (
r.preventDefault
? r.preventDefault()
: (r.returnValue = !1),
!1
);
},
stopImmediatePropagation: function () {
r.stopImmediatePropagation
? r.stopImmediatePropagation()
: (r.cancelBubble = !0);
},
};
return (
"mousewheel" == o
? (r.wheelDeltaX &&
(i.deltaX = -0.025 * r.wheelDeltaX),
r.wheelDeltaY &&
(i.deltaY = -0.025 * r.wheelDeltaY),
!i.deltaY &&
!i.deltaX &&
(i.deltaY = -0.025 * r.wheelDelta))
: (i.deltaY = r.detail),
t.call(e, i)
);
},
r
);
}
function z(e, o, t, r) {
T.scrollrunning ||
((T.newscrolly = T.getScrollTop()),
(T.newscrollx = T.getScrollLeft()),
(D = f()));
var i = f() - D;
if (
((D = f()),
i > 350 ? (A = 1) : (A += (2 - A) / 10),
(e = (e * A) | 0),
(o = (o * A) | 0),
e)
) {
if (r)
if (e < 0) {
if (T.getScrollLeft() >= T.page.maxw) return !0;
} else if (T.getScrollLeft() <= 0) return !0;
var s = e > 0 ? 1 : -1;
X !== s &&
(T.scrollmom && T.scrollmom.stop(),
(T.newscrollx = T.getScrollLeft()),
(X = s)),
(T.lastdeltax -= e);
}
if (o) {
if (
(function () {
var e = T.getScrollTop();
if (o < 0) {
if (e >= T.page.maxh) return !0;
} else if (e <= 0) return !0;
})()
) {
if (
M.nativeparentscrolling &&
t &&
!T.ispage &&
!T.zoomactive
)
return !0;
var n = T.view.h >> 1;
T.newscrolly < -n
? ((T.newscrolly = -n), (o = -1))
: T.newscrolly > T.page.maxh + n
? ((T.newscrolly = T.page.maxh + n), (o = 1))
: (o = 0);
}
var l = o > 0 ? 1 : -1;
B !== l &&
(T.scrollmom && T.scrollmom.stop(),
(T.newscrolly = T.getScrollTop()),
(B = l)),
(T.lastdeltay -= o);
}
(o || e) &&
T.synched("relativexy", function () {
var e = T.lastdeltay + T.newscrolly;
T.lastdeltay = 0;
var o = T.lastdeltax + T.newscrollx;
(T.lastdeltax = 0), T.rail.drag || T.doScrollPos(o, e);
});
}
function k(e, o, t) {
var r, i;
return (
!(t || !q) ||
(0 === e.deltaMode
? ((r = (-e.deltaX * (M.mousescrollstep / 54)) | 0),
(i = (-e.deltaY * (M.mousescrollstep / 54)) | 0))
: 1 === e.deltaMode &&
((r =
((-e.deltaX * M.mousescrollstep * 50) / 80) | 0),
(i =
((-e.deltaY * M.mousescrollstep * 50) / 80) | 0)),
o &&
M.oneaxismousemode &&
0 === r &&
i &&
((r = i),
(i = 0),
t &&
(r < 0
? T.getScrollLeft() >= T.page.maxw
: T.getScrollLeft() <= 0) &&
((i = r), (r = 0))),
T.isrtlmode && (r = -r),
z(r, i, t, !0)
? void (t && (q = !0))
: ((q = !1),
e.stopImmediatePropagation(),
e.preventDefault()))
);
}
var T = this;
(this.version = "3.7.6"), (this.name = "nicescroll"), (this.me = p);
var E = n("body"),
M = (this.opt = { doc: E, win: !1 });
if ((n.extend(M, g), (M.snapbackspeed = 80), e))
for (var L in M) void 0 !== e[L] && (M[L] = e[L]);
if (
(M.disablemutationobserver && (m = !1),
(this.doc = M.doc),
(this.iddoc =
this.doc && this.doc[0] ? this.doc[0].id || "" : ""),
(this.ispage = /^BODY|HTML/.test(
M.win ? M.win[0].nodeName : this.doc[0].nodeName
)),
(this.haswrapper = !1 !== M.win),
(this.win = M.win || (this.ispage ? c : this.doc)),
(this.docscroll =
this.ispage && !this.haswrapper ? c : this.win),
(this.body = E),
(this.viewport = !1),
(this.isfixed = !1),
(this.iframe = !1),
(this.isiframe =
"IFRAME" == this.doc[0].nodeName &&
"IFRAME" == this.win[0].nodeName),
(this.istextarea = "TEXTAREA" == this.win[0].nodeName),
(this.forcescreen = !1),
(this.canshowonmouseevent = "scroll" != M.autohidemode),
(this.onmousedown = !1),
(this.onmouseup = !1),
(this.onmousemove = !1),
(this.onmousewheel = !1),
(this.onkeypress = !1),
(this.ongesturezoom = !1),
(this.onclick = !1),
(this.onscrollstart = !1),
(this.onscrollend = !1),
(this.onscrollcancel = !1),
(this.onzoomin = !1),
(this.onzoomout = !1),
(this.view = !1),
(this.page = !1),
(this.scroll = { x: 0, y: 0 }),
(this.scrollratio = { x: 0, y: 0 }),
(this.cursorheight = 20),
(this.scrollvaluemax = 0),
"auto" == M.rtlmode)
) {
var C = this.win[0] == a ? this.body : this.win,
N =
C.css("writing-mode") ||
C.css("-webkit-writing-mode") ||
C.css("-ms-writing-mode") ||
C.css("-moz-writing-mode");
"horizontal-tb" == N || "lr-tb" == N || "" === N
? ((this.isrtlmode = "rtl" == C.css("direction")),
(this.isvertical = !1))
: ((this.isrtlmode =
"vertical-rl" == N ||
"tb" == N ||
"tb-rl" == N ||
"rl-tb" == N),
(this.isvertical =
"vertical-rl" == N || "tb" == N || "tb-rl" == N));
} else (this.isrtlmode = !0 === M.rtlmode), (this.isvertical = !1);
if (
((this.scrollrunning = !1),
(this.scrollmom = !1),
(this.observer = !1),
(this.observerremover = !1),
(this.observerbody = !1),
!1 !== M.scrollbarid)
)
this.id = M.scrollbarid;
else
do {
this.id = "ascrail" + i++;
} while (l.getElementById(this.id));
(this.rail = !1),
(this.cursor = !1),
(this.cursorfreezed = !1),
(this.selectiondrag = !1),
(this.zoom = !1),
(this.zoomactive = !1),
(this.hasfocus = !1),
(this.hasmousefocus = !1),
(this.railslocked = !1),
(this.locked = !1),
(this.hidden = !1),
(this.cursoractive = !0),
(this.wheelprevented = !1),
(this.overflowx = M.overflowx),
(this.overflowy = M.overflowy),
(this.nativescrollingarea = !1),
(this.checkarea = 0),
(this.events = []),
(this.saved = {}),
(this.delaylist = {}),
(this.synclist = {}),
(this.lastdeltax = 0),
(this.lastdeltay = 0),
(this.detected = w());
var P = n.extend({}, this.detected);
(this.canhwscroll = P.hastransform && M.hwacceleration),
(this.ishwscroll = this.canhwscroll && T.haswrapper),
this.isrtlmode
? this.isvertical
? (this.hasreversehr = !(
P.iswebkit ||
P.isie ||
P.isie11
))
: (this.hasreversehr = !(
P.iswebkit ||
(P.isie && !P.isie10 && !P.isie11)
))
: (this.hasreversehr = !1),
(this.istouchcapable = !1),
P.cantouch || (!P.hasw3ctouch && !P.hasmstouch)
? !P.cantouch ||
P.isios ||
P.isandroid ||
(!P.iswebkit && !P.ismozilla) ||
(this.istouchcapable = !0)
: (this.istouchcapable = !0),
M.enablemouselockapi ||
((P.hasmousecapture = !1), (P.haspointerlock = !1)),
(this.debounced = function (e, o, t) {
T &&
(T.delaylist[e] ||
!1 ||
((T.delaylist[e] = {
h: u(function () {
T.delaylist[e].fn.call(T),
(T.delaylist[e] = !1);
}, t),
}),
o.call(T)),
(T.delaylist[e].fn = o));
}),
(this.synched = function (e, o) {
T.synclist[e]
? (T.synclist[e] = o)
: ((T.synclist[e] = o),
u(function () {
T &&
(T.synclist[e] && T.synclist[e].call(T),
(T.synclist[e] = null));
}));
}),
(this.unsynched = function (e) {
T.synclist[e] && (T.synclist[e] = !1);
}),
(this.css = function (e, o) {
for (var t in o)
T.saved.css.push([e, t, e.css(t)]), e.css(t, o[t]);
}),
(this.scrollTop = function (e) {
return void 0 === e ? T.getScrollTop() : T.setScrollTop(e);
}),
(this.scrollLeft = function (e) {
return void 0 === e
? T.getScrollLeft()
: T.setScrollLeft(e);
});
var R = function (e, o, t, r, i, s, n) {
(this.st = e),
(this.ed = o),
(this.spd = t),
(this.p1 = r || 0),
(this.p2 = i || 1),
(this.p3 = s || 0),
(this.p4 = n || 1),
(this.ts = f()),
(this.df = o - e);
};
if (
((R.prototype = {
B2: function (e) {
return 3 * (1 - e) * (1 - e) * e;
},
B3: function (e) {
return 3 * (1 - e) * e * e;
},
B4: function (e) {
return e * e * e;
},
getPos: function () {
return (f() - this.ts) / this.spd;
},
getNow: function () {
var e = (f() - this.ts) / this.spd,
o = this.B2(e) + this.B3(e) + this.B4(e);
return e >= 1 ? this.ed : (this.st + this.df * o) | 0;
},
update: function (e, o) {
return (
(this.st = this.getNow()),
(this.ed = e),
(this.spd = o),
(this.ts = f()),
(this.df = this.ed - this.st),
this
);
},
}),
this.ishwscroll)
) {
(this.doc.translate = { x: 0, y: 0, tx: "0px", ty: "0px" }),
P.hastranslate3d &&
P.isios &&
this.doc.css("-webkit-backface-visibility", "hidden"),
(this.getScrollTop = function (e) {
if (!e) {
var o = v();
if (o) return 16 == o.length ? -o[13] : -o[5];
if (T.timerscroll && T.timerscroll.bz)
return T.timerscroll.bz.getNow();
}
return T.doc.translate.y;
}),
(this.getScrollLeft = function (e) {
if (!e) {
var o = v();
if (o) return 16 == o.length ? -o[12] : -o[4];
if (T.timerscroll && T.timerscroll.bh)
return T.timerscroll.bh.getNow();
}
return T.doc.translate.x;
}),
(this.notifyScrollEvent = function (e) {
var o = l.createEvent("UIEvents");
o.initUIEvent("scroll", !1, !1, a, 1),
(o.niceevent = !0),
e.dispatchEvent(o);
});
var _ = this.isrtlmode ? 1 : -1;
P.hastranslate3d && M.enabletranslate3d
? ((this.setScrollTop = function (e, o) {
(T.doc.translate.y = e),
(T.doc.translate.ty = -1 * e + "px"),
T.doc.css(
P.trstyle,
"translate3d(" +
T.doc.translate.tx +
"," +
T.doc.translate.ty +
",0)"
),
o || T.notifyScrollEvent(T.win[0]);
}),
(this.setScrollLeft = function (e, o) {
(T.doc.translate.x = e),
(T.doc.translate.tx = e * _ + "px"),
T.doc.css(
P.trstyle,
"translate3d(" +
T.doc.translate.tx +
"," +
T.doc.translate.ty +
",0)"
),
o || T.notifyScrollEvent(T.win[0]);
}))
: ((this.setScrollTop = function (e, o) {
(T.doc.translate.y = e),
(T.doc.translate.ty = -1 * e + "px"),
T.doc.css(
P.trstyle,
"translate(" +
T.doc.translate.tx +
"," +
T.doc.translate.ty +
")"
),
o || T.notifyScrollEvent(T.win[0]);
}),
(this.setScrollLeft = function (e, o) {
(T.doc.translate.x = e),
(T.doc.translate.tx = e * _ + "px"),
T.doc.css(
P.trstyle,
"translate(" +
T.doc.translate.tx +
"," +
T.doc.translate.ty +
")"
),
o || T.notifyScrollEvent(T.win[0]);
}));
} else
(this.getScrollTop = function () {
return T.docscroll.scrollTop();
}),
(this.setScrollTop = function (e) {
T.docscroll.scrollTop(e);
}),
(this.getScrollLeft = function () {
return T.hasreversehr
? T.detected.ismozilla
? T.page.maxw -
Math.abs(T.docscroll.scrollLeft())
: T.page.maxw - T.docscroll.scrollLeft()
: T.docscroll.scrollLeft();
}),
(this.setScrollLeft = function (e) {
return setTimeout(function () {
if (T)
return (
T.hasreversehr &&
(e = T.detected.ismozilla
? -(T.page.maxw - e)
: T.page.maxw - e),
T.docscroll.scrollLeft(e)
);
}, 1);
});
(this.getTarget = function (e) {
return (
!!e &&
(e.target ? e.target : !!e.srcElement && e.srcElement)
);
}),
(this.hasParent = function (e, o) {
if (!e) return !1;
for (
var t = e.target || e.srcElement || e || !1;
t && t.id != o;
)
t = t.parentNode || !1;
return !1 !== t;
});
var I = { thin: 1, medium: 3, thick: 5 };
(this.getDocumentScrollOffset = function () {
return {
top: a.pageYOffset || l.documentElement.scrollTop,
left: a.pageXOffset || l.documentElement.scrollLeft,
};
}),
(this.getOffset = function () {
if (T.isfixed) {
var e = T.win.offset(),
o = T.getDocumentScrollOffset();
return (e.top -= o.top), (e.left -= o.left), e;
}
var t = T.win.offset();
if (!T.viewport) return t;
var r = T.viewport.offset();
return { top: t.top - r.top, left: t.left - r.left };
}),
(this.updateScrollBar = function (e) {
var o, t;
if (T.ishwscroll)
T.rail.css({
height:
T.win.innerHeight() -
(M.railpadding.top + M.railpadding.bottom),
}),
T.railh &&
T.railh.css({
width:
T.win.innerWidth() -
(M.railpadding.left +
M.railpadding.right),
});
else {
var r = T.getOffset();
if (
((o = {
top: r.top,
left:
r.left -
(M.railpadding.left + M.railpadding.right),
}),
(o.top += x(T.win, "border-top-width", !0)),
(o.left += T.rail.align
? T.win.outerWidth() -
x(T.win, "border-right-width") -
T.rail.width
: x(T.win, "border-left-width")),
(t = M.railoffset) &&
(t.top && (o.top += t.top),
t.left && (o.left += t.left)),
T.railslocked ||
T.rail.css({
top: o.top,
left: o.left,
height:
(e ? e.h : T.win.innerHeight()) -
(M.railpadding.top +
M.railpadding.bottom),
}),
T.zoom &&
T.zoom.css({
top: o.top + 1,
left:
1 == T.rail.align
? o.left - 20
: o.left + T.rail.width + 4,
}),
T.railh && !T.railslocked)
) {
(o = { top: r.top, left: r.left }),
(t = M.railhoffset) &&
(t.top && (o.top += t.top),
t.left && (o.left += t.left));
var i = T.railh.align
? o.top +
x(T.win, "border-top-width", !0) +
T.win.innerHeight() -
T.railh.height
: o.top + x(T.win, "border-top-width", !0),
s = o.left + x(T.win, "border-left-width");
T.railh.css({
top:
i -
(M.railpadding.top + M.railpadding.bottom),
left: s,
width: T.railh.width,
});
}
}
}),
(this.doRailClick = function (e, o, t) {
var r, i, s, n;
T.railslocked ||
(T.cancelEvent(e),
"pageY" in e ||
((e.pageX =
e.clientX + l.documentElement.scrollLeft),
(e.pageY =
e.clientY + l.documentElement.scrollTop)),
o
? ((r = t ? T.doScrollLeft : T.doScrollTop),
(s = t
? (e.pageX -
T.railh.offset().left -
T.cursorwidth / 2) *
T.scrollratio.x
: (e.pageY -
T.rail.offset().top -
T.cursorheight / 2) *
T.scrollratio.y),
T.unsynched("relativexy"),
r(0 | s))
: ((r = t ? T.doScrollLeftBy : T.doScrollBy),
(s = t ? T.scroll.x : T.scroll.y),
(n = t
? e.pageX - T.railh.offset().left
: e.pageY - T.rail.offset().top),
(i = t ? T.view.w : T.view.h),
r(s >= n ? i : -i)));
}),
(T.newscrolly = T.newscrollx = 0),
(T.hasanimationframe = "requestAnimationFrame" in a),
(T.hascancelanimationframe = "cancelAnimationFrame" in a),
(T.hasborderbox = !1),
(this.init = function () {
if (((T.saved.css = []), P.isoperamini)) return !0;
if (P.isandroid && !("hidden" in l)) return !0;
(M.emulatetouch = M.emulatetouch || M.touchbehavior),
(T.hasborderbox =
a.getComputedStyle &&
"border-box" ===
a.getComputedStyle(l.body)["box-sizing"]);
var e = { "overflow-y": "hidden" };
if (
((P.isie11 || P.isie10) &&
(e["-ms-overflow-style"] = "none"),
T.ishwscroll &&
(this.doc.css(
P.transitionstyle,
P.prefixstyle + "transform 0ms ease-out"
),
P.transitionend &&
T.bind(
T.doc,
P.transitionend,
T.onScrollTransitionEnd,
!1
)),
(T.zindex = "auto"),
T.ispage || "auto" != M.zindex
? (T.zindex = M.zindex)
: (T.zindex = b() || "auto"),
!T.ispage &&
"auto" != T.zindex &&
T.zindex > s &&
(s = T.zindex),
T.isie &&
0 === T.zindex &&
"auto" == M.zindex &&
(T.zindex = "auto"),
!T.ispage || !P.isieold)
) {
var i = T.docscroll;
T.ispage && (i = T.haswrapper ? T.win : T.doc),
T.css(i, e),
T.ispage &&
(P.isie11 || P.isie) &&
T.css(n("html"), e),
!P.isios ||
T.ispage ||
T.haswrapper ||
T.css(E, {
"-webkit-overflow-scrolling": "touch",
});
var d = n(l.createElement("div"));
d.css({
position: "relative",
top: 0,
float: "right",
width: M.cursorwidth,
height: 0,
"background-color": M.cursorcolor,
border: M.cursorborder,
"background-clip": "padding-box",
"-webkit-border-radius": M.cursorborderradius,
"-moz-border-radius": M.cursorborderradius,
"border-radius": M.cursorborderradius,
}),
d.addClass("nicescroll-cursors"),
(T.cursor = d);
var u = n(l.createElement("div"));
u.attr("id", T.id),
u.addClass("nicescroll-rails nicescroll-rails-vr");
var h,
p,
f = ["left", "right", "top", "bottom"];
for (var g in f)
(p = f[g]),
(h = M.railpadding[p] || 0) &&
u.css("padding-" + p, h + "px");
u.append(d),
(u.width = Math.max(
parseFloat(M.cursorwidth),
d.outerWidth()
)),
u.css({
width: u.width + "px",
zIndex: T.zindex,
background: M.background,
cursor: "default",
}),
(u.visibility = !0),
(u.scrollable = !0),
(u.align = "left" == M.railalign ? 0 : 1),
(T.rail = u),
(T.rail.drag = !1);
var v = !1;
!M.boxzoom ||
T.ispage ||
P.isieold ||
((v = l.createElement("div")),
T.bind(v, "click", T.doZoom),
T.bind(v, "mouseenter", function () {
T.zoom.css("opacity", M.cursoropacitymax);
}),
T.bind(v, "mouseleave", function () {
T.zoom.css("opacity", M.cursoropacitymin);
}),
(T.zoom = n(v)),
T.zoom.css({
cursor: "pointer",
zIndex: T.zindex,
backgroundImage:
"url(" + M.scriptpath + "zoomico.png)",
height: 18,
width: 18,
backgroundPosition: "0 0",
}),
M.dblclickzoom &&
T.bind(T.win, "dblclick", T.doZoom),
P.cantouch &&
M.gesturezoom &&
((T.ongesturezoom = function (e) {
return (
e.scale > 1.5 && T.doZoomIn(e),
e.scale < 0.8 && T.doZoomOut(e),
T.cancelEvent(e)
);
}),
T.bind(T.win, "gestureend", T.ongesturezoom))),
(T.railh = !1);
var w;
if (
(M.horizrailenabled &&
(T.css(i, { overflowX: "hidden" }),
(d = n(l.createElement("div"))).css({
position: "absolute",
top: 0,
height: M.cursorwidth,
width: 0,
backgroundColor: M.cursorcolor,
border: M.cursorborder,
backgroundClip: "padding-box",
"-webkit-border-radius":
M.cursorborderradius,
"-moz-border-radius": M.cursorborderradius,
"border-radius": M.cursorborderradius,
}),
P.isieold && d.css("overflow", "hidden"),
d.addClass("nicescroll-cursors"),
(T.cursorh = d),
(w = n(l.createElement("div"))).attr(
"id",
T.id + "-hr"
),
w.addClass(
"nicescroll-rails nicescroll-rails-hr"
),
(w.height = Math.max(
parseFloat(M.cursorwidth),
d.outerHeight()
)),
w.css({
height: w.height + "px",
zIndex: T.zindex,
background: M.background,
}),
w.append(d),
(w.visibility = !0),
(w.scrollable = !0),
(w.align = "top" == M.railvalign ? 0 : 1),
(T.railh = w),
(T.railh.drag = !1)),
T.ispage)
)
u.css({
position: "fixed",
top: 0,
height: "100%",
}),
u.css(u.align ? { right: 0 } : { left: 0 }),
T.body.append(u),
T.railh &&
(w.css({
position: "fixed",
left: 0,
width: "100%",
}),
w.css(w.align ? { bottom: 0 } : { top: 0 }),
T.body.append(w));
else {
if (T.ishwscroll) {
"static" == T.win.css("position") &&
T.css(T.win, { position: "relative" });
var x =
"HTML" == T.win[0].nodeName
? T.body
: T.win;
n(x).scrollTop(0).scrollLeft(0),
T.zoom &&
(T.zoom.css({
position: "absolute",
top: 1,
right: 0,
"margin-right": u.width + 4,
}),
x.append(T.zoom)),
u.css({ position: "absolute", top: 0 }),
u.css(u.align ? { right: 0 } : { left: 0 }),
x.append(u),
w &&
(w.css({
position: "absolute",
left: 0,
bottom: 0,
}),
w.css(
w.align ? { bottom: 0 } : { top: 0 }
),
x.append(w));
} else {
T.isfixed = "fixed" == T.win.css("position");
var S = T.isfixed ? "fixed" : "absolute";
T.isfixed ||
(T.viewport = T.getViewport(T.win[0])),
T.viewport &&
((T.body = T.viewport),
/fixed|absolute/.test(
T.viewport.css("position")
) ||
T.css(T.viewport, {
position: "relative",
})),
u.css({ position: S }),
T.zoom && T.zoom.css({ position: S }),
T.updateScrollBar(),
T.body.append(u),
T.zoom && T.body.append(T.zoom),
T.railh &&
(w.css({ position: S }),
T.body.append(w));
}
P.isios &&
T.css(T.win, {
"-webkit-tap-highlight-color":
"rgba(0,0,0,0)",
"-webkit-touch-callout": "none",
}),
M.disableoutline &&
(P.isie && T.win.attr("hideFocus", "true"),
P.iswebkit && T.win.css("outline", "none"));
}
if (
(!1 === M.autohidemode
? ((T.autohidedom = !1),
T.rail.css({ opacity: M.cursoropacitymax }),
T.railh &&
T.railh.css({
opacity: M.cursoropacitymax,
}))
: !0 === M.autohidemode ||
"leave" === M.autohidemode
? ((T.autohidedom = n().add(T.rail)),
P.isie8 &&
(T.autohidedom = T.autohidedom.add(
T.cursor
)),
T.railh &&
(T.autohidedom = T.autohidedom.add(
T.railh
)),
T.railh &&
P.isie8 &&
(T.autohidedom = T.autohidedom.add(
T.cursorh
)))
: "scroll" == M.autohidemode
? ((T.autohidedom = n().add(T.rail)),
T.railh &&
(T.autohidedom = T.autohidedom.add(
T.railh
)))
: "cursor" == M.autohidemode
? ((T.autohidedom = n().add(T.cursor)),
T.railh &&
(T.autohidedom = T.autohidedom.add(
T.cursorh
)))
: "hidden" == M.autohidemode &&
((T.autohidedom = !1),
T.hide(),
(T.railslocked = !1)),
P.cantouch ||
T.istouchcapable ||
M.emulatetouch ||
P.hasmstouch)
) {
T.scrollmom = new y(T);
(T.ontouchstart = function (e) {
if (T.locked) return !1;
if (
e.pointerType &&
("mouse" === e.pointerType ||
e.pointerType ===
e.MSPOINTER_TYPE_MOUSE)
)
return !1;
if (
((T.hasmoving = !1),
T.scrollmom.timer &&
(T.triggerScrollEnd(),
T.scrollmom.stop()),
!T.railslocked)
) {
var o = T.getTarget(e);
if (
o &&
/INPUT/i.test(o.nodeName) &&
/range/i.test(o.type)
)
return T.stopPropagation(e);
var t = "mousedown" === e.type;
if (
(!("clientX" in e) &&
"changedTouches" in e &&
((e.clientX =
e.changedTouches[0].clientX),
(e.clientY =
e.changedTouches[0].clientY)),
T.forcescreen)
) {
var r = e;
((e = {
original: e.original
? e.original
: e,
}).clientX = r.screenX),
(e.clientY = r.screenY);
}
if (
((T.rail.drag = {
x: e.clientX,
y: e.clientY,
sx: T.scroll.x,
sy: T.scroll.y,
st: T.getScrollTop(),
sl: T.getScrollLeft(),
pt: 2,
dl: !1,
tg: o,
}),
T.ispage || !M.directionlockdeadzone)
)
T.rail.drag.dl = "f";
else {
var i = { w: c.width(), h: c.height() },
s = T.getContentSize(),
l = s.h - i.h,
a = s.w - i.w;
T.rail.scrollable && !T.railh.scrollable
? (T.rail.drag.ck = l > 0 && "v")
: !T.rail.scrollable &&
T.railh.scrollable
? (T.rail.drag.ck = a > 0 && "h")
: (T.rail.drag.ck = !1);
}
if (
M.emulatetouch &&
T.isiframe &&
P.isie
) {
var d = T.win.position();
(T.rail.drag.x += d.left),
(T.rail.drag.y += d.top);
}
if (
((T.hasmoving = !1),
(T.lastmouseup = !1),
T.scrollmom.reset(e.clientX, e.clientY),
o && t)
) {
if (
!/INPUT|SELECT|BUTTON|TEXTAREA/i.test(
o.nodeName
)
)
return (
P.hasmousecapture &&
o.setCapture(),
M.emulatetouch
? (o.onclick &&
!o._onclick &&
((o._onclick =
o.onclick),
(o.onclick =
function (e) {
if (
T.hasmoving
)
return !1;
o._onclick.call(
this,
e
);
})),
T.cancelEvent(e))
: T.stopPropagation(e)
);
/SUBMIT|CANCEL|BUTTON/i.test(
n(o).attr("type")
) &&
(T.preventclick = {
tg: o,
click: !1,
});
}
}
}),
(T.ontouchend = function (e) {
if (!T.rail.drag) return !0;
if (2 == T.rail.drag.pt) {
if (
e.pointerType &&
("mouse" === e.pointerType ||
e.pointerType ===
e.MSPOINTER_TYPE_MOUSE)
)
return !1;
T.rail.drag = !1;
var o = "mouseup" === e.type;
if (
T.hasmoving &&
(T.scrollmom.doMomentum(),
(T.lastmouseup = !0),
T.hideCursor(),
P.hasmousecapture &&
l.releaseCapture(),
o)
)
return T.cancelEvent(e);
} else if (1 == T.rail.drag.pt)
return T.onmouseup(e);
});
var z =
M.emulatetouch &&
T.isiframe &&
!P.hasmousecapture,
k = (0.3 * M.directionlockdeadzone) | 0;
(T.ontouchmove = function (e, o) {
if (!T.rail.drag) return !0;
if (
e.targetTouches &&
M.preventmultitouchscrolling &&
e.targetTouches.length > 1
)
return !0;
if (
e.pointerType &&
("mouse" === e.pointerType ||
e.pointerType ===
e.MSPOINTER_TYPE_MOUSE)
)
return !0;
if (2 == T.rail.drag.pt) {
"changedTouches" in e &&
((e.clientX =
e.changedTouches[0].clientX),
(e.clientY =
e.changedTouches[0].clientY));
var t, r;
if (((r = t = 0), z && !o)) {
var i = T.win.position();
(r = -i.left), (t = -i.top);
}
var s = e.clientY + t,
n = s - T.rail.drag.y,
a = e.clientX + r,
c = a - T.rail.drag.x,
d = T.rail.drag.st - n;
if (T.ishwscroll && M.bouncescroll)
d < 0
? (d = Math.round(d / 2))
: d > T.page.maxh &&
(d =
T.page.maxh +
Math.round(
(d - T.page.maxh) / 2
));
else if (
(d < 0
? ((d = 0), (s = 0))
: d > T.page.maxh &&
((d = T.page.maxh), (s = 0)),
0 === s && !T.hasmoving)
)
return (
T.ispage || (T.rail.drag = !1), !0
);
var u = T.getScrollLeft();
if (
(T.railh &&
T.railh.scrollable &&
((u = T.isrtlmode
? c - T.rail.drag.sl
: T.rail.drag.sl - c),
T.ishwscroll && M.bouncescroll
? u < 0
? (u = Math.round(u / 2))
: u > T.page.maxw &&
(u =
T.page.maxw +
Math.round(
(u -
T.page.maxw) /
2
))
: (u < 0 && ((u = 0), (a = 0)),
u > T.page.maxw &&
((u = T.page.maxw),
(a = 0)))),
!T.hasmoving)
) {
if (
T.rail.drag.y === e.clientY &&
T.rail.drag.x === e.clientX
)
return T.cancelEvent(e);
var h = Math.abs(n),
p = Math.abs(c),
m = M.directionlockdeadzone;
if (
(T.rail.drag.ck
? "v" == T.rail.drag.ck
? p > m && h <= k
? (T.rail.drag = !1)
: h > m &&
(T.rail.drag.dl = "v")
: "h" == T.rail.drag.ck &&
(h > m && p <= k
? (T.rail.drag = !1)
: p > m &&
(T.rail.drag.dl =
"h"))
: h > m && p > m
? (T.rail.drag.dl = "f")
: h > m
? (T.rail.drag.dl =
p > k ? "f" : "v")
: p > m &&
(T.rail.drag.dl =
h > k ? "f" : "h"),
!T.rail.drag.dl)
)
return T.cancelEvent(e);
T.triggerScrollStart(
e.clientX,
e.clientY,
0,
0,
0
),
(T.hasmoving = !0);
}
return (
T.preventclick &&
!T.preventclick.click &&
((T.preventclick.click =
T.preventclick.tg.onclick ||
!1),
(T.preventclick.tg.onclick =
T.onpreventclick)),
T.rail.drag.dl &&
("v" == T.rail.drag.dl
? (u = T.rail.drag.sl)
: "h" == T.rail.drag.dl &&
(d = T.rail.drag.st)),
T.synched("touchmove", function () {
T.rail.drag &&
2 == T.rail.drag.pt &&
(T.prepareTransition &&
T.resetTransition(),
T.rail.scrollable &&
T.setScrollTop(d),
T.scrollmom.update(a, s),
T.railh && T.railh.scrollable
? (T.setScrollLeft(u),
T.showCursor(d, u))
: T.showCursor(d),
P.isie10 &&
l.selection.clear());
}),
T.cancelEvent(e)
);
}
return 1 == T.rail.drag.pt
? T.onmousemove(e)
: void 0;
}),
(T.ontouchstartCursor = function (e, o) {
if (!T.rail.drag || 3 == T.rail.drag.pt) {
if (T.locked) return T.cancelEvent(e);
T.cancelScroll(),
(T.rail.drag = {
x: e.touches[0].clientX,
y: e.touches[0].clientY,
sx: T.scroll.x,
sy: T.scroll.y,
pt: 3,
hr: !!o,
});
var t = T.getTarget(e);
return (
!T.ispage &&
P.hasmousecapture &&
t.setCapture(),
T.isiframe &&
!P.hasmousecapture &&
((T.saved.csspointerevents =
T.doc.css(
"pointer-events"
)),
T.css(T.doc, {
"pointer-events": "none",
})),
T.cancelEvent(e)
);
}
}),
(T.ontouchendCursor = function (e) {
if (T.rail.drag) {
if (
(P.hasmousecapture &&
l.releaseCapture(),
T.isiframe &&
!P.hasmousecapture &&
T.doc.css(
"pointer-events",
T.saved.csspointerevents
),
3 != T.rail.drag.pt)
)
return;
return (
(T.rail.drag = !1), T.cancelEvent(e)
);
}
}),
(T.ontouchmoveCursor = function (e) {
if (T.rail.drag) {
if (3 != T.rail.drag.pt) return;
if (
((T.cursorfreezed = !0),
T.rail.drag.hr)
) {
(T.scroll.x =
T.rail.drag.sx +
(e.touches[0].clientX -
T.rail.drag.x)),
T.scroll.x < 0 &&
(T.scroll.x = 0);
var o = T.scrollvaluemaxw;
T.scroll.x > o && (T.scroll.x = o);
} else {
(T.scroll.y =
T.rail.drag.sy +
(e.touches[0].clientY -
T.rail.drag.y)),
T.scroll.y < 0 &&
(T.scroll.y = 0);
var t = T.scrollvaluemax;
T.scroll.y > t && (T.scroll.y = t);
}
return (
T.synched("touchmove", function () {
T.rail.drag &&
3 == T.rail.drag.pt &&
(T.showCursor(),
T.rail.drag.hr
? T.doScrollLeft(
Math.round(
T.scroll.x *
T
.scrollratio
.x
),
M.cursordragspeed
)
: T.doScrollTop(
Math.round(
T.scroll.y *
T
.scrollratio
.y
),
M.cursordragspeed
));
}),
T.cancelEvent(e)
);
}
});
}
if (
((T.onmousedown = function (e, o) {
if (!T.rail.drag || 1 == T.rail.drag.pt) {
if (T.railslocked) return T.cancelEvent(e);
T.cancelScroll(),
(T.rail.drag = {
x: e.clientX,
y: e.clientY,
sx: T.scroll.x,
sy: T.scroll.y,
pt: 1,
hr: o || !1,
});
var t = T.getTarget(e);
return (
P.hasmousecapture && t.setCapture(),
T.isiframe &&
!P.hasmousecapture &&
((T.saved.csspointerevents =
T.doc.css("pointer-events")),
T.css(T.doc, {
"pointer-events": "none",
})),
(T.hasmoving = !1),
T.cancelEvent(e)
);
}
}),
(T.onmouseup = function (e) {
if (T.rail.drag)
return (
1 != T.rail.drag.pt ||
(P.hasmousecapture &&
l.releaseCapture(),
T.isiframe &&
!P.hasmousecapture &&
T.doc.css(
"pointer-events",
T.saved.csspointerevents
),
(T.rail.drag = !1),
(T.cursorfreezed = !1),
T.hasmoving && T.triggerScrollEnd(),
T.cancelEvent(e))
);
}),
(T.onmousemove = function (e) {
if (T.rail.drag) {
if (1 !== T.rail.drag.pt) return;
if (P.ischrome && 0 === e.which)
return T.onmouseup(e);
if (
((T.cursorfreezed = !0),
T.hasmoving ||
T.triggerScrollStart(
e.clientX,
e.clientY,
0,
0,
0
),
(T.hasmoving = !0),
T.rail.drag.hr)
) {
(T.scroll.x =
T.rail.drag.sx +
(e.clientX - T.rail.drag.x)),
T.scroll.x < 0 && (T.scroll.x = 0);
var o = T.scrollvaluemaxw;
T.scroll.x > o && (T.scroll.x = o);
} else {
(T.scroll.y =
T.rail.drag.sy +
(e.clientY - T.rail.drag.y)),
T.scroll.y < 0 && (T.scroll.y = 0);
var t = T.scrollvaluemax;
T.scroll.y > t && (T.scroll.y = t);
}
return (
T.synched("mousemove", function () {
T.cursorfreezed &&
(T.showCursor(),
T.rail.drag.hr
? T.scrollLeft(
Math.round(
T.scroll.x *
T.scrollratio
.x
)
)
: T.scrollTop(
Math.round(
T.scroll.y *
T.scrollratio
.y
)
));
}),
T.cancelEvent(e)
);
}
T.checkarea = 0;
}),
P.cantouch || M.emulatetouch)
)
(T.onpreventclick = function (e) {
if (T.preventclick)
return (
(T.preventclick.tg.onclick =
T.preventclick.click),
(T.preventclick = !1),
T.cancelEvent(e)
);
}),
(T.onclick =
!P.isios &&
function (e) {
return (
!T.lastmouseup ||
((T.lastmouseup = !1),
T.cancelEvent(e))
);
}),
M.grabcursorenabled &&
P.cursorgrabvalue &&
(T.css(T.ispage ? T.doc : T.win, {
cursor: P.cursorgrabvalue,
}),
T.css(T.rail, {
cursor: P.cursorgrabvalue,
}));
else {
var L = function (e) {
if (T.selectiondrag) {
if (e) {
var o = T.win.outerHeight(),
t = e.pageY - T.selectiondrag.top;
t > 0 && t < o && (t = 0),
t >= o && (t -= o),
(T.selectiondrag.df = t);
}
if (0 !== T.selectiondrag.df) {
var r =
((-2 * T.selectiondrag.df) / 6) | 0;
T.doScrollBy(r),
T.debounced(
"doselectionscroll",
function () {
L();
},
50
);
}
}
};
(T.hasTextSelected =
"getSelection" in l
? function () {
return (
l.getSelection().rangeCount > 0
);
}
: "selection" in l
? function () {
return "None" != l.selection.type;
}
: function () {
return !1;
}),
(T.onselectionstart = function (e) {
T.ispage ||
(T.selectiondrag = T.win.offset());
}),
(T.onselectionend = function (e) {
T.selectiondrag = !1;
}),
(T.onselectiondrag = function (e) {
T.selectiondrag &&
T.hasTextSelected() &&
T.debounced(
"selectionscroll",
function () {
L(e);
},
250
);
});
}
if (
(P.hasw3ctouch
? (T.css(T.ispage ? n("html") : T.win, {
"touch-action": "none",
}),
T.css(T.rail, { "touch-action": "none" }),
T.css(T.cursor, { "touch-action": "none" }),
T.bind(T.win, "pointerdown", T.ontouchstart),
T.bind(l, "pointerup", T.ontouchend),
T.delegate(l, "pointermove", T.ontouchmove))
: P.hasmstouch
? (T.css(T.ispage ? n("html") : T.win, {
"-ms-touch-action": "none",
}),
T.css(T.rail, { "-ms-touch-action": "none" }),
T.css(T.cursor, {
"-ms-touch-action": "none",
}),
T.bind(
T.win,
"MSPointerDown",
T.ontouchstart
),
T.bind(l, "MSPointerUp", T.ontouchend),
T.delegate(l, "MSPointerMove", T.ontouchmove),
T.bind(
T.cursor,
"MSGestureHold",
function (e) {
e.preventDefault();
}
),
T.bind(T.cursor, "contextmenu", function (e) {
e.preventDefault();
}))
: P.cantouch &&
(T.bind(
T.win,
"touchstart",
T.ontouchstart,
!1,
!0
),
T.bind(l, "touchend", T.ontouchend, !1, !0),
T.bind(
l,
"touchcancel",
T.ontouchend,
!1,
!0
),
T.delegate(
l,
"touchmove",
T.ontouchmove,
!1,
!0
)),
M.emulatetouch &&
(T.bind(
T.win,
"mousedown",
T.ontouchstart,
!1,
!0
),
T.bind(l, "mouseup", T.ontouchend, !1, !0),
T.bind(l, "mousemove", T.ontouchmove, !1, !0)),
(M.cursordragontouch ||
(!P.cantouch && !M.emulatetouch)) &&
(T.rail.css({ cursor: "default" }),
T.railh && T.railh.css({ cursor: "default" }),
T.jqbind(T.rail, "mouseenter", function () {
if (!T.ispage && !T.win.is(":visible"))
return !1;
T.canshowonmouseevent && T.showCursor(),
(T.rail.active = !0);
}),
T.jqbind(T.rail, "mouseleave", function () {
(T.rail.active = !1),
T.rail.drag || T.hideCursor();
}),
M.sensitiverail &&
(T.bind(T.rail, "click", function (e) {
T.doRailClick(e, !1, !1);
}),
T.bind(T.rail, "dblclick", function (e) {
T.doRailClick(e, !0, !1);
}),
T.bind(T.cursor, "click", function (e) {
T.cancelEvent(e);
}),
T.bind(T.cursor, "dblclick", function (e) {
T.cancelEvent(e);
})),
T.railh &&
(T.jqbind(
T.railh,
"mouseenter",
function () {
if (
!T.ispage &&
!T.win.is(":visible")
)
return !1;
T.canshowonmouseevent &&
T.showCursor(),
(T.rail.active = !0);
}
),
T.jqbind(
T.railh,
"mouseleave",
function () {
(T.rail.active = !1),
T.rail.drag || T.hideCursor();
}
),
M.sensitiverail &&
(T.bind(T.railh, "click", function (e) {
T.doRailClick(e, !1, !0);
}),
T.bind(
T.railh,
"dblclick",
function (e) {
T.doRailClick(e, !0, !0);
}
),
T.bind(
T.cursorh,
"click",
function (e) {
T.cancelEvent(e);
}
),
T.bind(
T.cursorh,
"dblclick",
function (e) {
T.cancelEvent(e);
}
)))),
M.cursordragontouch &&
(this.istouchcapable || P.cantouch) &&
(T.bind(
T.cursor,
"touchstart",
T.ontouchstartCursor
),
T.bind(
T.cursor,
"touchmove",
T.ontouchmoveCursor
),
T.bind(
T.cursor,
"touchend",
T.ontouchendCursor
),
T.cursorh &&
T.bind(
T.cursorh,
"touchstart",
function (e) {
T.ontouchstartCursor(e, !0);
}
),
T.cursorh &&
T.bind(
T.cursorh,
"touchmove",
T.ontouchmoveCursor
),
T.cursorh &&
T.bind(
T.cursorh,
"touchend",
T.ontouchendCursor
)),
M.emulatetouch || P.isandroid || P.isios
? (T.bind(
P.hasmousecapture ? T.win : l,
"mouseup",
T.ontouchend
),
T.onclick && T.bind(l, "click", T.onclick),
M.cursordragontouch
? (T.bind(
T.cursor,
"mousedown",
T.onmousedown
),
T.bind(
T.cursor,
"mouseup",
T.onmouseup
),
T.cursorh &&
T.bind(
T.cursorh,
"mousedown",
function (e) {
T.onmousedown(e, !0);
}
),
T.cursorh &&
T.bind(
T.cursorh,
"mouseup",
T.onmouseup
))
: (T.bind(
T.rail,
"mousedown",
function (e) {
e.preventDefault();
}
),
T.railh &&
T.bind(
T.railh,
"mousedown",
function (e) {
e.preventDefault();
}
)))
: (T.bind(
P.hasmousecapture ? T.win : l,
"mouseup",
T.onmouseup
),
T.bind(l, "mousemove", T.onmousemove),
T.onclick && T.bind(l, "click", T.onclick),
T.bind(T.cursor, "mousedown", T.onmousedown),
T.bind(T.cursor, "mouseup", T.onmouseup),
T.railh &&
(T.bind(
T.cursorh,
"mousedown",
function (e) {
T.onmousedown(e, !0);
}
),
T.bind(
T.cursorh,
"mouseup",
T.onmouseup
)),
!T.ispage &&
M.enablescrollonselection &&
(T.bind(
T.win[0],
"mousedown",
T.onselectionstart
),
T.bind(l, "mouseup", T.onselectionend),
T.bind(
T.cursor,
"mouseup",
T.onselectionend
),
T.cursorh &&
T.bind(
T.cursorh,
"mouseup",
T.onselectionend
),
T.bind(
l,
"mousemove",
T.onselectiondrag
)),
T.zoom &&
(T.jqbind(
T.zoom,
"mouseenter",
function () {
T.canshowonmouseevent &&
T.showCursor(),
(T.rail.active = !0);
}
),
T.jqbind(
T.zoom,
"mouseleave",
function () {
(T.rail.active = !1),
T.rail.drag || T.hideCursor();
}
))),
M.enablemousewheel &&
(T.isiframe ||
T.mousewheel(
P.isie && T.ispage ? l : T.win,
T.onmousewheel
),
T.mousewheel(T.rail, T.onmousewheel),
T.railh &&
T.mousewheel(T.railh, T.onmousewheelhr)),
T.ispage ||
P.cantouch ||
/HTML|^BODY/.test(T.win[0].nodeName) ||
(T.win.attr("tabindex") ||
T.win.attr({ tabindex: ++r }),
T.bind(T.win, "focus", function (e) {
(o =
T.getTarget(e).id ||
T.getTarget(e) ||
!1),
(T.hasfocus = !0),
T.canshowonmouseevent &&
T.noticeCursor();
}),
T.bind(T.win, "blur", function (e) {
(o = !1), (T.hasfocus = !1);
}),
T.bind(T.win, "mouseenter", function (e) {
(t =
T.getTarget(e).id ||
T.getTarget(e) ||
!1),
(T.hasmousefocus = !0),
T.canshowonmouseevent &&
T.noticeCursor();
}),
T.bind(T.win, "mouseleave", function (e) {
(t = !1),
(T.hasmousefocus = !1),
T.rail.drag || T.hideCursor();
})),
(T.onkeypress = function (e) {
if (T.railslocked && 0 === T.page.maxh)
return !0;
e = e || a.event;
var r = T.getTarget(e);
if (
r &&
/INPUT|TEXTAREA|SELECT|OPTION/.test(
r.nodeName
) &&
(!(
r.getAttribute("type") ||
r.type ||
!1
) ||
!/submit|button|cancel/i.tp)
)
return !0;
if (n(r).attr("contenteditable")) return !0;
if (
T.hasfocus ||
(T.hasmousefocus && !o) ||
(T.ispage && !o && !t)
) {
var i = e.keyCode;
if (T.railslocked && 27 != i)
return T.cancelEvent(e);
var s = e.ctrlKey || !1,
l = e.shiftKey || !1,
c = !1;
switch (i) {
case 38:
case 63233:
T.doScrollBy(72), (c = !0);
break;
case 40:
case 63235:
T.doScrollBy(-72), (c = !0);
break;
case 37:
case 63232:
T.railh &&
(s
? T.doScrollLeft(0)
: T.doScrollLeftBy(72),
(c = !0));
break;
case 39:
case 63234:
T.railh &&
(s
? T.doScrollLeft(
T.page.maxw
)
: T.doScrollLeftBy(-72),
(c = !0));
break;
case 33:
case 63276:
T.doScrollBy(T.view.h), (c = !0);
break;
case 34:
case 63277:
T.doScrollBy(-T.view.h), (c = !0);
break;
case 36:
case 63273:
T.railh && s
? T.doScrollPos(0, 0)
: T.doScrollTo(0),
(c = !0);
break;
case 35:
case 63275:
T.railh && s
? T.doScrollPos(
T.page.maxw,
T.page.maxh
)
: T.doScrollTo(T.page.maxh),
(c = !0);
break;
case 32:
M.spacebarenabled &&
(l
? T.doScrollBy(T.view.h)
: T.doScrollBy(-T.view.h),
(c = !0));
break;
case 27:
T.zoomactive &&
(T.doZoom(), (c = !0));
}
if (c) return T.cancelEvent(e);
}
}),
M.enablekeyboard &&
T.bind(
l,
P.isopera && !P.isopera12
? "keypress"
: "keydown",
T.onkeypress
),
T.bind(l, "keydown", function (e) {
(e.ctrlKey || !1) && (T.wheelprevented = !0);
}),
T.bind(l, "keyup", function (e) {
e.ctrlKey || !1 || (T.wheelprevented = !1);
}),
T.bind(a, "blur", function (e) {
T.wheelprevented = !1;
}),
T.bind(a, "resize", T.onscreenresize),
T.bind(a, "orientationchange", T.onscreenresize),
T.bind(a, "load", T.lazyResize),
P.ischrome && !T.ispage && !T.haswrapper)
) {
var C = T.win.attr("style"),
N = parseFloat(T.win.css("width")) + 1;
T.win.css("width", N),
T.synched("chromefix", function () {
T.win.attr("style", C);
});
}
if (
((T.onAttributeChange = function (e) {
T.lazyResize(T.isieold ? 250 : 30);
}),
M.enableobserver &&
(T.isie11 ||
!1 === m ||
((T.observerbody = new m(function (e) {
if (
(e.forEach(function (e) {
if ("attributes" == e.type)
return E.hasClass(
"modal-open"
) &&
E.hasClass(
"modal-dialog"
) &&
!n.contains(
n(
".modal-dialog"
)[0],
T.doc[0]
)
? T.hide()
: T.show();
}),
T.me.clientWidth != T.page.width ||
T.me.clientHeight !=
T.page.height)
)
return T.lazyResize(30);
})),
T.observerbody.observe(l.body, {
childList: !0,
subtree: !0,
characterData: !1,
attributes: !0,
attributeFilter: ["class"],
})),
!T.ispage && !T.haswrapper))
) {
var R = T.win[0];
!1 !== m
? ((T.observer = new m(function (e) {
e.forEach(T.onAttributeChange);
})),
T.observer.observe(R, {
childList: !0,
characterData: !1,
attributes: !0,
subtree: !1,
}),
(T.observerremover = new m(function (e) {
e.forEach(function (e) {
if (e.removedNodes.length > 0)
for (var o in e.removedNodes)
if (
T &&
e.removedNodes[o] === R
)
return T.remove();
});
})),
T.observerremover.observe(R.parentNode, {
childList: !0,
characterData: !1,
attributes: !1,
subtree: !1,
}))
: (T.bind(
R,
P.isie && !P.isie9
? "propertychange"
: "DOMAttrModified",
T.onAttributeChange
),
P.isie9 &&
R.attachEvent(
"onpropertychange",
T.onAttributeChange
),
T.bind(R, "DOMNodeRemoved", function (e) {
e.target === R && T.remove();
}));
}
!T.ispage &&
M.boxzoom &&
T.bind(a, "resize", T.resizeZoom),
T.istextarea &&
(T.bind(T.win, "keydown", T.lazyResize),
T.bind(T.win, "mouseup", T.lazyResize)),
T.lazyResize(30);
}
if ("IFRAME" == this.doc[0].nodeName) {
var _ = function () {
T.iframexd = !1;
var o;
try {
(o =
"contentDocument" in this
? this.contentDocument
: this.contentWindow._doc).domain;
} catch (e) {
(T.iframexd = !0), (o = !1);
}
if (T.iframexd)
return (
"console" in a &&
console.log(
"NiceScroll error: policy restriced iframe"
),
!0
);
if (
((T.forcescreen = !0),
T.isiframe &&
((T.iframe = {
doc: n(o),
html: T.doc.contents().find("html")[0],
body: T.doc.contents().find("body")[0],
}),
(T.getContentSize = function () {
return {
w: Math.max(
T.iframe.html.scrollWidth,
T.iframe.body.scrollWidth
),
h: Math.max(
T.iframe.html.scrollHeight,
T.iframe.body.scrollHeight
),
};
}),
(T.docscroll = n(T.iframe.body))),
!P.isios && M.iframeautoresize && !T.isiframe)
) {
T.win.scrollTop(0), T.doc.height("");
var t = Math.max(
o.getElementsByTagName("html")[0]
.scrollHeight,
o.body.scrollHeight
);
T.doc.height(t);
}
T.lazyResize(30),
T.css(n(T.iframe.body), e),
P.isios &&
T.haswrapper &&
T.css(n(o.body), {
"-webkit-transform":
"translate3d(0,0,0)",
}),
"contentWindow" in this
? T.bind(
this.contentWindow,
"scroll",
T.onscroll
)
: T.bind(o, "scroll", T.onscroll),
M.enablemousewheel &&
T.mousewheel(o, T.onmousewheel),
M.enablekeyboard &&
T.bind(
o,
P.isopera ? "keypress" : "keydown",
T.onkeypress
),
P.cantouch
? (T.bind(o, "touchstart", T.ontouchstart),
T.bind(o, "touchmove", T.ontouchmove))
: M.emulatetouch &&
(T.bind(o, "mousedown", T.ontouchstart),
T.bind(o, "mousemove", function (e) {
return T.ontouchmove(e, !0);
}),
M.grabcursorenabled &&
P.cursorgrabvalue &&
T.css(n(o.body), {
cursor: P.cursorgrabvalue,
})),
T.bind(o, "mouseup", T.ontouchend),
T.zoom &&
(M.dblclickzoom &&
T.bind(o, "dblclick", T.doZoom),
T.ongesturezoom &&
T.bind(
o,
"gestureend",
T.ongesturezoom
));
};
this.doc[0].readyState &&
"complete" === this.doc[0].readyState &&
setTimeout(function () {
_.call(T.doc[0], !1);
}, 500),
T.bind(this.doc, "load", _);
}
}),
(this.showCursor = function (e, o) {
if (
(T.cursortimeout &&
(clearTimeout(T.cursortimeout),
(T.cursortimeout = 0)),
T.rail)
) {
if (
(T.autohidedom &&
(T.autohidedom
.stop()
.css({ opacity: M.cursoropacitymax }),
(T.cursoractive = !0)),
(T.rail.drag && 1 == T.rail.drag.pt) ||
(void 0 !== e &&
!1 !== e &&
(T.scroll.y = (e / T.scrollratio.y) | 0),
void 0 !== o &&
(T.scroll.x = (o / T.scrollratio.x) | 0)),
T.cursor.css({
height: T.cursorheight,
top: T.scroll.y,
}),
T.cursorh)
) {
var t = T.hasreversehr
? T.scrollvaluemaxw - T.scroll.x
: T.scroll.x;
T.cursorh.css({
width: T.cursorwidth,
left:
!T.rail.align && T.rail.visibility
? t + T.rail.width
: t,
}),
(T.cursoractive = !0);
}
T.zoom &&
T.zoom.stop().css({ opacity: M.cursoropacitymax });
}
}),
(this.hideCursor = function (e) {
T.cursortimeout ||
(T.rail &&
T.autohidedom &&
((T.hasmousefocus && "leave" === M.autohidemode) ||
(T.cursortimeout = setTimeout(function () {
(T.rail.active && T.showonmouseevent) ||
(T.autohidedom.stop().animate({
opacity: M.cursoropacitymin,
}),
T.zoom &&
T.zoom.stop().animate({
opacity: M.cursoropacitymin,
}),
(T.cursoractive = !1)),
(T.cursortimeout = 0);
}, e || M.hidecursordelay))));
}),
(this.noticeCursor = function (e, o, t) {
T.showCursor(o, t), T.rail.active || T.hideCursor(e);
}),
(this.getContentSize = T.ispage
? function () {
return {
w: Math.max(
l.body.scrollWidth,
l.documentElement.scrollWidth
),
h: Math.max(
l.body.scrollHeight,
l.documentElement.scrollHeight
),
};
}
: T.haswrapper
? function () {
return {
w: T.doc[0].offsetWidth,
h: T.doc[0].offsetHeight,
};
}
: function () {
return {
w: T.docscroll[0].scrollWidth,
h: T.docscroll[0].scrollHeight,
};
}),
(this.onResize = function (e, o) {
if (!T || !T.win) return !1;
var t = T.page.maxh,
r = T.page.maxw,
i = T.view.h,
s = T.view.w;
if (
((T.view = {
w: T.ispage ? T.win.width() : T.win[0].clientWidth,
h: T.ispage
? T.win.height()
: T.win[0].clientHeight,
}),
(T.page = o || T.getContentSize()),
(T.page.maxh = Math.max(0, T.page.h - T.view.h)),
(T.page.maxw = Math.max(0, T.page.w - T.view.w)),
T.page.maxh == t &&
T.page.maxw == r &&
T.view.w == s &&
T.view.h == i)
) {
if (T.ispage) return T;
var n = T.win.offset();
if (T.lastposition) {
var l = T.lastposition;
if (l.top == n.top && l.left == n.left) return T;
}
T.lastposition = n;
}
return (
0 === T.page.maxh
? (T.hideRail(),
(T.scrollvaluemax = 0),
(T.scroll.y = 0),
(T.scrollratio.y = 0),
(T.cursorheight = 0),
T.setScrollTop(0),
T.rail && (T.rail.scrollable = !1))
: ((T.page.maxh -=
M.railpadding.top + M.railpadding.bottom),
(T.rail.scrollable = !0)),
0 === T.page.maxw
? (T.hideRailHr(),
(T.scrollvaluemaxw = 0),
(T.scroll.x = 0),
(T.scrollratio.x = 0),
(T.cursorwidth = 0),
T.setScrollLeft(0),
T.railh && (T.railh.scrollable = !1))
: ((T.page.maxw -=
M.railpadding.left + M.railpadding.right),
T.railh &&
(T.railh.scrollable = M.horizrailenabled)),
(T.railslocked =
T.locked ||
(0 === T.page.maxh && 0 === T.page.maxw)),
T.railslocked
? (T.ispage || T.updateScrollBar(T.view), !1)
: (T.hidden ||
(T.rail.visibility || T.showRail(),
T.railh &&
!T.railh.visibility &&
T.showRailHr()),
T.istextarea &&
T.win.css("resize") &&
"none" != T.win.css("resize") &&
(T.view.h -= 20),
(T.cursorheight = Math.min(
T.view.h,
Math.round(T.view.h * (T.view.h / T.page.h))
)),
(T.cursorheight = M.cursorfixedheight
? M.cursorfixedheight
: Math.max(
M.cursorminheight,
T.cursorheight
)),
(T.cursorwidth = Math.min(
T.view.w,
Math.round(T.view.w * (T.view.w / T.page.w))
)),
(T.cursorwidth = M.cursorfixedheight
? M.cursorfixedheight
: Math.max(M.cursorminheight, T.cursorwidth)),
(T.scrollvaluemax =
T.view.h -
T.cursorheight -
(M.railpadding.top + M.railpadding.bottom)),
T.hasborderbox ||
(T.scrollvaluemax -=
T.cursor[0].offsetHeight -
T.cursor[0].clientHeight),
T.railh &&
((T.railh.width =
T.page.maxh > 0
? T.view.w - T.rail.width
: T.view.w),
(T.scrollvaluemaxw =
T.railh.width -
T.cursorwidth -
(M.railpadding.left +
M.railpadding.right))),
T.ispage || T.updateScrollBar(T.view),
(T.scrollratio = {
x: T.page.maxw / T.scrollvaluemaxw,
y: T.page.maxh / T.scrollvaluemax,
}),
T.getScrollTop() > T.page.maxh
? T.doScrollTop(T.page.maxh)
: ((T.scroll.y =
(T.getScrollTop() / T.scrollratio.y) |
0),
(T.scroll.x =
(T.getScrollLeft() / T.scrollratio.x) |
0),
T.cursoractive && T.noticeCursor()),
T.scroll.y &&
0 === T.getScrollTop() &&
T.doScrollTo(
(T.scroll.y * T.scrollratio.y) | 0
),
T)
);
}),
(this.resize = T.onResize);
var O = 0;
(this.onscreenresize = function (e) {
clearTimeout(O);
var o = !T.ispage && !T.haswrapper;
o && T.hideRails(),
(O = setTimeout(function () {
T && (o && T.showRails(), T.resize()), (O = 0);
}, 120));
}),
(this.lazyResize = function (e) {
return (
clearTimeout(O),
(e = isNaN(e) ? 240 : e),
(O = setTimeout(function () {
T && T.resize(), (O = 0);
}, e)),
T
);
}),
(this.jqbind = function (e, o, t) {
T.events.push({ e: e, n: o, f: t, q: !0 }), n(e).on(o, t);
}),
(this.mousewheel = function (e, o, t) {
var r = "jquery" in e ? e[0] : e;
if ("onwheel" in l.createElement("div"))
T._bind(r, "wheel", o, t || !1);
else {
var i =
void 0 !== l.onmousewheel
? "mousewheel"
: "DOMMouseScroll";
S(r, i, o, t || !1),
"DOMMouseScroll" == i &&
S(r, "MozMousePixelScroll", o, t || !1);
}
});
var Y = !1;
if (P.haseventlistener) {
try {
var H = Object.defineProperty({}, "passive", {
get: function () {
Y = !0;
},
});
a.addEventListener("test", null, H);
} catch (e) {}
(this.stopPropagation = function (e) {
return (
!!e &&
((e = e.original ? e.original : e).stopPropagation(),
!1)
);
}),
(this.cancelEvent = function (e) {
return (
e.cancelable && e.preventDefault(),
e.stopImmediatePropagation(),
e.preventManipulation && e.preventManipulation(),
!1
);
});
} else
(Event.prototype.preventDefault = function () {
this.returnValue = !1;
}),
(Event.prototype.stopPropagation = function () {
this.cancelBubble = !0;
}),
(a.constructor.prototype.addEventListener =
l.constructor.prototype.addEventListener =
Element.prototype.addEventListener =
function (e, o, t) {
this.attachEvent("on" + e, o);
}),
(a.constructor.prototype.removeEventListener =
l.constructor.prototype.removeEventListener =
Element.prototype.removeEventListener =
function (e, o, t) {
this.detachEvent("on" + e, o);
}),
(this.cancelEvent = function (e) {
return (
(e = e || a.event) &&
((e.cancelBubble = !0),
(e.cancel = !0),
(e.returnValue = !1)),
!1
);
}),
(this.stopPropagation = function (e) {
return (e = e || a.event) && (e.cancelBubble = !0), !1;
});
(this.delegate = function (e, o, t, r, i) {
var s = d[o] || !1;
s ||
((s = {
a: [],
l: [],
f: function (e) {
for (
var o = s.l, t = !1, r = o.length - 1;
r >= 0;
r--
)
if (!1 === (t = o[r].call(e.target, e)))
return !1;
return t;
},
}),
T.bind(e, o, s.f, r, i),
(d[o] = s)),
T.ispage
? ((s.a = [T.id].concat(s.a)), (s.l = [t].concat(s.l)))
: (s.a.push(T.id), s.l.push(t));
}),
(this.undelegate = function (e, o, t, r, i) {
var s = d[o] || !1;
if (s && s.l)
for (var n = 0, l = s.l.length; n < l; n++)
s.a[n] === T.id &&
(s.a.splice(n),
s.l.splice(n),
0 === s.a.length &&
(T._unbind(e, o, s.l.f), (d[o] = null)));
}),
(this.bind = function (e, o, t, r, i) {
var s = "jquery" in e ? e[0] : e;
T._bind(s, o, t, r || !1, i || !1);
}),
(this._bind = function (e, o, t, r, i) {
T.events.push({ e: e, n: o, f: t, b: r, q: !1 }),
Y && i
? e.addEventListener(o, t, {
passive: !1,
capture: r,
})
: e.addEventListener(o, t, r || !1);
}),
(this._unbind = function (e, o, t, r) {
d[o]
? T.undelegate(e, o, t, r)
: e.removeEventListener(o, t, r);
}),
(this.unbindAll = function () {
for (var e = 0; e < T.events.length; e++) {
var o = T.events[e];
o.q
? o.e.unbind(o.n, o.f)
: T._unbind(o.e, o.n, o.f, o.b);
}
}),
(this.showRails = function () {
return T.showRail().showRailHr();
}),
(this.showRail = function () {
return (
0 === T.page.maxh ||
(!T.ispage && "none" == T.win.css("display")) ||
((T.rail.visibility = !0),
T.rail.css("display", "block")),
T
);
}),
(this.showRailHr = function () {
return (
T.railh &&
(0 === T.page.maxw ||
(!T.ispage && "none" == T.win.css("display")) ||
((T.railh.visibility = !0),
T.railh.css("display", "block"))),
T
);
}),
(this.hideRails = function () {
return T.hideRail().hideRailHr();
}),
(this.hideRail = function () {
return (
(T.rail.visibility = !1),
T.rail.css("display", "none"),
T
);
}),
(this.hideRailHr = function () {
return (
T.railh &&
((T.railh.visibility = !1),
T.railh.css("display", "none")),
T
);
}),
(this.show = function () {
return (T.hidden = !1), (T.railslocked = !1), T.showRails();
}),
(this.hide = function () {
return (T.hidden = !0), (T.railslocked = !0), T.hideRails();
}),
(this.toggle = function () {
return T.hidden ? T.show() : T.hide();
}),
(this.remove = function () {
T.stop(), T.cursortimeout && clearTimeout(T.cursortimeout);
for (var e in T.delaylist)
T.delaylist[e] && h(T.delaylist[e].h);
T.doZoomOut(),
T.unbindAll(),
P.isie9 &&
T.win[0].detachEvent(
"onpropertychange",
T.onAttributeChange
),
!1 !== T.observer && T.observer.disconnect(),
!1 !== T.observerremover &&
T.observerremover.disconnect(),
!1 !== T.observerbody && T.observerbody.disconnect(),
(T.events = null),
T.cursor && T.cursor.remove(),
T.cursorh && T.cursorh.remove(),
T.rail && T.rail.remove(),
T.railh && T.railh.remove(),
T.zoom && T.zoom.remove();
for (var o = 0; o < T.saved.css.length; o++) {
var t = T.saved.css[o];
t[0].css(t[1], void 0 === t[2] ? "" : t[2]);
}
(T.saved = !1), T.me.data("__nicescroll", "");
var r = n.nicescroll;
r.each(function (e) {
if (this && this.id === T.id) {
delete r[e];
for (var o = ++e; o < r.length; o++, e++)
r[e] = r[o];
--r.length && delete r[r.length];
}
});
for (var i in T) (T[i] = null), delete T[i];
T = null;
}),
(this.scrollstart = function (e) {
return (this.onscrollstart = e), T;
}),
(this.scrollend = function (e) {
return (this.onscrollend = e), T;
}),
(this.scrollcancel = function (e) {
return (this.onscrollcancel = e), T;
}),
(this.zoomin = function (e) {
return (this.onzoomin = e), T;
}),
(this.zoomout = function (e) {
return (this.onzoomout = e), T;
}),
(this.isScrollable = function (e) {
var o = e.target ? e.target : e;
if ("OPTION" == o.nodeName) return !0;
for (
;
o &&
1 == o.nodeType &&
o !== this.me[0] &&
!/^BODY|HTML/.test(o.nodeName);
) {
var t = n(o),
r =
t.css("overflowY") ||
t.css("overflowX") ||
t.css("overflow") ||
"";
if (/scroll|auto/.test(r))
return o.clientHeight != o.scrollHeight;
o = !!o.parentNode && o.parentNode;
}
return !1;
}),
(this.getViewport = function (e) {
for (
var o = !(!e || !e.parentNode) && e.parentNode;
o && 1 == o.nodeType && !/^BODY|HTML/.test(o.nodeName);
) {
var t = n(o);
if (/fixed|absolute/.test(t.css("position"))) return t;
var r =
t.css("overflowY") ||
t.css("overflowX") ||
t.css("overflow") ||
"";
if (
/scroll|auto/.test(r) &&
o.clientHeight != o.scrollHeight
)
return t;
if (t.getNiceScroll().length > 0) return t;
o = !!o.parentNode && o.parentNode;
}
return !1;
}),
(this.triggerScrollStart = function (e, o, t, r, i) {
if (T.onscrollstart) {
var s = {
type: "scrollstart",
current: { x: e, y: o },
request: { x: t, y: r },
end: { x: T.newscrollx, y: T.newscrolly },
speed: i,
};
T.onscrollstart.call(T, s);
}
}),
(this.triggerScrollEnd = function () {
if (T.onscrollend) {
var e = T.getScrollLeft(),
o = T.getScrollTop(),
t = {
type: "scrollend",
current: { x: e, y: o },
end: { x: e, y: o },
};
T.onscrollend.call(T, t);
}
});
var B = 0,
X = 0,
D = 0,
A = 1,
q = !1;
if (
((this.onmousewheel = function (e) {
if (T.wheelprevented || T.locked) return !1;
if (T.railslocked)
return T.debounced("checkunlock", T.resize, 250), !1;
if (T.rail.drag) return T.cancelEvent(e);
if (
("auto" === M.oneaxismousemode &&
0 !== e.deltaX &&
(M.oneaxismousemode = !1),
M.oneaxismousemode &&
0 === e.deltaX &&
!T.rail.scrollable)
)
return (
!T.railh ||
!T.railh.scrollable ||
T.onmousewheelhr(e)
);
var o = f(),
t = !1;
if (
(M.preservenativescrolling &&
T.checkarea + 600 < o &&
((T.nativescrollingarea = T.isScrollable(e)),
(t = !0)),
(T.checkarea = o),
T.nativescrollingarea)
)
return !0;
var r = k(e, !1, t);
return r && (T.checkarea = 0), r;
}),
(this.onmousewheelhr = function (e) {
if (!T.wheelprevented) {
if (T.railslocked || !T.railh.scrollable) return !0;
if (T.rail.drag) return T.cancelEvent(e);
var o = f(),
t = !1;
return (
M.preservenativescrolling &&
T.checkarea + 600 < o &&
((T.nativescrollingarea = T.isScrollable(e)),
(t = !0)),
(T.checkarea = o),
!!T.nativescrollingarea ||
(T.railslocked ? T.cancelEvent(e) : k(e, !0, t))
);
}
}),
(this.stop = function () {
return (
T.cancelScroll(),
T.scrollmon && T.scrollmon.stop(),
(T.cursorfreezed = !1),
(T.scroll.y = Math.round(
T.getScrollTop() * (1 / T.scrollratio.y)
)),
T.noticeCursor(),
T
);
}),
(this.getTransitionSpeed = function (e) {
return (80 + (e / 72) * M.scrollspeed) | 0;
}),
M.smoothscroll)
)
if (
T.ishwscroll &&
P.hastransition &&
M.usetransition &&
M.smoothscroll
) {
var j = "";
(this.resetTransition = function () {
(j = ""),
T.doc.css(
P.prefixstyle + "transition-duration",
"0ms"
);
}),
(this.prepareTransition = function (e, o) {
var t = o ? e : T.getTransitionSpeed(e),
r = t + "ms";
return (
j !== r &&
((j = r),
T.doc.css(
P.prefixstyle + "transition-duration",
r
)),
t
);
}),
(this.doScrollLeft = function (e, o) {
var t = T.scrollrunning
? T.newscrolly
: T.getScrollTop();
T.doScrollPos(e, t, o);
}),
(this.doScrollTop = function (e, o) {
var t = T.scrollrunning
? T.newscrollx
: T.getScrollLeft();
T.doScrollPos(t, e, o);
}),
(this.cursorupdate = {
running: !1,
start: function () {
var e = this;
if (!e.running) {
e.running = !0;
var o = function () {
e.running && u(o),
T.showCursor(
T.getScrollTop(),
T.getScrollLeft()
),
T.notifyScrollEvent(T.win[0]);
};
u(o);
}
},
stop: function () {
this.running = !1;
},
}),
(this.doScrollPos = function (e, o, t) {
var r = T.getScrollTop(),
i = T.getScrollLeft();
if (
(((T.newscrolly - r) * (o - r) < 0 ||
(T.newscrollx - i) * (e - i) < 0) &&
T.cancelScroll(),
M.bouncescroll
? (o < 0
? (o = (o / 2) | 0)
: o > T.page.maxh &&
(o =
(T.page.maxh +
(o - T.page.maxh) / 2) |
0),
e < 0
? (e = (e / 2) | 0)
: e > T.page.maxw &&
(e =
(T.page.maxw +
(e - T.page.maxw) / 2) |
0))
: (o < 0
? (o = 0)
: o > T.page.maxh &&
(o = T.page.maxh),
e < 0
? (e = 0)
: e > T.page.maxw &&
(e = T.page.maxw)),
T.scrollrunning &&
e == T.newscrollx &&
o == T.newscrolly)
)
return !1;
(T.newscrolly = o), (T.newscrollx = e);
var s = T.getScrollTop(),
n = T.getScrollLeft(),
l = {};
(l.x = e - n), (l.y = o - s);
var a = 0 | Math.sqrt(l.x * l.x + l.y * l.y),
c = T.prepareTransition(a);
T.scrollrunning ||
((T.scrollrunning = !0),
T.triggerScrollStart(n, s, e, o, c),
T.cursorupdate.start()),
(T.scrollendtrapped = !0),
P.transitionend ||
(T.scrollendtrapped &&
clearTimeout(T.scrollendtrapped),
(T.scrollendtrapped = setTimeout(
T.onScrollTransitionEnd,
c
))),
T.setScrollTop(T.newscrolly),
T.setScrollLeft(T.newscrollx);
}),
(this.cancelScroll = function () {
if (!T.scrollendtrapped) return !0;
var e = T.getScrollTop(),
o = T.getScrollLeft();
return (
(T.scrollrunning = !1),
P.transitionend ||
clearTimeout(P.transitionend),
(T.scrollendtrapped = !1),
T.resetTransition(),
T.setScrollTop(e),
T.railh && T.setScrollLeft(o),
T.timerscroll &&
T.timerscroll.tm &&
clearInterval(T.timerscroll.tm),
(T.timerscroll = !1),
(T.cursorfreezed = !1),
T.cursorupdate.stop(),
T.showCursor(e, o),
T
);
}),
(this.onScrollTransitionEnd = function () {
if (T.scrollendtrapped) {
var e = T.getScrollTop(),
o = T.getScrollLeft();
if (
(e < 0
? (e = 0)
: e > T.page.maxh && (e = T.page.maxh),
o < 0
? (o = 0)
: o > T.page.maxw && (o = T.page.maxw),
e != T.newscrolly || o != T.newscrollx)
)
return T.doScrollPos(o, e, M.snapbackspeed);
T.scrollrunning && T.triggerScrollEnd(),
(T.scrollrunning = !1),
(T.scrollendtrapped = !1),
T.resetTransition(),
(T.timerscroll = !1),
T.setScrollTop(e),
T.railh && T.setScrollLeft(o),
T.cursorupdate.stop(),
T.noticeCursor(!1, e, o),
(T.cursorfreezed = !1);
}
});
} else
(this.doScrollLeft = function (e, o) {
var t = T.scrollrunning
? T.newscrolly
: T.getScrollTop();
T.doScrollPos(e, t, o);
}),
(this.doScrollTop = function (e, o) {
var t = T.scrollrunning
? T.newscrollx
: T.getScrollLeft();
T.doScrollPos(t, e, o);
}),
(this.doScrollPos = function (e, o, t) {
var r = T.getScrollTop(),
i = T.getScrollLeft();
((T.newscrolly - r) * (o - r) < 0 ||
(T.newscrollx - i) * (e - i) < 0) &&
T.cancelScroll();
var s = !1;
if (
((T.bouncescroll && T.rail.visibility) ||
(o < 0
? ((o = 0), (s = !0))
: o > T.page.maxh &&
((o = T.page.maxh), (s = !0))),
(T.bouncescroll && T.railh.visibility) ||
(e < 0
? ((e = 0), (s = !0))
: e > T.page.maxw &&
((e = T.page.maxw), (s = !0))),
T.scrollrunning &&
T.newscrolly === o &&
T.newscrollx === e)
)
return !0;
(T.newscrolly = o),
(T.newscrollx = e),
(T.dst = {}),
(T.dst.x = e - i),
(T.dst.y = o - r),
(T.dst.px = i),
(T.dst.py = r);
var n =
0 |
Math.sqrt(
T.dst.x * T.dst.x + T.dst.y * T.dst.y
),
l = T.getTransitionSpeed(n);
T.bzscroll = {};
var a = s ? 1 : 0.58;
(T.bzscroll.x = new R(
i,
T.newscrollx,
l,
0,
0,
a,
1
)),
(T.bzscroll.y = new R(
r,
T.newscrolly,
l,
0,
0,
a,
1
));
f();
var c = function () {
if (T.scrollrunning) {
var e = T.bzscroll.y.getPos();
T.setScrollLeft(T.bzscroll.x.getNow()),
T.setScrollTop(T.bzscroll.y.getNow()),
e <= 1
? (T.timer = u(c))
: ((T.scrollrunning = !1),
(T.timer = 0),
T.triggerScrollEnd());
}
};
T.scrollrunning ||
(T.triggerScrollStart(i, r, e, o, l),
(T.scrollrunning = !0),
(T.timer = u(c)));
}),
(this.cancelScroll = function () {
return (
T.timer && h(T.timer),
(T.timer = 0),
(T.bzscroll = !1),
(T.scrollrunning = !1),
T
);
});
else
(this.doScrollLeft = function (e, o) {
var t = T.getScrollTop();
T.doScrollPos(e, t, o);
}),
(this.doScrollTop = function (e, o) {
var t = T.getScrollLeft();
T.doScrollPos(t, e, o);
}),
(this.doScrollPos = function (e, o, t) {
var r = e > T.page.maxw ? T.page.maxw : e;
r < 0 && (r = 0);
var i = o > T.page.maxh ? T.page.maxh : o;
i < 0 && (i = 0),
T.synched("scroll", function () {
T.setScrollTop(i), T.setScrollLeft(r);
});
}),
(this.cancelScroll = function () {});
(this.doScrollBy = function (e, o) {
z(0, e);
}),
(this.doScrollLeftBy = function (e, o) {
z(e, 0);
}),
(this.doScrollTo = function (e, o) {
var t = o ? Math.round(e * T.scrollratio.y) : e;
t < 0 ? (t = 0) : t > T.page.maxh && (t = T.page.maxh),
(T.cursorfreezed = !1),
T.doScrollTop(e);
}),
(this.checkContentSize = function () {
var e = T.getContentSize();
(e.h == T.page.h && e.w == T.page.w) || T.resize(!1, e);
}),
(T.onscroll = function (e) {
T.rail.drag ||
T.cursorfreezed ||
T.synched("scroll", function () {
(T.scroll.y = Math.round(
T.getScrollTop() / T.scrollratio.y
)),
T.railh &&
(T.scroll.x = Math.round(
T.getScrollLeft() / T.scrollratio.x
)),
T.noticeCursor();
});
}),
T.bind(T.docscroll, "scroll", T.onscroll),
(this.doZoomIn = function (e) {
if (!T.zoomactive) {
(T.zoomactive = !0), (T.zoomrestore = { style: {} });
var o = [
"position",
"top",
"left",
"zIndex",
"backgroundColor",
"marginTop",
"marginBottom",
"marginLeft",
"marginRight",
],
t = T.win[0].style;
for (var r in o) {
var i = o[r];
T.zoomrestore.style[i] =
void 0 !== t[i] ? t[i] : "";
}
(T.zoomrestore.style.width = T.win.css("width")),
(T.zoomrestore.style.height = T.win.css("height")),
(T.zoomrestore.padding = {
w: T.win.outerWidth() - T.win.width(),
h: T.win.outerHeight() - T.win.height(),
}),
P.isios4 &&
((T.zoomrestore.scrollTop = c.scrollTop()),
c.scrollTop(0)),
T.win.css({
position: P.isios4 ? "absolute" : "fixed",
top: 0,
left: 0,
zIndex: s + 100,
margin: 0,
});
var n = T.win.css("backgroundColor");
return (
("" === n ||
/transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(
n
)) &&
T.win.css("backgroundColor", "#fff"),
T.rail.css({ zIndex: s + 101 }),
T.zoom.css({ zIndex: s + 102 }),
T.zoom.css("backgroundPosition", "0 -18px"),
T.resizeZoom(),
T.onzoomin && T.onzoomin.call(T),
T.cancelEvent(e)
);
}
}),
(this.doZoomOut = function (e) {
if (T.zoomactive)
return (
(T.zoomactive = !1),
T.win.css("margin", ""),
T.win.css(T.zoomrestore.style),
P.isios4 && c.scrollTop(T.zoomrestore.scrollTop),
T.rail.css({ "z-index": T.zindex }),
T.zoom.css({ "z-index": T.zindex }),
(T.zoomrestore = !1),
T.zoom.css("backgroundPosition", "0 0"),
T.onResize(),
T.onzoomout && T.onzoomout.call(T),
T.cancelEvent(e)
);
}),
(this.doZoom = function (e) {
return T.zoomactive ? T.doZoomOut(e) : T.doZoomIn(e);
}),
(this.resizeZoom = function () {
if (T.zoomactive) {
var e = T.getScrollTop();
T.win.css({
width: c.width() - T.zoomrestore.padding.w + "px",
height: c.height() - T.zoomrestore.padding.h + "px",
}),
T.onResize(),
T.setScrollTop(Math.min(T.page.maxh, e));
}
}),
this.init(),
n.nicescroll.push(this);
},
y = function (e) {
var o = this;
(this.nc = e),
(this.lastx = 0),
(this.lasty = 0),
(this.speedx = 0),
(this.speedy = 0),
(this.lasttime = 0),
(this.steptime = 0),
(this.snapx = !1),
(this.snapy = !1),
(this.demulx = 0),
(this.demuly = 0),
(this.lastscrollx = -1),
(this.lastscrolly = -1),
(this.chkx = 0),
(this.chky = 0),
(this.timer = 0),
(this.reset = function (e, t) {
o.stop(),
(o.steptime = 0),
(o.lasttime = f()),
(o.speedx = 0),
(o.speedy = 0),
(o.lastx = e),
(o.lasty = t),
(o.lastscrollx = -1),
(o.lastscrolly = -1);
}),
(this.update = function (e, t) {
var r = f();
(o.steptime = r - o.lasttime), (o.lasttime = r);
var i = t - o.lasty,
s = e - o.lastx,
n = o.nc.getScrollTop() + i,
l = o.nc.getScrollLeft() + s;
(o.snapx = l < 0 || l > o.nc.page.maxw),
(o.snapy = n < 0 || n > o.nc.page.maxh),
(o.speedx = s),
(o.speedy = i),
(o.lastx = e),
(o.lasty = t);
}),
(this.stop = function () {
o.nc.unsynched("domomentum2d"),
o.timer && clearTimeout(o.timer),
(o.timer = 0),
(o.lastscrollx = -1),
(o.lastscrolly = -1);
}),
(this.doSnapy = function (e, t) {
var r = !1;
t < 0
? ((t = 0), (r = !0))
: t > o.nc.page.maxh &&
((t = o.nc.page.maxh), (r = !0)),
e < 0
? ((e = 0), (r = !0))
: e > o.nc.page.maxw &&
((e = o.nc.page.maxw), (r = !0)),
r
? o.nc.doScrollPos(e, t, o.nc.opt.snapbackspeed)
: o.nc.triggerScrollEnd();
}),
(this.doMomentum = function (e) {
var t = f(),
r = e ? t + e : o.lasttime,
i = o.nc.getScrollLeft(),
s = o.nc.getScrollTop(),
n = o.nc.page.maxh,
l = o.nc.page.maxw;
(o.speedx = l > 0 ? Math.min(60, o.speedx) : 0),
(o.speedy = n > 0 ? Math.min(60, o.speedy) : 0);
var a = r && t - r <= 60;
(s < 0 || s > n || i < 0 || i > l) && (a = !1);
var c = !(!o.speedy || !a) && o.speedy,
d = !(!o.speedx || !a) && o.speedx;
if (c || d) {
var u = Math.max(16, o.steptime);
if (u > 50) {
var h = u / 50;
(o.speedx *= h), (o.speedy *= h), (u = 50);
}
(o.demulxy = 0),
(o.lastscrollx = o.nc.getScrollLeft()),
(o.chkx = o.lastscrollx),
(o.lastscrolly = o.nc.getScrollTop()),
(o.chky = o.lastscrolly);
var p = o.lastscrollx,
m = o.lastscrolly,
g = function () {
var e = f() - t > 600 ? 0.04 : 0.02;
o.speedx &&
((p = Math.floor(
o.lastscrollx -
o.speedx * (1 - o.demulxy)
)),
(o.lastscrollx = p),
(p < 0 || p > l) && (e = 0.1)),
o.speedy &&
((m = Math.floor(
o.lastscrolly -
o.speedy * (1 - o.demulxy)
)),
(o.lastscrolly = m),
(m < 0 || m > n) && (e = 0.1)),
(o.demulxy = Math.min(1, o.demulxy + e)),
o.nc.synched("domomentum2d", function () {
if (o.speedx) {
o.nc.getScrollLeft();
(o.chkx = p), o.nc.setScrollLeft(p);
}
if (o.speedy) {
o.nc.getScrollTop();
(o.chky = m), o.nc.setScrollTop(m);
}
o.timer ||
(o.nc.hideCursor(),
o.doSnapy(p, m));
}),
o.demulxy < 1
? (o.timer = setTimeout(g, u))
: (o.stop(),
o.nc.hideCursor(),
o.doSnapy(p, m));
};
g();
} else o.doSnapy(o.nc.getScrollLeft(), o.nc.getScrollTop());
});
},
x = e.fn.scrollTop;
(e.cssHooks.pageYOffset = {
get: function (e, o, t) {
var r = n.data(e, "__nicescroll") || !1;
return r && r.ishwscroll ? r.getScrollTop() : x.call(e);
},
set: function (e, o) {
var t = n.data(e, "__nicescroll") || !1;
return (
t && t.ishwscroll ? t.setScrollTop(parseInt(o)) : x.call(e, o),
this
);
},
}),
(e.fn.scrollTop = function (e) {
if (void 0 === e) {
var o = !!this[0] && (n.data(this[0], "__nicescroll") || !1);
return o && o.ishwscroll ? o.getScrollTop() : x.call(this);
}
return this.each(function () {
var o = n.data(this, "__nicescroll") || !1;
o && o.ishwscroll
? o.setScrollTop(parseInt(e))
: x.call(n(this), e);
});
});
var S = e.fn.scrollLeft;
(n.cssHooks.pageXOffset = {
get: function (e, o, t) {
var r = n.data(e, "__nicescroll") || !1;
return r && r.ishwscroll ? r.getScrollLeft() : S.call(e);
},
set: function (e, o) {
var t = n.data(e, "__nicescroll") || !1;
return (
t && t.ishwscroll ? t.setScrollLeft(parseInt(o)) : S.call(e, o),
this
);
},
}),
(e.fn.scrollLeft = function (e) {
if (void 0 === e) {
var o = !!this[0] && (n.data(this[0], "__nicescroll") || !1);
return o && o.ishwscroll ? o.getScrollLeft() : S.call(this);
}
return this.each(function () {
var o = n.data(this, "__nicescroll") || !1;
o && o.ishwscroll
? o.setScrollLeft(parseInt(e))
: S.call(n(this), e);
});
});
var z = function (e) {
var o = this;
if (
((this.length = 0),
(this.name = "nicescrollarray"),
(this.each = function (e) {
return n.each(o, e), o;
}),
(this.push = function (e) {
(o[o.length] = e), o.length++;
}),
(this.eq = function (e) {
return o[e];
}),
e)
)
for (var t = 0; t < e.length; t++) {
var r = n.data(e[t], "__nicescroll") || !1;
r && ((this[this.length] = r), this.length++);
}
return this;
};
!(function (e, o, t) {
for (var r = 0, i = o.length; r < i; r++) t(e, o[r]);
})(
z.prototype,
[
"show",
"hide",
"toggle",
"onResize",
"resize",
"remove",
"stop",
"doScrollPos",
],
function (e, o) {
e[o] = function () {
var e = arguments;
return this.each(function () {
this[o].apply(this, e);
});
};
}
),
(e.fn.getNiceScroll = function (e) {
return void 0 === e
? new z(this)
: (this[e] && n.data(this[e], "__nicescroll")) || !1;
}),
((e.expr.pseudos || e.expr[":"]).nicescroll = function (e) {
return void 0 !== n.data(e, "__nicescroll");
}),
(n.fn.niceScroll = function (e, o) {
void 0 !== o ||
"object" != typeof e ||
"jquery" in e ||
((o = e), (e = !1));
var t = new z();
return (
this.each(function () {
var r = n(this),
i = n.extend({}, o);
if (e) {
var s = n(e);
(i.doc = s.length > 1 ? n(e, r) : s), (i.win = r);
}
!("doc" in i) || "win" in i || (i.win = r);
var l = r.data("__nicescroll") || !1;
l ||
((i.doc = i.doc || r),
(l = new b(i, r)),
r.data("__nicescroll", l)),
t.push(l);
}),
1 === t.length ? t[0] : t
);
}),
(a.NiceScroll = {
getjQuery: function () {
return e;
},
}),
n.nicescroll || ((n.nicescroll = new z()), (n.nicescroll.options = g));
});