// PHP Layers Menu 3.2.0-rc (C) 2001-2004 Marco Pratesi - http://www.marcopratesi.it/ // NJW MOD implicity define numl & toBeHidden numl = 0; toBeHidden = 0; 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, onLeft); } } 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); } setLeft(menuName, getOffsetLeft('ref' + menuName)-getOffsetWidth(menuName)); } 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); //alert(getOffsetWidth(father+menuName)); if (!IE4) { windowWidth = getWindowWidth(); windowXOffset = getWindowXOffset(); if (foobar + width1 > windowWidth + windowXOffset) { foobar = windowWidth + windowXOffset - width1; } if (foobar < windowXOffset) { foobar = windowXOffset; } } //--- hamideh added --- //foobar=foobar+getOffsetWidth(father+menuName)-170; //--- end hamideh added --- 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 0) { seeThroughCoordinatesDetection(); } // moveLayers(); layersMoved = 0; } window.onresize = resizeHandler; function yaresizeHandler() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) { if (Konqueror22 || Opera5) { window.location.reload(); // Opera 5 often fails this } origWidth = window.innerWidth; origHeight = window.innerHeight; resizeHandler(); } setTimeout('yaresizeHandler()', 500); } function loadHandler() { if (Konqueror22 || Opera56) { origWidth = window.innerWidth; origHeight = window.innerHeight; yaresizeHandler(); } } window.onload = loadHandler; function fixieflm(menuName) { if (DOM) { setWidth(menuName, '100%'); } else { // IE4 IS SIMPLY A BASTARD !!! document.write(''); document.write('