MediaWiki:TileData.js

From Wikicarpedia
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
//
// Expansion Selector Data
//

// Global preferences (?)
var PreferencesMap = 
{
  show: { C1: true, C2: true, C3: true, WE: true },    // Editions visible
  showAllTiles: true,
  requireAllFeatures: false,
};


// Constants to identify by number tabs and selector ids
var GROUP_C1 = 0,
    GROUP_C2 = 1,
    GROUP_C3 = 2,
    GROUP_WE = 3,
    GROUP_GEOMETRY = 4,
    GROUP_FEATURES = 5,
    GROUP_TOTAL = 6;

//
// Base expansion info - Master Tree of Expansions
//
// Generates CSS classes for:
//  * Individual entries: 1 class name indicated by "className"
//  * Group entries: 4 derived class names based on prefix indicated by "classNamePrefix"
//    - <Prefix_> + Full: visible when all the entries in the group are selected
//    - <Prefix_> + None: visible when none of the entries in the group is selected
//    - <Prefix_> + Any: visible when any of the entries in the group is selected
//    - <Prefix_> + Partial: visible when some -but not all- of the entries in the group are selected
//
var ItemTree = 
[
  // === C1 ===
  { 
    label: "Base game",
    inputFieldId: "inputBaseGame_C1",
    className: "showBaseGame_C1",
    edition: [ "C1" ],
    group: GROUP_C1,
    selected: false,
  },
  { 
    label: "Base game (BB5)",
    inputFieldId: "inputBaseGameBB5_C1",
    className: "showBaseGameBB5_C1",
    edition: [ "C1" ],
    group: GROUP_C1,
    selected: false,
  },
  { 
    label: "Major Expansions",
    inputFieldId: "inputMajor_C1",
    classNamePrefix: "showMajor_C1_",
    edition: [ "C1" ],
    group: GROUP_C1,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "Exp. 1 - Inns And Cathedrals / Regular Tiles",
        inputFieldId: "inputInnsAndCathedrals_C1",
        className: "showInnsAndCathedrals_C1"
      },
      {
        label: "Exp. 1 - Inns And Cathedrals / Point Tiles",
        inputFieldId: "inputInnsAndCathedrals_PT_C1",
        className: "showInnsAndCathedrals_PT_C1"
      },
      {
        label: "Exp. 1 - Inns And Cathedrals / Point Tiles (BB5)",
        inputFieldId: "inputInnsAndCathedrals_PT_BB5_C1",
        className: "showInnsAndCathedrals_PT_BB5_C1"
      },
      {
        label: "Exp. 2 - Traders And Builders",
        inputFieldId: "inputTradersAndBuilders_C1",
        className: "showTradersAndBuilders_C1"
      },
      {
        label: "Exp. 3 - The Princess And The Dragon",
        inputFieldId: "inputPrincessAndDragon_C1",
        className: "showPrincessAndDragon_C1"
      },
      {
        label: "Exp. 4 - The Tower",
        inputFieldId: "inputTower_C1",
        className: "showTower_C1"
      },
      {
        label: "Exp. 5 - Abbey And Mayor",
        inputFieldId: "inputAbbeyAndMayor_C1",
        className: "showAbbeyAndMayor_C1"
      },
      {
        label: "Exp. 6 - Count, King And Robber",
        inputFieldId: "inputCountKingAndRobber_C1",
        className: "showCountKingAndRobber_C1"
      },
/*
      {
        label: "Exp. 6 - Count, King And Robber / River II",
        inputFieldId: "inputCountKingAndRobber_River2_C1",
        className: "showCountKingAndRobber_River2_C1"
      },
      {
        label: "Exp. 6 - Count, King And Robber / The Count of Carcassonne",
        inputFieldId: "inputCountKingAndRobber_CountOfCarcassonne_C1",
        className: "showCountKingAndRobber_CountOfCarcassonne_C1"
      },
      {
        label: "Exp. 6 - Count, King And Robber / King And Robber",
        inputFieldId: "inputCountKingAndRobber_KingAndRobber_C1",
        className: "showCountKingAndRobber_KingAndRobber_C1"
      },
      {
        label: "Exp. 6 - Count, King And Robber / Heretics And Shrines",
        inputFieldId: "inputCountKingAndRobber_HereticsAndShrines_C1",
        className: "showCountKingAndRobber_HereticsAndShrines_C1"
      },
*/
      {
        label: "Exp. 7 - The Catapult",
        inputFieldId: "inputCatapult_C1",
        className: "showCatapult_C1"
      },
      {
        label: "Exp. 8 - Bridges, Castles And Bazaars",
        inputFieldId: "inputBridgesCastlesAndBazaars_C1",
        className: "showBridgesCastlesAndBazaars_C1"
      },
      {
        label: "Exp. 9 - Hills and Sheep",
        inputFieldId: "inputHillsAndSheep_C1",
        className: "showHillsAndSheep_C1"
      },
      {
        label: "The Wheel Of Fortune",
        inputFieldId: "inputWheelOfFortune_C1",
        className: "showWheelOfFortune_C1"
      },
      {
        label: "The Wheel Of Fortune (BB5)",
        inputFieldId: "inputWheelOfFortuneBB5_C1",
        className: "showWheelOfFortuneBB5_C1"
      },
    ],     
  },
  { 
    label: "Minor Expansions",
    inputFieldId: "inputMinor_C1",
    classNamePrefix: "showMinor_C1_",
    edition: [ "C1" ],
    group: GROUP_C1,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "Mini 1 - The Flier (Boxed)",
        inputFieldId: "inputFlier_Boxed_C1",
        className: "showFlier_Boxed_C1"
      },
      {
        label: "Mini 1 - The Flier",
        inputFieldId: "inputFlier_C1",
        className: "showFlier_C1"
      },
      {
        label: "Mini 2 - Dispatches (Messages) (Boxed)",
        inputFieldId: "inputMessages_Boxed_C1",
        className: "showMessages_Boxed_C1"
      },
      {
        label: "Mini 2 - Dispatches (Messages) ",
        inputFieldId: "inputMessages_C1",
        className: "showMessages_C1"
      },
      {
        label: "Mini 3 - The Ferries (Boxed)",
        inputFieldId: "inputFerries_Boxed_C1",
        className: "showFerries_Boxed_C1"
      },
      {
        label: "Mini 3 - The Ferries",
        inputFieldId: "inputFerries_C1",
        className: "showFerries_C1"
      },
      {
        label: "Mini 4 - The Goldmines (Boxed)",
        inputFieldId: "inputGoldmines_Boxed_C1",
        className: "showGoldmines_Boxed_C1"
      },
      {
        label: "Mini 4 - The Goldmines",
        inputFieldId: "inputGoldmines_C1",
        className: "showGoldmines_C1"
      },
      {
        label: "Mini 5 - Mage And Witch (Boxed)",
        inputFieldId: "inputMageAndWitch_Boxed_C1",
        className: "showMageAndWitch_Boxed_C1"
      },
      {
        label: "Mini 5 - Mage And Witch",
        inputFieldId: "inputMageAndWitch_C1",
        className: "showMageAndWitch_C1"
      },
      {
        label: "Mini 6 - Robbers (Boxed)",
        inputFieldId: "inputRobbers_Boxed_C1",
        className: "showRobbers_Boxed_C1"
      },
      {
        label: "Mini 6 - Robbers",
        inputFieldId: "inputRobbers_C1",
        className: "showRobbers_C1"
      },
      {
        label: "Mini 7 - Crop Circles II",
        inputFieldId: "inputCropCircles2_C1",
        className: "showCropCircles2_C1"
      },
      {
        label: "River I",
        inputFieldId: "inputRiver1_C1",
        className: "showRiver1_C1"
      },
      {
        label: "River II",
        inputFieldId: "inputRiver2_C1",
        className: "showRiver2_C1"
      },
      {
        label: "River III (River I BB5)",
        inputFieldId: "inputRiver3_C1",
        className: "showRiver3_C1"
      },
      {
        label: "King And Robber",
        inputFieldId: "inputKingAndRobber_C1",
        className: "showKingAndRobber_C1"
      },
      {
        label: "The Count of Carcassonne",
        inputFieldId: "inputCountOfCarcassonne_C1",
        className: "showCountOfCarcassonne_C1"
      },
      {
        label: "Crop Circles I",
        inputFieldId: "inputCropCircles1_C1",
        className: "showCropCircles1_C1"
      },
      {
        label: "The Festival",
        inputFieldId: "inputFestival_C1",
        className: "showFestival_C1"
      },
      {
        label: "The Festival / Rules",
        inputFieldId: "inputFestivalRules_C1",
        className: "showFestivalRules_C1"
      },
      {
        label: "The Phantom",
        inputFieldId: "inputPhantom_C1",
        className: "showPhantom_C1"
      },
      {
        label: "The School",
        inputFieldId: "inputSchool_C1",
        className: "showSchool_C1"
      },
      {
        label: "Wind Roses II",
        inputFieldId: "inputWindRoses2_C1",
        className: "showWindRoses2_C1"
      },
      {
        label: "Besiegers",
        inputFieldId: "inputBesiegers_C1",
        className: "showBesiegers_C1"
      },
      {
        label: "Monasteries in Germany",
        inputFieldId: "inputMonasteriesInGermany_C1",
        className: "showMonasteriesInGermany_C1"
      },
      {
        label: "Monasteries in the Netherlands And Belgium (HiG)",
        inputFieldId: "inputMonasteriesInNetherlandsAndBelgiumHiG_C1",
        className: "showMonasteriesInNetherlandsAndBelgiumHiG_C1"
      },
      {
        label: "Halflings II",
        inputFieldId: "inputHalflings2_C1",
        className: "showHalflings2_C1"
      },
      {
        label: "Castles In Germany",
        inputFieldId: "inputCastlesInGermany_C1",
        className: "showCastlesInGermany_C1"
      },
      {
        label: "Carcassonne Start Tableau",
        inputFieldId: "inputCarcassonneStartTableau_C1",
        className: "showCarcassonneStartTableau_C1"
      },
      {
        label: "Cathedrals In Germany",
        inputFieldId: "inputCathedralsInGermany_C1",
        className: "showCathedralsInGermany_C1"
      },
      {
        label: "Creativity (BB4)",
        inputFieldId: "inputCreativityBB4_C1",
        className: "showCreativityBB4_C1"
      },
    ]
  },
  { 
    label: "Other Expansions",
    inputFieldId: "inputOther_C1",
    classNamePrefix: "showOther_C1_",
    edition: [ "C1" ],
    group: GROUP_C1,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "Cathars",
        inputFieldId: "inputCathars_C1",
        className: "showCathars_C1"
      },
      {
        label: "Mini Expansion GQ #11",
        inputFieldId: "inputGQ11_C1",
        className: "showGQ11_C1"
      },
      {
        label: "Heretics And Shrines",
        inputFieldId: "inputHereticsAndShrines_C1",
        className: "showHereticsAndShrines_C1"
      },
      {
        label: "Cult, Siege And Creativity",
        inputFieldId: "inputCultSiegeAndCreativity_C1",
        className: "showCultSiegeAndCreativity_C1"
      },
      {
        label: "The Tunnel",
        inputFieldId: "inputTunnel_C1",
        className: "showTunnel_C1"
      },
      {
        label: "The Plague",
        inputFieldId: "inputPlague_C1",
        className: "showPlague_C1"
      },
      {
        label: "La Porxada",
        inputFieldId: "inputPorxada_C1",
        className: "showPorxada_C1"
      },
      {
        label: "LittleBuldings",
        inputFieldId: "inputLittleBuldings_C1",
        className: "showLittleBuldings_C1"
      },
      {
        label: "Wind Roses I",
        inputFieldId: "inputWindRoses1_C1",
        className: "showWindRoses1_C1"
      },
      {
        label: "Russian Promos",
        inputFieldId: "inputRussianPromos_C1",
        className: "showRussianPromos_C1"
      },
      {
        label: "Monasteries in the Netherlands And Belgium (999Games)",
        inputFieldId: "inputMonasteriesInNetherlandsAndBelgium999Games_C1",
        className: "showMonasteriesInNetherlandsAndBelgium999Games_C1"
      },
      {
        label: "Halflings I",
        inputFieldId: "inputHalflings1_C1",
        className: "showHalflings1_C1"
      },
      {
        label: "Darmstadt Promo",
        inputFieldId: "inputDarmstadtPromo_C1",
        className: "showDarmstadtPromo_C1"
      },
      {
        label: "The Labyrinth",
        inputFieldId: "inputLabyrinth_C1",
        className: "showLabyrinth_C1"
      },
    ]
  },
  { 
    label: "PnP Expansions",
    inputFieldId: "inputPnP_C1",
    classNamePrefix: "showPnP_C1_",
    edition: [ "C1" ],
    group: GROUP_C1,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "Easter In Carcassonne (PnP)",
        inputFieldId: "inputEasterInCarcassonne_C1",
        className: "showEasterInCarcassonne_C1"
      },
      {
        label: "The City Gates (PnP)",
        inputFieldId: "inputCityGates_C1",
        className: "showCityGates_C1"
      },
      {
        label: "The Fortune Teller (PnP)",
        inputFieldId: "inputFortuneTeller_C1",
        className: "showFortuneTeller_C1"
      },
    ]
   },
 
  // === C2 ===
  { 
    label: "Base game",
    inputFieldId: "inputBaseGame_C2",
    className: "showBaseGame_C2",
    edition: [ "C2" ],
    group: GROUP_C2,
    selected: false,
  },
  { 
    label: "Major Expansions",
    inputFieldId: "inputMajor_C2",
    classNamePrefix: "showMajor_C2_",
    edition: [ "C2" ],
    group: GROUP_C2,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "Exp. 1 - Inns And Cathedrals / Regular Tiles",
        inputFieldId: "inputInnsAndCathedrals_C2",
        className: "showInnsAndCathedrals_C2"
      },
      {
        label: "Exp. 1 - Inns And Cathedrals / Point Tiles",
        inputFieldId: "inputInnsAndCathedrals_PT_C2",
        className: "showInnsAndCathedrals_PT_C2"
      },
      {
        label: "Exp. 1 - Inns And Cathedrals / Point Tiles (BB6)",
        inputFieldId: "inputInnsAndCathedrals_PT_BB6_C2",
        className: "showInnsAndCathedrals_PT_BB6_C2"
      },
      {
        label: "Exp. 2 - Traders And Builders",
        inputFieldId: "inputTradersAndBuilders_C2",
        className: "showTradersAndBuilders_C2"
      },
      {
        label: "Exp. 3 - The Princess And The Dragon",
        inputFieldId: "inputPrincessAndDragon_C2",
        className: "showPrincessAndDragon_C2"
      },
      {
        label: "Exp. 4 - The Tower",
        inputFieldId: "inputTower_C2",
        className: "showTower_C2"
      },
      {
        label: "Exp. 5 - Abbey And Mayor",
        inputFieldId: "inputAbbeyAndMayor_C2",
        className: "showAbbeyAndMayor_C2"
      },
      {
        label: "Exp. 6 - Count, King And Robber",
        inputFieldId: "inputCountKingAndRobber_C2",
        className: "showCountKingAndRobber_C2"
      },
      {
        label: "Exp. 8 - Bridges, Castles And Bazaars",
        inputFieldId: "inputBridgesCastlesAndBazaars_C2",
        className: "showBridgesCastlesAndBazaars_C2"
      },
      {
        label: "Exp. 8 - Bridges, Castles And Bazaars (Misprinted)",
        inputFieldId: "inputBridgesCastlesAndBazaarsMisprint_C2",
        className: "showBridgesCastlesAndBazaarsMisprint_C2"
      },
      {
        label: "Exp. 9 - Hills and Sheep",
        inputFieldId: "inputHillsAndSheep_C2",
        className: "showHillsAndSheep_C2"
      },
      {
        label: "Exp. 10 - Under The Big Top",
        inputFieldId: "inputUnderTheBigTop_C2",
        className: "showUnderTheBigTop_C2"
      },
    ],     
  },
  { 
    label: "Minor Expansions",
    inputFieldId: "inputMinor_C2",
    classNamePrefix: "showMinor_C2_",
    edition: [ "C2" ],
    group: GROUP_C2,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "Mini 1 - The Flier",
        inputFieldId: "inputFlier_C2",
        className: "showFlier_C2"
      },
      {
        label: "Mini 2 - Dispatches (Messages)",
        inputFieldId: "inputMessages_C2",
        className: "showMessages_C2"
      },
      {
        label: "Mini 3 - The Ferries",
        inputFieldId: "inputFerries_C2",
        className: "showFerries_C2"
      },
      {
        label: "Mini 4 - The Goldmines",
        inputFieldId: "inputGoldmines_C2",
        className: "showGoldmines_C2"
      },
      {
        label: "Mini 5 - Mage And Witch",
        inputFieldId: "inputMageAndWitch_C2",
        className: "showMageAndWitch_C2"
      },
      {
        label: "Mini 6 - Robbers",
        inputFieldId: "inputRobbers_C2",
        className: "showRobbers_C2"
      },
      {
        label: "Mini 7 - Crop Circles",
        inputFieldId: "inputCropCircles_C2",
        className: "showCropCircles_C2"
      },
      {
        label: "River I",
        inputFieldId: "inputRiver1_C2",
        className: "showRiver1_C2"
      },
      {
        label: "River I (BB6)",
        inputFieldId: "inputRiver1_BB6_C2",
        className: "showRiver1_BB6_C2"
      },
      {
        label: "The Abbot",
        inputFieldId: "inputAbbot_C2",
        className: "showAbbot_C2"
      },
      {
        label: "Spiel Promos",
        inputFieldId: "inputSpielPromos_C2",
        className: "showSpielPromos_C2"
      },
      {
        label: "Japanese Buildings",
        inputFieldId: "inputBuildingsInJapan_C2",
        className: "showBuildingsInJapan_C2"
      },
      {
        label: "The Watchtowers",
        inputFieldId: "inputWatchtowers_C2",
        className: "showWatchtowers_C2"
      },
      {
        label: "The Festival",
        inputFieldId: "inputFestival_C2",
        className: "showFestival_C2"
      },
      {
        label: "Saint Nicholas Scoreboard",
        inputFieldId: "inputSaintNicholasScoreboard_C2",
        className: "showSaintNicholasScoreboard_C2"
      },
      {
        label: "The Markets of Leipzig",
        inputFieldId: "inputMarketsOfLeipzig_C2",
        className: "showMarketsOfLeipzig_C2"
      },
      {
        label: "The Fruit-Bearing Trees",
        inputFieldId: "inputFruitBearingTrees_C2",
        className: "showFruitBearingTrees_C2"
      },
      {
        label: "Monasteries in Germany",
        inputFieldId: "inputMonasteriesInGermany_C2",
        className: "showMonasteriesInGermany_C2"
      },
      {
        label: "The Barber-Surgeons",
        inputFieldId: "inputBarberSurgeons_C2",
        className: "showBarberSurgeons_C2"
      },
      {
        label: "Castles In Germany",
        inputFieldId: "inputCastlesInGermany_C2",
        className: "showCastlesInGermany_C2"
      },
      {
        label: "The Tollkeepers",
        inputFieldId: "inputTollkeepers_C2",
        className: "showTollkeepers_C2"
      },      
      {
        label: "Halflings 1",
        inputFieldId: "inputHalflings1_C2",
        className: "showHalflings1_C2"
      },
      {
        label: "Halflings 2",
        inputFieldId: "inputHalflings2_C2",
        className: "showHalflings2_C2"
      },
      {
        label: "Cathedrals In Germany",
        inputFieldId: "inputCathedralsInGermany_C2",
        className: "showCathedralsInGermany_C2"
      },
    ]
  },
  { 
    label: "Other Expansions",
    inputFieldId: "inputOther_C2",
    classNamePrefix: "showOther_C2_",
    edition: [ "C2" ],
    group: GROUP_C2,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "The Labyrinth",
        inputFieldId: "inputLabyrinth_C2",
        className: "showLabyrinth_C2"
      },
      {
        label: "Spiel Doch! 02/2018 (As Regular Tiles)",
        inputFieldId: "inputSpielDoch_Regular_C2",
        className: "showSpielDoch_Regular_C2"
      },
      {
        label: "Spiel Doch! 02/2018 (As Start Tile)",
        inputFieldId: "inputSpielDoch_Start_C2",
        className: "showSpielDoch_Start_C2"
      },
    ]
  },
  { 
    label: "CnP / PnP Expansions",
    inputFieldId: "inputPnP_C2",
    classNamePrefix: "showPnP_C2_",
    edition: [ "C2" ],
    group: GROUP_C2,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "CutCassonne (CnP)",
        inputFieldId: "inputCutCassonne_C2",
        className: "showCutCassonne_C2"
      },
      {
        label: "The Fortune Teller (PnP)",
        inputFieldId: "inputFortuneTeller_C2",
        className: "showFortuneTeller_C2"
      },
    ]
  },  


  // === C3 ===
  { 
    label: "Base game",
    inputFieldId: "inputBaseGame_C3",
    className: "showBaseGame_C3",
    edition: [ "C3" ],
    group: GROUP_C3,
    selected: false,
  },
  { 
    label: "20th Anniversary Base game",
    inputFieldId: "input20AEBaseGame_C3",
    className: "show20AEBaseGame_C3",
    edition: [ "C3" ],
    group: GROUP_C3,
    selected: false,
  },
  { 
    label: "Major Expansions",
    inputFieldId: "inputMajor_C3",
    classNamePrefix: "showMajor_C3_",
    edition: [ "C3" ],
    group: GROUP_C3,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "Exp. 1 - Inns And Cathedrals / Regular Tiles",
        inputFieldId: "inputInnsAndCathedrals_C3",
        className: "showInnsAndCathedrals_C3"
      },
      {
        label: "Exp. 1 - Inns And Cathedrals / Point Tiles",
        inputFieldId: "inputInnsAndCathedrals_PT_C3",
        className: "showInnsAndCathedrals_PT_C3"
      },
      {
        label: "Exp. 1 - Inns And Cathedrals / Point Tiles (BB7)",
        inputFieldId: "inputInnsAndCathedrals_PT_BB7_C3",
        className: "showInnsAndCathedrals_PT_BB7_C3"
      },
      {
        label: "Exp. 2 - Traders And Builders",
        inputFieldId: "inputTradersAndBuilders_C3",
        className: "showTradersAndBuilders_C3"
      },
