| Current Path : /home/digilove/public_html/modules/mod_sj_minicart_pro/assets/js/ |
| Current File : /home/digilove/public_html/modules/mod_sj_minicart_pro/assets/js/jquery.jscrollpane.min.js |
/*
* jScrollPane - v2.0.0beta12 - 2012-09-27
* http://jscrollpane.kelvinluck.com/
*
* Copyright (c) 2010 Kelvin Luck
* Dual licensed under the MIT or GPL licenses.
*/
(function (b, a, c) {
b.fn.jScrollPane = function (e) {
function d(D, O) {
var ay, Q = this, Y, aj, v, al, T, Z, y, q, az, aE, au, i, I, h, j, aa, U, ap, X, t, A, aq, af, am, G, l, at, ax, x, av, aH, f, L, ai = true, P = true, aG = false, k = false, ao = D.clone(false, false).empty(), ac = b.fn.mwheelIntent ? "mwheelIntent.jsp" : "mousewheel.jsp";
aH = D.css("paddingTop") + " " + D.css("paddingRight") + " " + D.css("paddingBottom") + " " + D.css("paddingLeft");
f = (parseInt(D.css("paddingLeft"), 10) || 0) + (parseInt(D.css("paddingRight"), 10) || 0);
function ar(aQ) {
var aL, aN, aM, aJ, aI, aP, aO = false, aK = false;
ay = aQ;
if (Y === c) {
aI = D.scrollTop();
aP = D.scrollLeft();
D.css({overflow: "hidden", padding: 0});
aj = D.innerWidth() + f;
v = D.innerHeight();
D.width(aj);
Y = b('<div class="jspPane" />').css("padding", aH).append(D.children());
al = b('<div class="jspContainer" />').css({width: aj + "px", height: v + "px"}).append(Y).appendTo(D)
} else {
D.css("width", "");
aO = ay.stickToBottom && K();
aK = ay.stickToRight && B();
aJ = D.innerWidth() + f != aj || D.outerHeight() != v;
if (aJ) {
aj = D.innerWidth() + f;
v = D.innerHeight();
al.css({width: aj + "px", height: v + "px"})
}
if (!aJ && L == T && Y.outerHeight() == Z) {
D.width(aj);
return
}
L = T;
Y.css("width", "");
D.width(aj);
al.find(">.jspVerticalBar,>.jspHorizontalBar").remove().end()
}
Y.css("overflow", "auto");
if (aQ.contentWidth) {
T = aQ.contentWidth
} else {
T = Y[0].scrollWidth
}
Z = Y[0].scrollHeight;
Y.css("overflow", "");
y = T / aj;
q = Z / v;
az = q > 1;
aE = y > 1;
if (!(aE || az)) {
D.removeClass("jspScrollable");
Y.css({top: 0, width: al.width() - f});
n();
E();
R();
w()
} else {
D.addClass("jspScrollable");
aL = ay.maintainPosition && (I || aa);
if (aL) {
aN = aC();
aM = aA()
}
aF();
z();
F();
if (aL) {
N(aK ? (T - aj) : aN, false);
M(aO ? (Z - v) : aM, false)
}
J();
ag();
an();
if (ay.enableKeyboardNavigation) {
S()
}
if (ay.clickOnTrack) {
p()
}
C();
if (ay.hijackInternalLinks) {
m()
}
}
if (ay.autoReinitialise && !av) {
av = setInterval(function () {
ar(ay)
}, ay.autoReinitialiseDelay)
} else {
if (!ay.autoReinitialise && av) {
clearInterval(av)
}
}
aI && D.scrollTop(0) && M(aI, false);
aP && D.scrollLeft(0) && N(aP, false);
D.trigger("jsp-initialised", [aE || az])
}
function aF() {
if (az) {
al.append(b('<div class="jspVerticalBar" />').append(b('<div class="jspCap jspCapTop" />'), b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragTop" />'), b('<div class="jspDragBottom" />'))), b('<div class="jspCap jspCapBottom" />')));
U = al.find(">.jspVerticalBar");
ap = U.find(">.jspTrack");
au = ap.find(">.jspDrag");
if (ay.showArrows) {
aq = b('<a class="jspArrow jspArrowUp" />').bind("mousedown.jsp", aD(0, -1)).bind("click.jsp", aB);
af = b('<a class="jspArrow jspArrowDown" />').bind("mousedown.jsp", aD(0, 1)).bind("click.jsp", aB);
if (ay.arrowScrollOnHover) {
aq.bind("mouseover.jsp", aD(0, -1, aq));
af.bind("mouseover.jsp", aD(0, 1, af))
}
ak(ap, ay.verticalArrowPositions, aq, af)
}
t = v;
al.find(">.jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow").each(function () {
t -= b(this).outerHeight()
});
au.hover(function () {
au.addClass("jspHover")
}, function () {
au.removeClass("jspHover")
}).bind("mousedown.jsp", function (aI) {
b("html").bind("dragstart.jsp selectstart.jsp", aB);
au.addClass("jspActive");
var s = aI.pageY - au.position().top;
b("html").bind("mousemove.jsp", function (aJ) {
V(aJ.pageY - s, false)
}).bind("mouseup.jsp mouseleave.jsp", aw);
return false
});
o()
}
}
function o() {
ap.height(t + "px");
I = 0;
X = ay.verticalGutter + ap.outerWidth();
Y.width(aj - X - f);
try {
if (U.position().left === 0) {
Y.css("margin-left", X + "px")
}
} catch (s) {
}
}
function z() {
if (aE) {
al.append(b('<div class="jspHorizontalBar" />').append(b('<div class="jspCap jspCapLeft" />'), b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragLeft" />'), b('<div class="jspDragRight" />'))), b('<div class="jspCap jspCapRight" />')));
am = al.find(">.jspHorizontalBar");
G = am.find(">.jspTrack");
h = G.find(">.jspDrag");
if (ay.showArrows) {
ax = b('<a class="jspArrow jspArrowLeft" />').bind("mousedown.jsp", aD(-1, 0)).bind("click.jsp", aB);
x = b('<a class="jspArrow jspArrowRight" />').bind("mousedown.jsp", aD(1, 0)).bind("click.jsp", aB);
if (ay.arrowScrollOnHover) {
ax.bind("mouseover.jsp", aD(-1, 0, ax));
x.bind("mouseover.jsp", aD(1, 0, x))
}
ak(G, ay.horizontalArrowPositions, ax, x)
}
h.hover(function () {
h.addClass("jspHover")
}, function () {
h.removeClass("jspHover")
}).bind("mousedown.jsp", function (aI) {
b("html").bind("dragstart.jsp selectstart.jsp", aB);
h.addClass("jspActive");
var s = aI.pageX - h.position().left;
b("html").bind("mousemove.jsp", function (aJ) {
W(aJ.pageX - s, false)
}).bind("mouseup.jsp mouseleave.jsp", aw);
return false
});
l = al.innerWidth();
ah()
}
}
function ah() {
al.find(">.jspHorizontalBar>.jspCap:visible,>.jspHorizontalBar>.jspArrow").each(function () {
l -= b(this).outerWidth()
});
G.width(l + "px");
aa = 0
}
function F() {
if (aE && az) {
var aI = G.outerHeight(), s = ap.outerWidth();
t -= aI;
b(am).find(">.jspCap:visible,>.jspArrow").each(function () {
l += b(this).outerWidth()
});
l -= s;
v -= s;
aj -= aI;
G.parent().append(b('<div class="jspCorner" />').css("width", aI + "px"));
o();
ah()
}
if (aE) {
Y.width((al.outerWidth() - f) + "px")
}
Z = Y.outerHeight();
q = Z / v;
if (aE) {
at = Math.ceil(1 / y * l);
if (at > ay.horizontalDragMaxWidth) {
at = ay.horizontalDragMaxWidth
} else {
if (at < ay.horizontalDragMinWidth) {
at = ay.horizontalDragMinWidth
}
}
h.width(at + "px");
j = l - at;
ae(aa)
}
if (az) {
A = Math.ceil(1 / q * t);
if (A > ay.verticalDragMaxHeight) {
A = ay.verticalDragMaxHeight
} else {
if (A < ay.verticalDragMinHeight) {
A = ay.verticalDragMinHeight
}
}
au.height(A + "px");
i = t - A;
ad(I)
}
}
function ak(aJ, aL, aI, s) {
var aN = "before", aK = "after", aM;
if (aL == "os") {
aL = /Mac/.test(navigator.platform) ? "after" : "split"
}
if (aL == aN) {
aK = aL
} else {
if (aL == aK) {
aN = aL;
aM = aI;
aI = s;
s = aM
}
}
aJ[aN](aI)[aK](s)
}
function aD(aI, s, aJ) {
return function () {
H(aI, s, this, aJ);
this.blur();
return false
}
}
function H(aL, aK, aO, aN) {
aO = b(aO).addClass("jspActive");
var aM, aJ, aI = true, s = function () {
if (aL !== 0) {
Q.scrollByX(aL * ay.arrowButtonSpeed)
}
if (aK !== 0) {
Q.scrollByY(aK * ay.arrowButtonSpeed)
}
aJ = setTimeout(s, aI ? ay.initialDelay : ay.arrowRepeatFreq);
aI = false
};
s();
aM = aN ? "mouseout.jsp" : "mouseup.jsp";
aN = aN || b("html");
aN.bind(aM, function () {
aO.removeClass("jspActive");
aJ && clearTimeout(aJ);
aJ = null;
aN.unbind(aM)
})
}
function p() {
w();
if (az) {
ap.bind("mousedown.jsp", function (aN) {
if (aN.originalTarget === c || aN.originalTarget == aN.currentTarget) {
var aL = b(this), aO = aL.offset(), aM = aN.pageY - aO.top - I, aJ, aI = true, s = function () {
var aR = aL.offset(), aS = aN.pageY - aR.top - A / 2, aP = v * ay.scrollPagePercent, aQ = i * aP / (Z - v);
if (aM < 0) {
if (I - aQ > aS) {
Q.scrollByY(-aP)
} else {
V(aS)
}
} else {
if (aM > 0) {
if (I + aQ < aS) {
Q.scrollByY(aP)
} else {
V(aS)
}
} else {
aK();
return
}
}
aJ = setTimeout(s, aI ? ay.initialDelay : ay.trackClickRepeatFreq);
aI = false
}, aK = function () {
aJ && clearTimeout(aJ);
aJ = null;
b(document).unbind("mouseup.jsp", aK)
};
s();
b(document).bind("mouseup.jsp", aK);
return false
}
})
}
if (aE) {
G.bind("mousedown.jsp", function (aN) {
if (aN.originalTarget === c || aN.originalTarget == aN.currentTarget) {
var aL = b(this), aO = aL.offset(), aM = aN.pageX - aO.left - aa, aJ, aI = true, s = function () {
var aR = aL.offset(), aS = aN.pageX - aR.left - at / 2, aP = aj * ay.scrollPagePercent, aQ = j * aP / (T - aj);
if (aM < 0) {
if (aa - aQ > aS) {
Q.scrollByX(-aP)
} else {
W(aS)
}
} else {
if (aM > 0) {
if (aa + aQ < aS) {
Q.scrollByX(aP)
} else {
W(aS)
}
} else {
aK();
return
}
}
aJ = setTimeout(s, aI ? ay.initialDelay : ay.trackClickRepeatFreq);
aI = false
}, aK = function () {
aJ && clearTimeout(aJ);
aJ = null;
b(document).unbind("mouseup.jsp", aK)
};
s();
b(document).bind("mouseup.jsp", aK);
return false
}
})
}
}
function w() {
if (G) {
G.unbind("mousedown.jsp")
}
if (ap) {
ap.unbind("mousedown.jsp")
}
}
function aw() {
b("html").unbind("dragstart.jsp selectstart.jsp mousemove.jsp mouseup.jsp mouseleave.jsp");
if (au) {
au.removeClass("jspActive")
}
if (h) {
h.removeClass("jspActive")
}
}
function V(s, aI) {
if (!az) {
return
}
if (s < 0) {
s = 0
} else {
if (s > i) {
s = i
}
}
if (aI === c) {
aI = ay.animateScroll
}
if (aI) {
Q.animate(au, "top", s, ad)
} else {
au.css("top", s);
ad(s)
}
}
function ad(aI) {
if (aI === c) {
aI = au.position().top
}
al.scrollTop(0);
I = aI;
var aL = I === 0, aJ = I == i, aK = aI / i, s = -aK * (Z - v);
if (ai != aL || aG != aJ) {
ai = aL;
aG = aJ;
D.trigger("jsp-arrow-change", [ai, aG, P, k])
}
u(aL, aJ);
Y.css("top", s);
D.trigger("jsp-scroll-y", [-s, aL, aJ]).trigger("scroll")
}
function W(aI, s) {
if (!aE) {
return
}
if (aI < 0) {
aI = 0
} else {
if (aI > j) {
aI = j
}
}
if (s === c) {
s = ay.animateScroll
}
if (s) {
Q.animate(h, "left", aI, ae)
} else {
h.css("left", aI);
ae(aI)
}
}
function ae(aI) {
if (aI === c) {
aI = h.position().left
}
al.scrollTop(0);
aa = aI;
var aL = aa === 0, aK = aa == j, aJ = aI / j, s = -aJ * (T - aj);
if (P != aL || k != aK) {
P = aL;
k = aK;
D.trigger("jsp-arrow-change", [ai, aG, P, k])
}
r(aL, aK);
Y.css("left", s);
D.trigger("jsp-scroll-x", [-s, aL, aK]).trigger("scroll")
}
function u(aI, s) {
if (ay.showArrows) {
aq[aI ? "addClass" : "removeClass"]("jspDisabled");
af[s ? "addClass" : "removeClass"]("jspDisabled")
}
}
function r(aI, s) {
if (ay.showArrows) {
ax[aI ? "addClass" : "removeClass"]("jspDisabled");
x[s ? "addClass" : "removeClass"]("jspDisabled")
}
}
function M(s, aI) {
var aJ = s / (Z - v);
V(aJ * i, aI)
}
function N(aI, s) {
var aJ = aI / (T - aj);
W(aJ * j, s)
}
function ab(aV, aQ, aJ) {
var aN, aK, aL, s = 0, aU = 0, aI, aP, aO, aS, aR, aT;
try {
aN = b(aV)
} catch (aM) {
return
}
aK = aN.outerHeight();
aL = aN.outerWidth();
al.scrollTop(0);
al.scrollLeft(0);
while (!aN.is(".jspPane")) {
s += aN.position().top;
aU += aN.position().left;
aN = aN.offsetParent();
if (/^body|html$/i.test(aN[0].nodeName)) {
return
}
}
aI = aA();
aO = aI + v;
if (s < aI || aQ) {
aR = s - ay.verticalGutter
} else {
if (s + aK > aO) {
aR = s - v + aK + ay.verticalGutter
}
}
if (aR) {
M(aR, aJ)
}
aP = aC();
aS = aP + aj;
if (aU < aP || aQ) {
aT = aU - ay.horizontalGutter
} else {
if (aU + aL > aS) {
aT = aU - aj + aL + ay.horizontalGutter
}
}
if (aT) {
N(aT, aJ)
}
}
function aC() {
return -Y.position().left
}
function aA() {
return -Y.position().top
}
function K() {
var s = Z - v;
return (s > 20) && (s - aA() < 10)
}
function B() {
var s = T - aj;
return (s > 20) && (s - aC() < 10)
}
function ag() {
al.unbind(ac).bind(ac, function (aL, aM, aK, aI) {
var aJ = aa, s = I;
Q.scrollBy(aK * ay.mouseWheelSpeed, -aI * ay.mouseWheelSpeed, false);
return aJ == aa && s == I
})
}
function n() {
al.unbind(ac)
}
function aB() {
return false
}
function J() {
Y.find(":input,a").unbind("focus.jsp").bind("focus.jsp", function (s) {
ab(s.target, false)
})
}
function E() {
Y.find(":input,a").unbind("focus.jsp")
}
function S() {
var s, aI, aK = [];
aE && aK.push(am[0]);
az && aK.push(U[0]);
Y.focus(function () {
D.focus()
});
D.attr("tabindex", 0).unbind("keydown.jsp keypress.jsp").bind("keydown.jsp", function (aN) {
if (aN.target !== this && !(aK.length && b(aN.target).closest(aK).length)) {
return
}
var aM = aa, aL = I;
switch (aN.keyCode) {
case 40:
case 38:
case 34:
case 32:
case 33:
case 39:
case 37:
s = aN.keyCode;
aJ();
break;
case 35:
M(Z - v);
s = null;
break;
case 36:
M(0);
s = null;
break
}
aI = aN.keyCode == s && aM != aa || aL != I;
return !aI
}).bind("keypress.jsp", function (aL) {
if (aL.keyCode == s) {
aJ()
}
return !aI
});
if (ay.hideFocus) {
D.css("outline", "none");
if ("hideFocus" in al[0]) {
D.attr("hideFocus", true)
}
} else {
D.css("outline", "");
if ("hideFocus" in al[0]) {
D.attr("hideFocus", false)
}
}
function aJ() {
var aM = aa, aL = I;
switch (s) {
case 40:
Q.scrollByY(ay.keyboardSpeed, false);
break;
case 38:
Q.scrollByY(-ay.keyboardSpeed, false);
break;
case 34:
case 32:
Q.scrollByY(v * ay.scrollPagePercent, false);
break;
case 33:
Q.scrollByY(-v * ay.scrollPagePercent, false);
break;
case 39:
Q.scrollByX(ay.keyboardSpeed, false);
break;
case 37:
Q.scrollByX(-ay.keyboardSpeed, false);
break
}
aI = aM != aa || aL != I;
return aI
}
}
function R() {
D.attr("tabindex", "-1").removeAttr("tabindex").unbind("keydown.jsp keypress.jsp")
}
function C() {
if (location.hash && location.hash.length > 1) {
var aK, aI, aJ = escape(location.hash.substr(1));
try {
aK = b("#" + aJ + ', a[name="' + aJ + '"]')
} catch (s) {
return
}
if (aK.length && Y.find(aJ)) {
if (al.scrollTop() === 0) {
aI = setInterval(function () {
if (al.scrollTop() > 0) {
ab(aK, true);
b(document).scrollTop(al.position().top);
clearInterval(aI)
}
}, 50)
} else {
ab(aK, true);
b(document).scrollTop(al.position().top)
}
}
}
}
function m() {
if (b(document.body).data("jspHijack")) {
return
}
b(document.body).data("jspHijack", true);
b(document.body).delegate("a[href*=#]", "click", function (s) {
var aI = this.href.substr(0, this.href.indexOf("#")), aK = location.href, aO, aP, aJ, aM, aL, aN;
if (location.href.indexOf("#") !== -1) {
aK = location.href.substr(0, location.href.indexOf("#"))
}
if (aI !== aK) {
return
}
aO = escape(this.href.substr(this.href.indexOf("#") + 1));
aP;
try {
aP = b("#" + aO + ', a[name="' + aO + '"]')
} catch (aQ) {
return
}
if (!aP.length) {
return
}
aJ = aP.closest(".jspScrollable");
aM = aJ.data("jsp");
aM.scrollToElement(aP, true);
if (aJ[0].scrollIntoView) {
aL = b(a).scrollTop();
aN = aP.offset().top;
if (aN < aL || aN > aL + b(a).height()) {
aJ[0].scrollIntoView()
}
}
s.preventDefault()
})
}
function an() {
var aJ, aI, aL, aK, aM, s = false;
al.unbind("touchstart.jsp touchmove.jsp touchend.jsp click.jsp-touchclick").bind("touchstart.jsp", function (aN) {
var aO = aN.originalEvent.touches[0];
aJ = aC();
aI = aA();
aL = aO.pageX;
aK = aO.pageY;
aM = false;
s = true
}).bind("touchmove.jsp", function (aQ) {
if (!s) {
return
}
var aP = aQ.originalEvent.touches[0], aO = aa, aN = I;
Q.scrollTo(aJ + aL - aP.pageX, aI + aK - aP.pageY);
aM = aM || Math.abs(aL - aP.pageX) > 5 || Math.abs(aK - aP.pageY) > 5;
return aO == aa && aN == I
}).bind("touchend.jsp", function (aN) {
s = false
}).bind("click.jsp-touchclick", function (aN) {
if (aM) {
aM = false;
return false
}
})
}
function g() {
var s = aA(), aI = aC();
D.removeClass("jspScrollable").unbind(".jsp");
D.replaceWith(ao.append(Y.children()));
ao.scrollTop(s);
ao.scrollLeft(aI);
if (av) {
clearInterval(av)
}
}
b.extend(Q, {
reinitialise: function (aI) {
aI = b.extend({}, ay, aI);
ar(aI)
}, scrollToElement: function (aJ, aI, s) {
ab(aJ, aI, s)
}, scrollTo: function (aJ, s, aI) {
N(aJ, aI);
M(s, aI)
}, scrollToX: function (aI, s) {
N(aI, s)
}, scrollToY: function (s, aI) {
M(s, aI)
}, scrollToPercentX: function (aI, s) {
N(aI * (T - aj), s)
}, scrollToPercentY: function (aI, s) {
M(aI * (Z - v), s)
}, scrollBy: function (aI, s, aJ) {
Q.scrollByX(aI, aJ);
Q.scrollByY(s, aJ)
}, scrollByX: function (s, aJ) {
var aI = aC() + Math[s < 0 ? "floor" : "ceil"](s), aK = aI / (T - aj);
W(aK * j, aJ)
}, scrollByY: function (s, aJ) {
var aI = aA() + Math[s < 0 ? "floor" : "ceil"](s), aK = aI / (Z - v);
V(aK * i, aJ)
}, positionDragX: function (s, aI) {
W(s, aI)
}, positionDragY: function (aI, s) {
V(aI, s)
}, animate: function (aI, aL, s, aK) {
var aJ = {};
aJ[aL] = s;
aI.animate(aJ, {duration: ay.animateDuration, easing: ay.animateEase, queue: false, step: aK})
}, getContentPositionX: function () {
return aC()
}, getContentPositionY: function () {
return aA()
}, getContentWidth: function () {
return T
}, getContentHeight: function () {
return Z
}, getPercentScrolledX: function () {
return aC() / (T - aj)
}, getPercentScrolledY: function () {
return aA() / (Z - v)
}, getIsScrollableH: function () {
return aE
}, getIsScrollableV: function () {
return az
}, getContentPane: function () {
return Y
}, scrollToBottom: function (s) {
V(i, s)
}, hijackInternalLinks: b.noop, destroy: function () {
g()
}
});
ar(O)
}
e = b.extend({}, b.fn.jScrollPane.defaults, e);
b.each(["mouseWheelSpeed", "arrowButtonSpeed", "trackClickSpeed", "keyboardSpeed"], function () {
e[this] = e[this] || e.speed
});
return this.each(function () {
var f = b(this), g = f.data("jsp");
if (g) {
g.reinitialise(e)
} else {
b("script", f).filter('[type="text/javascript"],:not([type])').remove();
g = new d(f, e);
f.data("jsp", g)
}
})
};
b.fn.jScrollPane.defaults = {
showArrows: false,
maintainPosition: true,
stickToBottom: false,
stickToRight: false,
clickOnTrack: true,
autoReinitialise: false,
autoReinitialiseDelay: 500,
verticalDragMinHeight: 0,
verticalDragMaxHeight: 99999,
horizontalDragMinWidth: 0,
horizontalDragMaxWidth: 99999,
contentWidth: c,
animateScroll: false,
animateDuration: 300,
animateEase: "linear",
hijackInternalLinks: false,
verticalGutter: 4,
horizontalGutter: 4,
mouseWheelSpeed: 0,
arrowButtonSpeed: 0,
arrowRepeatFreq: 50,
arrowScrollOnHover: false,
trackClickSpeed: 0,
trackClickRepeatFreq: 70,
verticalArrowPositions: "split",
horizontalArrowPositions: "split",
enableKeyboardNavigation: true,
hideFocus: false,
keyboardSpeed: 0,
initialDelay: 300,
speed: 30,
scrollPagePercent: 0.8
}
})(jQuery, this);