// 
// Deprecated, for legacy GUI only
// PHP Layers Menu 1.0.7 (c) 2001, 2002 Marco Pratesi <pratesi@telug.it>
// several "var"s inserted by CPKS to silence errors

var DOM = (document.getElementById) ? 1 : 0;
var NS4 = (document.layers) ? 1 : 0;
var IE4 = (document.all) ? 1 : 0;
var loaded = 0;    // to avoid stupid errors of Microsoft browsers
var Konqueror = (navigator.userAgent.indexOf("Konqueror") > -1) ? 1 : 0;
// We need to explicitly detect Konqueror
// because Konqueror 3 sets IE4 = 1 ... AAAAAAAAAARGHHH!!!
var Opera5 = (navigator.userAgent.indexOf("Opera 5") > -1 || navigator.userAgent.indexOf("Opera/5") > -1 || navigator.userAgent.indexOf("Opera 6") > -1 || navigator.userAgent.indexOf("Opera/6") > -1) ? 1 : 0;

// it works with NS4, Mozilla, NS6, Opera 5 and 6, IE
var currentY = -1;
function grabMouse(e) {
    if ((DOM && !IE4) || Opera5) {
        currentY = e.clientY;
    } else if (NS4) {
        currentY = e.pageY;
    } else {
        currentY = event.y;
    }
    if (DOM && !IE4 && !Opera5 && !Konqueror) {
        currentY += window.pageYOffset;
    } else if (IE4 && DOM && !Opera5 && !Konqueror) {
        currentY += document.body.scrollTop;
    }
}

// Replace deprecated captureEvents with addEventListener
// by phppp since XOOPS 2.0.17
if (document.addEventListener){
  document.addEventListener('mousemove', grabMouse, false);
} else if (document.attachEvent){
  document.attachEvent('onmousemove', grabMouse);
}

function popUp(menuName,on) {
    if (loaded) {    // to avoid stupid errors of Microsoft browsers
        if (on) {
//            moveLayers();
            if (DOM) {
                document.getElementById(menuName).style.visibility = "visible";
                document.getElementById(menuName).style.zIndex = 1000;
            } else if (NS4) {
                document.layers[menuName].visibility = "show";
                document.layers[menuName].zIndex = 1000;
            } else {
                document.all[menuName].style.visibility = "visible";
                document.all[menuName].style.zIndex = 1000;
            }
        } else {
            if (DOM) {
                document.getElementById(menuName).style.visibility = "hidden";
            } else if (NS4) {
                document.layers[menuName].visibility = "hide";
            } else {
                document.all[menuName].style.visibility = "hidden";
            }
        }
    }
}

function setleft(layer,x) {
    if (DOM) {
        document.getElementById(layer).style.left = x + 'px';
    } else if (NS4) {
        document.layers[layer].left = x;
    } else {
        document.all[layer].style.pixelLeft = x;
    }
}

function settop(layer,y) {
    if (DOM) {
        document.getElementById(layer).style.top = y + 'px';
    } else if (NS4) {
        document.layers[layer].top = y;
    } else {
        document.all[layer].style.pixelTop = y;
    }
}

function setwidth(layer,w) {
    if (DOM) {
        document.getElementById(layer).style.width = w;
        document.getElementById(layer).style.width = w + 'px';
    } else if (NS4) {
//        document.layers[layer].width = w;
    } else {
        document.all[layer].style.pixelWidth = w;
    }
}

function moveLayerY(menuName, ordinata, e) {
    if (loaded) {
    // to avoid stupid errors of Microsoft browsers
    //alert (ordinata);
    // Konqueror: ordinata = -1 according to the initialization currentY = -1
    // Opera: isNaN(ordinata), currentY is NaN, it seems that Opera ignores the initialization currentY = -1
        if (ordinata != -1 && !isNaN(ordinata)) {    // The browser has detected the mouse position
            if (DOM) {
                // attenzione a "px" !!!
                if (e && e.clientY) { // just use the pos of the mouseOver event if we have it
                    document.getElementById(menuName).style.top = e.clientY + 'px';
                } else {
                    appoggio = parseInt(document.getElementById(menuName).style.top);
                    if (isNaN(appoggio)) appoggio = 0;
                    if (Math.abs(appoggio + ordinata_margin - ordinata) > thresholdY)
                        document.getElementById(menuName).style.top = (ordinata - ordinata_margin) + 'px';
                }

            } else if (NS4) {
                    if (Math.abs(document.layers[menuName].top + ordinata_margin - ordinata) > thresholdY)
                        document.layers[menuName].top = ordinata - ordinata_margin;
            } else {
                if (Math.abs(document.all[menuName].style.pixelTop + ordinata_margin - ordinata) > thresholdY)
                    document.all[menuName].style.pixelTop = ordinata - ordinata_margin;
            }
        }
    }
}
