// set rocket and refuel (downloadstatus)
setstyle('coverrocket', [
  ['left', BCenter[X] - 26],
  ['top', BCenter[Y] - 121]
]);
setstyle('coverrefuel', [
  ['left', BCenter[X] - 102],
  ['top', BCenter[Y] + 10]
]);

// let's animate the rocket
var loading = true;
var refuelpercent = 0; // global can be set outside (onLoad -> set 100 -> liftoff)
var flightheight = 121;
var acceleration = 0.2;
track = new Array;
var trackI = 0;

// tremble the rocket
function tremble() {
  if(loading) {
    setstyle('coverrocket', [
	  ['left', BCenter[X] - 27 + Math.random() * (2 + refuelpercent / 100)],
	  ['top', BCenter[Y] - flightheight + Math.random() * (1 + refuelpercent / 100)]
	]);
    window.setTimeout('tremble()', Math.random()*50);
    if (flightheight <= 121) { refuelpercent += 1; refuel(refuelpercent); } // temporary refueling
  }
}

// animate the refuel (loading) status bar
function refuel(percent) {
  if (percent < 0) percent = 0; if (percent > 99) { 
    percent = 100; liftoff(); 
    setstyle('coverrefuel', [['visibility', 'hidden']]);
  }
  setstyle('refuelimg', [['width', percent]]);
}

// self-explaining
function liftoff() {
  if (BCenter[Y] - flightheight > - 250) {
    track[trackI] = flightheight - 121; trackI++;
    flightheight += acceleration; acceleration *= 1.5;
    window.setTimeout('liftoff()', 65);
  }
  else {
    loading = false; // stop all animations (show site)
	setstyle('coverrocket', [['visibility', 'hidden']]);
	setstyle('cover', [['visibility', 'hidden']]);
  }
}

// let's get the Armstrong feeling
setstyle('coverrefuel', [['visibility', 'visible']]);
tremble();
setstyle('coverrocket', [['visibility', 'visible']]);