function jsScrollbar(o,s,a,ev){var self=this;this.reset=function(){this._parent=o;this._src=s;this.auto=a?a:false;this.eventHandler=ev?ev:function(){};this._up=this._findComponent("Scrollbar-Up",this._parent);this._down=this._findComponent("Scrollbar-Down",this._parent);this._yTrack=this._findComponent("Scrollbar-Track",this._parent);this._yHandle=this._findComponent("Scrollbar-Handle",this._yTrack);this._trackTop=findOffsetTop(this._yTrack);this._trackHeight=this._yTrack.offsetHeight;this._handleHeight=this._yHandle.offsetHeight;this._x=0;this._y=0;this._scrollDist=5;this._scrollTimer=null;this._selectFunc=null;this._grabPoint=null;this._tempTarget=null;this._tempDistX=0;this._tempDistY=0;this._disabled=false;this._ratio=(this._src.totalHeight-this._src.viewableHeight)/(this._trackHeight-this._handleHeight);this._yHandle.ondragstart=function(){return false};this._yHandle.onmousedown=function(){return false};this._addEvent(this._src.content,"mousewheel",this._scrollbarWheel);this._removeEvent(this._parent,"mousedown",this._scrollbarClick);this._addEvent(this._parent,"mousedown",this._scrollbarClick);this._src.reset();with(this._yHandle.style){top="0px";left="0px"}this._moveContent();if(this._src.totalHeight<this._src.viewableHeight){this._disabled=true;this._yHandle.style.visibility="hidden";if(this.auto)this._parent.style.visibility="hidden"}else{this._disabled=false;this._yHandle.style.visibility="visible";this._parent.style.visibility="visible"}};this._addEvent=function(o,t,f){if(o.addEventListener)o.addEventListener(t,f,false);else if(o.attachEvent)o.attachEvent('on'+t,f);else o['on'+t]=f};this._removeEvent=function(o,t,f){if(o.removeEventListener)o.removeEventListener(t,f,false);else if(o.detachEvent)o.detachEvent('on'+t,f);else o['on'+t]=null};this._findComponent=function(c,o){var kids=o.childNodes;for(var i=0;i<kids.length;i++){if(kids[i].className&&kids[i].className==c){return kids[i]}}};function findOffsetTop(o){var t=0;if(o.offsetParent){while(o.offsetParent){t+=o.offsetTop;o=o.offsetParent}}return t};this._scrollbarClick=function(e){if(self._disabled)return false;e=e?e:event;if(!e.target)e.target=e.srcElement;if(e.target.className.indexOf("Scrollbar-Up")>-1)self._scrollUp(e);else if(e.target.className.indexOf("Scrollbar-Down")>-1)self._scrollDown(e);else if(e.target.className.indexOf("Scrollbar-Track")>-1)self._scrollTrack(e);else if(e.target.className.indexOf("Scrollbar-Handle")>-1)self._scrollHandle(e);self._tempTarget=e.target;self._selectFunc=document.onselectstart;document.onselectstart=function(){return false};self.eventHandler(e.target,"mousedown");self._addEvent(document,"mouseup",self._stopScroll,false);return false};this._scrollbarDrag=function(e){e=e?e:event;var t=parseInt(self._yHandle.style.top);var v=e.clientY+document.body.scrollTop-self._trackTop;with(self._yHandle.style){if(v>=self._trackHeight-self._handleHeight+self._grabPoint)top=self._trackHeight-self._handleHeight+"px";else if(v<=self._grabPoint)top="0px";else top=v-self._grabPoint+"px";self._y=parseInt(top)}self._moveContent()};this._scrollbarWheel=function(e){e=e?e:event;var dir=0;if(e.wheelDelta>=120)dir=-1;if(e.wheelDelta<=-120)dir=1;self.scrollBy(0,dir*20);e.returnValue=false};this._startScroll=function(x,y){this._tempDistX=x;this._tempDistY=y;this._scrollTimer=window.setInterval(function(){self.scrollBy(self._tempDistX,self._tempDistY)},40)};this._stopScroll=function(){self._removeEvent(document,"mousemove",self._scrollbarDrag,false);self._removeEvent(document,"mouseup",self._stopScroll,false);if(self._selectFunc)document.onselectstart=self._selectFunc;else document.onselectstart=function(){return true};if(self._scrollTimer)window.clearInterval(self._scrollTimer);self.eventHandler(self._tempTarget,"mouseup")};this._scrollUp=function(e){this._startScroll(0,-this._scrollDist)};this._scrollDown=function(e){this._startScroll(0,this._scrollDist)};this._scrollTrack=function(e){var curY=e.clientY+document.body.scrollTop;this._scroll(0,curY-this._trackTop-this._handleHeight/2)};this._scrollHandle=function(e){var curY=e.clientY+document.body.scrollTop;this._grabPoint=curY-findOffsetTop(this._yHandle);this._addEvent(document,"mousemove",this._scrollbarDrag,false)};this._scroll=function(x,y){if(y>this._trackHeight-this._handleHeight)y=this._trackHeight-this._handleHeight;if(y<0)y=0;this._yHandle.style.top=y+"px";this._y=y;this._moveContent()};this._moveContent=function(){this._src.scrollTo(0,Math.round(this._y*this._ratio))};this.scrollBy=function(x,y){this._scroll(0,(-this._src._y+y)/this._ratio)};this.scrollTo=function(x,y){this._scroll(0,y/this._ratio)};this.swapContent=function(o,w,h){this._removeEvent(this._src.content,"mousewheel",this._scrollbarWheel,false);this._src.swapContent(o,w,h);this.reset()};this.reset()};function scrollbarEvent(o,type){if(type=="mousedown"){if(o.className=="Scrollbar-Handle")o.src="images/scrollbar_handle_on.gif"}else{if(o.className=="Scrollbar-Handle")o.src="images/scrollbar_handle.gif"}}
