
var menuActive = 0;
var onLayer = "";
var timeOn = null;
var bName = navigator.appName;
var bVerMajor = parseInt(navigator.appVersion);
var bVerMinor = parseInt(navigator.appVersion.substring(2,3));
var NS4 = (bName == "Netscape" && bVerMajor >= 4 && bVerMinor >= 5);
var IE4 = (bName == "Microsoft Internet Explorer" && bVerMajor >= 4 );

if (NS4 || IE4){

	
	
	var ver = 0;

	function doInit() {

		var ua = window.navigator.userAgent;
		var msie = ua.indexOf ( "MSIE " )

		if ( msie > 0 )
			ver = parseInt ( ua.substring ( msie+5, ua.indexOf ( ".", msie ) ) );

	}

}

if (navigator.appName == "Netscape")
{
	layerStyleRef="layer.";
	layerRef="document.layers";
	styleSwitch="";
}
else
{
	layerStyleRef="layer.style.";
	layerRef="document.all";
	styleSwitch=".style";
}

function DL_GetElementLeft(eElement)
{
    var nLeftPos = eElement.offsetLeft;          // initialize var to store calculations
    var eParElement = eElement.offsetParent;     // identify first offset parent element  

    while (eParElement != null)
    {                                            // move up through element hierarchy
        nLeftPos += eParElement.offsetLeft;      // appending left offset of each parent
        eParElement = eParElement.offsetParent;  // until no more offset parents exist
    }
    return nLeftPos;                             // return the number calculated
}

function DL_GetElementTop(eElement)
{
    var nTopPos = eElement.offsetTop;            // initialize var to store calculations
    var eParElement = eElement.offsetParent;     // identify first offset parent element  
    while (eParElement != null)
    {                                            // move up through element hierarchy
        nTopPos += eParElement.offsetTop;        // appending top offset of each parent
        eParElement = eParElement.offsetParent;  // until no more offset parents exist
    }
    return nTopPos;                              // return the number calculated
}

function showMenu(layerName)
{
	var objItem=document.getElementById(layerName) ;
			
	if (objItem != null) {
	
		//if (NS4 || IE4)
		{	if (timeOn != null)
			{		
				clearTimeout(timeOn);
				hideMenu(onLayer);		
			}
			objItem.style.left=DL_GetElementLeft(document.getElementById('par' + layerName)) ; //xMousePos ;
			objItem.style.top=DL_GetElementTop(document.getElementById('par' + layerName)) + 13 ; //yMousePos ;
			// au cas ou ...
			if (objItem.style.top == '30px') {
				objItem.style.top=window.event.y + document.body.scrollTop ; }
			if (objItem.style.left == '0px') {
				objItem.style.left=window.event.x + document.body.scrollLeft ; }
			// Décalage pour la ligne	
			objItem.style.top=123;
				
			objItem.style.visibility="visible" ;
			objItem.style.display="" ;
			onLayer=layerName;
		}
	}
}

function hideMenu(layerName)
{	
	var objItem=document.getElementById(layerName) ;
	
	if (menuActive == 0) {
		if (objItem != null) {
			objItem.style.visibility="hidden" ;
			//objItem.style.display="none" ;
		}
	}	
	//	eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="hidden"');
}

function outTimer()
{
	//if (NS4 || IE4)
		timeOn = setTimeout("timerOut()",1000);
}

function timerOut(layerName)
{	
	if (menuActive == 0)
		hideMenu(onLayer);
}

function menuOver(obj)
{
	clearTimeout(timeOn);
	menuActive = 1;
	if (obj != null) {
		obj.className="dropdownitemover"
	}
}

function menuOut(obj)
{
	menuActive = 0; 
	timeOn = setTimeout("hideMenu(onLayer)", 400);
	if (obj != null) {
		obj.className="cMenu"
	}
}

function menuItem(title, action)
{
	this.title = title;
	this.action = action;
}

function menuMaker(menuArray)
{	
	n = "";
	j = eval(menuArray + ".length") - 1;
	topTable =	"<div ID='" + eval(menuArray + ".id") + "' style='position:absolute;z-index:200;visibility:hidden'><table border='0' cellspacing='0' cellpadding='2' class='dropdownmenu'>";
	endrow = "";
	btmTable = "</table></div>";
	n += topTable;
	for( var i = 0; i <=j; i++)
		n += "<tr><td  onMouseOver='menuOver(this)' onMouseOut='menuOut(this)' class='dropdownitem'><a href='" + eval(menuArray + "[" + i + "].action") + "'>" + eval(menuArray + "[" + i + "].title") + "</a></td></tr>";
	n += btmTable;
	return n;
}
