(function(n,t,i){n.fn.jScrollPane=function(r){function u(r,u){function li(t){var u,d,g,c,p,w,nt=!1,tt=!1;if(f=t,o===i)p=r.scrollTop(),w=r.scrollLeft(),r.css({overflow:"hidden",padding:0}),h=r.innerWidth()+ht,s=r.innerHeight(),r.width(h),o=n('<div class="jspPane" />').css("padding",yi).append(r.children()),e=n('<div class="jspContainer" />').css({width:h+"px",height:s+"px"}).append(o).appendTo(r);else{if(r.css("width",""),nt=f.stickToBottom&&or(),tt=f.stickToRight&&sr(),c=r.innerWidth()+ht!=h||r.outerHeight()!=s,c&&(h=r.innerWidth()+ht,s=r.innerHeight(),e.css({width:h+"px",height:s+"px"})),!c&&pi==y&&o.outerHeight()==v){r.width(h);return}pi=y;o.css("width","");r.width(h);e.find(">.jspVerticalBar,>.jspHorizontalBar").remove().end()}o.css("overflow","auto");y=t.contentWidth?t.contentWidth:o[0].scrollWidth;v=o[0].scrollHeight;o.css("overflow","");oi=y/h;gt=v/s;k=gt>1;b=oi>1;b||k?(r.addClass("jspScrollable"),u=f.maintainPosition&&(l||a),u&&(d=et(),g=ot()),nr(),tr(),ir(),u&&(yt(tt?y-h:d,!1),ft(nt?v-s:g,!1)),lr(),hr(),br(),f.enableKeyboardNavigation&&vr(),f.clickOnTrack&&ur(),pr(),f.hijackInternalLinks&&wr()):(r.removeClass("jspScrollable"),o.css({top:0,width:e.width()-ht}),cr(),ar(),yr(),di());f.autoReinitialise&&!at?at=setInterval(function(){li(f)},f.autoReinitialiseDelay):!f.autoReinitialise&&at&&clearInterval(at);p&&r.scrollTop(0)&&ft(p,!1);w&&r.scrollLeft(0)&&yt(w,!1);r.trigger("jsp-initialised",[b||k])}function nr(){k&&(e.append(n('<div class="jspVerticalBar" />').append(n('<div class="jspCap jspCapTop" />'),n('<div class="jspTrack" />').append(n('<div class="jspDrag" />').append(n('<div class="jspDragTop" />'),n('<div class="jspDragBottom" />'))),n('<div class="jspCap jspCapBottom" />'))),ni=e.find(">.jspVerticalBar"),g=ni.find(">.jspTrack"),p=g.find(">.jspDrag"),f.showArrows&&(wt=n('<a class="jspArrow jspArrowUp" />').bind("mousedown.jsp",ut(0,-1)).bind("click.jsp",pt),bt=n('<a class="jspArrow jspArrowDown" />').bind("mousedown.jsp",ut(0,1)).bind("click.jsp",pt),f.arrowScrollOnHover&&(wt.bind("mouseover.jsp",ut(0,-1,wt)),bt.bind("mouseover.jsp",ut(0,1,bt))),ki(g,f.verticalArrowPositions,wt,bt)),lt=s,e.find(">.jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow").each(function(){lt-=n(this).outerHeight()}),p.hover(function(){p.addClass("jspHover")},function(){p.removeClass("jspHover")}).bind("mousedown.jsp",function(t){n("html").bind("dragstart.jsp selectstart.jsp",pt);p.addClass("jspActive");var i=t.pageY-p.position().top;return n("html").bind("mousemove.jsp",function(n){ct(n.pageY-i,!1)}).bind("mouseup.jsp mouseleave.jsp",gi),!1}),wi())}function wi(){g.height(lt+"px");l=0;si=f.verticalGutter+g.outerWidth();o.width(h-si-ht);try{ni.position().left===0&&o.css("margin-left",si+"px")}catch(n){}}function tr(){b&&(e.append(n('<div class="jspHorizontalBar" />').append(n('<div class="jspCap jspCapLeft" />'),n('<div class="jspTrack" />').append(n('<div class="jspDrag" />').append(n('<div class="jspDragLeft" />'),n('<div class="jspDragRight" />'))),n('<div class="jspCap jspCapRight" />'))),ti=e.find(">.jspHorizontalBar"),nt=ti.find(">.jspTrack"),w=nt.find(">.jspDrag"),f.showArrows&&(kt=n('<a class="jspArrow jspArrowLeft" />').bind("mousedown.jsp",ut(-1,0)).bind("click.jsp",pt),dt=n('<a class="jspArrow jspArrowRight" />').bind("mousedown.jsp",ut(1,0)).bind("click.jsp",pt),f.arrowScrollOnHover&&(kt.bind("mouseover.jsp",ut(-1,0,kt)),dt.bind("mouseover.jsp",ut(1,0,dt))),ki(nt,f.horizontalArrowPositions,kt,dt)),w.hover(function(){w.addClass("jspHover")},function(){w.removeClass("jspHover")}).bind("mousedown.jsp",function(t){n("html").bind("dragstart.jsp selectstart.jsp",pt);w.addClass("jspActive");var i=t.pageX-w.position().left;return n("html").bind("mousemove.jsp",function(n){vt(n.pageX-i,!1)}).bind("mouseup.jsp mouseleave.jsp",gi),!1}),st=e.innerWidth(),bi())}function bi(){e.find(">.jspHorizontalBar>.jspCap:visible,>.jspHorizontalBar>.jspArrow").each(function(){st-=n(this).outerWidth()});nt.width(st+"px");a=0}function ir(){if(b&&k){var t=nt.outerHeight(),i=g.outerWidth();lt-=t;n(ti).find(">.jspCap:visible,>.jspArrow").each(function(){st+=n(this).outerWidth()});st-=i;s-=i;h-=t;nt.parent().append(n('<div class="jspCorner" />').css("width",t+"px"));wi();bi()}b&&o.width(e.outerWidth()-ht+"px");v=o.outerHeight();gt=v/s;b&&(rt=Math.ceil(1/oi*st),rt>f.horizontalDragMaxWidth?rt=f.horizontalDragMaxWidth:rt<f.horizontalDragMinWidth&&(rt=f.horizontalDragMinWidth),w.width(rt+"px"),tt=st-rt,vi(a));k&&(it=Math.ceil(1/gt*lt),it>f.verticalDragMaxHeight?it=f.verticalDragMaxHeight:it<f.verticalDragMinHeight&&(it=f.verticalDragMinHeight),p.height(it+"px"),d=lt-it,ai(l))}function ki(n,t,i,r){var u="before",f="after",e;t=="os"&&(t=/Mac/.test(navigator.platform)?"after":"split");t==u?f=t:t==f&&(u=t,e=i,i=r,r=e);n[u](i)[f](r)}function ut(n,t,i){return function(){return rr(n,t,this,i),this.blur(),!1}}function rr(t,i,r,u){r=n(r).addClass("jspActive");var o,e,s=!0,h=function(){t!==0&&c.scrollByX(t*f.arrowButtonSpeed);i!==0&&c.scrollByY(i*f.arrowButtonSpeed);e=setTimeout(h,s?f.initialDelay:f.arrowRepeatFreq);s=!1};h();o=u?"mouseout.jsp":"mouseup.jsp";u=u||n("html");u.bind(o,function(){r.removeClass("jspActive");e&&clearTimeout(e);e=null;u.unbind(o)})}function ur(){di();k&&g.bind("mousedown.jsp",function(t){if(t.originalTarget===i||t.originalTarget==t.currentTarget){var e=n(this),y=e.offset(),o=t.pageY-y.top-l,r,h=!0,a=function(){var p=e.offset(),n=t.pageY-p.top-it/2,i=s*f.scrollPagePercent,y=d*i/(v-s);if(o<0)l-y>n?c.scrollByY(-i):ct(n);else if(o>0)l+y<n?c.scrollByY(i):ct(n);else{u();return}r=setTimeout(a,h?f.initialDelay:f.trackClickRepeatFreq);h=!1},u=function(){r&&clearTimeout(r);r=null;n(document).unbind("mouseup.jsp",u)};return a(),n(document).bind("mouseup.jsp",u),!1}});b&&nt.bind("mousedown.jsp",function(t){if(t.originalTarget===i||t.originalTarget==t.currentTarget){var e=n(this),v=e.offset(),o=t.pageX-v.left-a,r,s=!0,l=function(){var p=e.offset(),n=t.pageX-p.left-rt/2,i=h*f.scrollPagePercent,v=tt*i/(y-h);if(o<0)a-v>n?c.scrollByX(-i):vt(n);else if(o>0)a+v<n?c.scrollByX(i):vt(n);else{u();return}r=setTimeout(l,s?f.initialDelay:f.trackClickRepeatFreq);s=!1},u=function(){r&&clearTimeout(r);r=null;n(document).unbind("mouseup.jsp",u)};return l(),n(document).bind("mouseup.jsp",u),!1}})}function di(){nt&&nt.unbind("mousedown.jsp");g&&g.unbind("mousedown.jsp")}function gi(){n("html").unbind("dragstart.jsp selectstart.jsp mousemove.jsp mouseup.jsp mouseleave.jsp");p&&p.removeClass("jspActive");w&&w.removeClass("jspActive")}function ct(n,t){k&&(n<0?n=0:n>d&&(n=d),t===i&&(t=f.animateScroll),t?c.animate(p,"top",n,ai):(p.css("top",n),ai(n)))}function ai(n){n===i&&(n=p.position().top);e.scrollTop(0);l=n;var t=l===0,u=l==d,h=n/d,f=-h*(v-s);(ii!=t||ui!=u)&&(ii=t,ui=u,r.trigger("jsp-arrow-change",[ii,ui,ri,fi]));fr(t,u);o.css("top",f);r.trigger("jsp-scroll-y",[-f,t,u]).trigger("scroll")}function vt(n,t){b&&(n<0?n=0:n>tt&&(n=tt),t===i&&(t=f.animateScroll),t?c.animate(w,"left",n,vi):(w.css("left",n),vi(n)))}function vi(n){n===i&&(n=w.position().left);e.scrollTop(0);a=n;var t=a===0,u=a==tt,s=n/tt,f=-s*(y-h);(ri!=t||fi!=u)&&(ri=t,fi=u,r.trigger("jsp-arrow-change",[ii,ui,ri,fi]));er(t,u);o.css("left",f);r.trigger("jsp-scroll-x",[-f,t,u]).trigger("scroll")}function fr(n,t){f.showArrows&&(wt[n?"addClass":"removeClass"]("jspDisabled"),bt[t?"addClass":"removeClass"]("jspDisabled"))}function er(n,t){f.showArrows&&(kt[n?"addClass":"removeClass"]("jspDisabled"),dt[t?"addClass":"removeClass"]("jspDisabled"))}function ft(n,t){var i=n/(v-s);ct(i*d,t)}function yt(n,t){var i=n/(y-h);vt(i*tt,t)}function ei(t,i,r){var u,v,y,o=0,c=0,p,w,b,k,l,a;try{u=n(t)}catch(d){return}for(v=u.outerHeight(),y=u.outerWidth(),e.scrollTop(0),e.scrollLeft(0);!u.is(".jspPane");)if(o+=u.position().top,c+=u.position().left,u=u.offsetParent(),/^body|html$/i.test(u[0].nodeName))return;p=ot();b=p+s;o<p||i?l=o-f.verticalGutter:o+v>b&&(l=o-s+v+f.verticalGutter);l&&ft(l,r);w=et();k=w+h;c<w||i?a=c-f.horizontalGutter:c+y>k&&(a=c-h+y+f.horizontalGutter);a&&yt(a,r)}function et(){return-o.position().left}function ot(){return-o.position().top}function or(){var n=v-s;return n>20&&n-ot()<10}function sr(){var n=y-h;return n>20&&n-et()<10}function hr(){e.unbind(ci).bind(ci,function(n,t,i,r){var u=a,e=l;return c.scrollBy(i*f.mouseWheelSpeed,-r*f.mouseWheelSpeed,!1),u==a&&e==l})}function cr(){e.unbind(ci)}function pt(){return!1}function lr(){o.find(":input,a").unbind("focus.jsp").bind("focus.jsp",function(n){ei(n.target,!1)})}function ar(){o.find(":input,a").unbind("focus.jsp")}function vr(){function h(){var n=a,r=l;switch(t){case 40:c.scrollByY(f.keyboardSpeed,!1);break;case 38:c.scrollByY(-f.keyboardSpeed,!1);break;case 34:case 32:c.scrollByY(s*f.scrollPagePercent,!1);break;case 33:c.scrollByY(-s*f.scrollPagePercent,!1);break;case 39:c.scrollByX(f.keyboardSpeed,!1);break;case 37:c.scrollByX(-f.keyboardSpeed,!1)}return i=n!=a||r!=l}var t,i,u=[];b&&u.push(ti[0]);k&&u.push(ni[0]);o.focus(function(){r.focus()});r.attr("tabindex",0).unbind("keydown.jsp keypress.jsp").bind("keydown.jsp",function(r){if(r.target===this||u.length&&n(r.target).closest(u).length){var f=a,e=l;switch(r.keyCode){case 40:case 38:case 34:case 32:case 33:case 39:case 37:t=r.keyCode;h();break;case 35:ft(v-s);t=null;break;case 36:ft(0);t=null}return i=r.keyCode==t&&f!=a||e!=l,!i}}).bind("keypress.jsp",function(n){return n.keyCode==t&&h(),!i});f.hideFocus?(r.css("outline","none"),"hideFocus"in e[0]&&r.attr("hideFocus",!0)):(r.css("outline",""),"hideFocus"in e[0]&&r.attr("hideFocus",!1))}function yr(){r.attr("tabindex","-1").removeAttr("tabindex").unbind("keydown.jsp keypress.jsp")}function pr(){if(location.hash&&location.hash.length>1){var t,r,i=escape(location.hash.substr(1));try{t=n("#"+i+', a[name="'+i+'"]')}catch(u){return}t.length&&o.find(i)&&(e.scrollTop()===0?r=setInterval(function(){e.scrollTop()>0&&(ei(t,!0),n(document).scrollTop(e.position().top),clearInterval(r))},50):(ei(t,!0),n(document).scrollTop(e.position().top)))}}function wr(){n(document.body).data("jspHijack")||(n(document.body).data("jspHijack",!0),n(document.body).delegate("a[href*=#]","click",function(i){var c=this.href.substr(0,this.href.indexOf("#")),s=location.href,f,r,u,h,e,o;if(location.href.indexOf("#")!==-1&&(s=location.href.substr(0,location.href.indexOf("#"))),c===s){f=escape(this.href.substr(this.href.indexOf("#")+1));r;try{r=n("#"+f+', a[name="'+f+'"]')}catch(l){return}r.length&&(u=r.closest(".jspScrollable"),h=u.data("jsp"),h.scrollToElement(r,!0),u[0].scrollIntoView&&(e=n(t).scrollTop(),o=r.offset().top,(o<e||o>e+n(t).height())&&u[0].scrollIntoView()),i.preventDefault())}}))}function br(){var u,f,t,i,n,r=!1;e.unbind("touchstart.jsp touchmove.jsp touchend.jsp click.jsp-touchclick").bind("touchstart.jsp",function(e){var o=e.originalEvent.touches[0];u=et();f=ot();t=o.pageX;i=o.pageY;n=!1;r=!0}).bind("touchmove.jsp",function(e){if(r){var o=e.originalEvent.touches[0],s=a,h=l;return c.scrollTo(u+t-o.pageX,f+i-o.pageY),n=n||Math.abs(t-o.pageX)>5||Math.abs(i-o.pageY)>5,s==a&&h==l}}).bind("touchend.jsp",function(){r=!1}).bind("click.jsp-touchclick",function(){if(n)return n=!1,!1})}function kr(){var n=ot(),t=et();r.removeClass("jspScrollable").unbind(".jsp");r.replaceWith(hi.append(o.children()));hi.scrollTop(n);hi.scrollLeft(t);at&&clearInterval(at)}var f,c=this,o,h,s,e,y,v,oi,gt,k,b,p,d,l,w,tt,a,ni,g,si,lt,it,wt,bt,ti,nt,st,rt,kt,dt,at,yi,ht,pi,ii=!0,ri=!0,ui=!1,fi=!1,hi=r.clone(!1,!1).empty(),ci=n.fn.mwheelIntent?"mwheelIntent.jsp":"mousewheel.jsp";yi=r.css("paddingTop")+" "+r.css("paddingRight")+" "+r.css("paddingBottom")+" "+r.css("paddingLeft");ht=(parseInt(r.css("paddingLeft"),10)||0)+(parseInt(r.css("paddingRight"),10)||0);n.extend(c,{reinitialise:function(t){t=n.extend({},f,t);li(t)},scrollToElement:function(n,t,i){ei(n,t,i)},scrollTo:function(n,t,i){yt(n,i);ft(t,i)},scrollToX:function(n,t){yt(n,t)},scrollToY:function(n,t){ft(n,t)},scrollToPercentX:function(n,t){yt(n*(y-h),t)},scrollToPercentY:function(n,t){ft(n*(v-s),t)},scrollBy:function(n,t,i){c.scrollByX(n,i);c.scrollByY(t,i)},scrollByX:function(n,t){var i=et()+Math[n<0?"floor":"ceil"](n),r=i/(y-h);vt(r*tt,t)},scrollByY:function(n,t){var i=ot()+Math[n<0?"floor":"ceil"](n),r=i/(v-s);ct(r*d,t)},positionDragX:function(n,t){vt(n,t)},positionDragY:function(n,t){ct(n,t)},animate:function(n,t,i,r){var u={};u[t]=i;n.animate(u,{duration:f.animateDuration,easing:f.animateEase,queue:!1,step:r})},getContentPositionX:function(){return et()},getContentPositionY:function(){return ot()},getContentWidth:function(){return y},getContentHeight:function(){return v},getPercentScrolledX:function(){return et()/(y-h)},getPercentScrolledY:function(){return ot()/(v-s)},getIsScrollableH:function(){return b},getIsScrollableV:function(){return k},getContentPane:function(){return o},scrollToBottom:function(n){ct(d,n)},hijackInternalLinks:n.noop,destroy:function(){kr()}});li(u)}return r=n.extend({},n.fn.jScrollPane.defaults,r),n.each(["arrowButtonSpeed","trackClickSpeed","keyboardSpeed"],function(){r[this]=r[this]||r.speed}),this.each(function(){var t=n(this),i=t.data("jsp");i?i.reinitialise(r):(n("script",t).filter('[type="text/javascript"],:not([type])').remove(),i=new u(t,r),t.data("jsp",i))})};n.fn.jScrollPane.defaults={showArrows:!1,maintainPosition:!0,stickToBottom:!1,stickToRight:!1,clickOnTrack:!0,autoReinitialise:!1,autoReinitialiseDelay:500,verticalDragMinHeight:0,verticalDragMaxHeight:99999,horizontalDragMinWidth:0,horizontalDragMaxWidth:99999,contentWidth:i,animateScroll:!1,animateDuration:300,animateEase:"linear",hijackInternalLinks:!1,verticalGutter:4,horizontalGutter:4,mouseWheelSpeed:3,arrowButtonSpeed:0,arrowRepeatFreq:50,arrowScrollOnHover:!1,trackClickSpeed:0,trackClickRepeatFreq:70,verticalArrowPositions:"split",horizontalArrowPositions:"split",enableKeyboardNavigation:!0,hideFocus:!1,keyboardSpeed:0,initialDelay:300,speed:30,scrollPagePercent:.8}})(jQuery,this),function(n){typeof define=="function"&&define.amd?define(["jquery"],n):typeof exports=="object"?module.exports=n:n(jQuery)}(function(n){function e(i){var r=i||window.event,y=h.call(arguments,1),o=0,e=0,f=0,l=0,a,v;if(i=n.event.fix(r),i.type="mousewheel","detail"in r&&(f=r.detail*-1),"wheelDelta"in r&&(f=r.wheelDelta),"wheelDeltaY"in r&&(f=r.wheelDeltaY),"wheelDeltaX"in r&&(e=r.wheelDeltaX*-1),"axis"in r&&r.axis===r.HORIZONTAL_AXIS&&(e=f*-1,f=0),o=f===0?e:f,"deltaY"in r&&(f=r.deltaY*-1,o=f),"deltaX"in r&&(e=r.deltaX,f===0&&(o=e*-1)),f!==0||e!==0)return r.deltaMode===1?(a=n.data(this,"mousewheel-line-height"),o*=a,f*=a,e*=a):r.deltaMode===2&&(v=n.data(this,"mousewheel-page-height"),o*=v,f*=v,e*=v),l=Math.max(Math.abs(f),Math.abs(e)),(!t||l<t)&&(t=l,s(r,l)&&(t/=40)),s(r,l)&&(o/=40,e/=40,f/=40),o=Math[o>=1?"floor":"ceil"](o/t),e=Math[e>=1?"floor":"ceil"](e/t),f=Math[f>=1?"floor":"ceil"](f/t),i.deltaX=e,i.deltaY=f,i.deltaFactor=t,i.deltaMode=0,y.unshift(i,o,e,f),u&&clearTimeout(u),u=setTimeout(c,200),(n.event.dispatch||n.event.handle).apply(this,y)}function c(){t=null}function s(n,t){return r.settings.adjustOldDeltas&&n.type==="mousewheel"&&t%120==0}var o=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],i="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],h=Array.prototype.slice,u,t,f,r;if(n.event.fixHooks)for(f=o.length;f;)n.event.fixHooks[o[--f]]=n.event.mouseHooks;r=n.event.special.mousewheel={version:"3.1.9",setup:function(){if(this.addEventListener)for(var t=i.length;t;)this.addEventListener(i[--t],e,!1);else this.onmousewheel=e;n.data(this,"mousewheel-line-height",r.getLineHeight(this));n.data(this,"mousewheel-page-height",r.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var n=i.length;n;)this.removeEventListener(i[--n],e,!1);else this.onmousewheel=null},getLineHeight:function(t){return parseInt(n(t)["offsetParent"in n.fn?"offsetParent":"parent"]().css("fontSize"),10)},getPageHeight:function(t){return n(t).height()},settings:{adjustOldDeltas:!0}};n.fn.extend({mousewheel:function(n){return n?this.bind("mousewheel",n):this.trigger("mousewheel")},unmousewheel:function(n){return this.unbind("mousewheel",n)}})}),function(n){function o(){this===t.elem&&(t.pos=[-260,-260],t.elem=!1,i=3)}var t={pos:[-260,-260]},i=3,r=document,s=r.documentElement,u=r.body,f,e;n.event.special.mwheelIntent={setup:function(){var t=n(this).bind("mousewheel",n.event.special.mwheelIntent.handler);return this!==r&&this!==s&&this!==u&&t.bind("mouseleave",o),t=null,!0},teardown:function(){return n(this).unbind("mousewheel",n.event.special.mwheelIntent.handler).unbind("mouseleave",o),!0},handler:function(r){var u=[r.clientX,r.clientY];if(this===t.elem||Math.abs(t.pos[0]-u[0])>i||Math.abs(t.pos[1]-u[1])>i)return t.elem=this,t.pos=u,i=250,clearTimeout(e),e=setTimeout(function(){i=10},200),clearTimeout(f),f=setTimeout(function(){i=3},1500),r=n.extend({},r,{type:"mwheelIntent"}),(n.event.dispatch||n.event.handle).apply(this,arguments)}};n.fn.extend({mwheelIntent:function(n){return n?this.bind("mwheelIntent",n):this.trigger("mwheelIntent")},unmwheelIntent:function(n){return this.unbind("mwheelIntent",n)}});n(function(){u=r.body;n(r).bind("mwheelIntent.mwheelIntentDefault",n.noop)})}(jQuery)