/**
	menu.js

	Librairies de fonctions pour gérer des menus déroulants

	@author Aurélien Vairet<b>
	@version 1.0
*/


/**
	Fonction qui affiche les menus déroulants au passage
	de la souris et masque les autres boutons de l'interface
	qui pourraient apparaître sous les menus.

	@param : id identifiant css du menu à afficher
*/
function MontreMenus(id) {
	var d = document.getElementById(id);											// Noeud correspondant au menu à afficher
	var d2 = document.getElementById('Navigation');		// La zone d'affichage du mode de lecture en cours, que l'on masquera pour certains sous-menus
	var d3 = document.getElementById('RetourListe');		// La zone d'affichage de la liste du mode de lecture en cours, que l'on masquera pour certains sous-menus
	var d4 = document.getElementById('ChampTexte');		// La zone de texte du moteur de recherche, que l'on masquera pour certains sous-menus

	// Liste de tous les boutons de l'interface à masquer lorsqu'on affiche un menu déroulant
	var tab_liens = new Array(
			'PointNet','PointOrg','VoirCommentaires','DepotCommentaires','VoirItineraires','GarderItineraires',
			'VoirFavoris','GarderFavoris','TexteAleatoire','Imprimer','BoutonInOff','Dico','BoutonVisiteGuidee',
			'BoutonIndispensable','TexteRelie','ModesLecture','Historique','Glossaire');
	var longueur_tab = tab_liens.length;

	// On boucle sur les 7 sous-menus pour les masquer via les propriétés css "visibility" et "z-index"
	for (var i = 1; i<8; i++) {
		if (document.getElementById('ssmenu'+i)) {
			document.getElementById('ssmenu'+i).style.visibility='hidden';
			document.getElementById('ssmenu'+i).style.zIndex='50';
		}
	}

	// On affiche maintenant le bon menu
	if (d) {
		d.style.visibility='visible';
		d.style.zIndex='1000';
		// Si on survole les sous-menus 5 ou 6, on doit masquer la zone affichant le mode de lecture en cours, sinon, elle apparaît sous les menus.
		//  (à cause d'IE qui ne gère pas le z-index correctement via javascript)
		if (id == 'ssmenu5' || id == 'ssmenu6') {
			if (d2) d2.style.visibility='hidden';
		}
		// Pour le sous-menu 7, on doit aussi masquer la zone affichant la liste liée au mode et la zone de recherche
		else if (id == 'ssmenu7') {
			if (d2) d2.style.visibility='hidden';
			if (d3) d3.style.visibility='hidden';
			if (d4) d4.style.visibility='hidden';
		}

		// On boucle sur le tableau de tous les boutons pour les masquer
		for (var j = 0; j<longueur_tab; j++) {
			document.getElementById(tab_liens[j]).style.visibility='hidden';
		}

		// On gère à part le masquage des 3 boutons suivants, qui ne sont pas toujours présents dans la page (cela dépend de la navigation du lecteur)
		if (document.getElementById('BoutonsSuivPrecGauche')) {
			document.getElementById('BoutonsSuivPrecGauche').style.visibility='hidden';
		}
		if (document.getElementById('BoutonsSuivPrecDroit')) {
			document.getElementById('BoutonsSuivPrecDroit').style.visibility='hidden';
		}
		if (document.getElementById('Validation')) {
			document.getElementById('Validation').style.visibility='hidden';
		}
	}
}

/**
	Fonction inverse de la précédente
	qui fait disparaître les menus lorsque la souris ne les survole plus
	et réaffiche les boutons éventuellement masqués.

	@param : id identifiant css du menu à masquer
*/
function CacheMenus(id) {
	var d = document.getElementById(id);
	var d2 = document.getElementById('Navigation');
	var d3 = document.getElementById('RetourListe');
	var d4 = document.getElementById('ChampTexte');

	var tab_liens = new Array(
			'PointNet','PointOrg','VoirCommentaires','DepotCommentaires','VoirItineraires','GarderItineraires',
			'VoirFavoris','GarderFavoris','TexteAleatoire','Imprimer','BoutonInOff','Dico','BoutonVisiteGuidee',
			'BoutonIndispensable','TexteRelie','ModesLecture','Historique','Glossaire');
	var longueur_tab = tab_liens.length;

	// On cache le menu concerné
	if (d) {
		d.style.visibility='hidden';
		d.style.zIndex='50';

		// On réaffiche les 2 zones spéciales masquées par le survol de souris
		if (d2) d2.style.visibility='visible';
		if (d3) d3.style.visibility='visible';
		if (d4) d4.style.visibility='visible';

		// On réaffiche tous les boutons de l'interface
		for (var j = 0; j<longueur_tab; j++) {
			document.getElementById(tab_liens[j]).style.visibility='visible';
		}

		// On réaffiche les 3 boutons qui ne sont pas toujours présents dans la page
		if (document.getElementById('BoutonsSuivPrecGauche')) {
			document.getElementById('BoutonsSuivPrecGauche').style.visibility='visible';
		}
		if (document.getElementById('BoutonsSuivPrecDroit')) {
			document.getElementById('BoutonsSuivPrecDroit').style.visibility='visible';
		}
		if (document.getElementById('Validation')) {
			document.getElementById('Validation').style.visibility='visible';
		}

	}
}

function montre(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
}

function cache(id) {
var d = document.getElementById(id);
if (d) {d.style.display='none';}
}
