home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 November / Chip_2004-11_cd1.bin / zkuste / jalbum / ukazka / res / js / keyboard.js < prev    next >
Text File  |  2004-01-12  |  2KB  |  84 lines

  1. /*
  2. ************************************************************
  3.   Keyboard support
  4.     Keys:
  5.       RIGHT Arrow  : Next page
  6.       LEFT Arrow   : Previous page
  7.       Page UP      : Index page
  8.       HOME         : First page
  9.       END          : Last page
  10.       S,s          : Toggle start/stop slide show (not in index)
  11.       I,i          : Toggle exif info (not in index)
  12.     Tested on: IE6, Mozilla 1.4, Netscape 7.1, Opera 7.2
  13.  
  14.     Bugs:
  15.      - HOME,END doesn't work in Opera
  16. ************************************************************
  17. */
  18.  
  19. var takenAction = false;
  20.  
  21. //IE&Gecko Code
  22. function IEGeckoKeyPress(oEvent) 
  23. {
  24.     if (!oEvent) var oEvent = window.event;
  25.     if (oEvent.keyCode) myKeyCode = oEvent.keyCode;
  26.     else if (oEvent.which) myKeyCode = oEvent.which;
  27.     if (oEvent.repeat || takenAction) {    return;    }
  28.     if (myKeyCode >= 16 && myKeyCode <= 18) { return; }
  29.     if (oEvent.shiftKey) { myKeyCode += 1000; }
  30.     if (oEvent.ctrlKey)  { myKeyCode += 2000; }
  31.     if (oEvent.altKey)   { myKeyCode += 4000; }
  32.     //alert(oEvent.type + "=" + myKeyCode);
  33.     myKeyPress(myKeyCode);
  34. }
  35.  
  36. function myKeyPress(myKeyCode) 
  37. {
  38.     switch (myKeyCode) 
  39.     {
  40.         case 39:                    // RIGHT arrow
  41.         case 107:                    // NUM +
  42.             takenAction = true;
  43.             nextPage();
  44.             break;
  45.         case 37:                    // LEFT arrow
  46.         case 109:                    // NUM -
  47.             takenAction = true; 
  48.             prevPage();
  49.             break;
  50.         case 33:                     // Page UP
  51.             takenAction = true;
  52.             indexPage();
  53.             break;
  54.         case 36:                    // HOME
  55.             takenAction = true;
  56.             firstPage();
  57.             break;
  58.         case 35:                    // END
  59.             takenAction = true;
  60.             lastPage();
  61.             break;
  62.         case 83:                    // S,s
  63.             if ( isSlideShow ) 
  64.             {
  65.                 // Only if i have slide show
  66.                 takenAction = true;
  67.                 navSlideShow();
  68.             }
  69.             break;
  70.         case 73:                    // I,i
  71.             takenAction = true;
  72.             navToggleInfo();
  73.             break;
  74.         default:     
  75.             //alert(oEvent.type + "=" + myKeyCode);
  76.             break;
  77.         }
  78. }
  79.  
  80. function initKeyboard() 
  81. {
  82.     document.onkeydown = IEGeckoKeyPress;
  83. }
  84.