var menuButton, gmenu, menuTimer;
var menuTimeout = 200;

function initMenu () {
    menuButton = document.getElementById('menuButton');
    gmenu = document.getElementById('gameMenu');
    //gmenu.onmouseout = killMenu
    menuButton.onmouseover =  doMenu;
    menuButton.onmouseout = killMenu;
    gmenu.onmouseover =  onEnterMenu;
    gmenu.onmouseout = onExitMenu;

}

function killMenu(e) {
    gmenu.style.display = "none";
}


function doMenu()
{

    var coords =   findElementPos(menuButton)
    gmenu.style.left = coords.x - (446) + "px";
    gmenu.style.top = coords.y + (26) + "px";

     gmenu.style.display = "block";


}

function onEnterMenu()
{
   clearTimeout (menuTimer);
}

function onExitMenu(evt)
{
    evt = (evt) ? evt : ((window.event) ? window.event : "");
    if (evt == undefined )
    {

        doKill() ;
        return;
    }

    //get element we are leaving and element we are enterning
    if(document.all )
    {   //IE event properties
        var fromEl = evt.fromElement;
        var toEl = evt.toElement;
    }
    else
    {   //correct event props
        var fromEl = evt.target;
        var toEl = evt.relatedTarget;
    }

    //mouse off browser
    if (toEl == undefined)
    {
        doKill() ;
        return;
    }


    //go up node tree until we get to flyout div, avatar, or body, or go off screen
     while (toEl.id != gmenu.id && toEl.nodeName != 'body' && toEl.parentNode != undefined)
     {
            toEl= toEl.parentNode;
     }

     //if entering flyout or avatar, don't kill flyout
     if (toEl.id == gmenu.id  )
     {
         return;
     }
     else
     {
        doKill() ;
     }

}


function killMenu()
{
   menuTimer = setTimeout("doKill()",menuTimeout) ;
}

function doKill()
{
   gmenu.style.display = "none";
  clearTimeout (menuTimer);
}

function findElementPos (element) {
    var coords = { x: 0, y: 0 };
    while (element) {
    coords.x += element.offsetLeft;
    coords.y += element.offsetTop;
    element = element.offsetParent;
    }
    return coords;
}


window.onload = function (){
    initMenu();
}



