// Copyright © 2000 by Apple Computer, Inc., All Rights Reserved. // // You may incorporate this Apple sample code into your own code // without restriction. This Apple sample code has been provided "AS IS" // and the responsibility for its operation is yours. You may redistribute // this code, but you are not permitted to redistribute it as // "Apple sample code" after having made changes. // // ************************ // layer utility routines * // ************************ function getObject(objectId) { // cross-browser function to get an object's style object given its id if(document.getElementById && document.getElementById(objectId)) { // W3C DOM return document.getElementById(objectId); } else if (document.all && document.all(objectId)) { // MSIE 4 DOM return document.all(objectId); } else if (document.layers && document.layers[objectId]) { // NN 4 DOM.. note: this won't find nested layers return document.layers[objectId]; } else { return false; } } // getObject function getStyleObject(objectId) { // cross-browser function to get an object's style object given its id if(document.getElementById && document.getElementById(objectId)) { // W3C DOM return document.getElementById(objectId).style; } else if (document.all && document.all(objectId)) { // MSIE 4 DOM return document.all(objectId).style; } else if (document.layers && document.layers[objectId]) { // NN 4 DOM.. note: this won't find nested layers return document.layers[objectId]; } else { return false; } } // getStyleObject function changeObjectPosition(objectId,parentId) { var styleObject = getStyleObject(objectId); var parentObject = getObject(parentId); //alert("Parent: " + parentObject.offsetLeft + " " + parentObject.offsetTop + " ns6: " + ns6); if (parentObject) { if (objectId == 'search' && ns6 ) { var x = parentObject.offsetLeft + 10; var y = parentObject.offsetTop + -10; //alert(x + "/" + y); parentObject.offsetLeft = x; parentObject.offsetTop = y; //alert("Left: " + parentObject.offsetLeft + " Top: " + parentObject.offsetTop); } else if (objectId == 'search2' && ns6 ) { var x = parentObject.offsetLeft + 5; var y = parentObject.offsetTop + 30; //alert(objectId + x + "/" + y); } else { var x = parentObject.offsetLeft + 5; var y = parentObject.offsetTop + 1; } } if(styleObject) { //alert("top: " + styleObject.top + " left: " + styleObject.left); if (styleObject.top && y){ styleObject.top = y; } if (styleObject.left && x){ styleObject.left = x; } //alert(objectId + " offset: " + styleObject.left + "/" + styleObject.top); return true; } else { // we couldn't find the object, so we can't change its visibility return false; } } // changeObjectPosition function changeObjectVisibility(objectId, newVisibility) { // get a reference to the cross-browser style object and make sure the object exists var styleObject = getStyleObject(objectId); var tdObject = getObject(objectId + "-td"); var ggparent = 0; var gparent = 0; var parent = 0; if (tdObject) { if (tdObject.offsetParent.offsetParent.offsetParent){ ggparent = tdObject.offsetParent.offsetParent.offsetParent.offsetTop; } if (tdObject.offsetParent.offsetParent){ gparent = tdObject.offsetParent.offsetParent.offsetTop; } if (tdObject.offsetParent){ parent = tdObject.offsetParent.offsetTop; } var x = tdObject.offsetLeft + tdObject.offsetWidth + 10; var y = tdObject.offsetTop + parent + gparent + ggparent + 25; } if(styleObject) { styleObject.visibility = newVisibility; if (newVisibility == "visible"){ if (styleObject.top && y){ styleObject.top = y + 'px'; } if (styleObject.left && x){ styleObject.left = x + 'px'; } //alert(objectId + " offset: " + x + "/" + y); } return true; } else { // we couldn't find the object, so we can't change its visibility return false; } } // changeObjectVisibility function moveObject(objectId, newXCoordinate, newYCoordinate) { // get a reference to the cross-browser style object and make sure the object exists var styleObject = getStyleObject(objectId); if(styleObject) { styleObject.left = newXCoordinate; styleObject.top = newYCoordinate; return true; } else { // we couldn't find the object, so we can't very well move it return false; } } // moveObject