/*
http://www.dynamicdrive.com/dynamicindex1/dropmenuindex.htm
Drop down menu by http://www.dynamicdrive.com
--------------------------------------------------------------------------------
Adapté par Fabien BALESSE pour l'GIP Alfa Centre. ads-COM 2003
--------------------------------------------------------------------------------
Fonctionnement testé sous IE5.5, IE6, NN4.7, Opera 7, Mozilla Firebird 0.6.1, Netscape 6

Notes : 
- léger décalage sous IE6 (IE5 ?) "plein écran" (touche F11)
- optimisé pour IE et Nescape 6 et +, pas de survol pour netscape 4, survole la case de couleur uniquement sur opera 7 et clic sans menu pour le reste
--------------------------------------------------------------------------------
*/
var zindex=100
var chrono = 0
var timingMenu = 500
var PrevLienMenu = ''
var PrevIdCouleur = ''
/**
 * Fonction d'affichage de menu popup
 * Positionné en fonction de l'item principal
 */
function menuPopup(e,nomMenu,nomLien,idcouleur) { 
	menuPopupInit(nomMenu,nomLien,idcouleur)
	menuPopupPositionner(e)
	menuPopupAfficher()
	return false
}
function menuPopupBis(e,nomMenu,nomLien,idcouleur) {
	menuPopupInit(nomMenu,nomLien,idcouleur)
	menuPopupPositionnerBis(e)
	menuPopupAfficher()
	return false
}
function menuPopupNiv3(e,nomMenu,nomLien,idcouleur) {
	menuPopupInitNiv3(nomMenu,nomLien,idcouleur)
	menuPopupPositionnerNiv3(e)
	menuPopupAfficher()
	return false
}
/**
 * Menu juste allumé, pas de positionnement
 */
function menuPopupOn (nomMenu) {
	menuPopupInit(nomMenu,null)
	menuPopupAfficher ()
	return false
}
function menuPopupOnNiv3 (nomMenu) {
	menuPopupAfficher ()
	return false
}
/**
 * Menu à allumer ou éteindre sur click
 */
function menuAction (nomMenu) {
	calque = MM_findObj(nomMenu)
	if (calque.style.display=='none') {
		calque.style.display='block';
	} else {
		calque.style.display='none';
	}
	return false
}
/**
 * Initialisation des variables menu (themenu et themenuStyle)
 * On éteind un éventuel menu déjà allumé
 */
function menuPopupInit (nomClaque,nomLien,idcouleur) {
	calque = MM_findObj(nomClaque)

	// vérification si un popup n'est pas déjà ouvert
	if (window.themenu&&themenu.id!=calque.id)
		themenuStyle.visibility=is_nav4?"hide" : "hidden"
		
	themenu      = calque
	themenuStyle = is_nav4?themenu:calque.style
	//désactivation du bouton allumé
	if ((is_nav6up || is_ie5up) && PrevLienMenu!='' && nomLien!=null) {
		document.getElementById('tdlien'+PrevLienMenu).className='MenuDefault';
		document.getElementById('tdlien2'+PrevLienMenu).className='MenuDefaultBis'+PrevIdCouleur;
	}
	// allumage du bouton
	if ((is_nav6up || is_ie5up) && nomLien!=null) {
		PrevLienMenu = nomLien;
		PrevIdCouleur = idcouleur;
		document.getElementById('tdlien'+PrevLienMenu).className='MenuOver';
		document.getElementById('tdlien2'+PrevLienMenu).className='MenuOverBis'+PrevIdCouleur;
	}
	/*// on cache les selects si ie ou netscape 4	
	if (is_ie5up) {
		if (document.getElementById('Selects')!=null) {
			document.getElementById('Selects').style.visibility='hidden';
		}
	}*/
}
function menuPopupInitNiv3 (nomClaque,nomLien,idcouleur) {
	calque = MM_findObj(nomClaque)

	// vérification si un popup n'est pas déjà ouvert
	if (window.themenu&&themenu.id!=calque.id)
		themenuStyle.visibility=is_nav4?"hide" : "hidden"
		
	themenu      = calque
	themenuStyle = is_nav4?themenu:calque.style
}
/**
 * Déplace le calque pour qu'il soit "collé à l'item"
 * Attention : l'item principal doit avoir une taille (largeur surtout) précise
 */
