/** * Provides the javascript class for handling tabbed sections in Horde Forms. * * @author Marko Djukic * @copyright 2003-2015 Horde LLC * @license LGPL-2 (http://www.horde.org/licenses/lgpl) */ function Horde_Form_Sections(instanceName, openSection) { /* Set up this class instance for function calls from the page. */ this._instanceName = instanceName; /* The currently showed section. */ var _openSection, s; this.toggle = function(sectionId) { if (!document.getElementById) { return false; } /* Get the currently open section object. */ openSectionId = this._get(); s = document.getElementById(this._instanceName + '_section_' + openSectionId); if (s) { s.style.display = 'none'; document.getElementById(this._instanceName + '_tab_' + openSectionId).className = ''; } /* Get the newly opened section object. */ s = document.getElementById(this._instanceName + '_section_' + sectionId); if (s) { s.style.display = ''; document.getElementById(this._instanceName + '_tab_' + sectionId).className = 'horde-active'; } /* Store the newly opened section. */ this._set(sectionId); }; this._get = function() { return this._openSection; }; this._set = function(sectionId) { var form = document.getElementById(this._instanceName); if (form !== null && typeof form.__formOpenSection != 'undefined') { form.__formOpenSection.value = sectionId; } this._openSection = sectionId; }; this._set(openSection); }