var openmenu = '';
function hideAllMenus() {
    if( openmenu )
        document.getElementById(openmenu).style.display='none';
}

function showMenu(event,anchor,menuID,position) {
    hideAllMenus();
    openmenu=menuID;

    thismenu = document.getElementById(menuID);
    thismenu.style.display = 'block';
    if( !event ) event = window.event;
    var top    = 0;
    var left   = 0;
    var right  = 0;
    var bottom = 0;
    var offsetTrail=anchor;
    while( offsetTrail ) {
        top += offsetTrail.offsetTop;
        left += offsetTrail.offsetLeft;
        offsetTrail = offsetTrail.offsetParent;
    }
    bottom = top + anchor.offsetHeight;
    right = left + anchor.offsetWidth;
    switch( position ) {
        case 'mouse':
            if( event.pageX || event.pageY ) {
                thismenu.style.left = event.pageX - thismenu.parentNode.offsetLeft - 2;
                thismenu.style.top  = event.pageY - thismenu.parentNode.offsetTop - 2;
            }
            else {
                thismenu.style.left = event.clientX - thismenu.parentNode.offsetLeft + document.body.scrollLeft - 2;
                thismenu.style.top  = event.clientY - thismenu.parentNode.offsetTop + document.body.scrollTop - 2;
            }
            break;
        case 'over':
            thismenu.style.left    = left + 'px';
            thismenu.style.top     = top + 'px';
            break;
        case 'left':
            thismenu.style.left    = right + 'px';
            thismenu.style.top     = top + 'px';
            break;
        default: //bottom
            thismenu.style.left    = left + 'px';
            thismenu.style.top     = bottom + 'px';
        }
}
function hideMenu(menuID,event) {
    thismenu = document.getElementById(menuID);

    if( document.all && !thismenu.contains( window.event.toElement ) ) {
        thismenu.style.display = 'none';
    }
    else if( !document.all && thismenu != event.relatedTarget && !itcontains(thismenu, event.relatedTarget) ) {
        thismenu.style.display = 'none';
    }
}
function itcontains(a, b) {
    while (b.parentNode) {
        if ((b = b.parentNode) == a) {
            return true;
       }
    }
    return false;
}

//------------------------------------------------
var currentID='';
var currentType='';
function actionMenu( event, id,type ) {
    currentID=id;
    currentType=type;
    showMenu(event, '','context-menu','mouse');
    return false;
}

