(function($){$.jScrollPane={active:[]};$.fn.jScrollPane=function(_1){_1=$.extend({},$.fn.jScrollPane.defaults,_1);var rf=function(){return false;};return this.each(function(){var _2=$(this);var _3=this;var _4=0;var _5;var _6;var _7;var _8=_1.topCapHeight;var _9;if($(this).parent().is(".jScrollPaneContainer")){_9=$(this).parent();_4=_1.maintainPosition?_2.position().top:0;var $c=$(this).parent();_5=$c.innerWidth();_6=$c.outerHeight();$(">.jScrollPaneTrack, >.jScrollArrowUp, >.jScrollArrowDown, >.jScrollCap",$c).remove();_2.css({"top":0});}else{_2.data("originalStyleTag",_2.attr("style"));_2.css("overflow","hidden");this.originalPadding=_2.css("paddingTop")+" "+_2.css("paddingRight")+" "+_2.css("paddingBottom")+" "+_2.css("paddingLeft");this.originalSidePaddingTotal=(parseInt(_2.css("paddingLeft"))||0)+(parseInt(_2.css("paddingRight"))||0);_5=_2.innerWidth();_6=_2.innerHeight();_9=$("<div></div>").attr({"className":"jScrollPaneContainer"}).css({"height":_6+"px","width":parseInt(_5-3)+"px"});if(_1.enableKeyboardNavigation){_9.attr("tabindex",_1.tabIndex);}_2.wrap(_9);_9=_2.parent();$(document).bind("emchange",function(e,_a,_b){_2.jScrollPane(_1);});}_7=_6;if(_1.reinitialiseOnImageLoad){var _c=$.data(_3,"jScrollPaneImagesToLoad")||$("img",_2);var _d=[];if(_c.length){_c.each(function(i,_e){$(this).bind("load readystatechange",function(){if($.inArray(i,_d)==-1){_d.push(_e);_c=$.grep(_c,function(n,i){return n!=_e;});$.data(_3,"jScrollPaneImagesToLoad",_c);var s2=$.extend(_1,{reinitialiseOnImageLoad:false});_2.jScrollPane(s2);}}).each(function(i,_f){if(this.complete||this.complete===undefined){this.src=this.src;}});});}}var p=this.originalSidePaddingTotal;var _10=_5-_1.scrollbarWidth-_1.scrollbarMargin-p;var _11={"height":"auto","width":_10+"px"};if(_1.scrollbarOnLeft){_11.paddingLeft=_1.scrollbarMargin+_1.scrollbarWidth+"px";}else{_11.paddingRight=_1.scrollbarMargin+"px";}_2.css(_11);var _12=_2.outerHeight();var _13=_6/_12;var _14=_13<0.99;_9[_14?"addClass":"removeClass"]("jScrollPaneScrollable");if(_14){_9.append($("<div></div>").addClass("jScrollCap jScrollCapTop").css({height:_1.topCapHeight}),$("<div></div>").attr({"className":"jScrollPaneTrack"}).css({"width":_1.scrollbarWidth+"px"}).append($("<div></div>").attr({"className":"jScrollPaneDrag"}).css({"width":_1.scrollbarWidth+"px"}).append($("<div></div>").attr({"className":"jScrollPaneDragTop"}).css({"width":_1.scrollbarWidth+"px"}),$("<div></div>").attr({"className":"jScrollPaneDragBottom"}).css({"width":_1.scrollbarWidth+"px"}))),$("<div></div>").addClass("jScrollCap jScrollCapBottom").css({height:_1.bottomCapHeight}));var _15=$(">.jScrollPaneTrack",_9);var _16=$(">.jScrollPaneTrack .jScrollPaneDrag",_9);var _17;var _18=[];var _19;var _1a=function(){if(_19>4||_19%4==0){_1b(_1c+_17*_1d);}_19++;};if(_1.enableKeyboardNavigation){_9.bind("keydown.jscrollpane",function(e){switch(e.keyCode){case 38:_17=-1;_19=0;_1a();_18[_18.length]=setInterval(_1a,100);return false;case 40:_17=1;_19=0;_1a();_18[_18.length]=setInterval(_1a,100);return false;case 33:case 34:return false;default:}}).bind("keyup.jscrollpane",function(e){if(e.keyCode==38||e.keyCode==40){for(var i=0;i<_18.length;i++){clearInterval(_18[i]);}return false;}});}if(_1.showArrows){var _1e;var _1f;var _20=function(_21){$("html").unbind("mouseup",_20);_1e.removeClass("jScrollActiveArrowButton");clearInterval(_1f);};var _22=function(){$("html").bind("mouseup",_20);_1e.addClass("jScrollActiveArrowButton");_19=0;_1a();_1f=setInterval(_1a,100);};_9.append($("<a></a>").attr({"href":"javascript:;","className":"jScrollArrowUp","tabindex":-1}).css({"width":_1.scrollbarWidth+"px","top":parseInt(_1.topCapHeight-2)+"px"}).html("Scroll up").bind("mousedown",function(){_1e=$(this);_17=-1;_22();this.blur();return false;}).bind("click",rf),$("<a></a>").attr({"href":"javascript:;","className":"jScrollArrowDown","tabindex":-1}).css({"width":_1.scrollbarWidth+"px","bottom":parseInt(_1.bottomCapHeight-2)+"px"}).html("Scroll down").bind("mousedown",function(){_1e=$(this);_17=1;_22();this.blur();return false;}).bind("click",rf));var _23=$(">.jScrollArrowUp",_9);var _24=$(">.jScrollArrowDown",_9);}if(_1.arrowSize){_7=_6-_1.arrowSize-_1.arrowSize;_8+=_1.arrowSize;}else{if(_23){var _25=_23.height();_1.arrowSize=_25;_7=_6-_25-_24.height();_8+=_25;}}_7-=_1.topCapHeight+_1.bottomCapHeight;_15.css({"height":_7+"px",top:_8+"px"});var _26=$(this).css({"position":"absolute","overflow":"visible"});var _27;var _28;var _1d;var _1c=0;var _29=_13*_6/2;var _2a=function(_2b,c){var p=c=="X"?"Left":"Top";return _2b["page"+c]||(_2b["client"+c]+(document.documentElement["scroll"+p]||document.body["scroll"+p]))||0;};var _2c=function(){return false;};var _2d=function(){_2e();_27=_16.offset(false);_27.top-=_1c;_28=_7-_16[0].offsetHeight;_1d=2*_1.wheelSpeed*_28/_12;};var _2f=function(_30){_2d();_29=_2a(_30,"Y")-_1c-_27.top;$("html").bind("mouseup",_31).bind("mousemove",_32);if($.browser.msie){$("html").bind("dragstart",_2c).bind("selectstart",_2c);}return false;};var _31=function(){$("html").unbind("mouseup",_31).unbind("mousemove",_32);_29=_13*_6/2;if($.browser.msie){$("html").unbind("dragstart",_2c).unbind("selectstart",_2c);}};var _1b=function(_33){_9.scrollTop(0);_33=_33<0?0:(_33>_28?_28:_33);_1c=_33;_16.css({"top":_33+"px"});var p=_33/_28;_2.data("jScrollPanePosition",(_6-_12)*-p);_26.css({"top":((_6-_12)*p)+"px"});_2.trigger("scroll");if(_1.showArrows){_23[_33==0?"addClass":"removeClass"]("disabled");_24[_33==_28?"addClass":"removeClass"]("disabled");}};var _32=function(e){_1b(_2a(e,"Y")-_27.top-_29);};var _34=Math.max(Math.min(_13*(_6-_1.arrowSize*2),_1.dragMaxHeight),_1.dragMinHeight);_16.css({"height":_34+"px"}).bind("mousedown",_2f);var _35;var _36;var _37;var _38=function(){if(_36>8||_36%4==0){_1b((_1c-((_1c-_37)/2)));}_36++;};var _39=function(){clearInterval(_35);$("html").unbind("mouseup",_39).unbind("mousemove",_3a);};var _3a=function(_3b){_37=_2a(_3b,"Y")-_27.top-_29;};var _3c=function(_3d){_2d();_3a(_3d);_36=0;$("html").bind("mouseup",_39).bind("mousemove",_3a);_35=setInterval(_38,100);_38();return false;};_15.bind("mousedown",_3c);_9.bind("mousewheel",function(_3e,_3f){_3f=_3f||(_3e.wheelDelta?_3e.wheelDelta/120:(_3e.detail)?-_3e.detail/3:0);_2d();_2e();var d=_1c;_1b(_1c-_3f*_1d);var _40=d!=_1c;return !_40;});var _41;var _42;function _43(){var _44=(_41-_1c)/_1.animateStep;if(_44>1||_44<-1){_1b(_1c+_44);}else{_1b(_41);_2e();}};var _2e=function(){if(_42){clearInterval(_42);delete _41;}};var _45=function(pos,_46){if(typeof pos=="string"){try{$e=$(pos,_2);}catch(err){return;}if(!$e.length){return;}pos=$e.offset().top-_2.offset().top;}_2e();var _47=_12-_6;pos=pos>_47?_47:pos;_2.data("jScrollPaneMaxScroll",_47);var _48=pos/_47*_28;if(_46||!_1.animateTo){_1b(_48);}else{_9.scrollTop(0);_41=_48;_42=setInterval(_43,_1.animateInterval);}};_2[0].scrollTo=_45;_2[0].scrollBy=function(_49){var _4a=-parseInt(_26.css("top"))||0;_45(_4a+_49);};_2d();_45(-_4,true);$("*",this).bind("focus",function(_4b){var $e=$(this);var _4c=0;while($e[0]!=_2[0]){_4c+=$e.position().top;$e=$e.offsetParent();}var _4d=-parseInt(_26.css("top"))||0;var _4e=_4d+_6;var _4f=_4c>_4d&&_4c<_4e;if(!_4f){var _50=_4c-_1.scrollbarMargin;if(_4c>_4d){_50+=$(this).height()+15+_1.scrollbarMargin-_6;}_45(_50);}});if(_1.observeHash){if(location.hash&&location.hash.length>1){setTimeout(function(){_45(location.hash);},$.browser.safari?100:0);}$(document).bind("click",function(e){$target=$(e.target);if($target.is("a")){var h=$target.attr("href");if(h&&h.substr(0,1)=="#"&&h.length>1){setTimeout(function(){_45(h,!_1.animateToInternalLinks);},$.browser.safari?100:0);}}});}function _51(e){$(document).bind("mousemove.jScrollPaneDragging",_52);$(document).bind("mouseup.jScrollPaneDragging",_53);};var _54;var _55;function _56(){direction=_54<0?-1:1;_2[0].scrollBy(_54/2);};function _57(){if(_55){clearInterval(_55);_55=undefined;}};function _52(e){var _58=_2.parent().offset().top;var _59=_58+_6;var _5a=_2a(e,"Y");_54=_5a<_58?_5a-_58:(_5a>_59?_5a-_59:0);if(_54==0){_57();}else{if(!_55){_55=setInterval(_56,100);}}};function _53(e){$(document).unbind("mousemove.jScrollPaneDragging").unbind("mouseup.jScrollPaneDragging");_57();};_9.bind("mousedown.jScrollPane",_51);$.jScrollPane.active.push(_2[0]);}else{_2.css({"height":_6+"px","width":_5-this.originalSidePaddingTotal+"px","padding":this.originalPadding});_2[0].scrollTo=_2[0].scrollBy=function(){};_2.parent().unbind("mousewheel").unbind("mousedown.jScrollPane").unbind("keydown.jscrollpane").unbind("keyup.jscrollpane");}});};$.fn.jScrollPaneRemove=function(){$(this).each(function(){$this=$(this);var $c=$this.parent();if($c.is(".jScrollPaneContainer")){$this.css({"top":"","height":"","width":"","padding":"","overflow":"","position":""});$this.attr("style",$this.data("originalStyleTag"));$c.after($this).remove();}});};$.fn.jScrollPane.defaults={scrollbarWidth:10,scrollbarMargin:20,wheelSpeed:25,showArrows:true,arrowSize:15,animateTo:false,dragMinHeight:1,dragMaxHeight:99999,animateInterval:100,animateStep:3,maintainPosition:true,scrollbarOnLeft:false,reinitialiseOnImageLoad:true,tabIndex:0,enableKeyboardNavigation:true,animateToInternalLinks:false,topCapHeight:0,bottomCapHeight:0,observeHash:true};$(window).bind("unload",function(){var els=$.jScrollPane.active;for(var i=0;i<els.length;i++){els[i].scrollTo=els[i].scrollBy=null;}});})(jQuery);(function($){$.event.special.mousewheel={setup:function(){var _5b=$.event.special.mousewheel.handler;if($.browser.mozilla){$(this).bind("mousemove.mousewheel",function(_5c){$.data(this,"mwcursorposdata",{pageX:_5c.pageX,pageY:_5c.pageY,clientX:_5c.clientX,clientY:_5c.clientY});});}if(this.addEventListener){this.addEventListener(($.browser.mozilla?"DOMMouseScroll":"mousewheel"),_5b,false);}else{this.onmousewheel=_5b;}},teardown:function(){var _5d=$.event.special.mousewheel.handler;$(this).unbind("mousemove.mousewheel");if(this.removeEventListener){this.removeEventListener(($.browser.mozilla?"DOMMouseScroll":"mousewheel"),_5d,false);}else{this.onmousewheel=function(){};}$.removeData(this,"mwcursorposdata");},handler:function(_5e){var _5f=Array.prototype.slice.call(arguments,1);_5e=$.event.fix(_5e||window.event);$.extend(_5e,$.data(this,"mwcursorposdata")||{});var _60=0,_61=true;if(_5e.wheelDelta){_60=_5e.wheelDelta/120;}if(_5e.detail){_60=-_5e.detail/3;}_5e.data=_5e.data||{};_5e.type="mousewheel";_5f.unshift(_60);_5f.unshift(_5e);return $.event.handle.apply(this,_5f);}};$.fn.extend({mousewheel:function(fn){return fn?this.bind("mousewheel",fn):this.trigger("mousewheel");},unmousewheel:function(fn){return this.unbind("mousewheel",fn);}});})(jQuery);
