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