// 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 = -0;var yOffset = -5;function showPopup (targetObjectId, eventObj, boxTop, boxLeft, boxWidth, boxHeight) {    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) - boxWidth;	var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yOffset:eventObj.y + yOffset + ((document.body.scrollTop)?document.body.scrollTop:0) ;		moveObject(targetObjectId, newXCoordinate, newYCoordinate, boxTop, boxLeft, boxWidth, boxHeight);	// 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);}