/* modules "à survol" */
/*
Principe : ajouter la classe 'mouse_over' au survol de l'élément ( module OU AUTRE), la remplacer par 'mouse_out' à la sortie du module
Autrement dit : on émule la pseudo-classe :hover (en attendant qu'IE sache faire)
Le reste est affaire de CSS
IMPORTANT :
1- les éléments concernés doivent avoir recu un identifiant
2- si JS inactif, les éléments ne reçoivent bien sûr aucune classe supplémentaire et le CSS normal s'applique seul
3- au chargement de la page, les éléments démarrent avec 'mouse_out' (ce qui semble logique)
 */
/* Gestion d'événements empruntée à Peter-Paul Koch http://www.quirksmode.org */

function elementSurvol(id)
	{
	function mouseOver (e) {
	    if (typeof e == 'undefined') {var e = window.event;}
	    var source;
	    if (typeof e.target != 'undefined') {source = e.target;}
		else if (typeof e.srcElement != 'undefined') {source = e.srcElement;}
		else {return true;}
	    if (source.nodeType == 3) {source = source.parentNode;} /*Safari fix*/
		// event processing stuff
		while(!source.id || source.id!=id) source=source.parentNode;
		if (/\bmouse_out\b/.test(source.className))
			source.className=source.className.replace(/\bmouse_out\b/,' mouse_over ');
		else source.className+=' mouse_over ';
	    return false;
		}
	function mouseOut (e) {
	    if (typeof e == 'undefined') {var e = window.event;}
	    var source;
	    if (typeof e.target != 'undefined') {source = e.target;}
		else if (typeof e.srcElement != 'undefined') {source = e.srcElement;}
		else {return true;}
	    if (source.nodeType == 3) {source = source.parentNode;} /*Safari fix*/
		// event processing stuff
		while(!source.id || source.id!=id) source=source.parentNode;
		if (/\bmouse_over\b/.test(source.className))
			source.className=source.className.replace(/\bmouse_over\b/,' mouse_out ');
		else source.className+=' mouse_out ';
	    return false;
		}
	
	var refElt;
	if (!id) return false;
	refElt=document.getElementById(id);
	if (!refElt) return false;
	refElt.className+=' mouse_out ';

	if (refElt.addEventListener)
		{refElt.addEventListener('mouseover',mouseOver,false);
		refElt.addEventListener('mouseout',mouseOut,false);}
	else if (refElt.attachEvent)
		{refElt.attachEvent('onmouseover',mouseOver);
		refElt.attachEvent('onmouseout',mouseOut);}
	return true;
	}