/*
      {
        label: "Exp. 3 - The Princess And The Dragon",
        inputFieldId: "inputPrincessAndDragon_C3",
        className: "showPrincessAndDragon_C3"
      },
      {
        label: "Exp. 4 - The Tower",
        inputFieldId: "inputTower_C3",
        className: "showTower_C3"
      },
      {
        label: "Exp. 5 - Abbey And Mayor",
        inputFieldId: "inputAbbeyAndMayor_C3",
        className: "showAbbeyAndMayor_C3"
      },
      {
        label: "Exp. 6 - Count, King And Robber",
        inputFieldId: "inputCountKingAndRobber_C3",
        className: "showCountKingAndRobber_C3"
      },
      {
        label: "Exp. 8 - Bridges, Castles And Bazaars",
        inputFieldId: "inputBridgesCastlesAndBazaars_C3",
        className: "showBridgesCastlesAndBazaars_C3"
      },
      {
        label: "Exp. 9 - Hills and Sheep",
        inputFieldId: "inputHillsAndSheep_C3",
        className: "showHillsAndSheep_C3"
      },
      {
        label: "Exp. 10 - Under The Big Top",
        inputFieldId: "inputUnderTheBigTop_C3",
        className: "showUnderTheBigTop_C3"
      },
*/
      {
        label: "Exp. 11 - Ghosts, Castles And Cemeteries",
        inputFieldId: "inputGhostsCastlesAndCemeteries_C3",
        className: "showGhostsCastlesAndCemeteries_C3"
      },
    ],     
  },
  { 
    label: "Minor Expansions",
    inputFieldId: "inputMinor_C3",
    classNamePrefix: "showMinor_C3_",
    edition: [ "C3" ],
    group: GROUP_C3,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "Mini 1 - The Flier",
        inputFieldId: "inputFlier_C3",
        className: "showFlier_C3"
      },
      {
        label: "Mini 2 - Dispatches (Messages)",
        inputFieldId: "inputMessages_C3",
        className: "showMessages_C3"
      },
      {
        label: "Mini 3 - The Ferries",
        inputFieldId: "inputFerries_C3",
        className: "showFerries_C3"
      },
      {
        label: "Mini 4 - The Goldmines",
        inputFieldId: "inputGoldmines_C3",
        className: "showGoldmines_C3"
      },
      {
        label: "Mini 5 - Mage And Witch",
        inputFieldId: "inputMageAndWitch_C3",
        className: "showMageAndWitch_C3"
      },
      {
        label: "Mini 6 - Robbers",
        inputFieldId: "inputRobbers_C3",
        className: "showRobbers_C3"
      },
      {
        label: "Mini 7 - Crop Circles",
        inputFieldId: "inputCropCircles_C3",
        className: "showCropCircles_C3"
      },
      {
        label: "River I",
        inputFieldId: "inputRiver1_C3",
        className: "showRiver1_C3"
      },
      {
        label: "20th Anniversary River",
        inputFieldId: "input20AERiver_C3",
        className: "show20AERiver_C3"
      },

      {
        label: "The Abbot",
        inputFieldId: "inputAbbot_C3",
        className: "showAbbot_C3"
      },
