var TITEMS = [ 
 ["Introduction", null, "1",
  ["Welcome", "pages/common_welcome.htm", "11"],
  ["Alloy Overview", "pages/alloy_overview.htm", "11"],
  ["Getting Started", "pages/getting_started.htm", "11"]
 ],
 ["Alloy Modules", null, "1",
  ["Equalizer", "pages/modules_equalizer.htm", "11"],
  ["Exciter", "pages/modules_exciter.htm", "11"],
  ["Transient", "pages/modules_transient.htm", "11"],
  ["Dynamics", "pages/modules_dynamics.htm", "11"],
  ["De-Esser", "pages/modules_deesser.htm", "11"],
  ["Limiter / Phase Tools", "pages/modules_limiter_phasetools.htm", "11"],
  ["Macro", "pages/modules_macro.htm", "11"],
  ["Standard Module Controls", "pages/modules_standard_controls.htm", "11"],
  ["Using Multiband Modules", "pages/mod_using_multiband_modules.htm", "11"]
 ],
 ["Macro Presets", null, "1",
  ["Preset Manager", "pages/presets_presetmanager.htm", "11"],
  ["MacroPresets", "pages/presets_macropresets.htm", "11"],
  ["Selecting Presets", "pages/presets_selecting.htm", "11"],
  ["Adding, Removing, Resetting Presets", "pages/presets_addingandremoving.htm", "11"],
  ["Changing Where Presets Are Stored", "pages/presets_folder.htm", "11"],
  ["Selectively Loading Modules from Presets", "pages/presets_loading.htm", "11"],
  ["Preset Module Reference", "pages/presets_module_reference.htm", "11"]
 ],
 ["Meters", null, "1",
  ["Spectrum", "pages/meters_spectrum.htm", "11"],
  ["Exciter", "pages/meters_exciter.htm", "11"],
  ["Transients", "pages/meters_transients.htm", "11"],
  ["Dynamics", "pages/meters_dynamics.htm", "11"],
  ["Limiter / Phase", "pages/meters_phasetools.htm", "11"],
  ["Input and Output Meters", "pages/meters_inputoutput.htm", "11"]
 ],
 ["Graph and Sidechain", null, "1",
  ["Setting the Order of the Modules", "pages/graph_order.htm", "11"],
  ["Parallel Processing", "pages/graph_parallel.htm", "11"],
  ["Routing Sidechain Signals", "pages/graph_sidechain.htm", "11"]
 ],
 ["General Functions", null, "1",
  ["Input and Output Gain", "pages/general_i_o_gain.htm", "11"],
  ["Zero Latency", "pages/general_zerolatency.htm", "11"],
  ["Undo and History Comparisons", "pages/general_undo.htm", "11"],
  ["Buffer Size Viewer", "pages/general_buffer_size_viewer.htm", "11"]
 ],
 ["Options", null, "1",
  ["General", "pages/options_general.htm", "11"],
  ["Spectrum", "pages/options_spectrum.htm", "11"],
  ["Meters", "pages/options_meter.htm", "11"],
  ["EQ/Dynamics/XOver", "pages/options_eqdynamicsxover.htm", "11"]
 ],
 ["Tips and Shortcuts", null, "1",
  ["CPU Optimization", "pages/common_cpu_optimization.htm", "11"],
  ["Automation", "pages/common_automation.htm", "11"],
  ["Delay Compensation", "pages/delay_compensation.htm", "11"],
  ["Shortcut Keys and Mouse Support", "pages/common_shortcuts.htm", "11"],
  ["Support", "pages/common_additional_support.htm", "11"]
 ]
];


var FITEMS = arr_flatten(TITEMS);

function arr_flatten (x) {
   var y = []; if (x == null) return y;
   for (var i=0; i<x.length; i++) {
      if (typeof(x[i]) == "object") {
         var flat = arr_flatten(x[i]);
         for (var j=0; j<flat.length; j++)
             y[y.length]=flat[j];
      } else {
         if ((i%3==0))
          y[y.length]=x[i+1];
      }
   }
   return y;
}


