    writeln("<form name = 'ui'>");
      writeln("Theme: ");
      selectBox("ImageSet",imageSet,imageSets,"changeImageSet(options[selectedIndex].value)","other...");
      checkBox("RunDemo", PlayMode == "demo","Demo","togglePlayMode('demo')","")
      checkBox("ShowPathCalc", ShouldShowPathCalculation,"Show path calculation","ShouldShowPathCalculation=checked;","")
      writeln("<br>");
      writeln("Levels: ");
      selectBox("LevelSet",levelSetNames[0],levelSetNames,"changeLevelSet(options[selectedIndex].value)","");
      button("gotoPrevLevel"," < ","setPlayMode('play'); prevLevel();","")
      selectBox("selectLevel",mapNames[0],mapNames,"loadBoard(selectedIndex)","");

      button("gotoNextLevel"," > ","setPlayMode('play'); nextLevel(); ","")
      button("RestartLevel","Restart","setPlayMode('play');restartCurrentLevel();","")
      makeBoardTable(maxRows,maxColumns);
      button("SetSpeed","Speed","changeSpeed()","")
      button("ShowBestSolution","Show","setPlayMode('solution')","")
      button("BestSolution","Best Solution:    0","","")
      button("PlayerMoves","Current:     0","showMoves()","")
      button("UndoMove","Undo","undoLastMove(); setPlayMode('play');","<br>")
      writeln("<textarea name='PlayerMovesText' cols='"
        +PlayerMovesWidth+"' wrap='true' wrapped='true' rows='5' wrap></textarea><br>")
      if(ShowDebug)
      {
        writeln("<textarea name='debugText' cols='40' wrap='true' wrapped='true' rows='20' wrap></textarea><br>")
        checkBox("FlipDebug",DEBUG,"Debug","DEBUG=checked","");
      }
      writeln("<br>");
     writeln("</form>");
