// Copyright (c) 2002-2003 Quadralay Corporation. All rights reserved. // function HTMLHelpPopup_Object(ParamThisPopupRef, ParamWindowRef, ParamNotifyClickedFunction, ParamDivID, ParamTextID, ParamTimeout, ParamOffsetX, ParamOffsetY, ParamWidth) { this.mThisPopupRef = ParamThisPopupRef; this.mWindowRef = ParamWindowRef; this.mDivID = ParamDivID; this.mTextID = ParamTextID; this.mTimeout = (ParamTimeout > 0) ? ParamTimeout : 0; this.mOffsetX = ParamOffsetX; this.mOffsetY = ParamOffsetY; this.mWidth = ParamWidth; // Updated when popup triggered // this.mbVisible = false; this.mPositionX = 0; this.mPositionY = 0; this.mText = ""; this.mSetTimeoutID = null; this.fNotifyClicked = ParamNotifyClickedFunction; this.fFormat = HTMLHelpPopup_Format; this.fDivTagText = HTMLHelpPopup_DivTagText; this.fShow = HTMLHelpPopup_Show; this.fPositionPopup = HTMLHelpPopup_PositionPopup; this.fPopup = HTMLHelpPopup_Popup; this.fHide = HTMLHelpPopup_Hide; // Preload graphics // HTMLHelpPopupUtility_PreloadImages(); } function HTMLHelpPopupUtility_PreloadImages() { var VarImage; VarImage = new Image(); VarImage.src = "images/spc1w2h.gif"; VarImage.src = "images/spc2w1h.gif"; VarImage.src = "images/spc1w7h.gif"; VarImage.src = "images/spc5w1h.gif"; } function HTMLHelpPopup_Format(ParamWidth, ParamTextID, ParamText) { var VarHTML = ""; var BackgroundColor = "#FFFFCC"; var BorderColor = "#999999"; var ReqSpacer1w2h = ""; var ReqSpacer2w1h = ""; var ReqSpacer1w7h = ""; var ReqSpacer5w1h = ""; var Spacer1w2h = ReqSpacer1w2h; var Spacer2w1h = ReqSpacer2w1h; var Spacer1w7h = ReqSpacer1w7h; var Spacer5w1h = ReqSpacer5w1h; VarHTML += ""; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += " "; VarHTML += "
" + Spacer1w2h + "
" + Spacer2w1h + "" + Spacer1w7h + "" + Spacer2w1h + "
" + ReqSpacer2w1h + "" + ReqSpacer5w1h + "" + ParamText + "" + ReqSpacer5w1h + "" + ReqSpacer2w1h + "
" + Spacer2w1h + "" + Spacer1w7h + "" + Spacer2w1h + "
" + Spacer1w2h + "
"; return VarHTML; } function HTMLHelpPopup_DivTagText() { var VarDivTagText = ""; // Emit DIV tag // VarDivTagText += "\n"; return VarDivTagText; } function HTMLHelpPopup_Show(ParamText, ParamEvent) { var VarDocument = eval(this.mWindowRef + ".document"); // Reset the timeout operation to display the popup // if (this.mSetTimeoutID != null) { clearTimeout(this.mSetTimeoutID); this.mSetTimeoutID = null; } // Check to see if there is anything to display // if ((ParamText != null) && (ParamEvent != null)) { if ((typeof(VarDocument.documentElement) != "undefined") && (typeof(VarDocument.documentElement.clientWidth) != "undefined") && (typeof(VarDocument.documentElement.clientHeight) != "undefined") && ((VarDocument.documentElement.scrollLeft != 0) || (VarDocument.documentElement.scrollTop != 0))) { this.mPositionX = VarDocument.documentElement.scrollLeft + ParamEvent.x; this.mPositionY = VarDocument.documentElement.scrollTop + ParamEvent.y; } else { this.mPositionX = VarDocument.body.scrollLeft + ParamEvent.x; this.mPositionY = VarDocument.body.scrollTop + ParamEvent.y; } this.mText = ParamText; this.mSetTimeoutID = setTimeout(this.mThisPopupRef + ".fPopup()", this.mTimeout); } } function HTMLHelpPopup_PositionPopup() { var VarDocument = eval(this.mWindowRef + ".document"); var NewPositionX; var NewPositionY; var VisibleOffsetX; var VisibleOffsetY; var PopupWidth; var PopupHeight; // Calculate new position for popup // NewPositionX = this.mPositionX + this.mOffsetX; NewPositionY = this.mPositionY + this.mOffsetY; // Attempt to determine DIV tag dimensions // PopupWidth = this.mWidth; if (VarDocument.all[this.mDivID].offsetWidth > PopupWidth) { PopupWidth = VarDocument.all[this.mDivID].offsetWidth; } PopupHeight = 60; // Guess a value if (VarDocument.all[this.mDivID].offsetHeight > PopupHeight) { PopupHeight = VarDocument.all[this.mDivID].offsetHeight; } // Calculate maximum values for X and Y such that the // popup will remain visible // if ((typeof(VarDocument.documentElement) != "undefined") && (typeof(VarDocument.documentElement.clientWidth) != "undefined") && (typeof(VarDocument.documentElement.clientHeight) != "undefined") && ((VarDocument.documentElement.clientWidth != 0) || (VarDocument.documentElement.clientHeight != 0))) { VisibleOffsetX = VarDocument.documentElement.clientWidth - this.mOffsetX - PopupWidth; VisibleOffsetY = VarDocument.documentElement.clientHeight - this.mOffsetY - PopupHeight; } else { VisibleOffsetX = VarDocument.body.clientWidth - this.mOffsetX - PopupWidth; VisibleOffsetY = VarDocument.body.clientHeight - this.mOffsetY - PopupHeight; } if (VisibleOffsetX < 0) { VisibleOffsetX = 0; } if (VisibleOffsetY < 0) { VisibleOffsetY = 0; } // Confirm popup will be visible and adjust if necessary // if ((typeof(VarDocument.documentElement) != "undefined") && (typeof(VarDocument.documentElement.clientWidth) != "undefined") && (typeof(VarDocument.documentElement.clientHeight) != "undefined") && ((VarDocument.documentElement.scrollLeft != 0) || (VarDocument.documentElement.scrollTop != 0))) { if (NewPositionX > (VarDocument.documentElement.scrollLeft + VisibleOffsetX)) { NewPositionX = VarDocument.documentElement.scrollLeft + VisibleOffsetX; } if (NewPositionY > (VarDocument.documentElement.scrollTop + VisibleOffsetY)) { NewPositionY = VarDocument.documentElement.scrollTop + VisibleOffsetY; } } else { if (NewPositionX > (VarDocument.body.scrollLeft + VisibleOffsetX)) { NewPositionX = VarDocument.body.scrollLeft + VisibleOffsetX; } if (NewPositionY > (VarDocument.body.scrollTop + VisibleOffsetY)) { NewPositionY = VarDocument.body.scrollTop + VisibleOffsetY; } } // Set popup position // VarDocument.all[this.mDivID].style.pixelLeft = NewPositionX; VarDocument.all[this.mDivID].style.pixelTop = NewPositionY; } function HTMLHelpPopup_Popup() { var VarDocument = eval(this.mWindowRef + ".document"); if (this.mSetTimeoutID != null) { // Set popup contents // VarDocument.all[this.mTextID].innerHTML = this.mText; // Position the popup // VarDocument.all[this.mDivID].style.display = "block"; this.fPositionPopup(); // Show the popup // VarDocument.all[this.mDivID].style.visibility = "visible"; this.mbVisible = true; } // Clear the setTimeout ID tracking field // to indicate that we're done. // this.mSetTimeoutID = null; } function HTMLHelpPopup_Hide() { var VarDocument; // Cancel the setTimeout value that would have // displayed the popup // if (this.mSetTimeoutID != null) { clearTimeout(this.mSetTimeoutID); this.mSetTimeoutID = null; } // Shutdown the popup // if (this.mbVisible == true) { VarDocument = eval(this.mWindowRef + ".document"); VarDocument.all[this.mDivID].style.visibility = "hidden"; VarDocument.all[this.mDivID].style.display = "none"; } this.mbVisible = false; }