Effect.ScrollTo=Class.create();Object.extend(Object.extend(Effect.ScrollTo.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);this.start(arguments[1]||{})},setup:function(){Position.prepare();var offsets=Position.cumulativeOffset(this.element);if(this.options.offset)offsets[1]+=this.options.offset;var max=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);this.scrollStart=Position.deltaY;this.delta=(offsets[1]>max?max:offsets[1])-this.scrollStart},update:function(position){Position.prepare();window.scrollTo(Position.deltaX,this.scrollStart+(position*this.delta))}});if(typeof buggedcom=="undefined")var buggedcom=new Object();if(typeof buggedcom.utility=="undefined")buggedcom.utility=new Object();buggedcom.utility.timesince=function(original,output,id){var chunks=[[60*60*24*365,'year'],[60*60*24*30,'month'],[60*60*24*7,'week'],[60*60*24,'day'],[60*60,'hour'],[60,'min'],[1,'sec']];var today=(new Date()).getTime()/1000;if(today>original){since=today-original;reverse=false}else{since=original-today;reverse=true}var j=chunks.length;for(var i=0;i<j;i++){seconds=chunks[i][0];name=chunks[i][1];if((count=Math.floor(since/seconds))!=0){break}}var print='';if(count==0){print=on_zero}else{print=(count==1)?'1 '+name:count+' '+name+'s'}if(output==''){$(id).update(print)}else{$(id).update(output.split('%TIMESINCE%').join(print))}};