/**
 * @author Le studio vert (http://www.lestudiovert.fr) : Benoît Nadaud
 * gestion d'un menu déroulant 2 niveaux
 * le menu ne réagit qu'au évènement lié à l'utilisation de la souris
 * ce script nécessite les bibliothèque Prototype et Script.aculo.us
 */

function initMenu(event) {
	// définition du comportement des éléments de premier niveau du menu
	$$('.navigation').each( function(e) { 
		Event.observe(e, 'mouseover', appearMenu);
		Event.observe(e, 'mouseout', toggleMenu);
	});
	
	// définition du comportement des éléments de second niveau du menu
	$$('.sousNavigation').each( function(e) { 
		Event.observe(e, 'mouseover', toggleSousMenu);
		Event.observe(e, 'mouseout', toggleSousMenu2);
	});
	
	// définition du comportement des liens externes (class="spip_out")
	$$('.spip_out').each( function(e) { 
		e.title = '(ouverture dans une nouvelle fenêtre)';
		Event.observe(e, 'click', lienExterne);
	});
	
	// définition du comportement des images avec rollover (class="rolloverImage")
	$$('.rolloverImage').each( function(e) { 
		Event.observe(e, 'mouseover', imageRollover);
		Event.observe(e, 'mouseout', imageRollover);
	});
	
	$$('.lienCommentaire').each( function(e) { 
		
	});
	
	// diaporama page d'accueil
	/*Event.observe($('diaporama'), 'click', diaporama);
	Event.observe($('previousDiaporama'), 'click', diaporama);
	Event.observe($('nexDiaporama'), 'click', diaporama);*/
	
}

function masqueTousSousMenu() {
	// fonction permettant de masquer tous les sous-menus pour éviter qu'il y ait une superposition
	$$('.sousNavigation').each( function(e) { 
		Element.hide(e);
	});
}

function toggleMenu(event) {
	Event.stop(event);
	
	// identification du sous-menu demandé
	var ulSousMenu = Event.findElement(event, 'li').down('ul');
	
	// disparition de tous les sous menus
	masqueTousSousMenu();
	
	//affichage du sous-menu demandé s'il existe
	if (undefined != ulSousMenu) {
		//Element.toggle(ulSousMenu);
	}
}

function appearMenu(event) {
	Event.stop(event);
	
	
	// identification du sous-menu demandé
	var ulSousMenu = Event.findElement(event, 'li').down('ul');
	
	// disparition de tous les sous menus
	masqueTousSousMenu();
	
	// apparition du sous-menu demandé
	if (undefined != ulSousMenu) {
		Element.toggle(ulSousMenu);
		//new Effect.Appear(ulSousMenu);
	}
}

function toggleSousMenu(event) {
	Event.stop(event);
	
	// identification du sous-menu demandé
	var ulSousMenu = Event.findElement(event, 'ul');
	
	// disparition de tous les sous menus
	masqueTousSousMenu();
	
	// apparition du sous-menu demandé
	if (undefined != ulSousMenu) {
		Element.toggle(ulSousMenu);
	}
}

function toggleSousMenu2(event) {
	Event.stop(event);
	
	// identification du sous-menu demandé
	var ulSousMenu = Event.findElement(event, 'ul');
	
	// disparition de tous les sous menus
	masqueTousSousMenu();
	
	// apparition du sous-menu demandé
	if (undefined != ulSousMenu) {
	//	Element.toggle(ulSousMenu);
	}
}

function lienExterne(event) {
	Event.stop(event);
	
	//identification du lien
	var lien = Event.findElement(event, 'a');
	window.open(lien.href);
}

function scrollToElement(event) {
	Event.stop(event);
	
	//identification du lien
	var lien = Event.findElement(event, 'a');
	var ancre = lien.href.split('#')[1];
	if (undefined != $(''+ancre)) {
		new Effect.ScrollTo(ancre);
	}
}

// Rollover sur une image (exemple : image.jpg -> image_o.jpg)
function imageRollover(event) {
	Event.stop(event);
	//var image  			= Event.findElement(event, 'a');			
	var suffixeOver 		= '_o';
	var image			= Event.element(event);
	var srcImage			= image.src;
	var extensionImage	= srcImage.substr(srcImage.lastIndexOf('.'));
	var nomImage		= srcImage.substr(0,srcImage.lastIndexOf('.'));
	expressionSuffixe = new RegExp(suffixeOver,"g");
	
	// mouseover
	if (srcImage.indexOf(suffixeOver) == -1) {
		if (nomImage!='' && extensionImage!='') {
			image.src = nomImage + suffixeOver + extensionImage;
			//alert(elementImage.src);
		}
	}
	
	// mouseout
	if (srcImage.indexOf(suffixeOver) != -1) {
		if (nomImage!='' && extensionImage!='') {
			image.src = nomImage.replace(expressionSuffixe, '' ) + extensionImage;
		}
	}
}


/*function diaporama(event) {
	Event.stop(event);
	
	var eltImage = $('diaporama');
	var eltDescription = eltImage.next('span');
	
	
	var photosDiaporama = [ 'http://test.hyrule.lsv.fr/www.cerameurop.com/IMAGES/diaporama/cer1.jpg', 'http://test.hyrule.lsv.fr/www.cerameurop.com/IMAGES/diaporama/cer2.jpg', 'http://test.hyrule.lsv.fr/www.cerameurop.com/IMAGES/diaporama/cer3.jpg' ];
	var descriptionsDiaporama = ['Prothèse totale de hanche, I Ceram - Limoges (87)', 'ames industrielles, Saint Gobain Ceramics', 'Buses de pulvérisation, Saint Gobain Ceramics'];
	
	var indice = photosDiaporama.indexOf(eltImage.src);

	if (indice >= photosDiaporama.size()-1) {
		nextIndice = 0;
	}
	else {
		nextIndice = indice+1;
	}
	
	Element.toggle(eltImage);
	Element.toggle(eltDescription);
	eltImage.src = photosDiaporama[nextIndice];
	eltDescription.innerHTML = descriptionsDiaporama[nextIndice];
	new Effect.Appear(eltImage, {duration: 0.7});
	new Effect.Appear(eltDescription, {duration: 0.7});
}*/

// chargement de la page : définition du comportement du menu
Event.observe(window, 'load', initMenu);