var NUMBER_OF_SPRITES = 6;

usingNetscape = document.layers
layerRef = usingNetscape ? "document" : "document.all"
styleRef = usingNetscape ? "" : ".style"

var spriteArray = new Array();

for (k = 1; k <= NUMBER_OF_SPRITES; k++) {
  eval("sprite" + k + " = new Image")
  eval("sprite" + k + ".src = 'star" + k + ".gif'")
}

function sprite(id) {
  this.id = id
  this.sprite = "sprite" + id
  this.pic = "pic" + id
  this.doAnimationStep = doAnimationStep
}

function doAnimationStep() {
  if (this.id <= NUMBER_OF_SPRITES) {
    if (usingNetscape)
      eval("document." + this.sprite + ".document['" + this.pic + "'].src = sprite" + this.id + ".src")
    else
      eval("document['" + this.pic + "'].src = sprite" + this.id + ".src")
    this.id++
  }
  else eval(layerRef + '.' + this.sprite + styleRef + '.visibility = "hidden"')
}

function animate() {
  for(k = 0; k < NUMBER_OF_SPRITES; k++)
    spriteArray[k].doAnimationStep()
}

function mouseMoveEventHandler(e) { 
  rotatedSprites = rotateSprites()
  if (usingNetscape) {
    eval("document." + rotatedSprites + ".left = e.pageX - 50")
    eval("document." + rotatedSprites + ".top = e.pageY + 5")
  }
  else {
    eval("document.all." + rotatedSprites + ".style.pixelLeft = event.clientX + document.body.scrollLeft - 50")
    eval("document.all." + rotatedSprites + ".style.pixelTop = event.clientY + document.body.scrollTop + 5")
  }
}

function rotateSprites() {
  oldTop = spriteArray[NUMBER_OF_SPRITES - 1]
  for (k = NUMBER_OF_SPRITES - 1; k > 0; k--) {
    spriteArray[k] = spriteArray[k - 1] 
    spriteArray[k].id = k + 1
  }
  spriteArray[0] = oldTop 
  spriteArray[0].id = 1
  eval(layerRef + '.' + spriteArray[0].sprite +  styleRef + ".visibility = 'visible'")	
  return spriteArray[0].sprite
}

function initialize() {
  for (k = 0; k < NUMBER_OF_SPRITES; k++) spriteArray[k] = new sprite(k + 1)
  if (usingNetscape) document.captureEvents(Event.MOUSEMOVE)
  document.onmousemove = mouseMoveEventHandler
  setInterval("animate()", 40)
}
window.onload = initialize