diff --git a/presentation/lookAndFeel/knowledgeTree/js/divSwitch.js b/presentation/lookAndFeel/knowledgeTree/js/divSwitch.js new file mode 100644 index 0000000..bc47151 --- /dev/null +++ b/presentation/lookAndFeel/knowledgeTree/js/divSwitch.js @@ -0,0 +1,120 @@ +// function switchDiv() +// this function takes the id of a div +// and calls the other functions required +// to show that div +// +function switchDiv(div_id) +{ + var style_sheet = getStyleObject(div_id); + if (style_sheet) + { + hideAll(); + changeObjectVisibility(div_id,"visible"); + } + else + { + alert("sorry, this only works in browsers that do Dynamic HTML (" + div_id + ")"); + } +} + +// function hideAll() +// hides a bunch of divs +// + +function hideAll() +{ + changeObjectVisibility("documentData","hidden"); + changeObjectVisibility("genericMetaData","hidden"); + changeObjectVisibility("typeSpecificMetaData","hidden"); + changeObjectVisibility("archiveSettings","hidden"); + changeObjectVisibility("documentRouting","hidden"); + changeObjectVisibility("linkedDocuments","hidden"); +} + +// function getStyleObject(string) -> returns style object +// given a string containing the id of an object +// the function returns the stylesheet of that object +// or false if it can't find a stylesheet. Handles +// cross-browser compatibility issues. +// +function getStyleObject(objectId) { + // checkW3C DOM, then MSIE 4, then NN 4. + // + if(document.getElementById && document.getElementById(objectId)) { + return document.getElementById(objectId).style; + } + else if (document.all && document.all(objectId)) { + return document.all(objectId).style; + } + else if (document.layers && document.layers[objectId]) { + return document.layers[objectId]; + } else { + return false; + } +} + +function changeObjectVisibility(objectId, newVisibility) { + // first get a reference to the cross-browser style object + // and make sure the object exists + var styleObject = getStyleObject(objectId); + if(styleObject) { + styleObject.visibility = newVisibility; + return true; + } else { + // we couldn't find the object, so we can't change its visibility + return false; + } +} + +// 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 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 changeObjectVisibility(objectId, newVisibility) { + // get a reference to the cross-browser style object and make sure the object exists + var styleObject = getStyleObject(objectId); + if(styleObject) { + styleObject.visibility = newVisibility; + 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 \ No newline at end of file