/* ***** 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'; }