var ie  = navigator.userAgent.indexOf("MSIE ");
var verIE = 0, winIE = -1;
if(ie >= 0) {
    verIE = parseFloat(navigator.userAgent.substr(ie + 5));
    winIE = navigator.userAgent.indexOf("Windows");
}

function getElemLeft (elem) {
    var x = elem.offsetLeft;
    var pa = elem.offsetParent;
    while(pa) {
        if(pa.offsetLeft) x += pa.offsetLeft;
        pa = pa.offsetParent;
    }
    return x;
}
function getElemTop (elem) {
    var y = elem.offsetTop;
    var pa = elem.offsetParent;
    while(pa) {
        if(pa.offsetTop) y += pa.offsetTop;
        pa = pa.offsetParent;
    }
    return y;
}

var currentId = "";
function showMenu (e, id) {
    if(!document.getElementById) return;
    if(currentId == id) return;
    closeMenu();
    var obj = document.getElementById(id);
    var x, y;
    var elm;
    if(e.srcElement) elem = e.srcElement;
    else elem = e.currentTarget;
    if(elem.offsetParent && !(verIE > 0 && winIE < 0)) {
        x = getElemLeft(elem);
        y = getElemTop(elem) + elem.offsetHeight;
    }
    else {
        var x = e.clientX + scrollLeft();
        var y = e.clientY + scrollTop();
        x -= 60; y += 16;
    }
    obj.style.left = x + "px";
    obj.style.top = y + "px";
    obj.style.visibility = "visible";
    currentId = id;
}

function closeMenu () {
    if(!document.getElementById) return;
    if(!currentId) return;
    var obj = document.getElementById(currentId);
    obj.style.visibility = "hidden";
    currentId = "";
}
function bodyClick (e) {
    closeMenu();
}
if(document.getElementById)
    document.onclick = bodyClick;

function scrollLeft () {
    if(window.pageXOffset)
        return window.pageXOffset;
    if(document.compatMode == "CSS1Compat")
        return document.body.parentNode.scrollLeft;
    if(document.body.scrollLeft)
        return document.body.scrollLeft;
    return 0;
}
function scrollTop () {
    if(window.pageYOffset)
        return window.pageYOffset;
    if(document.compatMode == "CSS1Compat")
        return document.body.parentNode.scrollTop;
    if(document.body.scrollTop)
        return document.body.scrollTop;
    return 0;
}
