Merge commit 'catalyst/MOODLE_19_STABLE' into mdl19-linuxchix
[moodle-linuxchix.git] / lib / editor / tinymce / jscripts / tiny_mce / utils / mctabs.js
blob39292c4a06f017958459d818d2e8f8885ebacb1d
1 /**
2  * $RCSfile$
3  * $Revision$
4  * $Date$
5  *
6  * Moxiecode DHTML Tabs script.
7  *
8  * @author Moxiecode
9  * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
10  */
12 function MCTabs() {
13         this.settings = new Array();
16 MCTabs.prototype.init = function(settings) {
17         this.settings = settings;
20 MCTabs.prototype.getParam = function(name, default_value) {
21         var value = null;
23         value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
25         // Fix bool values
26         if (value == "true" || value == "false")
27                 return (value == "true");
29         return value;
32 MCTabs.prototype.displayTab = function(tab_id, panel_id) {
33         var panelElm = document.getElementById(panel_id);
34         var panelContainerElm = panelElm ? panelElm.parentNode : null;
35         var tabElm = document.getElementById(tab_id);
36         var tabContainerElm = tabElm ? tabElm.parentNode : null;
37         var selectionClass = this.getParam('selection_class', 'current');
39         if (tabElm && tabContainerElm) {
40                 var nodes = tabContainerElm.childNodes;
42                 // Hide all other tabs
43                 for (var i=0; i<nodes.length; i++) {
44                         if (nodes[i].nodeName == "LI")
45                                 nodes[i].className = '';
46                 }
48                 // Show selected tab
49                 tabElm.className = 'current';
50         }
52         if (panelElm && panelContainerElm) {
53                 var nodes = panelContainerElm.childNodes;
55                 // Hide all other panels
56                 for (var i=0; i<nodes.length; i++) {
57                         if (nodes[i].nodeName == "DIV")
58                                 nodes[i].className = 'panel';
59                 }
61                 // Show selected panel
62                 panelElm.className = 'current';
63         }
66 MCTabs.prototype.getAnchor = function() {
67         var pos, url = document.location.href;
69         if ((pos = url.lastIndexOf('#')) != -1)
70                 return url.substring(pos + 1);
72         return "";
75 // Global instance
76 var mcTabs = new MCTabs();