/*
      {
        label: "Spiel Promos",
        inputFieldId: "inputSpielPromos_C2",
        className: "showSpielPromos_C2"
      },
*/
      {
        label: "The Festival",
        inputFieldId: "inputFestival_C3",
        className: "showFestival_C3"
      },
      {
        label: "Castles In Germany",
        inputFieldId: "inputCastlesInGermany_C3",
        className: "showCastlesInGermany_C3"
      },
      {
        label: "The Peasant Revolts",
        inputFieldId: "inputPeasantRevolts_C3",
        className: "showPeasantRevolts_C3"
      },
      {
        label: "20th Anniversary Expansion",
        inputFieldId: "input20AEExpansion_C3",
        className: "show20AEExpansion_C3"
      },
      {
        label: "The Gifts",
        inputFieldId: "inputGifts_C3",
        className: "showGifts_C3"
      },
      {
        label: "The Signposts",
        inputFieldId: "inputSignposts_C3",
        className: "showSignposts_C3"
      },
      {
        label: "The Bets",
        inputFieldId: "inputBets_C3",
        className: "showBets_C3"
      },
      {
        label: "Ukraine Promo",
        inputFieldId: "inputUkrainePromo_C3",
        className: "showUkrainePromo_C3"
      },
      {
        label: "Creativity (BB7)",
        inputFieldId: "inputCreativityBB7_C3",
        className: "showCreativityBB7_C3"
      },
    ]
  },


  // === WD/WE ===


  {
    label: "Winter Edition Download Version (WD)",
    inputFieldId: "inputWD_WE",
    edition: [ "WE" ],
    group: GROUP_WE,
    separator: true,
    labelOnly: true 
  },
  { 
    label: "Base game",
    inputFieldId: "inputBaseGame_WD_WE",
    className: "showBaseGame_WD_WE",
    edition: [ "WE" ],
    group: GROUP_WE,
    selected: false,
  },


  {
    label: "Winter Edition - 1st version (WE1)",
    inputFieldId: "inputWE1_WE",
    edition: [ "WE" ],
    group: GROUP_WE,
    separator: true,
    labelOnly: false 
  },

  { 
    label: "Base game (WE1)",
    inputFieldId: "inputBaseGame_WE1_WE",
    className: "showBaseGame_WE1_WE",
    edition: [ "WE" ],
    group: GROUP_WE,
    selected: false,
  },
  { 
    label: "Base game - Animals (WE1)",
    inputFieldId: "inputBaseGameAnimals_WE1_WE",
    className: "showBaseGameAnimals_WE1_WE",
    edition: [ "WE" ],
    group: GROUP_WE,
    selected: false,
  },
  { 
    label: "Minor Expansions (WE1)",
    inputFieldId: "inputMinor_WE1_WE",
    classNamePrefix: "showMinor_WE1_WE_",
    edition: [ "WE" ],
    group: GROUP_WE,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "The Gingerbread Man (WE1)",
        inputFieldId: "inputGingerbreadMan_WE1_WE",
        className: "showGingerbreadMan_WE1_WE"
      },
      {
        label: "The Gingerbread Man (Misprint) (WE1)",
        inputFieldId: "inputGingerbreadMan_Misprint_WE1_WE",
        className: "showGingerbreadMan_Misprint_WE1_WE"
      },
      {
        label: "Crop Circles (WE1)",
        inputFieldId: "inputCropCircles_WE1_WE",
        className: "showCropCircles_WE1_WE"
      },
    ]
  },

  {
    label: "Winter Edition - 2nd version (WE2)",
    inputFieldId: "inputWE2_WE",
    edition: [ "WE" ],
    group: GROUP_WE,
    separator: true,
    labelOnly: false 
  },
  { 
    label: "Base game (WE2)",
    inputFieldId: "inputBaseGame_WE2_WE",
    className: "showBaseGame_WE2_WE",
    edition: [ "WE" ],
    group: GROUP_WE,
    selected: false,
  },
  { 
    label: "Base game - Animals (WE2)",
    inputFieldId: "inputBaseGameAnimals_WE2_WE",
    className: "showBaseGameAnimals_WE2_WE",
    edition: [ "WE" ],
    group: GROUP_WE,
    selected: false,
  },
  { 
    label: "Minor Expansions (WE2)",
    inputFieldId: "inputMinor_WE2_WE",
    classNamePrefix: "showMinor_WE2_WE_",
    edition: [ "WE" ],
    group: GROUP_WE,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "River (WE2)",
        inputFieldId: "inputRiver1_WE2_WE",
        className: "showRiver1_WE2_WE"
      },
    ]
  },

  {
    label: "Winter Edition - 3rd version (WE3)",
    inputFieldId: "inputWE3_WE",
    edition: [ "WE" ],
    group: GROUP_WE,
    separator: true,
    labelOnly: false 
  },
  { 
    label: "Base game (WE3)",
    inputFieldId: "inputBaseGame_WE3_WE",
    className: "showBaseGame_WE3_WE",
    edition: [ "WE" ],
    group: GROUP_WE,
    selected: false,
  },
  { 
    label: "Base game - Animals (WE3)",
    inputFieldId: "inputBaseGameAnimals_WE3_WE",
    className: "showBaseGameAnimals_WE3_WE",
    edition: [ "WE" ],
    group: GROUP_WE,
    selected: false,
  },
  { 
    label: "Minor Expansions (W3)",
    inputFieldId: "inputMinor_WE3_WE",
    classNamePrefix: "showMinor_WE3_WE_",
    edition: [ "WE" ],
    group: GROUP_WE,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "River (WE3)",
        inputFieldId: "inputRiver1_WE3_WE",
        className: "showRiver1_WE3_WE"
      },
      {
        label: "The Abbot (WE3)",
        inputFieldId: "inputAbbot_WE3_WE",
        className: "showAbbot_WE3_WE"
      },
    ]
  },

  
  // Geometry
  { 
    label: "Square Tiles",
    inputFieldId: "inputSquareTiles",
    classNamePrefix: "showSquareTiles_",
    edition: [ "C1", "C2", "C3", "WE" ],
    group: GROUP_GEOMETRY,
    selected: false,
    open: false,
    children: 
    [
      // Official
      {
        label: "CCCC",
        inputFieldId: "inputCCCC",
        className: "showCCCC"
      },
      {
        label: "CCCF",
        inputFieldId: "inputCCCF",
        className: "showCCCF"
      },
      {
        label: "CCCR",
        inputFieldId: "inputCCCR",
        className: "showCCCR"
      },
      {
        label: "CCFF",
        inputFieldId: "inputCCFF",
        className: "showCCFF"
      },
      {
        label: "CCFR",
        inputFieldId: "inputCCFR",
        className: "showCCFR"
      },
      {
        label: "CCRF",
        inputFieldId: "inputCCRF",
        className: "showCCRF"
      },
      {
        label: "CCRR",
        inputFieldId: "inputCCRR",
        className: "showCCRR"
      },
      {
        label: "CFCF",
        inputFieldId: "inputCFCF",
        className: "showCFCF"
      },
      {
        label: "CFCR",
        inputFieldId: "inputCFCR",
        className: "showCFCR"
      },
      {
        label: "CFFF",
        inputFieldId: "inputCFFF",
        className: "showCFFF"
      },
      {
        label: "CFFR",
        inputFieldId: "inputCFFR",
        className: "showCFFR"
      },
      {
        label: "CFRF",
        inputFieldId: "inputCFRF",
        className: "showCFRF"
      },
      {
        label: "CFRR",
        inputFieldId: "inputCFRR",
        className: "showCFRR"
      },
      {
        label: "CFSR",
        inputFieldId: "inputCFSR",
        className: "showCFSR"
      },
      {
        label: "CRCR",
        inputFieldId: "inputCRCR",
        className: "showCRCR"
      },
      {
        label: "CRFF",
        inputFieldId: "inputCRFF",
        className: "showCRFF"
      },
      {
        label: "CRFR",
        inputFieldId: "inputCRFR",
        className: "showCRFR"
      },
      {
        label: "CRRF",
        inputFieldId: "inputCRRF",
        className: "showCRRF"
      },
      {
        label: "CRRR",
        inputFieldId: "inputCRRR",
        className: "showCRRR"
      },
      {
        label: "CSSF",
        inputFieldId: "inputCSSF",
        className: "showCSSF"
      },
      {
        label: "FFFF",
        inputFieldId: "inputFFFF",
        className: "showFFFF"
      },
      {
        label: "FFFR",
        inputFieldId: "inputFFFR",
        className: "showFFFR"
      },
      {
        label: "FFRR",
        inputFieldId: "inputFFRR",
        className: "showFFRR"
      },
      {
        label: "FRFR",
        inputFieldId: "inputFRFR",
        className: "showFRFR"
      },
      {
        label: "FRRR",
        inputFieldId: "inputFRRR",
        className: "showFRRR"
      },
      {
        label: "RRRR",
        inputFieldId: "inputRRRR",
        className: "showRRRR"
      },

      // River
      {
        label: "CCSS",
        inputFieldId: "inputCCSS",
        className: "showCCSS"
      },
      {
        label: "CFSF",
        inputFieldId: "inputCFSF",
        className: "showCFSF"
      },
      {
        label: "CSCS",
        inputFieldId: "inputCSCS",
        className: "showCSCS"
      },
      {
        label: "CSRS",
        inputFieldId: "inputCSRS",
        className: "showCSRS"
      },
      {
        label: "FFFS",
        inputFieldId: "inputFFFS",
        className: "showFFFS"
      },
      {
        label: "FFSS",
        inputFieldId: "inputFFSS",
        className: "showFFSS"
      },
      {
        label: "FRFS",
        inputFieldId: "inputFRFS",
        className: "showFRFS"
      },
      {
        label: "FRRS",
        inputFieldId: "inputFRRS",
        className: "showFRRS"
      },
      {
        label: "FSFS",
        inputFieldId: "inputFSFS",
        className: "showFSFS"
      },
      {
        label: "FSRS",
        inputFieldId: "inputFSRS",
        className: "showFSRS"
      },
      {
        label: "FSSS",
        inputFieldId: "inputFSSS",
        className: "showFSSS"
      },
      {
        label: "RRSS",
        inputFieldId: "inputRRSS",
        className: "showRRSS"
      },
      {
        label: "RSRS",
        inputFieldId: "inputRSRS",
        className: "showRSRS"
      },
    ]
  },

  { 
    label: "Square Fan Tiles",
    inputFieldId: "inputSquareFanTiles",
    classNamePrefix: "showSquareFanTiles_",
    edition: [ "C1" ],
    group: GROUP_GEOMETRY,
    selected: false,
    open: false,
    children: 
    [
      // Fan additions
      {
        label: "AAAA",
        inputFieldId: "inputAAAA",
        className: "showAAAA"
      },
      {
        label: "AAAC",
        inputFieldId: "inputAAAC",
        className: "showAAAC"
      },
      {
        label: "AACC",
        inputFieldId: "inputAACC",
        className: "showAACC"
      },
      {
        label: "ACAC",
        inputFieldId: "inputACAC",
        className: "showACAC"
      },
      {
        label: "ACCC",
        inputFieldId: "inputACCC",
        className: "showACCC"
      },
      {
        label: "ACCF",
        inputFieldId: "inputACCF",
        className: "showACCF"
      },
      {
        label: "ACCR",
        inputFieldId: "inputACCR",
        className: "showACCR"
      },
      {
        label: "ACFC",
        inputFieldId: "inputACFC",
        className: "showACFC"
      },
      {
        label: "ACFF",
        inputFieldId: "inputACFF",
        className: "showACFF"
      },
      {
        label: "ACFR",
        inputFieldId: "inputACFR",
        className: "showACFR"
      },
      {
        label: "ACRC",
        inputFieldId: "inputACRC",
        className: "showACRC"
      },
      {
        label: "AFCC",
        inputFieldId: "inputAFCC",
        className: "showAFCC"
      },
      {
        label: "AFCF",
        inputFieldId: "inputAFCF",
        className: "showAFCF"
      },
      {
        label: "AFCR",
        inputFieldId: "inputAFCR",
        className: "showAFCR"
      },
      {
        label: "AFRC",
        inputFieldId: "inputAFRC",
        className: "showAFRC"
      },
      {
        label: "ARCC",
        inputFieldId: "inputARCC",
        className: "showARCC"
      },
      {
        label: "ARCR",
        inputFieldId: "inputARCR",
        className: "showARCR"
      },
      {
        label: "ARRC",
        inputFieldId: "inputARRC",
        className: "showARRC"
      },
    ]
  },

  { 
    label: "Halfling Tiles",
    inputFieldId: "inputHalflingTiles",
    classNamePrefix: "showHalflingTiles_",
    edition: [ "C1", "C2" ],
    group: GROUP_GEOMETRY,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "CCC",
        inputFieldId: "inputCCC",
        className: "showCCC"
      },
      {
        label: "CCR",
        inputFieldId: "inputCCR",
        className: "showCCR"
      },
      {
        label: "CFF",
        inputFieldId: "inputCFF",
        className: "showCFF"
      },
      {
        label: "FCC",
        inputFieldId: "inputFCC",
        className: "showFCC"
      },
      {
        label: "FCF",
        inputFieldId: "inputFCF",
        className: "showFCF"
      },
      {
        label: "FCR",
        inputFieldId: "inputFCR",
        className: "showFCR"
      },
      {
        label: "FFC",
        inputFieldId: "inputFFC",
        className: "showFFC"
      },
      {
        label: "FFF",
        inputFieldId: "inputFFF",
        className: "showFFF"
      },
      {
        label: "FFR",
        inputFieldId: "inputFFR",
        className: "showFFR"
      },
      {
        label: "FRC",
        inputFieldId: "inputFRC",
        className: "showFRC"
      },
      {
        label: "FRF",
        inputFieldId: "inputFRF",
        className: "showFRF"
      },
      {
        label: "FRR",
        inputFieldId: "inputFRR",
        className: "showFRR"
      },
      {
        label: "RCF",
        inputFieldId: "inputRCF",
        className: "showRCF"
      },
      {
        label: "RCR",
        inputFieldId: "inputRCR",
        className: "showRCR"
      },
      {
        label: "RFC",
        inputFieldId: "inputRFC",
        className: "showRFC"
      },
      {
        label: "RFR",
        inputFieldId: "inputRFR",
        className: "showRFR"
      },
      {
        label: "RRC",
        inputFieldId: "inputRRC",
        className: "showRRC"
      },
      {
        label: "RRF",
        inputFieldId: "inputRRF",
        className: "showRRF"
      },
    ]
  },
