var zindex  = 1000;
var ns4    = document.layers;
var ns6    = document.getElementById&&!document.all;
var ie4    = document.all;
var opr    = navigator.userAgent.indexOf("Opera");
var firstrun = false;

function TSDropDownMenuDrop(e, menuid, xoffset, yoffset)
{
	curmenuID  = (ns6)?document.getElementById(menuid).id  : eval(menuid).id;
	if (window.themenu && themenu.id != curmenuID)
		themenuStyle.visibility= ns4?"hide":"hidden";
	themenu          = (ns6)           ? document.getElementById(menuid): eval(menuid);
	themenuStyle     = (ns6||ie4)      ? themenu.style                  : themenu;
	themenuoffsetX   = (ie4&&opr==-1)  ? document.body.scrollLeft       : 0;
	themenuoffsetY   = (ie4&&opr==-1)  ? document.body.scrollTop        : 0;
	hiddenconst      = (ns6 || ie4)    ? "hidden"												: "hide";
	themenuStyle.left= findPosX(e) + xoffset;
	themenuStyle.top = findPosY(e) + yoffset;	
	if (themenuStyle.visibility == hiddenconst || firstrun == false)
	{
		themenuStyle.visibility = (ns6||ie4)? "visible":"show";
		themenuStyle.zIndex     = zindex++;
	}
	else
	{
		hidemenu();
	}
	return false
}

function findPosX(obj)
{
	var curleft=0;
  if(document.getElementById||document.all)
		{while(obj.offsetParent){curleft+=obj.offsetLeft;obj=obj.offsetParent;}}
		else 
			if(document.layers){curleft+=obj.x;}
	return curleft;
}

function findPosY(obj)
{
	var curtop=0;
  if(document.getElementById||document.all)
		{while(obj.offsetParent){curtop+=obj.offsetTop;obj=obj.offsetParent;}}
		else 
			if(document.layers){curtop+=obj.y;}
	return curtop;
}

function TSDropDownMenuHide()
{
	if ((ie4||ns6)&&window.themenu)
		themenuStyle.visibility="hidden";
	else if (ns4)
		themenu.visibility="hide";
}

if (ie4 || ns6)
	document.onclick = TSDropDownMenuHide;
if (document.layers)
{
	document.dropmenu0.captureEvents(Event.CLICK);
	document.dropmenu0.onclick = hidemenu;
	document.dropmenu1.captureEvents(Event.CLICK);
	document.dropmenu1.onclick = hidemenu;
}

function TSDropDownMenuHighlight(row, classname)
{
	if (row.state != "highlighted")
	{
		row.state    ="highlighted";
		row.className=classname;
	}
	else
	{
		row.className=classname;
		row.state    ="none";
	}
}
/* MENUS.JS */
var eOpenMenu = null;
function OpenMenu(eSrc,eMenu)
{
	var menuLineObj    = document.getElementById('menuLine');
	var divMenuBarObj  = document.getElementById('divMenuBar');
	var centerTableObj = document.getElementById('centerTable');
  eMenu.style.left = centerTableObj.offsetLeft + eSrc.offsetLeft + divMenuBarObj.offsetLeft;  
  eMenu.style.top = menuLineObj.offsetTop + menuLineObj.offsetHeight + divMenuBarObj.offsetHeight + divMenuBarObj.offsetTop;
  eMenu.style.visibility = "visible";
  eOpenMenu = eMenu;    
}

function CloseMenu(eMenu)
{    
  eMenu.style.visibility = "hidden";
  eOpenMenu = null;    
}

// coco new
function GetEventTarget(e)
{
	if (e!=null) 
		return e.target; 
	return window.event.srcElement;
}

function containsX(parentEl, childEl)
{
	if ( childEl== null)
		return false;
	if (ie4)
		return parentEl.contains(childEl);

	return true; // autre que IE affiche tout le temps....
	/*
	var  i = 0; 	
	for ( i = 0; i < parentEl.childNodes.length; i++ ) 
	{
		if (parentEl.childNodes[i].id ==	childEl.id)
			return true;
		if (containsX(parentEl.childNodes[i],childEl))
			return true;
	}
	return false;	
	*/
}

function containsBy(parentEl, childEl)
{
	if ( childEl== null)
		return false;
	if (ie4)
		return parentEl.contains(childEl);
	while (childEl != null && childEl != window )
	{
		if (childEl.ParentNode == null)
			return false;
		if (parentEl.id  == childEl.ParentNode.id)
			return true;	
		childEl = childEl.ParentNode;
	}
	return false;	
}

var RequestForClosure= false;

function onmouseoverX(e)
{  
  var eSrc = GetEventTarget(e);  
  if ("clsMenuBarItem" == eSrc.className)
  {
    eSrc.style.color = "moccasin";    
    var eMenu = document.getElementById(eSrc.id.replace("tdMenuBarItem","divMenu"));
    if (eOpenMenu && eOpenMenu.id != eMenu.id) 
      CloseMenu(eOpenMenu);   
    if (eMenu) 
    {
      OpenMenu(eSrc,eMenu);
      RequestForClosure = false; // ajouter par SPI, pour retarder la fermeture du menu
    }
    return; 
  }  
  if (eOpenMenu == null )// && !eOpenMenu.contains(eSrc) && !divMenuBar.contains(eSrc)) 
		return		
	if (containsX (eOpenMenu, eSrc) )
		return ;		
	if (containsX (document.getElementById("divMenuBar"), eSrc))
		return ;		
  if (RequestForClosure == true) // ajouter par SPI
     CloseMenu(eOpenMenu);    
   RequestForClosure = true; // ajouter par SPI  
}

function onmouseoutX(e)
{
  var eSrc = GetEventTarget(e);    
  if ("clsMenuBarItem" == eSrc.className)
  {
    eSrc.style.color = ""; 
  }
}
initEventHandler();  
function initEventHandler()
{
  if (document.layers)
  {
    document.captureEvents(Event.MOUSEOVER);
    document.captureEvents(Event.MOUSEOUT);
  }
  document.onmouseover = onmouseoverX;
  document.onmouseout  = onmouseoutX;
}


