function Scroller(id){this.item=id;this.Init();}
Scroller.prototype.Init=function(){document.getElementById(this.item+"_content").style.top="0px";document.getElementById(this.item+"_scroller").style.top="0px";this.docH=document.getElementById(this.item+"_content").offsetHeight;this.contH=document.getElementById(this.item+"_container").offsetHeight;if(this.docH>this.contH){document.getElementById(this.item+"_scrollArea").style.visibility="visible";}else{document.getElementById(this.item+"_scrollArea").style.visibility="hidden";}
this.scrollAreaH=document.getElementById(this.item+"_scrollArea").offsetHeight;if(this.docH>0){this.scrollH=(this.contH*this.scrollAreaH)/this.docH;}else{this.scrollH=0;}
document.getElementById(this.item+"_scroller").style.height=Math.round(this.scrollH)+"px";this.scrollDist=Math.round(this.scrollAreaH- this.scrollH);Drag.init(document.getElementById(this.item+"_scroller"),null,0,0,0,this.scrollDist+ 0);document.getElementById(this.item+"_scroller").onDrag=this.onDrag;}
Scroller.prototype.onDrag=function(x,y){this.item=this.parentNode.parentNode.id;this.docH=document.getElementById(this.item+"_content").offsetHeight;this.contH=document.getElementById(this.item+"_container").offsetHeight;this.scrollAreaH=document.getElementById(this.item+"_scrollArea").offsetHeight;this.scrollH=(this.contH*this.scrollAreaH)/this.docH;this.scrollDist=Math.round(this.scrollAreaH- this.scrollH);var scrollY=getTop(this.item+"_scroller");var docY=0-(scrollY*(this.docH- this.contH)/this.scrollDist);document.getElementById(this.item+"_content").style.top=docY+"px";}
Scroller.prototype.scrollBy=function(name,delta){this.item=name;scrollY=getTop(this.item+"_scroller");this.docH=document.getElementById(this.item+"_content").offsetHeight;this.contH=document.getElementById(this.item+"_container").offsetHeight;this.scrollerH=document.getElementById(this.item+"_scroller").offsetHeight;this.scrollAreaH=document.getElementById(this.item+"_scrollArea").offsetHeight;this.scrollH=(this.contH*this.scrollAreaH)/this.docH;this.scrollDist=Math.round(this.scrollAreaH- this.scrollH);scrollY+=delta;scrollY=(scrollY<0)?0:scrollY;scrollY=(scrollY>this.scrollAreaH- this.scrollerH)?this.scrollAreaH- this.scrollerH:scrollY;document.getElementById(this.item+"_scroller").style.top=scrollY+"px";var docY=0-(scrollY*(this.docH- this.contH)/this.scrollDist);document.getElementById(this.item+"_content").style.top=docY+"px";}
