//register key listener with document object
   document.onkeydown = konami; 

function konami(e) {

   if(!e){
      //for IE
      e = window.event;
   }

   //var keys = document.getElementById('keylog').innerHTML;
   //var newKeys = keys + e.keyCode;

   if (e.keyCode == 13 || e.keyCode == 37 || e.keyCode == 38 || e.keyCode == 39 || e.keyCode == 40 || e.keyCode == 65 || e.keyCode == 66) {

      document.getElementById('keylog').innerHTML = document.getElementById('keylog').innerHTML + " " + e.keyCode;

      var code = "38 38 40 40 37 39 37 39 66 65 13";
      var enteredCode = document.getElementById('keylog').innerHTML;

      var result = enteredCode.search(/38 38 40 40 37 39 37 39 66 65 13/);

      if (result > -1) {

        document.getElementById('keylog').innerHTML = "SUCCESS!";
        success();

      }

   }

   if (e.keyCode == 27 && document.getElementById('keylog').innerHTML.search(/SUCCESS!/) == 0) {

     fixit();

   }

}


function success() {

  var maxx = document.documentElement.clientWidth - 35;
  var maxy = document.documentElement.clientHeight - 35;

  var randx = Math.floor(Math.random()*maxx);
  var randy = Math.floor(Math.random()*maxy);
  document.getElementById('toaster1').style.visibility = 'visible';
  document.getElementById('toaster1').style.left = randx + 'px';
  document.getElementById('toaster1').style.top = randy + 'px';

  var randx = Math.floor(Math.random()*maxx);
  var randy = Math.floor(Math.random()*maxy);
  document.getElementById('toaster2').style.visibility = 'visible';
  document.getElementById('toaster2').style.left = randx + 'px';
  document.getElementById('toaster2').style.top = randy + 'px';

  var randx = Math.floor(Math.random()*maxx);
  var randy = Math.floor(Math.random()*maxy);
  document.getElementById('toaster3').style.visibility = 'visible';
  document.getElementById('toaster3').style.left = randx + 'px';
  document.getElementById('toaster3').style.top = randy + 'px';

  var randx = Math.floor(Math.random()*maxx);
  var randy = Math.floor(Math.random()*maxy);
  document.getElementById('toaster4').style.visibility = 'visible';
  document.getElementById('toaster4').style.left = randx + 'px';
  document.getElementById('toaster4').style.top = randy + 'px';

  for (i=1;i<=8;i++) {

    eval("var randDir" + i + " = Math.floor(Math.random()*2);");
    eval("if (randDir" + i + " == 0) {randDir" + i + " = -1;}");

  }

   startFlight(randDir1, randDir2, randDir3, randDir4, randDir5, randDir6, randDir7, randDir8);

}


function fixit() {

  for (i=1;i<=4;i++) {
    var toasterName = "toaster" + i;
    document.getElementById(toasterName).style.visibility = 'hidden';
  }
    clearTimeout(t);

}


function startFlight(xdel1, ydel1, xdel2, ydel2, xdel3, ydel3, xdel4, ydel4) {

  var maxx = document.documentElement.clientWidth - 35;
  var maxy = document.documentElement.clientHeight - 35;

  for (i=1;i<=4;i++) {

    var toasterName = "toaster" + i;

    eval("var xdel = xdel" + i + ";");
    eval("var ydel = ydel" + i + ";");

    var x = document.getElementById(toasterName).style.left;
    var y = document.getElementById(toasterName).style.top; 

    x = parseFloat(x.replace("px", ""));
    y = parseFloat(y.replace("px", ""));

    if (xdel == 1) {

      if (maxx <= x) {

        xdel = -1;
        eval("xdel" + i + " = -1;");

      }

    }

    else {

      if (x <= 0) {

        xdel = 1;
        eval("xdel" + i + " = 1;");

      }

    }


    if (ydel == 1) {

      if (maxy <= y) {

        ydel = -1;
        eval("ydel" + i + " = -1;");

      }

    }

    else {

      if (y <= 0) {

        ydel = 1;
        eval("ydel" + i + " = 1;");

      }

    }


    var newX = x + xdel;
    var newY = y + ydel;

    document.getElementById(toasterName).style.left = newX + "px";
    document.getElementById(toasterName).style.top = newY + "px"; 

  }

  var t=setTimeout("startFlight(" + xdel1 + ", " + ydel1 + ", " + xdel2 + ", " + ydel2 + ", " + xdel3 + ", " + ydel3 + ", " + xdel4 + ", " + ydel4 + ");", 10);

}