var TITEMS = [ 
 ["Introduction", null, "1",
  ["Bienvenue sur Loftware!", "htm/bienvenuesurloftware1.htm", "11"],
  ["Informations sur le support technique", "htm/informationssurlesupporttechnique.htm", "11"],
  ["Le saviez-vous?", "htm/lesaviezvous1.htm", "11"]
 ],
 ["Didacticiel 1  Installation et Configuration", null, "1",
  ["Présentation du didacticiel 1", "htm/prsentationdudidacticiel1.htm", "11"],
  ["Présentation de l'installation", "htm/prsentationdelinstallation.htm", "1",
   ["Installation", "htm/installation.htm", "11"],
   ["Installation et vérification de la clé matérielle", "htm/installationetvrificationdelaclmatrielle1.htm", "11"]
  ],
  ["Configuration d'un dispositif", "htm/configurationdundispositif.htm", "1",
   ["Types de connexions de dispositif", "htm/typesdeconnexionsdedispositif.htm", "11"],
   ["Configuration de dispositif", "htm/configurationdedispositif.htm", "11"],
   ["Tableau de configuration de dispositif LLM", "htm/tableaudeconfigurationdedispositifllm.htm", "11"],
   ["Configuration de dispositif avec le tableau", "htm/configurationdedispositifavecletableau.htm", "11"],
   ["Fin de la configuration de dispositif", "htm/findelaconfigurationdedispositif.htm", "11"]
  ],
  ["Didacticiel 1 - Conclusion", "htm/didacticiel1conclusion.htm", "11"]
 ],
 ["Didacticiel 2  Création d'une étiquette", null, "1",
  ["Présentation du didacticiel 2", "htm/prsentationdudidacticiel2.htm", "11"],
  ["Création de l'étiquette", "htm/crationdeltiquette.htm", "11"],
  ["À propos des champs de code-barres", "htm/proposdeschampsdecodebarres.htm", "11"],
  ["La finition", "htm/lafinition.htm", "11"],
  ["Essai d'impression d'étiquettes", "htm/essaidimpressiondtiquettes.htm", "11"],
  ["La fenêtre de propriétés", "htm/lafentredeproprits.htm", "11"],
  ["L'assistant Propriétés de langues", "htm/lassistantpropritsdelangues.htm", "11"],
  ["Didacticiel 2 - Conclusion", "htm/didacticiel2conclusion.htm", "11"]
 ],
 ["Didacticiel 3  Utilisation de On-Demand Print", null, "1",
  ["Présentation du didacticiel 3", "htm/prsentationdudidacticiel3.htm", "11"],
  ["On-Demand Print", "htm/ondemandprint.htm", "11"],
  ["Impression avec On-Demand Print", "htm/impressionavecondemandprint.htm", "11"],
  ["Didacticiel 3 - Conclusion", "htm/didacticiel3conclusion.htm", "11"]
 ],
 ["Didacticiel 4  Connexion à une base de données", null, "1",
  ["Présentation du didacticiel 5 - ODBC et bases de données", "htm/prsentationdudidacticiel5odbcetbasesdedonnes.htm", "11"],
  ["Sources de données", "htm/sourcesdedonnes.htm", "1",
   ["Boîte de dialogue Source de données", "htm/botededialoguesourcededonnes.htm", "11"]
  ],
  ["Didacticiel 4 - Conclusion", "htm/didacticiel4conclusion.htm", "11"]
 ],
 ["Didacticiel 5  Encodage des données RFID", null, "1",
  ["Présentation du didacticiel 5", "htm/prsentationdudidacticiel5.htm", "11"],
  ["Création d'étiquettes intelligentes et d'étiquettes  électroniques RFID", "htm/crationdtiquettesrfid.htm", "11"],
  ["Conversion d'une étiquette code-barres en une étiquette intelligente RFID", "htm/conversiondunetiquettecodebarres.htm", "11"],
  ["Configuration des propriétés des champs RFID", "htm/configurationdespropritsdeschampsrfid.htm", "11"],
  ["Utilisation de la configuration du bloc", "htm/utilisationdelaconfigurationdubloc.htm", "1",
   ["Utilisation de l'encodage EPC", "htm/utilisationdelencodageepc.htm", "1",
    ["Exemple d'identificateur général (GID-96)", "htm/exempledidentificateurgnralgid96.htm", "11"]
   ],
   ["Utilisation de l'encodage DoD", "htm/utilisationdelencodagedod.htm", "1",
    ["Exemple pour DoD-96", "htm/exemplepourdod96.htm", "11"]
   ]
  ],
  ["Impression des étiquette intelligentes RFID", "htm/impressiondestiquetteintelligentesrfid.htm", "11"],
  ["Didacticiel 5 - Conclusion", "htm/didacticiel5conclusion.htm", "11"]
 ],
 ["Didacticiel 6  Loftware Print Server", null, "1",
  ["Présentation du didacticiel 6", "htm/prsentationdudidacticiel6.htm", "11"],
  ["Loftware Print Server", "htm/loftwareprintserver.htm", "11"],
  ["Présentation générale des applications LPS", "htm/prsentationgnraledesapplicationslps.htm", "11"],
  ["Utilisation de Loftware Print Server", "htm/utilisationdeloftwareprintserver.htm", "11"],
  ["Interface de socket TCP/IP", "htm/interfacedesockettcpip.htm", "11"],
  ["Utilisation de Loftware Print Server en tant que service", "htm/utilisationdeloftwareprintserverentantqueservice.htm", "11"],
  ["Didacticiel 6 - Conclusion", "htm/didacticiel6conclusion.htm", "11"],
  ["Guide d'apprentissage rapide - Conclusion", "htm/guidedapprentissagerapideconclusion.htm", "11"]
 ]
];


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) && (x[i+1] != null))
          y[y.length]=x[i+1];
      }
   }
   return y;
}

function arr_findNext (url, cnt)
{
   var y = arr_flatten(TITEMS);
   for (var i = 0; i<y.length; i++) {
     if (y[i] == url) {
       ni = i + cnt;
       if (ni < 0) ni = 0;
       if (ni > y.length-1) ni = y.length-1;

       return y[ni];
     }
   }
   return "";
}
