// 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. // ******************************** // application-specific functions * // ******************************** // store variables to control where the popup will appear relative to the cursor position // positive numbers are below and to the right of the cursor, negative numbers are above and to the left var xOffset = -100; var yOffset = 10; function showPopup8 (targetObjectId, eventObj) { if(eventObj) { // hide any currently-visible popups hideCurrentPopup(); // stop event from bubbling up any farther eventObj.cancelBubble = true; // move popup div to current cursor position // (add scrollTop to account for scrolling for IE) var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xOffset:eventObj.x + xOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0); var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yOffset:eventObj.y + yOffset + ((document.body.scrollTop)?document.body.scrollTop:0); moveObject(targetObjectId, newXCoordinate, newYCoordinate); // and make it visible if( changeObjectVisibility(targetObjectId, 'visible') ) { // if we successfully showed the popup // store its Id on a globally-accessible object window.currentlyVisiblePopup = targetObjectId; return true; } else { // we couldn't show the popup, boo hoo! return false; } } else { // there was no event object, so we won't be able to position anything, so give up return false; } } // showPopup function hideCurrentPopup() { // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup if(window.currentlyVisiblePopup) { changeObjectVisibility(window.currentlyVisiblePopup, 'hidden'); window.currentlyVisiblePopup = false; } } // hideCurrentPopup // *********************** // hacks and workarounds * // *********************** // initialize hacks whenever the page loads window.onload = initializeHacks; // setup an event handler to hide popups for generic clicks on the document document.onclick = hideCurrentPopup; function initializeHacks() { // this ugly little hack resizes a blank div to make sure you can click // anywhere in the window for Mac MSIE 5 if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { window.onresize = explorerMacResizeFix; } resizeBlankDiv(); // this next function creates a placeholder object for older browsers createFakeEventObj(); } function createFakeEventObj() { // create a fake event object for older browsers to avoid errors in function call // when we need to pass the event object to functions if (!window.event) { window.event = false; } } // createFakeEventObj function resizeBlankDiv() { // resize blank placeholder div so IE 5 on mac will get all clicks in window if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { getStyleObject('blankDiv').width = document.body.clientWidth - 20; getStyleObject('blankDiv').height = document.body.clientHeight - 20; } } function explorerMacResizeFix () { location.reload(false); } /////////////////////////////////////////////////////////////////////////// var xxOffset = -400; var yyOffset = 10; function showPopup4 (targetObjectId, eventObj) { if(eventObj) { // hide any currently-visible popups hideCurrentPopup(); // stop event from bubbling up any farther eventObj.cancelBubble = true; // move popup div to current cursor position // (add scrollTop to account for scrolling for IE) var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xxOffset:eventObj.x + xxOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0); var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yyOffset:eventObj.y + yyOffset + ((document.body.scrollTop)?document.body.scrollTop:0); moveObject(targetObjectId, newXCoordinate, newYCoordinate); // and make it visible if( changeObjectVisibility(targetObjectId, 'visible') ) { // if we successfully showed the popup // store its Id on a globally-accessible object window.currentlyVisiblePopup = targetObjectId; return true; } else { // we couldn't show the popup, boo hoo! return false; } } else { // there was no event object, so we won't be able to position anything, so give up return false; } } // showPopup function hideCurrentPopup() { // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup if(window.currentlyVisiblePopup) { changeObjectVisibility(window.currentlyVisiblePopup, 'hidden'); window.currentlyVisiblePopup = false; } } // hideCurrentPopup // *********************** // hacks and workarounds * // *********************** // initialize hacks whenever the page loads window.onload = initializeHacks; // setup an event handler to hide popups for generic clicks on the document document.onclick = hideCurrentPopup; function initializeHacks() { // this ugly little hack resizes a blank div to make sure you can click // anywhere in the window for Mac MSIE 5 if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { window.onresize = explorerMacResizeFix; } resizeBlankDiv(); // this next function creates a placeholder object for older browsers createFakeEventObj(); } function createFakeEventObj() { // create a fake event object for older browsers to avoid errors in function call // when we need to pass the event object to functions if (!window.event) { window.event = false; } } // createFakeEventObj function resizeBlankDiv() { // resize blank placeholder div so IE 5 on mac will get all clicks in window if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { getStyleObject('blankDiv').width = document.body.clientWidth - 20; getStyleObject('blankDiv').height = document.body.clientHeight - 20; } } function explorerMacResizeFix () { location.reload(false); } /////////////////////////////////////////////////////////////////////////// var xxrOffset = -50; var yyrOffset = -350; function showPopup12 (targetObjectId, eventObj) { if(eventObj) { // hide any currently-visible popups hideCurrentPopup(); // stop event from bubbling up any farther eventObj.cancelBubble = true; // move popup div to current cursor position // (add scrollTop to account for scrolling for IE) var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xxrOffset:eventObj.x + xxrOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0); var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yyrOffset:eventObj.y + yyrOffset + ((document.body.scrollTop)?document.body.scrollTop:0); moveObject(targetObjectId, newXCoordinate, newYCoordinate); // and make it visible if( changeObjectVisibility(targetObjectId, 'visible') ) { // if we successfully showed the popup // store its Id on a globally-accessible object window.currentlyVisiblePopup = targetObjectId; return true; } else { // we couldn't show the popup, boo hoo! return false; } } else { // there was no event object, so we won't be able to position anything, so give up return false; } } // showPopup function hideCurrentPopup() { // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup if(window.currentlyVisiblePopup) { changeObjectVisibility(window.currentlyVisiblePopup, 'hidden'); window.currentlyVisiblePopup = false; } } // hideCurrentPopup // *********************** // hacks and workarounds * // *********************** // initialize hacks whenever the page loads window.onload = initializeHacks; // setup an event handler to hide popups for generic clicks on the document document.onclick = hideCurrentPopup; function initializeHacks() { // this ugly little hack resizes a blank div to make sure you can click // anywhere in the window for Mac MSIE 5 if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { window.onresize = explorerMacResizeFix; } resizeBlankDiv(); // this next function creates a placeholder object for older browsers createFakeEventObj(); } function createFakeEventObj() { // create a fake event object for older browsers to avoid errors in function call // when we need to pass the event object to functions if (!window.event) { window.event = false; } } // createFakeEventObj function resizeBlankDiv() { // resize blank placeholder div so IE 5 on mac will get all clicks in window if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { getStyleObject('blankDiv').width = document.body.clientWidth - 20; getStyleObject('blankDiv').height = document.body.clientHeight - 20; } } function explorerMacResizeFix () { location.reload(false); } /////////////////////////////////////////////////////////////////////////// var xxtrOffset = -120; var yytrOffset = -350; function showPopup13 (targetObjectId, eventObj) { if(eventObj) { // hide any currently-visible popups hideCurrentPopup(); // stop event from bubbling up any farther eventObj.cancelBubble = true; // move popup div to current cursor position // (add scrollTop to account for scrolling for IE) var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xxtrOffset:eventObj.x + xxtrOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0); var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yytrOffset:eventObj.y + yytrOffset + ((document.body.scrollTop)?document.body.scrollTop:0); moveObject(targetObjectId, newXCoordinate, newYCoordinate); // and make it visible if( changeObjectVisibility(targetObjectId, 'visible') ) { // if we successfully showed the popup // store its Id on a globally-accessible object window.currentlyVisiblePopup = targetObjectId; return true; } else { // we couldn't show the popup, boo hoo! return false; } } else { // there was no event object, so we won't be able to position anything, so give up return false; } } // showPopup function hideCurrentPopup() { // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup if(window.currentlyVisiblePopup) { changeObjectVisibility(window.currentlyVisiblePopup, 'hidden'); window.currentlyVisiblePopup = false; } } // hideCurrentPopup // *********************** // hacks and workarounds * // *********************** // initialize hacks whenever the page loads window.onload = initializeHacks; // setup an event handler to hide popups for generic clicks on the document document.onclick = hideCurrentPopup; function initializeHacks() { // this ugly little hack resizes a blank div to make sure you can click // anywhere in the window for Mac MSIE 5 if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { window.onresize = explorerMacResizeFix; } resizeBlankDiv(); // this next function creates a placeholder object for older browsers createFakeEventObj(); } function createFakeEventObj() { // create a fake event object for older browsers to avoid errors in function call // when we need to pass the event object to functions if (!window.event) { window.event = false; } } // createFakeEventObj function resizeBlankDiv() { // resize blank placeholder div so IE 5 on mac will get all clicks in window if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { getStyleObject('blankDiv').width = document.body.clientWidth - 20; getStyleObject('blankDiv').height = document.body.clientHeight - 20; } } function explorerMacResizeFix () { location.reload(false); } /////////////////////////////////////////////////////////////////////////// var xxxtrOffset = -250; var yyytrOffset = -350; function showPopup14 (targetObjectId, eventObj) { if(eventObj) { // hide any currently-visible popups hideCurrentPopup(); // stop event from bubbling up any farther eventObj.cancelBubble = true; // move popup div to current cursor position // (add scrollTop to account for scrolling for IE) var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xxxtrOffset:eventObj.x + xxxtrOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0); var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yyytrOffset:eventObj.y + yyytrOffset + ((document.body.scrollTop)?document.body.scrollTop:0); moveObject(targetObjectId, newXCoordinate, newYCoordinate); // and make it visible if( changeObjectVisibility(targetObjectId, 'visible') ) { // if we successfully showed the popup // store its Id on a globally-accessible object window.currentlyVisiblePopup = targetObjectId; return true; } else { // we couldn't show the popup, boo hoo! return false; } } else { // there was no event object, so we won't be able to position anything, so give up return false; } } // showPopup function hideCurrentPopup() { // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup if(window.currentlyVisiblePopup) { changeObjectVisibility(window.currentlyVisiblePopup, 'hidden'); window.currentlyVisiblePopup = false; } } // hideCurrentPopup // *********************** // hacks and workarounds * // *********************** // initialize hacks whenever the page loads window.onload = initializeHacks; // setup an event handler to hide popups for generic clicks on the document document.onclick = hideCurrentPopup; function initializeHacks() { // this ugly little hack resizes a blank div to make sure you can click // anywhere in the window for Mac MSIE 5 if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { window.onresize = explorerMacResizeFix; } resizeBlankDiv(); // this next function creates a placeholder object for older browsers createFakeEventObj(); } function createFakeEventObj() { // create a fake event object for older browsers to avoid errors in function call // when we need to pass the event object to functions if (!window.event) { window.event = false; } } // createFakeEventObj function resizeBlankDiv() { // resize blank placeholder div so IE 5 on mac will get all clicks in window if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { getStyleObject('blankDiv').width = document.body.clientWidth - 20; getStyleObject('blankDiv').height = document.body.clientHeight - 20; } } function explorerMacResizeFix () { location.reload(false); } /////////////////////////////////////////////////////////////////////////// var xxxxtrOffset = 0; var yyyytrOffset = 0; function showPopup15 (targetObjectId, eventObj) { if(eventObj) { // hide any currently-visible popups hideCurrentPopup(); // stop event from bubbling up any farther eventObj.cancelBubble = true; // move popup div to current cursor position // (add scrollTop to account for scrolling for IE) var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xxxxtrOffset:eventObj.x + xxxxtrOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0); var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yyyytrOffset:eventObj.y + yyyytrOffset + ((document.body.scrollTop)?document.body.scrollTop:0); moveObject(targetObjectId, newXCoordinate, newYCoordinate); // and make it visible if( changeObjectVisibility(targetObjectId, 'visible') ) { // if we successfully showed the popup // store its Id on a globally-accessible object window.currentlyVisiblePopup = targetObjectId; return true; } else { // we couldn't show the popup, boo hoo! return false; } } else { // there was no event object, so we won't be able to position anything, so give up return false; } } // showPopup function hideCurrentPopup() { // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup if(window.currentlyVisiblePopup) { changeObjectVisibility(window.currentlyVisiblePopup, 'hidden'); window.currentlyVisiblePopup = false; } } // hideCurrentPopup // *********************** // hacks and workarounds * // *********************** // initialize hacks whenever the page loads window.onload = initializeHacks; // setup an event handler to hide popups for generic clicks on the document document.onclick = hideCurrentPopup; function initializeHacks() { // this ugly little hack resizes a blank div to make sure you can click // anywhere in the window for Mac MSIE 5 if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { window.onresize = explorerMacResizeFix; } resizeBlankDiv(); // this next function creates a placeholder object for older browsers createFakeEventObj(); } function createFakeEventObj() { // create a fake event object for older browsers to avoid errors in function call // when we need to pass the event object to functions if (!window.event) { window.event = false; } } // createFakeEventObj function resizeBlankDiv() { // resize blank placeholder div so IE 5 on mac will get all clicks in window if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { getStyleObject('blankDiv').width = document.body.clientWidth - 20; getStyleObject('blankDiv').height = document.body.clientHeight - 20; } } function explorerMacResizeFix () { location.reload(false); } /////////////////////////////////////////////////////////////////////////// var xxxxtrOffset = -250; var yyyytrOffset = -250; function showPopup16 (targetObjectId, eventObj) { if(eventObj) { // hide any currently-visible popups hideCurrentPopup(); // stop event from bubbling up any farther eventObj.cancelBubble = true; // move popup div to current cursor position // (add scrollTop to account for scrolling for IE) var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xxxxtrOffset:eventObj.x + xxxxtrOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0); var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yyyytrOffset:eventObj.y + yyyytrOffset + ((document.body.scrollTop)?document.body.scrollTop:0); moveObject(targetObjectId, newXCoordinate, newYCoordinate); // and make it visible if( changeObjectVisibility(targetObjectId, 'visible') ) { // if we successfully showed the popup // store its Id on a globally-accessible object window.currentlyVisiblePopup = targetObjectId; return true; } else { // we couldn't show the popup, boo hoo! return false; } } else { // there was no event object, so we won't be able to position anything, so give up return false; } } // showPopup function hideCurrentPopup() { // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup if(window.currentlyVisiblePopup) { changeObjectVisibility(window.currentlyVisiblePopup, 'hidden'); window.currentlyVisiblePopup = false; } } // hideCurrentPopup // *********************** // hacks and workarounds * // *********************** // initialize hacks whenever the page loads window.onload = initializeHacks; // setup an event handler to hide popups for generic clicks on the document document.onclick = hideCurrentPopup; function initializeHacks() { // this ugly little hack resizes a blank div to make sure you can click // anywhere in the window for Mac MSIE 5 if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { window.onresize = explorerMacResizeFix; } resizeBlankDiv(); // this next function creates a placeholder object for older browsers createFakeEventObj(); } function createFakeEventObj() { // create a fake event object for older browsers to avoid errors in function call // when we need to pass the event object to functions if (!window.event) { window.event = false; } } // createFakeEventObj function resizeBlankDiv() { // resize blank placeholder div so IE 5 on mac will get all clicks in window if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { getStyleObject('blankDiv').width = document.body.clientWidth - 20; getStyleObject('blankDiv').height = document.body.clientHeight - 20; } } function explorerMacResizeFix () { location.reload(false); } /////////////////////////////////////////////////////////////////////////// var fxrOffset = -500; var fyrOffset = -400; function showPopup9 (targetObjectId, eventObj) { if(eventObj) { // hide any currently-visible popups hideCurrentPopup(); // stop event from bubbling up any farther eventObj.cancelBubble = true; // move popup div to current cursor position // (add scrollTop to account for scrolling for IE) var newXCoordinate = (eventObj.pageX)?eventObj.pageX + fxrOffset:eventObj.x + fxrOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0); var newYCoordinate = (eventObj.pageY)?eventObj.pageY + fyrOffset:eventObj.y + fyrOffset + ((document.body.scrollTop)?document.body.scrollTop:0); moveObject(targetObjectId, newXCoordinate, newYCoordinate); // and make it visible if( changeObjectVisibility(targetObjectId, 'visible') ) { // if we successfully showed the popup // store its Id on a globally-accessible object window.currentlyVisiblePopup = targetObjectId; return true; } else { // we couldn't show the popup, boo hoo! return false; } } else { // there was no event object, so we won't be able to position anything, so give up return false; } } // showPopup function hideCurrentPopup() { // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup if(window.currentlyVisiblePopup) { changeObjectVisibility(window.currentlyVisiblePopup, 'hidden'); window.currentlyVisiblePopup = false; } } // hideCurrentPopup // *********************** // hacks and workarounds * // *********************** // initialize hacks whenever the page loads window.onload = initializeHacks; // setup an event handler to hide popups for generic clicks on the document document.onclick = hideCurrentPopup; function initializeHacks() { // this ugly little hack resizes a blank div to make sure you can click // anywhere in the window for Mac MSIE 5 if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { window.onresize = explorerMacResizeFix; } resizeBlankDiv(); // this next function creates a placeholder object for older browsers createFakeEventObj(); } function createFakeEventObj() { // create a fake event object for older browsers to avoid errors in function call // when we need to pass the event object to functions if (!window.event) { window.event = false; } } // createFakeEventObj function resizeBlankDiv() { // resize blank placeholder div so IE 5 on mac will get all clicks in window if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { getStyleObject('blankDiv').width = document.body.clientWidth - 20; getStyleObject('blankDiv').height = document.body.clientHeight - 20; } } function explorerMacResizeFix () { location.reload(false); } /////////////////////////////////////////////////////////////////////////// var xxxOffset = 30; var yyyOffset = -5; function showPopup (targetObjectId, eventObj) { if(eventObj) { // hide any currently-visible popups hideCurrentPopup(); // stop event from bubbling up any farther eventObj.cancelBubble = true; // move popup div to current cursor position // (add scrollTop to account for scrolling for IE) var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xOffset:eventObj.x + xxxOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0); var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yOffset:eventObj.y + yyyOffset + ((document.body.scrollTop)?document.body.scrollTop:0); moveObject(targetObjectId, newXCoordinate, newYCoordinate); // and make it visible if( changeObjectVisibility(targetObjectId, 'visible') ) { // if we successfully showed the popup // store its Id on a globally-accessible object window.currentlyVisiblePopup = targetObjectId; return true; } else { // we couldn't show the popup, boo hoo! return false; } } else { // there was no event object, so we won't be able to position anything, so give up return false; } } // showPopup function hideCurrentPopup() { // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup if(window.currentlyVisiblePopup) { changeObjectVisibility(window.currentlyVisiblePopup, 'hidden'); window.currentlyVisiblePopup = false; } } // hideCurrentPopup // *********************** // hacks and workarounds * // *********************** // initialize hacks whenever the page loads window.onload = initializeHacks; // setup an event handler to hide popups for generic clicks on the document document.onclick = hideCurrentPopup; function initializeHacks() { // this ugly little hack resizes a blank div to make sure you can click // anywhere in the window for Mac MSIE 5 if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { window.onresize = explorerMacResizeFix; } resizeBlankDiv(); // this next function creates a placeholder object for older browsers createFakeEventObj(); } function createFakeEventObj() { // create a fake event object for older browsers to avoid errors in function call // when we need to pass the event object to functions if (!window.event) { window.event = false; } } // createFakeEventObj function resizeBlankDiv() { // resize blank placeholder div so IE 5 on mac will get all clicks in window if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { getStyleObject('blankDiv').width = document.body.clientWidth - 20; getStyleObject('blankDiv').height = document.body.clientHeight - 20; } } function explorerMacResizeFix () { location.reload(false); } /////////////////////////////////////////////////////////////////////////// var xxxxOffset = -300; var yyyyOffset = 25; function showPopup2 (targetObjectId, eventObj) { if(eventObj) { // hide any currently-visible popups hideCurrentPopup(); // stop event from bubbling up any farther eventObj.cancelBubble = true; // move popup div to current cursor position // (add scrollTop to account for scrolling for IE) var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xxxxOffset:eventObj.x + xxxxOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0); var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yyyyOffset:eventObj.y + yyyyOffset + ((document.body.scrollTop)?document.body.scrollTop:0); moveObject(targetObjectId, newXCoordinate, newYCoordinate); // and make it visible if( changeObjectVisibility(targetObjectId, 'visible') ) { // if we successfully showed the popup // store its Id on a globally-accessible object window.currentlyVisiblePopup = targetObjectId; return true; } else { // we couldn't show the popup, boo hoo! return false; } } else { // there was no event object, so we won't be able to position anything, so give up return false; } } // showPopup function hideCurrentPopup() { // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup if(window.currentlyVisiblePopup) { changeObjectVisibility(window.currentlyVisiblePopup, 'hidden'); window.currentlyVisiblePopup = false; } } // hideCurrentPopup // *********************** // hacks and workarounds * // *********************** // initialize hacks whenever the page loads window.onload = initializeHacks; // setup an event handler to hide popups for generic clicks on the document document.onclick = hideCurrentPopup; function initializeHacks() { // this ugly little hack resizes a blank div to make sure you can click // anywhere in the window for Mac MSIE 5 if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { window.onresize = explorerMacResizeFix; } resizeBlankDiv(); // this next function creates a placeholder object for older browsers createFakeEventObj(); } function createFakeEventObj() { // create a fake event object for older browsers to avoid errors in function call // when we need to pass the event object to functions if (!window.event) { window.event = false; } } // createFakeEventObj function resizeBlankDiv() { // resize blank placeholder div so IE 5 on mac will get all clicks in window if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { getStyleObject('blankDiv').width = document.body.clientWidth - 20; getStyleObject('blankDiv').height = document.body.clientHeight - 20; } } function explorerMacResizeFix () { location.reload(false); } /////////////////////////////////////////////////////////////////////////// var xxxxaOffset = -250; var yyyyOaffset = -500; function showPopup20 (targetObjectId, eventObj) { if(eventObj) { // hide any currently-visible popups hideCurrentPopup(); // stop event from bubbling up any farther eventObj.cancelBubble = true; // move popup div to current cursor position // (add scrollTop to account for scrolling for IE) var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xxxxaOffset:eventObj.x + xxxxaOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0); var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yyyyOaffset:eventObj.y + yyyyOaffset + ((document.body.scrollTop)?document.body.scrollTop:0); moveObject(targetObjectId, newXCoordinate, newYCoordinate); // and make it visible if( changeObjectVisibility(targetObjectId, 'visible') ) { // if we successfully showed the popup // store its Id on a globally-accessible object window.currentlyVisiblePopup = targetObjectId; return true; } else { // we couldn't show the popup, boo hoo! return false; } } else { // there was no event object, so we won't be able to position anything, so give up return false; } } // showPopup function hideCurrentPopup() { // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup if(window.currentlyVisiblePopup) { changeObjectVisibility(window.currentlyVisiblePopup, 'hidden'); window.currentlyVisiblePopup = false; } } // hideCurrentPopup // *********************** // hacks and workarounds * // *********************** // initialize hacks whenever the page loads window.onload = initializeHacks; // setup an event handler to hide popups for generic clicks on the document document.onclick = hideCurrentPopup; function initializeHacks() { // this ugly little hack resizes a blank div to make sure you can click // anywhere in the window for Mac MSIE 5 if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { window.onresize = explorerMacResizeFix; } resizeBlankDiv(); // this next function creates a placeholder object for older browsers createFakeEventObj(); } function createFakeEventObj() { // create a fake event object for older browsers to avoid errors in function call // when we need to pass the event object to functions if (!window.event) { window.event = false; } } // createFakeEventObj function resizeBlankDiv() { // resize blank placeholder div so IE 5 on mac will get all clicks in window if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { getStyleObject('blankDiv').width = document.body.clientWidth - 20; getStyleObject('blankDiv').height = document.body.clientHeight - 20; } } function explorerMacResizeFix () { location.reload(false); }