home *** CD-ROM | disk | FTP | other *** search
/ PC Extra 07 & 08 / pca1507.iso / intface / navigate.js < prev    next >
Encoding:
JavaScript  |  2003-04-22  |  6.6 KB  |  174 lines

  1. /*
  2. =================================================================
  3.  
  4. // toetsnavigatie: door Andre van Groenestein en Bart in 't Veld
  5. // versie 1.0: juli 2001 (PCA1309)
  6.  
  7. ** versie 1.1: november 2001 (PCA1311)
  8. ** check op locatie relatief gemaakt tov intface directory
  9.  
  10.  
  11. =================================================================
  12. */
  13.  
  14. var keys;
  15. // de Array wordt overruled in de games- en sharewarebestanden (GDI script): die dus altijd ook aanpassen...
  16.  
  17. function loadMainKeys()
  18. {
  19. keys = new Array(
  20. "location.href = 'pca/zoeken/index.htm'", "114" // F3: zoeken
  21. ,"location.href = 'pca/index.htm'", "80" // p-toets voor pc-active scherm
  22. ,"location.href = 'software/index.htm'", "83" // s-toets voor software scherm
  23. ,"location.href = 'online/index.htm'", "79" // o-toets voor online scherm
  24. ,"location.href = 'about/index.htm'", "67" // c-toets voor optie/colofon scherm
  25. );
  26. }
  27.  
  28. function loadMenuKeys()
  29. {
  30. keys = new Array(
  31. "parent.location.href  = '../main.htm'", "36" // home: ga naar het menu van de huidige sectie
  32. ,"Volgende()", "33" // page up: navigeer naar volgende pagina
  33. ,"Volgende()", "39" // rightArrow: navigeer naar volgende pagina
  34. ,"Volgende()", "40" // downArrow: navigeer naar volgende pagina
  35. ,"Volgende()", "107" // plus (numeriek): navigeer naar volgende pagina
  36. ,"Volgende()", "187" // plus: navigeer naar volgende pagina
  37. ,"parent.location.href = '../pca/zoeken/index.htm'", "114" // F3: zoeken
  38. ,"parent.location.href = '../pca/index.htm'", "80" // p-toets voor pc-active scherm
  39. ,"parent.location.href = '../software/index.htm'", "83" // s-toets voor software scherm
  40. ,"parent.location.href = '../online/index.htm'", "79" // o-toets voor online scherm
  41. ,"parent.location.href = '../about/index.htm'", "67" // c-toets voor optie/colofon scherm
  42. ,"parent.location.href = '../main.htm'", "72" // h-toets voor hoofdscherm
  43. );
  44. }
  45.     
  46. function loadGameKeys()
  47. {
  48. var keys = new Array(
  49. "parent.menu.LaadPagina('menu')", "36" // home: ga naar het menu van de huidige sectie
  50. ,"history.go(-1)", "27" // escape: sluit het venster
  51. ,"Volgende()", "33" // page up: navigeer naar volgende pagina
  52. ,"Volgende()", "39" // rightArrow: navigeer naar volgende pagina
  53. ,"Volgende()", "40" // downArrow: navigeer naar volgende pagina
  54. ,"Volgende()", "107" // plus (numeriek): navigeer naar volgende pagina
  55. ,"Volgende()", "187" // plus: navigeer naar volgende pagina
  56. ,"Vorige()", "34" // page down: navigeer naar vorige pagina
  57. ,"Vorige()", "37" // leftArrow: navigeer naar vorige pagina
  58. ,"Vorige()", "38" // upArrow: navigeer naar vorige pagina
  59. ,"Vorige()", "109" // min (numeriek): navigeer naar vorige pagina
  60. ,"Vorige()", "189" // min: navigeer naar vorige pagina
  61. ,"parent.location.href = '../../pca/zoeken/index.htm'", "114" // F3: zoeken
  62. );
  63. }
  64.  
  65. function loadOtherKeys()
  66. {
  67. keys = new Array(
  68. //"shift", "16", "ctrl", "17", "alt", "18", "spatie", "32"
  69. "parent.menu.LaadPagina('menu')", "36" // home: ga naar het menu van de huidige sectie
  70. ,"parent.menu.Volgende()", "33" // page up: navigeer naar volgende pagina
  71. ,"parent.menu.Volgende()", "39" // rightArrow: navigeer naar volgende pagina
  72. ,"parent.menu.Volgende()", "40" // downArrow: navigeer naar volgende pagina
  73. ,"parent.menu.Volgende()", "107" // plus (numeriek): navigeer naar volgende pagina
  74. ,"parent.menu.Volgende()", "187" // plus: navigeer naar volgende pagina
  75. ,"parent.menu.Vorige()", "34" // page down: navigeer naar vorige pagina
  76. ,"parent.menu.Vorige()", "37" // leftArrow: navigeer naar vorige pagina
  77. ,"parent.menu.Vorige()", "38" // upArrow: navigeer naar vorige pagina
  78. ,"parent.menu.Vorige()", "109" // min (numeriek): navigeer naar vorige pagina
  79. ,"parent.menu.Vorige()", "189" // min: navigeer naar vorige pagina
  80. ,"parent.location.href = '../../pca/zoeken/index.htm'", "114" // F3: zoeken
  81. ,"parent.location.href = '../../pca/index.htm'", "80" // p-toets voor pc-active scherm
  82. ,"parent.location.href = '../../software/index.htm'", "83" // s-toets voor software scherm
  83. ,"parent.location.href = '../../online/index.htm'", "79" // o-toets voor online scherm
  84. ,"parent.location.href = '../../about/index.htm'", "67" // c-toets voor optie/colofon scherm
  85. ,"parent.location.href = '../../main.htm'", "72" // h-toets voor hoofdscherm
  86. );
  87. }
  88.  
  89. function loadF3Key()
  90. { keys = new Array ("parent.location.href = '../../pca/zoeken/index.htm'", "114") // F3: zoeken
  91. }
  92.  
  93. function removeKeys() // verwijdert alle toetsnavigatie
  94. {    keys = new Array();
  95. }
  96.  
  97. function setKeys(welke) // wordt o.a. aangeroepen vanuit stemming
  98. {    if (welke == 0)
  99.     {    removeKeys()
  100.         loadF3Key()
  101.     }
  102.     else
  103.         loadOtherKeys()
  104. }
  105.  
  106. function whichScreen()
  107. {    // bepaalt waar we ons op de cd bevinden.
  108.  
  109. // nieuw: waar begint /intface en vervolgens tellen vanaf daar...
  110.  
  111.     intface    = location.href.toLowerCase().indexOf('intface');
  112.     path       = location.href.substr(intface);
  113.     var scherm = path.split("/");
  114.     scherm     = scherm.length; // diepte van de directorystructuur
  115.     switch(scherm)
  116.     {    case 2: return 0; break; // het openingsscherm
  117.         case 3: return 1; break; // een menuscherm
  118.         case 4:
  119.             if (location.href.indexOf('games/dia_') > -1)
  120.                 return 3;
  121.             else
  122.                 return 2;
  123.             break; // in de content (bijv. HandsOn)
  124.         default: return -1; break; // onbekende lokatie: geen toetsnavigatie
  125.     }
  126. }
  127.  
  128. function navigate(key)
  129. {
  130.     myKeyCode = isIE ? event.keyCode : key.which;
  131.  
  132.     //    key = String.fromCharCode(myKeyCode); // geeft het ingetikte teken
  133.     if (isIE)
  134.     {    if (event.ctrlKey) // toetscombinaties met CTRL-toets afvangen: deze werkt alleen in IE
  135.         {    if ((myKeyCode != 114) || (myKeyCode == 67)) // 114 = F3-toets: deze wel uitvoeren.
  136.             {    return true;
  137.             }
  138.         }
  139.     }
  140.     for (var i = 1; i < keys.length; i+=2)
  141.         if (myKeyCode == keys[i])
  142.         {    eval(keys[i - 1]);
  143.             return false;
  144.             break;
  145.         }
  146. }
  147.  
  148. // Functietoets F1 kan niet door navigate() worden bepaald: het
  149. // helpscherm van IE wordt ondanks return false toch weergegeven...
  150. function help()
  151. {    // ingebouwd in IE
  152.     if (whichScreen() == 0) // zitten we op een van de menuschermen?
  153.         location.href = "about/help/index.htm";
  154.     else if (whichScreen() == 1)
  155.         parent.location.href = "../about/help/index.htm";
  156.     else if ( (whichScreen() == 2) || (whichScreen() == 3) )
  157.         parent.location.href = "../../about/help/index.htm";
  158.     return false;
  159. }    window.onhelp = help;
  160.  
  161.  
  162. // initialisatie.
  163. if (dom1) // Netscape 4.x wordt niet ondersteund (versie > 6 wel).
  164. {    // afhankelijk van de locatie op de cd moet de juiste array worden ingeladen
  165.     switch(whichScreen())
  166.     {    case 0: loadMainKeys();  break;
  167.         case 1: loadMenuKeys();  break;
  168.         case 2: loadOtherKeys(); break;
  169.         case 3: loadGameKeys();  break;
  170.     }
  171.     if (whichScreen() != -1)
  172.         document.onkeydown = navigate;
  173. }
  174.