123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- /* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Bugzilla Bug Tracking System.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Gervase Markham <gerv@gerv.net>
- *
- * ***** END LICENSE BLOCK ***** */
- var g_helpTexts = new Object();
- var g_helpIframe;
- var g_helpDiv;
- /**
- * Generate help controls during page construction.
- *
- * @return Boolean; true if controls were created and false if not.
- */
- function generateHelp()
- {
- // Only enable help if controls can be hidden
- if (!document.body.style)
- return false;
- // Create help controls (a div to hold help text and an iframe
- // to mask any and all controls under the popup)
- document.write('<div id="helpDiv" style="display: none;"><\/div>');
- document.write('<iframe id="helpIframe" src="about:blank"');
- document.write(' frameborder="0" scrolling="no"><\/iframe>');
- return true;
- }
- /**
- * Enable help popups for all form elements after the page has finished loading.
- *
- * @return Boolean; true if help was enabled and false if not.
- */
- function enableHelp()
- {
- g_helpIframe = document.getElementById('helpIframe');
- g_helpDiv = document.getElementById('helpDiv');
- if (!g_helpIframe || !g_helpDiv) // Disabled if no controls found
- return false;
- // MS decided to add fieldsets to the elements array; and
- // Mozilla decided to copy this brokenness. Grr.
- for (var i = 0; i < document.forms.length; i++) {
- for (var j = 0; j < document.forms[i].elements.length; j++) {
- if (document.forms[i].elements[j].tagName != 'FIELDSET') {
- document.forms[i].elements[j].onmouseover = showHelp;
- }
- }
- }
- document.body.onclick = hideHelp;
- return true;
- }
- /**
- * Show the help popup for a form element.
- */
- function showHelp() {
- if (!g_helpIframe || !g_helpDiv || !g_helpTexts[this.name])
- return;
- // Get the position and size of the form element in the document
- var elemY = bz_findPosY(this);
- var elemX = bz_findPosX(this);
- var elemH = this.offsetHeight;
- // Update help text displayed in the div
- g_helpDiv.innerHTML = ''; // Helps IE 5 Mac
- g_helpDiv.innerHTML = g_helpTexts[this.name];
- // Position and display the help popup
- g_helpIframe.style.top = g_helpDiv.style.top = elemY + elemH + 5 + "px";
- g_helpIframe.style.left = g_helpDiv.style.left = elemX + "px";
- g_helpIframe.style.display = g_helpDiv.style.display = '';
- g_helpIframe.style.width = g_helpDiv.offsetWidth + "px";
- g_helpIframe.style.height = g_helpDiv.offsetHeight + "px";
- }
- /**
- * Hide the help popup.
- */
- function hideHelp() {
- if (!g_helpIframe || !g_helpDiv)
- return;
- g_helpIframe.style.display = g_helpDiv.style.display = 'none';
- }
|