/*
  { 
    label: "Double-sized Tiles",
    inputFieldId: "inputDoubleSizedTiles",
    className: "showDoubleSizedTiles",
    edition: [ "C1", "C2" ],
    group: GROUP_GEOMETRY,
    selected: false,
  },
*/
  
  { 
    label: "Double-sized Tiles",
    inputFieldId: "inputDoubleSizedTiles",
    classNamePrefix: "showDoubleSizedTiles_",
    edition: [ "C1", "C2", "C3" ],
    group: GROUP_GEOMETRY,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "School Tiles",
        inputFieldId: "inputSCHOOL", 
        className: "showSCHOOL", 
      },
      {
        label: "German Castle Tiles",
        inputFieldId: "inputCASTLE", 
        className: "showCASTLE", 
      },
      {
        label: "City Of Leipzig Tiles",
        inputFieldId: "inputLLLLLL", 
        className: "showLLLLLL", 
      },
      {
        label: "Spiel Doch! 02/2018 Tiles (As Start Tiles)",
        inputFieldId: "inputDOCH18", 
        className: "showDOCH18", 
      },
      {
        label: "20th Anniversary River Source",
        inputFieldId: "inputRIVR20", 
        className: "showRIVR20", 
      },
    ]
  },

  { 
    label: "Other Geometries",
    inputFieldId: "inputOtherGeometries",
    classNamePrefix: "showOtherGeometries_",
    edition: [ "C1", "C2", "C3" ],
    group: GROUP_GEOMETRY,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "Tableau 2x2",
        inputFieldId: "inputCARCXXXX", // "inputTableau2x2",
        className: "showCARCXXXX", // "showTableau2x2"
      },
      {
        label: "Tableau 2x3",
        inputFieldId: "inputCARCXXXXXX", // "inputTableau2x3",
        className: "showCARCXXXXXX", // "showTableau2x3"
      },
      {
        label: "Tableau 3x4",
        inputFieldId: "inputCARCXXXXXXXXXX", // "inputTableau3x4",
        className: "showCARCXXXXXXXXXX", // "showTableau3x4"
      },
      {
        label: "Tableau 4x4",
        inputFieldId: "inputWOFXXXXXXXXXXXXX", // "inputTableau4x4",
        className: "showWOFXXXXXXXXXXXXX", // "showTableau4x4"
      },
    ]
  },
  { 
    label: "Special Tiles",
    inputFieldId: "inputSpecialTiles",
    classNamePrefix: "showSpecialTiles_",
    edition: [ "C1", "C2", "C3" ],
    group: GROUP_GEOMETRY,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "Points Tiles",
        inputFieldId: "inputPointsTile",
        className: "showPT50"
      },
      {
        label: "Abbey Tiles",
        inputFieldId: "inputXXXX",
        className: "showXXXX"
      },
      {
        label: "City Of Carcassonne Tiles",
        inputFieldId: "inputCARC",
        className: "showCARC"
      },
      {
        label: "King And Robber Baron Tiles",
        inputFieldId: "inputKKRR",
        className: "showKKRR"
      },
