var oChaser = { 
   topMargin : 300, 
   callRate : 10, 
   slideTime : 1200, 
   maxDiff : document.all ? document.body.clientHeight : window.innerHeight, 
   isIE : document.all ? true : false, 
   chaserDiv : document[document.all ? "all" : "layers"]["myChaser"] 
} 
 
window.setInterval("oChaser.main()", oChaser.callRate) 
oChaser.main = function() 
{ 
   this.currentY = this.isIE ? this.chaserDiv.style.pixelTop : this.chaserDiv.top 
   this.scrollTop = this.isIE ? document.body.scrollTop : window.pageYOffset 
   var newTargetY = this.scrollTop + this.topMargin 
 
   if ( this.currentY != newTargetY ) { 
 
   if ( newTargetY != this.targetY ) { 
    this.targetY = newTargetY 
    this.slideInit() 
   } 
   this.slide() 
   } 
} 
oChaser.slideInit = function() 
{ 
   var now = new Date() 
   this.A = this.targetY - this.currentY 
   this.B = Math.PI / ( 2 * this.slideTime ) 
   this.C = now.getTime() 
 
   if (Math.abs(this.A) > this.maxDiff) { 
   this.D = this.A > 0 ? this.targetY - this.maxDiff : this.targetY + this.maxDiff 
   this.A = this.A > 0 ? this.maxDiff : -this.maxDiff 
   } else { 
   this.D = this.currentY 
   } 
} 
 
oChaser.slide = function() 
{ 
   var now = new Date() 
   var newY = this.A * Math.sin( this.B * ( now.getTime() - this.C ) ) + this.D 
   newY = Math.round( newY ) 
 
   if (( this.A > 0 && newY > this.currentY )||( this.A < 0 && newY < this.currentY )) { 
    if ( this.isIE )this.chaserDiv.style.pixelTop = newY 
    else this.chaserDiv.top = newY 
   } 
} 
