/*
Navigation avec le clavier
Touches :
  Flèche droite  : Aller à la page suivante
  Flèche gauche  : Aller à la page précédente
  Page UP        : Aller au dossier parent
  HOME           : Aller à la première page
  END            : Aller à la dernière page
  S, s           : Démarrer / Arrêter le diaporama
  Echap            : Arrêter le diaporama
  I, i           : Infos exif
  H, h           : Menu d'aide
Marche avec IE6, Mozilla 1.4, Netscape 7.1, Opera 7.2
HOME et END ne fonctionnent pas avec Opera
*/

var takenAction = false;

//IE&Gecko Code
function IEGeckoKeyPress(oEvent) 
{
	var myKeyCode;

	if (!oEvent)
	    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) 
{
	//ne fonctionne pas si les commentaires sont affichés
	if( activeElement!=null )
		return;

	if( myKeyCode==39 || myKeyCode==107 ) // Flèche droite ou NUM +
	{
		if( hasRealNextPage )
		{
			takenAction = true;
			nextPage();
		}
	}
	else if( myKeyCode==37 || myKeyCode==109 ) // Flèche gauche ou NUM -
	{
		if( hasRealPrevPage )
		{
			takenAction = true;
			prevPage();
		}
	}
	else if( myKeyCode==33 ) // Page UP
	{
		takenAction = true;
		upPage();
	}
	else if( myKeyCode==36 ) // HOME
	{
		takenAction = true;
		firstPage();
	}
	else if( myKeyCode==35 ) // END
	{
		takenAction = true;
		lastPage();
	}
	else if( myKeyCode==27 ) // Echap
	{
		if( isSlideShow )
		{
			// Seulement pour le diaporama
			takenAction = true;
			dontSlides();
			takenAction = false;
		}
	}
	else if( myKeyCode==83 ) // S, s
	{
		if( isSlideShow )
		{
			// Seulement pour le diaporama
			takenAction = true;
			toggleSlideShow();
			takenAction = false;
		}
	}
	else if( myKeyCode==73 ) // I, i
	{
		if( hasMetaData )
		{
			// Seulement si il y a des METAdonnées
			takenAction = true;
			toggleElementVisibility("photometainfo");
			takenAction = false;
		}
	}
	else if( myKeyCode==72 ) // H, h
	{
		if( hasNavigationHelpTips )
		{
			// Seulement si l'affichage de l'aide est possible
			takenAction = true;
			toggleElementVisibility("help");
			takenAction = false;
		}
	}
	else
	{
		//alert("KeyCode: " + myKeyCode);
	}
}

function initKeyboard() 
{
	document.onkeydown = IEGeckoKeyPress;
}