function menuPopupPositionner (e) {
	themenuoffsetX = (is_ie4up||is_opera7up) ? document.body.scrollLeft : 0
	themenuoffsetY = (is_ie4up||is_opera7up) ? document.body.scrollTop  : 0

	if (is_nav4) {
		themenuStyle.left = e.pageX-e.layerX+159 
		themenuStyle.top  = e.pageY-e.layerY-5
	} else if (is_nav6up) {
		themenuStyle.left = e.pageX-e.layerX+159 
		themenuStyle.top  = e.pageY-e.layerY-1
	} else  {
		themenuStyle.left = themenuoffsetX+event.clientX-event.offsetX+157
		themenuStyle.top  = themenuoffsetY+event.clientY-event.offsetY-3
	}
}
function menuPopupPositionnerNiv3 (e) {
	themenuoffsetX = (is_ie4up||is_opera7up) ? document.body.scrollLeft : 0
	themenuoffsetY = (is_ie4up||is_opera7up) ? document.body.scrollTop  : 0

	if (is_nav4) {
		themenuStyle.left = e.pageX-e.layerX+148 
		themenuStyle.top  = e.pageY-e.layerY-6
	} else if (is_nav6up) {
		themenuStyle.left = e.pageX-e.layerX+148 
		themenuStyle.top  = e.pageY-e.layerY-6
	} else  {
		themenuStyle.left = themenuoffsetX+event.clientX-event.offsetX+149
		themenuStyle.top  = themenuoffsetY+event.clientY-event.offsetY-8
	}
}
function menuPopupPositionnerBis (e) {
	themenuoffsetX = (is_ie4up||is_opera7up) ? document.body.scrollLeft : 0
	themenuoffsetY = (is_ie4up||is_opera7up) ? document.body.scrollTop  : 0

	if (is_nav4) {
		themenuStyle.left = e.pageX-e.layerX+7 
		themenuStyle.top  = e.pageY-e.layerY-1
	} else if (is_nav6up) {
		themenuStyle.left = e.pageX-e.layerX+7 
		themenuStyle.top  = e.pageY-e.layerY-1
	} else if (is_opera7up) {
		themenuStyle.left = themenuoffsetX+event.clientX-event.offsetX+7
		themenuStyle.top  = themenuoffsetY+event.clientY-event.offsetY-1
	} else  {
		themenuStyle.left = themenuoffsetX+event.clientX-event.offsetX+5
		themenuStyle.top  = themenuoffsetY+event.clientY-event.offsetY-3
	}
}
/**
 *  Affichage du "popup"
 */
function menuPopupAfficher () {
	themenuStyle.visibility=is_nav4? "show":"visible"
	themenuStyle.zIndex=zindex++
	timerOff()
}
/**
 * Lancement du compte à rebours
 */
function startTimeout(delaiEteindre) {
	if( themenu ) {
		mmmenuPopupCacherTimer = setTimeout("menuPopupCacher()", delaiEteindre);
		return mmmenuPopupCacherTimer;
	}
}
/**
 * Compte à rebours pour éteindre le calque allumé
 */
function timerOn () {
	chrono = startTimeout(timingMenu)
}
/**
 * Annuulation du compte à rebours
 */
function timerOff() {
	if (chrono)
		clearTimeout(chrono)
	chrono = 0
}
/**
 * Masquage du menu popup et "libération" des variables
 */
function menuPopupCacher(){
	if (themenu) {
		themenuStyle.visibility=is_nav4? "hide":"hidden"
		themenuStyle=0
		themenu=0
		
		if ((is_nav6up || is_ie5up) && PrevLienMenu!='') {
			document.getElementById('tdlien'+PrevLienMenu).className='MenuDefault';
			document.getElementById('tdlien2'+PrevLienMenu).className='MenuDefaultBis'+PrevIdCouleur;
		}
		/*//On réaffiche les selects
		if (is_ie5up) {
			if (document.getElementById('Selects')!=null) {
				document.getElementById('Selects').style.visibility='visible';
			}
		}*/
	}
}

/* ********************************************************************** */
/* ********************************************************************** */
/* ********************************************************************** */
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
