// Intergalactic Oddyssey - Episode One

// Create the console object if it doesn't exist (like in IE)
try { console.assert(1); } catch(e) { console = { log: function() {}, assert: function() {} } }

var SpaceShip;

window.onload = function() 
{
  //console.log("Entering the load function");
  
  SpaceShip = new IGO_SpaceShip;
  SpaceShip.identifySpaceShipDiv("spaceShip");
  SpaceShip.identifyLaserDivs("laser");
  SpaceShip.init();
  
  console.log("spaceship should be loaded");
  
  // pre-load images
  
  if (document.images)
  {
    var preload_image_object = new Image();
    var image_url = [];
    var index = 0;
    var theAngle = 22.5;
    var i = 0;
    
    for (i = 1; i < 4; i++) {
      for (j = 0; j < 16; j++) {
        image_url[index] = "../images/spaceship/spaceship-"+i+"-"+theAngle*j+".png";
        console.log("index -> " + image_url[index]);
        index++;
      }
    }
  
    for (i = 0; i < 9; i++) {
      image_url[index] = "../images/lasers/circle-blue-"+i+".png";
      console.log("index -> " + image_url[index]);
      index++;
    }
  
    for(i=0; i<image_url.length; i++) {
      preload_image_object.src = image_url[i];
    }
  }    
  
  if(document.addEventListener){ 
    document.addEventListener("keydown",processKeyDown,false);
  }else{
    document.attachEvent("onkeydown",processKeyDown); 
  } 
  
  document.getElementById("loading").className = "loadingInvisible";
  document.getElementById("loadingMessage").className = "loadingInvisible";
}

function processKeyDown(e)
{
  var keyVal = -1;
     
  if (e.keyCode) keyVal=e.keyCode;
  else keyVal=e.which;

  //console.log("key pressed = " + keyVal);

  switch(keyVal)
  {
  case 32:
    SpaceShip.fireLaser();
    break;
  case 37:
    SpaceShip.rotateCCW();
    break;
  case 38:
    SpaceShip.hitTheGas();
    break;
  case 39:
    SpaceShip.rotateCW();
    break;
  case 40:
    break;
  }
}