/*
      {
        label: "King Tile",
        inputFieldId: "inputKingTile",
        className: "showKKKK"
      },
      {
        label: "Robber Baron Tile",
        inputFieldId: "inputRobberBaronTile",
        className: "showBBBB"
      },
*/
      {
        label: "Message Tiles",
        inputFieldId: "inputMessageTile",
        className: "showMMMM"
      },
      {
        label: "Goldmines Points Tile",
        inputFieldId: "inputGoldminesPointsTile",
        className: "showPPPP"
      },
      {
        label: "Rules Tiles",
        inputFieldId: "inputRulesTile",
        className: "showRULE"
      },
      {
        label: "Blank Tiles",
        inputFieldId: "inputBlankTile",
        className: "showBLNK"
      },
    ]
  },


  // Features
  { 
    label: "Regular Features",
    inputFieldId: "inputRegularFeatures",
    classNamePrefix: "showRegularFeatures_",
    edition: [ "C1", "C2", "C3", "WE" ],
    group: GROUP_FEATURES,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "Road",
        inputFieldId: "inputRoad",
        className: "showRoad"
      },
      {
        label: "City",
        inputFieldId: "inputCity",
        className: "showCity"
      },
      {
        label: "Cloister / Monastery",
        inputFieldId: "inputMonastery",
        className: "showMonastery"
      },
      {
        label: "Farm / Field",
        inputFieldId: "inputField",
        className: "showField"
      },
      {
        label: "Garden",
        inputFieldId: "inputGarden",
        className: "showGarden"
      },
      {
        label: "Abbey",
        inputFieldId: "inputAbbey",
        className: "showAbbey"
      },
      {
        label: "Cult Place / Shrine",
        inputFieldId: "inputShrine",
        className: "showShrine"
      },
      {
        label: "Cemetery",
        inputFieldId: "inputCemetery",
        className: "showCemetery"
      },
      {
        label: "Haunted Castle",
        inputFieldId: "inputHauntedCastle",
        className: "showHauntedCastle"
      },
      {
        label: "German Castle",
        inputFieldId: "inputGermanCastle",
        className: "showGermanCastle"
      },
      {
        label: "German Cathedral",
        inputFieldId: "inputGermanCathedral",
        className: "showGermanCathedral"
      },
      {
        label: "German Monastery",
        inputFieldId: "inputGermanMonastery",
        className: "showGermanMonastery"
      },
      {
        label: "Dutch & Belgian Monastery",
        inputFieldId: "inputDutchAndBelgianMonastery",
        className: "showDutchAndBelgianMonastery"
      },
      {
        label: "Japanese Building",
        inputFieldId: "inputJapaneseBuilding",
        className: "showJapaneseBuilding"
      },
      {
        label: "Darmstadt Church",
        inputFieldId: "inputDarmstadtChurch",
        className: "showDarmstadtChurch"
      },
      {
        label: "Baba Yaga's Hut",
        inputFieldId: "inputBabaYagasHut",
        className: "showBabaYagasHut"
      },
      {
        label: "Fortune Teller Tent",
        inputFieldId: "inputFortuneTellerTent",
        className: "showFortuneTellerTent"
      },
    ]
  },
  { 
    label: "Special Features",
    inputFieldId: "inputSpecialFeatures",
    classNamePrefix: "showSpecialFeatures_",
    edition: [ "C1", "C2", "C3", "WE" ],
    group: GROUP_FEATURES,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "River Source",
        inputFieldId: "inputRiverSource",
        className: "showRiverSource"
      },
      {
        label: "River Lake",
        inputFieldId: "inputRiverLake",
        className: "showRiverLake"
      },
      {
        label: "River Fork",
        inputFieldId: "inputRiverFork",
        className: "showRiverFork"
      },
      {
        label: "River Segment",
        inputFieldId: "inputRiverSegment",
        className: "showRiverSegment"
      },

      {
        label: "Magic Portal",
        inputFieldId: "inputMagicPortal",
        className: "showMagicPortal"
      },
      {
        label: "Volcano",
        inputFieldId: "inputVolcano",
        className: "showVolcano"
      },
  
      {
        label: "Tower Foundation",
        inputFieldId: "inputTowerFoundation",
        className: "showTowerFoundation"
      },

      {
        label: "Fair",
        inputFieldId: "inputFair",
        className: "showFair"
      },

      {
        label: "Bazaar",
        inputFieldId: "inputBazaar",
        className: "showBazaar"
      },

      {
        label: "Circus Area",
        inputFieldId: "inputCircusArea",
        className: "showCircusArea"
      },
      {
        label: "Acrobat Area",
        inputFieldId: "inputAcrobatArea",
        className: "showAcrobatArea"
      },

      {
        label: "Flying Machine",
        inputFieldId: "inputFlyingMachine",
        className: "showFlyingMachine"
      },
      {
        label: "Crop Circle",
        inputFieldId: "inputCropCircle",
        className: "showCropCircle"
      },

      {
        label: "Fruit-Bearing Tree",
        inputFieldId: "inputFruitBearingTree",
        className: "showFruitBearingTree"
      },

      {
        label: "Betting Office",
        inputFieldId: "inputBettingOffice",
        className: "showBettingOffice"
      },

      {
        label: "Solovei Razboynik's Tree",
        inputFieldId: "inputSoloveiRazboyniksTree",
        className: "showSoloveiRazboyniksTree"
      },
      {
        label: "Vodyanoy's Lake",
        inputFieldId: "inputVodyanoysLake",
        className: "showVodyanoysLake"
      },
    ]
  },
  { 
    label: "Special Subordinate Features",
    inputFieldId: "inputSpecialSubordinateFeatures",
    classNamePrefix: "showSpecialSubordinateFeatures_",
    edition: [ "C1", "C2", "C3", "WE" ],
    group: GROUP_FEATURES,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "Water Tower",
        inputFieldId: "inputWaterTower",
        className: "showWaterTower"
      },
      {
        label: "Highwaymen",
        inputFieldId: "inputHighwaymen",
        className: "showHighwaymen"
      },
      {
        label: "Field Cottage",
        inputFieldId: "inputFieldCottage",
        className: "showFieldCottage"
      },
      {
        label: "Farmhouse",
        inputFieldId: "inputFarmhouse",
        className: "showFarmhouse"
      },
      {
        label: "Field Cattle",
        inputFieldId: "inputFieldCattle",
        className: "showFieldCattle"
      },
      {
        label: "Cow Shed (Shed)",
        inputFieldId: "inputCowShed",
        className: "showCowShed"
      },
      {
        label: "Donkey Stable (Shed)",
        inputFieldId: "inputDonkeyStable",
        className: "showDonkeyStable"
      },
      {
        label: "Pigsty (Shed)",
        inputFieldId: "inputPigsty",
        className: "showPigsty"
      },
  
      {
        label: "Small Bridge",
        inputFieldId: "inputSmallBridge",
        className: "showSmallBridge"
      },
      {
        label: "Large Bridge",
        inputFieldId: "inputLargeBridge",
        className: "showLargeBridge"
      },
      {
        label: "City Overpass",
        inputFieldId: "inputCityOverpass",
        className: "showCityOverpass"
      },
      
      {
        label: "Junction With Village / Crossroads With Village",
        inputFieldId: "inputCrossroadWithVillage",
        className: "showCrossroadWithVillage"
      },
      {
        label: "Junction With Trees / Crossroads With Trees",
        inputFieldId: "inputCrossroadsWithTrees",
        className: "showCrossroadsWithTrees"
      },
      {
        label: "Road Cottage",
        inputFieldId: "inputRoadCottage",
        className: "showRoadCottage"
      },
      {
        label: "Bogatyr's Stone",
        inputFieldId: "inputBogatyrsStone",
        className: "showBogatyrsStone"
      },
      
      {
        label: "Roundabout",
        inputFieldId: "inputRoundabout",
        className: "showRoundabout"
      },

      {
        label: "Inn",
        inputFieldId: "inputInn",
        className: "showInn"
      },
      {
        label: "Cathedral",
        inputFieldId: "inputCathedral",
        className: "showCathedral"
      },

      {
        label: "Pig-Herd",
        inputFieldId: "inputPigHerd",
        className: "showPigHerd"
      },

      {
        label: "Vineyard",
        inputFieldId: "inputVineyard",
        className: "showVineyard"
      },
      {
        label: "Printed Sheep",
        inputFieldId: "inputPrintedSheep",
        className: "showPrintedSheep"
      },

      {
        label: "Misty Field",
        inputFieldId: "inputMistyField",
        className: "showMistyField"
      },
      {
        label: "Haunted Castle Ruins",
        inputFieldId: "inputHauntedCastleRuins",
        className: "showHauntedCastleRuins"
      },

      {
        label: "La Porxada",
        inputFieldId: "inputPorxada",
        className: "showPorxada"
      },

      {
        label: "Tunnel",
        inputFieldId: "inputTunnel",
        className: "showTunnel"
      },

      {
        label: "Darmstadtium",
        inputFieldId: "inputDarmstadtium",
        className: "showDarmstadtium"
      },
      
      {
        label: "Labyrinth",
        inputFieldId: "inputLabyrinth",
        className: "showLabyrinth"
      },

      {
        label: "Ferry Lake",
        inputFieldId: "inputFerryLake",
        className: "showFerryLake"
      },

      {
        label: "Siege",
        inputFieldId: "inputSiege",
        className: "showSiege"
      },

      {
        label: "Festival",
        inputFieldId: "inputFestival",
        className: "showFestival"
      },

      {
        label: "Watchtower",
        inputFieldId: "inputWatchtower",
        className: "showWatchtower"
      },

      {
        label: "Bathhouse",
        inputFieldId: "inputBathhouse",
        className: "showBathhouse"
      },

      {
        label: "Traveler Group",
        inputFieldId: "inputTravelerGroup",
        className: "showTravelerGroup"
      },

      {
        label: "City Gate",
        inputFieldId: "inputCityGate",
        className: "showCityGate"
      },

    ]
  },
  { 
    label: "Symbols",
    inputFieldId: "inputSymbol",
    classNamePrefix: "showSymbols_",
    edition: [ "C1", "C2", "C3", "WE" ],
    group: GROUP_FEATURES,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "Pennant / Coat Of Arms",
        inputFieldId: "inputCoatOfArms",
        className: "showCoatOfArms"
      },

      {
        label: "Barrel Symbol",
        inputFieldId: "inputBarrelSymbol",
        className: "showBarrelSymbol"
      },
      {
        label: "Cloth Symbol",
        inputFieldId: "inputClothSymbol",
        className: "showClothSymbol"
      },
      {
        label: "Wheat Symbol",
        inputFieldId: "inputWheatSymbol",
        className: "showWheatSymbol"
      },
      
      {
        label: "Princess",
        inputFieldId: "inputPrincessSymbol",
        className: "showPrincessSymbol"
      },
      {
        label: "Dragon",
        inputFieldId: "inputDragonSymbol",
        className: "showDragonSymbol"
      },
      
      {
        label: "Wheel With Number",
        inputFieldId: "inputWheelWithNumber",
        className: "showWheelWithNumber"
      },

      {
        label: "Gold Symbol",
        inputFieldId: "inputGoldSymbol",
        className: "showGoldSymbol"
      },
      {
        label: "Magic Symbol",
        inputFieldId: "inputMagicSymbol",
        className: "showMagicSymbol"
      },
      {
        label: "Robber Symbol",
        inputFieldId: "inputRobberSymbol",
        className: "showRobberSymbol"
      },
      {
        label: "Cathar Symbol",
        inputFieldId: "inputCatharSymbol",
        className: "showCatharSymbol"
      },

      {
        label: "Festival Symbol",
        inputFieldId: "inputFestivalSymbol",
        className: "showFestivalSymbol"
      },

      {
        label: "Gingerbread Man Symbol",
        inputFieldId: "inputGingerbreadManSymbol",
        className: "showGingerbreadManSymbol"
      },

      {
        label: "Outbreak Symbol",
        inputFieldId: "inputOutbreakSymbol",
        className: "showOutbreakSymbol"
      },

      {
        label: "Wind Rose",
        inputFieldId: "inputWindRose",
        className: "showWindRose"
      },

      {
        label: "Peasant Revolt",
        inputFieldId: "inputPeasantRevolt",
        className: "showPeasantRevolt"
      },

      {
        label: "Add Meeple Symbol",
        inputFieldId: "inputAddMeepleSymbol",
        className: "showAddMeepleSymbol"
      },
      {
        label: "Place Meeple Symbol",
        inputFieldId: "inputPlaceMeepleSymbol",
        className: "showPlaceMeepleSymbol"
      },
      {
        label: "Extra Turn Symbol",
        inputFieldId: "inputExtraTurnSymbol",
        className: "showExtraTurnSymbol"
      },
      {
        label: "Signpost Symbol",
        inputFieldId: "inputSignpostSymbol",
        className: "showSignpostSymbol"
      },
    ]
  },
  { 
    label: "Special Areas",
    inputFieldId: "inputSpecialAreas",
    classNamePrefix: "showSpecialAreas_",
    edition: [ "C1", "C2" ],
    group: GROUP_FEATURES,
    selected: false,
    open: false,
    children: 
    [
      {
        label: "City Of Carcassonne",
        inputFieldId: "inputCityOfCarcassonne",
        className: "showCityOfCarcassonne"
      },
      {
        label: "Wheel Of Fortune",
        inputFieldId: "inputWheelOfFortune",
        className: "showWheelOfFortune"
      },
      {
        label: "School",
        inputFieldId: "inputSchool",
        className: "showSchool"
      },
      {
        label: "City Of Leipzig",
        inputFieldId: "inputCityOfLeipzig",
        className: "showCityOfLeipzig"
      },
    ]
  },

];



