// PHP Layers Menu 3.1.1 (C) 2001-2003 Marco Pratesi (marco at telug dot it) useTimeouts = 1; timeoutLength = 1000; // time in ms; not significant if useTimeouts = 0; shutdownOnClick = 0; loaded = 0; layersMoved = 0; layerPoppedUp = ""; timeoutFlag = 0; if (Opera56 || IE4) { useTimeouts = 0; } if (NS4 || Opera56 || IE4) { shutdownOnClick = 1; } currentY = 0; function grabMouse(e) { // for NS4 currentY = e.pageY; } if (NS4) { document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE); document.onmousemove = grabMouse; } function seeThroughElements(show) { if (show) { foobar = "visible"; } else { foobar = "hidden"; } for (i=0; i windowWidth + windowXOffset) { if (onRight + width1 - windowWidth - windowXOffset > windowXOffset - onLeft) { onLeft = windowXOffset; } else { onRight = windowWidth + windowXOffset - width1; } } if (back[father[menuName]]) { if (onLeft < windowXOffset) { back[menuName] = 0; } else { back[menuName] = 1; } } else { //alert(onRight + " - " + width1 + " - " + windowWidth + " - " + windowXOffset); if (onRight + width1 > windowWidth + windowXOffset) { back[menuName] = 1; } else { back[menuName] = 0; } } if (back[menuName]) { setLeft(menuName, onLeft); } else { setLeft(menuName, onRight); } } moveLayerY(menuName); // workaround needed for Mozilla < 1.4 for MS Windows } function moveLayerY(menuName) { if (!loaded || (isVisible(menuName) && menuName != layerPoppedUp)) { return; } if (!layersMoved) { moveLayers(); layersMoved = 1; } if (!NS4) { newY = getOffsetTop("ref" + menuName); } else { newY = currentY; } newY += menuTopShift; layerHeight = getOffsetHeight(menuName); windowHeight = getWindowHeight(); windowYOffset = getWindowYOffset(); if (newY + layerHeight > windowHeight + windowYOffset) { if (layerHeight > windowHeight) { newY = windowYOffset; } else { newY = windowHeight + windowYOffset - layerHeight; } } if (Math.abs(getOffsetTop(menuName) - newY) > thresholdY) { setTop(menuName, newY); } } function moveLayerX1(menuName, father) { if (!lwidthDetected) { return; } if (!Opera5 && !IE4) { width1 = lwidth[menuName]; } else if (Opera5) { // Opera 5 stupidly and exaggeratedly overestimates layers widths // hence we consider a default value equal to $abscissaStep width1 = abscissaStep; } foobar = getOffsetLeft(father + menuName); if (!IE4) { windowWidth = getWindowWidth(); windowXOffset = getWindowXOffset(); if (foobar + width1 > windowWidth + windowXOffset) { foobar = windowWidth + windowXOffset - width1; } if (foobar < windowXOffset) { foobar = windowXOffset; } } setLeft(menuName, foobar); } function layersOverlap(layer, i) { if (Konqueror22) { return true; } // xa1 = getOffsetLeft(layer); //setLeft(layer, xa1); xa1 = layerLeft[layer]; xa2 = xa1 + getOffsetWidth(layer); //setWidth(layer, xa2-xa1); // ya1 = getOffsetTop(layer); //setTop(layer, ya1); ya1 = layerTop[layer]; ya2 = ya1 + getOffsetHeight(layer); //setHeight(layer, ya2-ya1); //alert(":" + xa1 + ":" + xa2 + ":" + ya1 + ":" + ya2 + ":"); xb1 = toBeHiddenLeft[i]; xb2 = xb1 + toBeHidden[i].offsetWidth; yb1 = toBeHiddenTop[i]; yb2 = yb1 + toBeHidden[i].offsetHeight; //alert(":" + xb1 + ":" + xb2 + ":" + yb1 + ":" + yb2 + ":"); if(xb1>xa1) xa1=xb1; if(xb2ya1) ya1=yb1; if(yb2xa1 && ya2>ya1); } function seeThroughWorkaround(menuName, on) { for (i=0; i"); document.write("
"); } }