/*

************************************************************

  Keyboard support

    Keys:

      RIGHT Arrow  : Next page

      LEFT Arrow   : Previous page

      Page UP      : Index page

      HOME         : First page

      END          : Last page

      S,s          : Toggle start/stop slide show (not in index)

      I,i          : Toggle exif info (not in index)

    Tested on: IE6, Mozilla 1.4, Netscape 7.1, Opera 7.2



    Bugs:

     - HOME,END doesn't work in Opera

************************************************************

*/



var takenAction = false;



//IE&Gecko Code

function IEGeckoKeyPress(oEvent) 

{

	if (!oEvent) var oEvent = window.event;

	if (oEvent.keyCode) myKeyCode = oEvent.keyCode;

	else if (oEvent.which) myKeyCode = oEvent.which;

	if (oEvent.repeat || takenAction) {	return;	}

	if (myKeyCode >= 16 && myKeyCode <= 18) { return; }

	if (oEvent.shiftKey) { myKeyCode += 1000; }

	if (oEvent.ctrlKey)  { myKeyCode += 2000; }

	if (oEvent.altKey)   { myKeyCode += 4000; }

	//alert(oEvent.type + "=" + myKeyCode);

	myKeyPress(myKeyCode);

}



function myKeyPress(myKeyCode) 

{

	switch (myKeyCode) 

	{

		case 39:					// RIGHT arrow

		case 107:					// NUM +

			takenAction = true;

			nextPage();

			break;

		case 37:					// LEFT arrow

		case 109:					// NUM -

			takenAction = true; 

			prevPage();

			break;

		case 33: 					// Page UP

			takenAction = true;

			indexPage();

			break;

		case 36:					// HOME

			takenAction = true;

			firstPage();

			break;

		case 35:					// END

			takenAction = true;

			lastPage();

			break;

		case 83:					// S,s

			if ( isSlideShow ) 

			{

				// Only if i have slide show

				takenAction = true;

				navSlideShow();

			}

			break;

		case 73:					// I,i

			takenAction = true;

			navToggleInfo();

			break;

		default:	 

			//alert(oEvent.type + "=" + myKeyCode);

			break;

		}

}



function initKeyboard() 

{

	document.onkeydown = IEGeckoKeyPress;

}


