var activeDiv = null;
var currDiv = null;
var currLink = null;
var timerID = 0;

function setCurrent(name)
{
	activeDiv = name;
}

function openMenu( link, idDiv, right )
// link  			      : le TD
// idDiv 				  : la diV
// right ou left (booleen) : justifier a gauche ou a droite
{
  if( currDiv != null && timerID != 0 )
  {
    clearTimer();
    if( idDiv != currDiv ) closeMenu();
    else return;
  }

  
  var divElem = document.getElementById( idDiv );
//  alert("divElem = "+divElem);
  divElem.style.display = 'block';
  
  var tc = calcpos( link );
  h = link.offsetHeight;

  if( right )
  {
//  	alert("tc" + tc[0] + " link offset : " + link.offsetWidth + " divElem Offset :  " + divElem.offsetWidth)
//    	divElem.style.left = (tc[0] + link.offsetWidth - divElem.offsetWidth) + "px";
      divElem.style.left = (tc[0] + link.offsetWidth/2 - divElem.offsetWidth/2) + "px";
    }
  else {
//    alert("tc" + tc[0] + " link offset : " + link.offsetWidth + " divElem Offset :  " + divElem.offsetWidth)
    divElem.style.left = tc[0]  + "px";
    divElem.style.left = (tc[0] + link.offsetWidth/2 - divElem.offsetWidth/2) + "px";
    
  }
	
  divElem.style.top = tc[1] + h + "px";

	
  currDiv = idDiv;
  currLink = link;
  currLink.id = "current";
}

function closeMenu()
{
  var elem = document.getElementById( currDiv );
  elem.style.display = 'none';
  
  currDiv = null;
  currLink.id = null;
}
  
function startTimer()
{
  timerID = setTimeout("closeMenu()", 100);
}
  
function clearTimer()
{
  clearTimeout( timerID );
  timerID = 0;
}
  
function calcpos( obj )
{
  x=0;
  y=0;
  
  w = obj.offsetWidth;
//  h = obj.offsetHeight;

  var aTag = obj;
  do
  {
    x += aTag.offsetLeft;
    y += aTag.offsetTop;
    aTag = aTag.offsetParent;
  } while(aTag.tagName!="BODY");

  return new Array( x, y );
}
