var g = 8;
var flag = 0;
var moved = 0;
var offset;

function findoffset()
{
offset = 0;
while ((document.numbertiles.elements[offset].value != "1") && 
       (offset < document.numbertiles.elements.length-1))
  {
  offset++;
  }
}

  function blank() {}

  function imat(loc, o) {
    o.blur();
    if (
        (((g-1) == loc) && ((g%3) != 0)) || 
        (((g+1) == loc) && ((g%3) != 2)) || 
        ((g-3) == loc) ||         ((g+3) == loc)
        ) {
      swap(g, loc);
      g = loc;
    }
     check();
  }

  function doit() {
    var temp = 0;
    while (temp < 5) {
      randomize();
      temp++;
    }
  }

  function randomize() {
    flag = 0;
    imat(7, document.numbertiles.elements[0]);
    imat(4, document.numbertiles.elements[0]);
    while (moved < 200) {
      imat(Math.round((Math.random() * 8)), document.numbertiles.elements[0]);
    }
    moved = 0;
    flag = 1;
  }

  function swap (a, b) {
    var temp = document.numbertiles.elements[a+offset].value;
    document.numbertiles.elements[a+offset].value = document.numbertiles.elements[b+offset].value;
    document.numbertiles.elements[b+offset].value = temp;

    var tstyle = document.numbertiles.elements[a+offset].style.backgroundColor;

    document.numbertiles.elements[a+offset].style.backgroundColor = 
    document.numbertiles.elements[b+offset].style.backgroundColor;

    document.numbertiles.elements[b+offset].style.backgroundColor = tstyle;

  }

  function check () {
    if (flag != 1) {
      moved++;
      return;
    }
    var count = 0;
    var i = 0;
    for (i; i < 8; i++) {
      if (document.numbertiles.elements[i+offset].value == (i + 1)) {
        count++;
      }
    }
    if (count < 8) {
      //alert(count + " number(s) are correct");
    }
    else {
      alert("Hooray!! You are a Weiner!");
      flag=0;
    }
  }

  function doh(msg) {
    alert(msg);
  }