var TITEMS = [ 
 ["Overview", null, "1",
  ["What is DF SDK?", "source/sdk_welcometopic.htm", "10"],
  ["About Software Patching", "source/sdk_introduction.htm", "19"],
  ["What's new in this version?", "source/sdk_whatsnew.htm", "10"],
  ["Binary files comparing", "source/sdk_binaryfilescomparing.htm", "9"],
  ["Acknowledgments", "source/sdk_acknowledgments.htm", "17"]
 ],
 ["Library LIBDF", null, "1",
  ["Introduction", "source/libdf_introduction.htm", "11"],
  ["How it works", "source/libdf_how_it_works.htm", "11"],
  ["Getting Started", null, "1",
   ["Comparing Files", "source/libdf_comparingfiles.htm", "11"],
   ["DF-file Applying", "source/libdf_df_applying.htm", "11"]
  ],
  ["Comparing and Diff", null, "1",
   ["Functions", null, "1",
    ["dfOpenCmpByNames", "source/libdf_dfopencmpbynames.htm", "11"],
    ["dfOpenCmpByHandles", "source/libdf_dfopencmpbyhandles.htm", "11"],
    ["dfCompare", "source/libdf_dfcompare.htm", "11"],
    ["dfTestCmpResult", "source/libdf_dftestcmpresult.htm", "11"],
    ["dfBuildN, dfBuildH", "source/libdf_dfbuild.htm", "11"],
    ["dfCloseCmp", "source/libdf_dfclosecmp.htm", "11"]
   ],
   ["Structures", null, "1",
    ["TDfCmp", "source/libdf_tdfcmp.htm", "11"],
    ["TDfCmpOptions", "source/libdf_tdfcmpoptions.htm", "11"],
    ["TDfCmpResult", "source/libdf_tdfcmpresult.htm", "11"],
    ["TDfBldOptions", "source/libdf_tdfbldoptions.htm", "11"]
   ]
  ],
  ["Difference Applying", null, "1",
   ["Functions", null, "1",
    ["dfOpenDfFile", "source/libdf_dfopendffile.htm", "11"],
    ["dfCloseDfFile", "source/libdf_dfclosedffile.htm", "11"],
    ["dfGetDfInfo", "source/libdf_dfgetdfinfo.htm", "11"],
    ["dfApplyN, dfApplyH", "source/libdf_dfapply.htm", "11"],
    ["dfTouch", "source/libdf_dftouch.htm", "11"],
    ["dfGetExtraDataSize", "source/libdf_dfgetextradatasize.htm", "11"],
    ["dfGetExtraData", "source/libdf_dfgetextradata.htm", "11"]
   ]
  ],
  ["Shared Structures", null, "1",
   ["TDfChangePhase", "source/libdf_tdfchangephase.htm", "11"],
   ["TDfInteract", "source/libdf_tdfinteract.htm", "11"],
   ["TDfProgress", "source/libdf_tdfprogress.htm", "11"]
  ],
  ["Error Codes", "source/libdf_error_codes.htm", "11"]
 ],
 ["Frequenlty asked questions", "source/sdk_faq.htm", "11"],
 ["Registration and Support", null, "1",
  ["License Agreement", "source/sdk_eula.htm", "17"],
  ["How to register", "source/sdk_howtoregister.htm", "10"],
  ["Update and support", "source/sdk_updateandsupport.htm", "15"]
 ],
 ["Contact information", "source/sdk_contact_information.htm", "25"]
];


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;
}

