 var size=5
    var moves = 0
    var off = size*2
    var on = 0
    var current = null
    function doOver() {
      if ((event.srcElement.tagName=="TD") && (current!=event.srcElement)) {
        if (current!=null)
          current.style.backgroundColor = current._background
        event.srcElement._background = event.srcElement.style.backgroundColor
        event.srcElement.style.backgroundColor = "lightgrey"
        current = event.srcElement
      }
    }

    function setColor(el) {
      if ((el._background=="") || (el._background==null)) {
        el.style.backgroundColor = "blue"
        el._background = "blue"
      } else {
        el.style.backgroundColor = ""
        el._background = ""
      }
    }

    function countLights() {
      off = 0; on = 0
      for (var x=0; x < size; x++)
        for (var y=0; y < size; y++) {
          var p = board.rows[x].cells[y]
          if (p._background=="blue")
            on++
          else
            off ++
        }
        document.all.on.innerText = on
      if (off!=0)
        document.all.off.innerText = off
      else
        document.all.off.innerText = "Yes!!! Na - endlich geschafft?"
      return (off==0)
    }

    function doClick() {
      setColor(current)
      var cellIdx = current.cellIndex
      var rowIdx = current.parentElement.rowIndex
      if (rowIdx>0)
        setColor(board.rows[rowIdx-1].cells[cellIdx])
      if (rowIdx<size-1)
        setColor(board.rows[rowIdx+1].cells[cellIdx])
      if (cellIdx>0)
        setColor(board.rows[rowIdx].cells[cellIdx-1])
      if (cellIdx<size-1)
        setColor(board.rows[rowIdx].cells[cellIdx+1])
      moves++
      document.all.moves.innerText = moves
      win = countLights()
      if (win) {
        board.onclick = null
        board.onmouseover = null
        current.style.background = "blue"
      }
    }

    function buildBoard() {
      var str = "<TABLE ID=board ONSELECTSTART=\"return false\" ONCLICK=\"doClick()\" ONMOUSEOVER=\"doOver()\" cellspacing=0 cellpadding=0 border=4>"
      for (var x=0; x < size; x++) {
        str+="<TR>"
        for (var y=0; y < size; y++) {
          str+="<TD>&nbsp;</TD>"
        }
        str+="</TR>"
      }
      str+="</TABLE>"
      return str
    }

    function newGame() {
      size = document.all.gameSize.value
      if (size<3)
        size=3
      if (size>15)
        size=15
      document.all.gameSize.value = size
      document.all.board.outerHTML = buildBoard()
      moves=0
      document.all.moves.innerText = moves
      countLights()

    }