var isNav = (navigator.appName.indexOf("Netscape") !=-1);

var popupVisible = false;
var popupName = '';
var popupMouseOver = false;
var itemMouseOver = false;

function popupCloseHandler() {
   if(!popupMouseOver) hideMenu();
}

if(isNav) { document.captureEvents(Event.CLICK); }
document.onclick = popupCloseHandler;

function getAbsoluteOffsetTop(el, offset) {
   var offset = 0;

   while(el) {
      offset += el.offsetTop;
      el = el.offsetParent;
   }
   return offset;
}


function getAbsoluteOffsetLeft(element)
   {
    if ( element == null || arguments.length != 1 )
    {
     return;
    }
  var offsetLeft = element.offsetLeft;
  while( element = element.offsetParent )
   {
       offsetLeft += element.offsetLeft;
    }
      return offsetLeft; 
}

function showMenu(item_name, el_name) {
   if(popupVisible && !popupMouseOver && el_name != popupName) hideMenu();

   var item = document.getElementById(item_name);
   var el = document.getElementById(el_name);
   if(el && !popupVisible) {

      el.style.left = getAbsoluteOffsetLeft(item)+ 165+'px';//item.offsetWidth + 2+'px';
      el.style.top = getAbsoluteOffsetTop(item) - 1+'px';
      el.style.display = "block";

      popupVisible = true;
      popupName = el_name;
      itemMouseOver = true;

      return true;

   } else return false;
}

function hideMenu() {
   var el = document.getElementById(popupName);
   if(el && popupVisible == true && popupMouseOver == false) {

      el.style.display = "none";
      popupVisible = false;
      popupName = '';
      return true;

   } else return false;
}

function hidePopup() {
   if(!itemMouseOver) hideMenu();
}

function showPopup(id) {
   setTimeout("showMenu('item"+id+"', 'itemdiv"+id+"')", 100);
   return true;
}

function stopEvent(e) {
   if (e.stopPropagation) e.stopPropagation();
   else window.event.cancelBubble = true;
}

