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