function init_board (b) {
  BOARD = $ID(b);
  BOARD.zones = [];
  BOARD.lands = [];
  BOARD.setts = [];

  var bx = parseInt(BOARD.offsetLeft);
  var by = parseInt(BOARD.offsetTop);

  var resources = [
    "brick", "brick", "brick", "desert",
    "lumber", "lumber", "lumber", "lumber",
    "ore", "ore", "ore", "sheep", "sheep",
    "sheep", "sheep", "wheat", "wheat", "wheat", "wheat"
  ];

  var i;

  for (i = 0; i < 18; i++) {
    var hex = $EL('IMG', 'hex' + i, 'water');
    hex.src = "img/water.png";
    hex.set_state = hex_state;
    hex.style.left = (i ? (parseInt(BOARD.zones[i-1].style.left) + HEX_POS[i][0]) : (bx + HEX_POS[i][0])) + "px";
    hex.style.top = (i ? (parseInt(BOARD.zones[i-1].style.top) + HEX_POS[i][1]) : (by + HEX_POS[i][1])) + "px";

    hex.set_state(HEX_DROP);
    BOARD.zones.push(hex);
  }

  for (; i < 37; i++) {
    var r = Math.random() * resources.length;
    var type = resources.splice(r, 1);
    var hex = $EL('IMG', 'hex' + i, 'land');
    hex.n = i;
    hex.src = "img/" + type + ".png";
    hex.roads = [];
    hex.setts = [];
    hex.cities = [];
    hex.set_state = hex_state;
    hex.onmouseout = hex_mouseout;
    hex.onmousemove = hex_mousemove;
    hex.onclick = hex_click;
    hex.set = BOARD.lands;
    hex.res = type;
    hex.style.left = parseInt(BOARD.zones[i-1].style.left) + HEX_POS[i][0] + "px";
    hex.style.top = parseInt(BOARD.zones[i-1].style.top) + HEX_POS[i][1] + "px";

    hex.set_state(HEX_OFF);
    BOARD.zones.push(hex);
    BOARD.lands.push(hex);
  }

  for (i = 0; i < BOARD.zones.length; i++) {
    BOARD.appendChild(BOARD.zones[i]);
  }

  var sh = parseInt(Math.random() * 12);
  var ch;
  var abc = 0;

  // place outer letters
  for (i = 0; i < 12; i++) {
    ch = 18 + (sh + i) % 12;
    if (BOARD.zones[ch].res != "desert") place_chit(ch, abc++);
  }

  sh = HEX_JUMP[ch] - 30;

  // place inner letters
  for (i = 0; i < 6; i++) {
    ch = 30 + (sh + i) % 6;
    if (BOARD.zones[ch].res != "desert") place_chit(ch, abc++);
  }

  // place center letter
  {
    ch = 36;
    if (BOARD.zones[ch].res != "desert") place_chit(ch, abc++);
  }

  init_dropdowns();
}


function init_dropdowns () {
  var dd = ['sett', 'road', 'city'];

  for (var i in dd) {
    var dn = dd[i];
    var sbox = $ID(dn + '_color');
    for (var j = 0; j < sbox.options.length; j++) {
      var c = sbox.options[j].value;
      sbox.options[j].text = c + " (" + REMAINING[dn][c] + ")";
    }
  }
}

