function DivScroller(B,A){this.divId=B;this.instance=document.getElementById(B);this.viewWidth=this.getPx(this.instance.style.width);this.viewHeight=A;this.viewTop=this.getPx(this.instance.style.top);this.viewBottom=this.viewTop+this.viewHeight;this.stepY=10;this.interval=null;this.updateView()}DivScroller.prototype.updateView=function(){var C=$(this.divId).getHeight();var A=$(this.divId).getWidth();var F=this.viewTop-this.getPx(this.instance.style.top);var D=A;var B=F+this.viewHeight;var E=0;this.clipTop=F;this.clipBottom=B;if(document.layers){this.instance.style.clip.top=F;this.instance.style.clip.left=E;this.instance.style.clip.right=D;this.instance.style.clip.bottom=B}else{this.instance.style.clip="rect("+F+"px,"+D+"px,"+B+"px,"+E+"px)"}};DivScroller.prototype.scrollUp=function(){var A=this.getPx(this.instance.style.top);if(A+this.stepY>this.viewTop){this.instance.style.top=this.viewTop+"px";if(this.interval){clearInterval(this.interval)}}else{A+=this.stepY;this.instance.style.top=A+"px"}this.updateView()};DivScroller.prototype.scrollDown=function(){var B=$(this.divId).getHeight();var A=this.getPx(this.instance.style.top)+B;if(A-this.stepY<this.viewBottom){if(this.viewBottom-B>this.viewTop){this.instance.style.top=this.viewTop+"px"}else{this.instance.style.top=(this.viewBottom-B)+"px"}if(this.interval){clearInterval(this.interval)}}else{var C=this.getPx(this.instance.style.top)-this.stepY;this.instance.style.top=C+"px"}this.updateView()};DivScroller.prototype.scrollToHeight=function(A){var B=$(this.divId).getHeight();A=(A<0)?0:A;A=(A>B)?B:A;while(A<this.clipTop+this.viewHeight/2){this.scrollUp();if(this.clipTop==0){break}}while(A>this.clipTop+this.viewHeight/2){this.scrollDown();if(this.clipTop==0||this.clipBottom==B){break}}};DivScroller.prototype.scrollToElement=function(C){if(!$(C)){return }if(!$(C).descendantOf(this.divId)){return }var B=$(C).ancestors();var A=0;for(var D=0;D<B.length;D++){if(B[D].id==this.divId){break}var E=B[D].previousSiblings();for(var D=0;D<E.length;D++){A+=E[D].getHeight()}}var E=$(C).previousSiblings();for(var D=0;D<E.length;D++){A+=E[D].getHeight()}this.scrollToHeight(A)};DivScroller.prototype.getPx=function(B){var A=parseInt(B.replace(/(.+)px/i,"$1"));return isNaN(A)?0:A};