Element.addMethods({scrollTo:function(element,left,top){var element=$(element);if(arguments.length==1){var pos=element.cumulativeOffset();window.scrollTo(pos[0],pos[1]);}else{element.scrollLeft=left;element.scrollTop=top;}return element;}});Effect.Scroll=Class.create();Object.extend(Object.extend(Effect.Scroll.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);this.start(Object.extend({x:0,y:0},arguments[1]||{}));},setup:function(){var scrollOffsets=(this.element==window)?document.viewport.getScrollOffsets():Element._returnOffset(this.element.scrollLeft,this.element.scrollTop);this.originalScrollLeft=scrollOffsets.left;this.originalScrollTop=scrollOffsets.top;},update:function(pos){this.element.scrollTo(Math.round(this.options.x*pos+this.originalScrollLeft),Math.round(this.options.y*pos+this.originalScrollTop));}});