var ACTION_CLEAR_ALL = "CLEAR_ALL",
    ACTION_SELECT_ALL = "SELECT_ALL",
    ACTION_SELECT_ALL_C1 = "SELECT_ALL_C1",
    ACTION_SELECT_ALL_C2 = "SELECT_ALL_C2",
    ACTION_SELECT_ALL_C3 = "SELECT_ALL_C3",
    ACTION_SELECT_ALL_WE = "SELECT_ALL_WE",
    ACTION_LOAD_PRESET = "LOAD_PRESET";
    

var QuickSelectorDefinition =
[
/*
  {
    _id: "preClearAll",
    label: "Clear All", // Empty
    readOnly: true,
    action: ACTION_CLEAR_ALL
  },
  {
    _id: "preSelectAll",
    label: "Select All", // All
    readOnly: true,
    action: ACTION_SELECT_ALL
  },
*/
  {
    _id: "preSelectAllC1",
    label: "Select All C1", // All C1
    readOnly: true,
    action: ACTION_SELECT_ALL_C1
  },
  {
    _id: "preSelectAllC2",
    label: "Select All C2", // All C2
    readOnly: true,
    action: ACTION_SELECT_ALL_C2
  },
  {
    _id: "preSelectAllC3",
    label: "Select All C3", // All C3
    readOnly: true,
    action: ACTION_SELECT_ALL_C3
  },
  {
    _id: "preSelectAllWE",
    label: "Select All WE", // All WE
    readOnly: true,
    action: ACTION_SELECT_ALL_WE
  },
  {
    _id: "preBigBox1",
    label: "Big Box 1", // 1, 2, 3, 4
    readOnly: true,
    classNames: 
    [
      "showBaseGame_C1",
      "showInnsAndCathedrals_C1",
      "showTradersAndBuilders_C1",
      "showPrincessAndDragon_C1",
      "showTower_C1"
    ]
  },
  {
    _id: "preBigBox1_RGG",
    label: "Big Box 1", // 1, 2, 3, 4, River
    readOnly: true,
    classNames: 
    [
      "showBaseGame_C1",
      "showInnsAndCathedrals_C1",
      "showTradersAndBuilders_C1",
      "showPrincessAndDragon_C1",
      "showTower_C1",
      "showRiver1_C1"
    ]
  },
  {
    _id: "preBigBox2",
    label: "Big Box 2", // 1, 2, 3, 5, 6
    readOnly: true,
    classNames: 
    [
      "showBaseGame_C1",
      "showInnsAndCathedrals_C1",
      "showTradersAndBuilders_C1",
      "showPrincessAndDragon_C1",
      "showAbbeyAndMayor_C1",
      "showCountKingAndRobber_C1"
    ]
  },
  {
    _id: "preBigBox3",
    label: "Big Box 3", // 1, 2, 3, 5, 8
    readOnly: true,
    classNames: 
    [
      "showBaseGame_C1",
      "showInnsAndCathedrals_C1",
      "showTradersAndBuilders_C1",
      "showPrincessAndDragon_C1",
      "showAbbeyAndMayor_C1",
      "showBridgesCastlesAndBazaars_C1"
    ]
  },
  {
    _id: "preBigBox4",
    label: "Big Box 4", // 1, 2, Minis 1-7
    readOnly: true,
    classNames: 
    [
      "showBaseGame_C1",
      "showInnsAndCathedrals_C1",
      "showTradersAndBuilders_C1",
      "showFlier_C1",
      "showMessages_C1",
      "showFerries_C1",
      "showGoldmines_C1",
      "showMageAndWitch_C1",
      "showRobbers_C1",
      "showCropCircles2_C1"
    ]
  },
  {
    _id: "preBigBox5",
    label: "Big Box 5", // 1, 2, 9, WoF, River III
    readOnly: true,
    classNames: 
    [
      "showBaseGameBB5_C1",
      "showRiver3_C1",
      "showInnsAndCathedrals_C1",
      "showInnsAndCathedrals_PT_BB5_C1",
      "showTradersAndBuilders_C1",
      "showHillsAndSheep_C1",
      "showWheelOfFortuneBB5_C1"
    ]
  },
  {
    _id: "preBigBox6",
    label: "Big Box 6", // 1, 2, Minis 1-7, River, Abbot
    readOnly: true,
    classNames: 
    [
      "showBaseGame_C2",
      "showInnsAndCathedrals_C2",
      "showInnsAndCathedrals_PT_BB6_C2",
      "showTradersAndBuilders_C2",
      "showFlier_C2",
      "showMessages_C2",
      "showFerries_C2",
      "showGoldmines_C2",
      "showMageAndWitch_C2",
      "showRobbers_C2",
      "showCropCircles_C2",
      "showRiver1_BB6_C2",
      "showAbbot_C2"
    ]
  },
  {
    _id: "preBigBox7",
    label: "Big Box 7", // 1, 2, Minis 1-7, River, Abbot
    readOnly: true,
    classNames: 
    [
      "showBaseGame_C3",
      "showInnsAndCathedrals_C3",
      "showInnsAndCathedrals_PT_BB7_C3",
      "showTradersAndBuilders_C3",
      "showFlier_C3",
      "showMessages_C3",
      "showFerries_C3",
      "showGoldmines_C3",
      "showMageAndWitch_C3",
      "showRobbers_C3",
      "showCropCircles_C3",
      "showRiver1_C3",
      "showAbbot_C3"
    ]
  },
  {
    _id: "preLE2003",
    label: "Limited Edition 2003", // 1, 2, River
    readOnly: true,
    classNames: 
    [
      "showBaseGame_C1",
      "showInnsAndCathedrals_C1",
      "showTradersAndBuilders_C1",
      "showRiver1_C1"
    ]
  },
  {
    _id: "preLE_TB",
    label: "LE Traders And Builders", // 2
    readOnly: true,
    classNames: 
    [
      "showBaseGame_C1",
      "showTradersAndBuilders_C1"    
    ]
  },
  {
    _id: "preLE_PD",
    label: "LE Princess And Dragon", // 3
    readOnly: true,
    classNames: 
    [
      "showBaseGame_C1",
      "showPrincessAndDragon_C1"    
    ]
  },
  {
    _id: "preLE_CC",
    label: "LE Crop Circles", // Crop Circles
    readOnly: true,
    classNames: 
    [
      "showBaseGame_C1",
      "showCropCircles1_C1"    
    ]
  },
  {
    _id: "preLE_10Anniversary",
    label: "LE 10th Anniversary", // The Festival
    readOnly: true,
    classNames: 
    [
      "showBaseGame_C1",
      "showFestival_C1"    
    ]
  },
  {
    _id: "preLE_Mueller",
    label: "LE Müller Exclusive", // 6, The Besiegers
    readOnly: true,
    classNames: 
    [
      "showBaseGame_C1",
      "showCountKingAndRobber_C1",    
      "showCathars_C1"    
    ]
  },
  {
    _id: "preLE_20Anniversary",
    label: "LE 20th Anniversary", // 20th Anniversary
    readOnly: true,
    classNames: 
    [
      "show20AEBaseGame_C3",
      "show20AERiver_C3",
      "show20AEExpansion_C3" ,
      "showAbbot_C3"  
    ]
  },
  {
    _id: "custom1",
    defaultLabel: "Custom 1 (Empty)", // Empty
    readOnly: false,
  },
  {
    _id: "custom2",
    defaultLabel: "Custom 2 (Empty)", // Empty
    readOnly: false,
  },
  {
    _id: "custom3",
    defaultLabel: "Custom 3 (Empty)", // Empty
    readOnly: false,
  },
  {
    _id: "custom4",
    defaultLabel: "Custom 4 (Empty)", // Empty
    readOnly: false,
  },
  {
    _id: "custom5",
    defaultLabel: "Custom 5 (Empty)", // Empty
    readOnly: false,
  },
];

