(function(a){a.bind=function(b,c){var d=Array.prototype.slice.call(arguments,2);if(d.length){return function(){var e=[this].concat(d,a.makeArray(arguments));return c.apply(b,e)}}else{return function(){var d=[this].concat(a.makeArray(arguments));return c.apply(b,d)}}}})(jQuery);(function(a){function c(b){var c=[].slice.call(arguments,1),d=0,e=true;b=a.event.fix(b||window.event);b.type="mousewheel";if(b.wheelDelta)d=b.wheelDelta/120;if(b.detail)d=-b.detail/3;c.unshift(b,d);return a.event.handle.apply(this,c)}var b=["DOMMouseScroll","mousewheel"];a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=b.length;a;)this.addEventListener(b[--a],c,false);else this.onmousewheel=c},teardown:function(){if(this.removeEventListener)for(var a=b.length;a;)this.removeEventListener(b[--a],c,false);else this.onmousewheel=null}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery);(function(a){a.jScrollPane={active:[]};a.fn.jScrollPane=function(b){b=a.extend({},a.fn.jScrollPane.defaults,b);var c=function(){return false};return this.each(function(){var d=a(this);d.css("overflow","hidden");var e=this;if(a(this).parent().is(".jScrollPaneContainer")){var f=b.maintainPosition?d.position().top:0;var g=a(this).parent();var h=g.innerWidth();var i=g.outerHeight();var j=i;a(">.jScrollPaneTrack, >.jScrollArrowUp, >.jScrollArrowDown",g).remove();d.css({top:0})}else{var f=0;this.originalPadding=d.css("paddingTop")+" "+d.css("paddingRight")+" "+d.css("paddingBottom")+" "+d.css("paddingLeft");this.originalSidePaddingTotal=(parseInt(d.css("paddingLeft"))||0)+(parseInt(d.css("paddingRight"))||0);var h=d.innerWidth();var i=d.innerHeight();var j=i;d.wrap(a("<div></div>").attr({className:"jScrollPaneContainer"}).css({height:i+"px",width:h+"px"}));a(document).bind("emchange",function(a,c,e){d.jScrollPane(b)})}if(b.reinitialiseOnImageLoad){var k=a.data(e,"jScrollPaneImagesToLoad")||a("img",d);var l=[];if(k.length){k.each(function(c,f){a(this).bind("load",function(){if(a.inArray(c,l)==-1){l.push(f);k=a.grep(k,function(a,b){return a!=f});a.data(e,"jScrollPaneImagesToLoad",k);b.reinitialiseOnImageLoad=false;d.jScrollPane(b)}}).each(function(a,b){if(this.complete||this.complete===undefined){this.src=this.src}})})}}var m=this.originalSidePaddingTotal;var n={height:"auto",width:h-b.scrollbarWidth-b.scrollbarMargin-m+"px"};if(b.scrollbarOnLeft){n.paddingLeft=b.scrollbarMargin+b.scrollbarWidth+"px"}else{n.paddingRight=b.scrollbarMargin+"px"}d.css(n);var o=d.outerHeight();var p=i/o;if(p<.99){var q=d.parent();q.append(a("<div></div>").attr({className:"jScrollPaneTrack"}).css({width:b.scrollbarWidth+"px"}).append(a("<div></div>").attr({className:"jScrollPaneDrag"}).css({width:b.scrollbarWidth+"px"}).append(a("<div></div>").attr({className:"jScrollPaneDragTop"}).css({width:b.scrollbarWidth+"px"}),a("<div></div>").attr({className:"jScrollPaneDragBottom"}).css({width:b.scrollbarWidth+"px"}))));var r=a(">.jScrollPaneTrack",q);var s=a(">.jScrollPaneTrack .jScrollPaneDrag",q);if(b.showArrows){var t;var u;var v;var w;var x=function(){if(w>4||w%4==0){O(H+u*G)}w++};var y=function(b){a("html").unbind("mouseup",y);t.removeClass("jScrollActiveArrowButton");clearInterval(v)};var z=function(){a("html").bind("mouseup",y);t.addClass("jScrollActiveArrowButton");w=0;x();v=setInterval(x,100)};q.append(a("<a></a>").attr({href:"javascript:;",className:"jScrollArrowUp"}).css({width:b.scrollbarWidth+"px"}).html("Scroll up").bind("mousedown",function(){t=a(this);u=-1;z();this.blur();return false}).bind("click",c),a("<a></a>").attr({href:"javascript:;",className:"jScrollArrowDown"}).css({width:b.scrollbarWidth+"px"}).html("Scroll down").bind("mousedown",function(){t=a(this);u=1;z();this.blur();return false}).bind("click",c));var A=a(">.jScrollArrowUp",q);var B=a(">.jScrollArrowDown",q);if(b.arrowSize){j=i-b.arrowSize-b.arrowSize;r.css({height:j+"px",top:b.arrowSize+"px"})}else{var C=A.height();b.arrowSize=C;j=i-C-B.height();r.css({height:j+"px",top:C+"px"})}}var D=a(this).css({position:"absolute",overflow:"visible"});var E;var F;var G;var H=0;var I=p*i/2;var J=function(a,b){var c=b=="X"?"Left":"Top";return a["page"+b]||a["client"+b]+(document.documentElement["scroll"+c]||document.body["scroll"+c])||0};var K=function(){return false};var L=function(){ba();E=s.offset(false);E.top-=H;F=j-s[0].offsetHeight;G=2*b.wheelSpeed*F/o};var M=function(b){L();I=J(b,"Y")-H-E.top;a("html").bind("mouseup",N).bind("mousemove",P);if(a.browser.msie){a("html").bind("dragstart",K).bind("selectstart",K)}return false};var N=function(){a("html").unbind("mouseup",N).unbind("mousemove",P);I=p*i/2;if(a.browser.msie){a("html").unbind("dragstart",K).unbind("selectstart",K)}};var O=function(a){a=a<0?0:a>F?F:a;H=a;s.css({top:a+"px"});var c=a/F;D.css({top:(i-o)*c+"px"});d.trigger("scroll");if(b.showArrows){A[a==0?"addClass":"removeClass"]("disabled");B[a==F?"addClass":"removeClass"]("disabled")}};var P=function(a){O(J(a,"Y")-E.top-I)};var Q=Math.max(Math.min(p*(i-b.arrowSize*2),b.dragMaxHeight),b.dragMinHeight);s.css({height:Q+"px"}).bind("mousedown",M);var R;var S;var T;var U=function(){if(S>8||S%4==0){O(H-(H-T)/2)}S++};var V=function(){clearInterval(R);a("html").unbind("mouseup",V).unbind("mousemove",W)};var W=function(a){T=J(a,"Y")-E.top-I};var X=function(b){L();W(b);S=0;a("html").bind("mouseup",V).bind("mousemove",W);R=setInterval(U,100);U()};r.bind("mousedown",X);q.bind("mousewheel",function(a,b){L();ba();var c=H;O(H-b*G);var d=c!=H;return!d});var Y;var Z;function _(){var a=(Y-H)/b.animateStep;if(a>1||a<-1){O(H+a)}else{O(Y);ba()}}var ba=function(){if(Z){clearInterval(Z);delete Y}};var bb=function(c,e){if(typeof c=="string"){$e=a(c,d);if(!$e.length)return;c=$e.offset().top-d.offset().top}q.scrollTop(0);ba();var f=-c/(i-o)*F;if(e||!b.animateTo){O(f)}else{Y=f;Z=setInterval(_,b.animateInterval)}};d[0].scrollTo=bb;d[0].scrollBy=function(a){var b=-parseInt(D.css("top"))||0;bb(b+a)};L();bb(-f,true);a("*",this).bind("focus",function(c){var e=a(this);var f=0;while(e[0]!=d[0]){f+=e.position().top;e=e.offsetParent()}var g=-parseInt(D.css("top"))||0;var h=g+i;var j=f>g&&f<h;if(!j){var k=f-b.scrollbarMargin;if(f>g){k+=a(this).height()+15+b.scrollbarMargin-i}bb(k)}});if(location.hash){bb(location.hash)}a(document).bind("click",function(b){$target=a(b.target);if($target.is("a")){var c=$target.attr("href");if(c.substr(0,1)=="#"){bb(c)}}});a.jScrollPane.active.push(d[0])}else{d.css({height:i+"px",width:h-this.originalSidePaddingTotal+"px",padding:this.originalPadding});d.parent().unbind("mousewheel")}})};a.fn.jScrollPane.defaults={scrollbarWidth:10,scrollbarMargin:5,wheelSpeed:18,showArrows:false,arrowSize:0,animateTo:false,dragMinHeight:1,dragMaxHeight:99999,animateInterval:100,animateStep:3,maintainPosition:true,scrollbarOnLeft:false,reinitialiseOnImageLoad:false};a(window).bind("unload",function(){var b=a.jScrollPane.active;for(var c=0;c<b.length;c++){b[c].scrollTo=b[c].scrollBy=null}})})(jQuery)
