Fx.Scroll2=new Class({'Extends':Fx.Scroll,'styleString':Element.getComputedStyle,'styleNumber':function(a,b){return this.styleString(a,b).toInt()||0},'borderBox':function(a){return this.styleString(a,'-moz-box-sizing')=='border-box'},'topBorder':function(a){return this.styleNumber(a,'border-top-width')},'leftBorder':function(a){return this.styleNumber(a,'border-left-width')},'isBody':function(a){return(/^(?:body|html)$/i).test(a.tagName)},'toElement':function(a){var b={x:0,y:0};var c=$(a);if(this.isBody(c)){return b}var d=c.getScrolls();while(c&&!this.isBody(c)){b.x+=c.offsetLeft;b.y+=c.offsetTop;if(Browser.Engine.gecko){if(!this.borderBox(c)){b.x+=this.leftBorder(c);b.y+=this.topBorder(c)}var e=c.parentNode;if(e&&this.styleString(e,'overflow')!='visible'){b.x+=this.leftBorder(e);b.y+=this.topBorder(e)}}else if(Browser.Engine.trident||Browser.Engine.webkit){b.x+=this.leftBorder(c);b.y+=this.topBorder(c)}c=c.offsetParent;if(Browser.Engine.trident){while(c&&!c.currentStyle.hasLayout){c=c.offsetParent}}}if(Browser.Engine.gecko&&!this.borderBox(c)){b.x-=this.leftBorder(c);b.y-=this.topBorder(c)}var f=this.element;var g=(f&&(f=$(f)))?f.getPosition():{x:0,y:0};var h={x:b.x-d.x,y:b.y-d.y};return this.start(h.x-g.x,h.y-g.y)}});