// Constants for expresions
var AND = function ( a, b ) { return ( a && b ); }, 
    OR = function ( a, b ) { return ( a || b ); }, 
    NOT = function ( a ) { return !( a ); },
    COUNT = function ( a, b ) { return ( +a ) + ( +b ); };


// Derives classes definition
var DerivedClassesTable =
[
/* 
//*** Sample ***
  {
    className: "showAlternativeRulesMessage",
    expression: [ AND, "showC1", [ OR, "showDragon", "showMessages" ] ]
  },
*/
];


var strPage =
'<div id="_Tabs_">\
  <ul>\
  <li id="tabs-C1-label"><a href="#tabs-C1" class="wica-translate-contents" id="tabC1Expansions_Label">1st Ed. Expansions <span id="_Tile_Counter_C1_">(0/0)</span></a></li>\
  <li id="tabs-C2-label"><a href="#tabs-C2" class="wica-translate-contents" id="tabC2Expansions_Label">2nd Ed. Expansions <span id="_Tile_Counter_C2_">(0/0)</span></a></li>\
  <li id="tabs-C3-label"><a href="#tabs-C3" class="wica-translate-contents" id="tabC3Expansions_Label">3rd Ed. Expansions <span id="_Tile_Counter_C3_">(0/0)</span></a></li>\
  <li id="tabs-WE-label"><a href="#tabs-WE" class="wica-translate-contents" id="tabWEExpansions_Label">WE Expansions <span id="_Tile_Counter_WE_">(0/0)</span></a></li>\
  <li><a href="#tabs-Geometry" class="wica-translate-contents" id="tabGeometry_Label">Edges <span id="_Tile_Counter_Geometry_">(0/0)</span></a></li>\
  <li><a href="#tabs-Features" class="wica-translate-contents" id="tabFeatures_Label">Features <span id="_Tile_Counter_Features_">(0/0)</span></a></li>\
  <li><a href="#tabs-quick" class="wica-translate-contents" id="tabQuickSelectors_Label">Quick Selectors</a></li>\
  <li><a href="#tabs-filters" class="wica-translate-contents" id="tabFilters_Label">Filters <span id="_Tile_Filter_">(-)</span></a></li>\
  <li><a href="#tabs-help" class="wica-translate-contents" id="tabHelp_Label"\
><span  style="color: blue; background-color: white;"><b>&nbsp;?&nbsp;</b></span></a></li>\
  </ul>\
  <div id="tabs-C1">\
  <form>\
    <span id="_Tile_Selector_C1_"></span>\
  </form>\
  </div>\
  <div id="tabs-C2">\
    <form>\
    <span id="_Tile_Selector_C2_"></span>\
  </form>\
  </div>\
  <div id="tabs-C3">\
    <form>\
    <span id="_Tile_Selector_C3_"></span>\
  </form>\
  </div>\
  <div id="tabs-WE">\
  <form>\
      <span id="_Tile_Selector_WE_"></span>\
  </form>\
  </div>\
  <div id="tabs-Geometry">\
  <form>\
      <span id="_Tile_Selector_Geometry_"></span>\
  </form>\
  </div>\
  <div id="tabs-Features">\
  <form>\
      <span id="_Tile_Selector_Features_"></span>\
  </form>\
  </div>\
  <div id="tabs-quick">\
  <form>\
  <div class="form-box-container">\
  <div class="form-box">\
  <b class="wica-translate-contents" id="buttonQuickSelection_Label">Quick Selection:</b><br /><br />\
  <select id="quickSelectList" style="width: 200px;">\
    <option value="defaultSetting" class="wica-translate-contents" id="optionSelectOne_Label">Select one...</option>\
  </select><br /><input type="button" name="quickSelectButton" id="quickSelectButton" value="Select Expansions" class="ui-state-active ui-button wica-translate-attr-value" style="margin-top: 5px;"/>\
  <br /><br /><br />\
  <input type="button" name="quickClearAllButton" id="quickClearAllButton" value="Clear All" class="ui-state-active ui-button wica-translate-attr-value" />&nbsp;&nbsp;&nbsp;\
  <input type="button" name="quickSelectAllButton" id="quickSelectAllButton" value="Select All" class="ui-state-active ui-button wica-translate-attr-value" />\
    </div>\
    </div>\
  </form>\
  </div>\
  <div id="tabs-filters">\
  <form>\
  <div class="form-box-container">\
  <div class="form-box">\
  <b class="wica-translate-contents" id="textShowEditions_Label">Show Editions:</b><br /><br />\
  <input type="checkbox" name="filterC1" id ="filterC1" class="inputFilter" value="C1" /> <span class="wica-translate-contents" id="textFirstEdition_Label">1st Edition (C1)</span><br />\
  <input type="checkbox" name="filterC2" id ="filterC2" class="inputFilter" value="C2" /> <span class="wica-translate-contents" id="textSecondEdition_Label">2nd Edition (C2)</span><br />\
  <input type="checkbox" name="filterC3" id ="filterC3" class="inputFilter" value="C3" /> <span class="wica-translate-contents" id="textThirdEdition_Label">3rd Edition (C3)</span><br />\
  <input type="checkbox" name="filterWE" id ="filterWE" class="inputFilter" value="WE" /> <span class="wica-translate-contents" id="textWinterEdition_Label">Winter Edition (WE)</span><br />\
    </div>\
   <div class="form-box">\
  <b class="wica-translate-contents" id="textSettings_Label">Settings:</b><br /><br />\
  <input type="checkbox" name="showAllTiles" id="showAllTiles" value="showAllTiles" class="inputMark" /> <span class="wica-translate-contents" id="textShowAllTiles_Label">Show tiles with zero count</span><br />\
  <input type="checkbox" name="requireAllFeatures" id="requireAllFeatures" value="requireAllFeatures" class="inputMark" /> <span class="wica-translate-contents" id="textRequireAllFeatures_Label">All features required</span><br />\
  </div>\
  </div>\
  </form>\
  </div>\
  <div id="tabs-help"><div  class="wica-translate-contents" id="textHelp_Label">\
  Loem ipsum\
  </div></div>\
  <div id="tabs-selection" class="ui-tabs-panel ui-corner-bottom ui-widget-content">\
  <span class="wica-translate-contents" id="textCurrentSelection_Label">Current Selection:</span> \
  <ul id="_Tile_Result_List_">\
  <li class="spaceLines" id="tabs-C1-result"><b class="wica-translate-contents" id="textC1_Label">C1:</b> <span id="_Tile_Result_C1_" class="showC1Tiles"></span><span class="showNoC1Tiles wica-translate-contents" id="textNone_Label">None</span></li>\
  <li class="spaceLines" id="tabs-C2-result"><b class="wica-translate-contents" id="textC2_Label">C2:</b> <span id="_Tile_Result_C2_" class="showC2Tiles"></span><span class="showNoC2Tiles wica-translate-contents" id="textNone_Label">None</span></li>\
  <li class="spaceLines" id="tabs-C3-result"><b class="wica-translate-contents" id="textC3_Label">C3:</b> <span id="_Tile_Result_C3_" class="showC3Tiles"></span><span class="showNoC3Tiles wica-translate-contents" id="textNone_Label">None</span></li>\
  <li class="spaceLines" id="tabs-WE-result"><b class="wica-translate-contents" id="textWE_Label">WE:</b> <span id="_Tile_Result_WE_" class="showWETiles"></span><span class="showNoWETiles wica-translate-contents" id="textNone_Label">None</span></li>\
  <li class="spaceLines"><b class="wica-translate-contents" id="textGeometry_Label">Edges:</b> <span id="_Tile_Result_Geometry_" class="showGeometry"></span><span class="showNoGeometry wica-translate-contents" id="textNone_Label">None</span></li>\
  <li class="spaceLines"><b class="wica-translate-contents" id="textFeatures_Label">WE:</b> <span id="_Tile_Result_Features_" class="showFeatures"></span><span class="showNoFeatures wica-translate-contents" id="textNone_Label">None</span></li>\
    </ul>\
  </div>\
</div>';