var oChaser = {
  topMargin : 0,
  callRate  : 10,
  slideTime : 200,
  maxDiff   : document.all ? document.body.clientHeight : window.innerHeight,
  isIE    : document.all ? true : false,
  chaserDiv : document[document.all ? "all" : "layers"]["myBackground"]
}

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; } }
}