]> code.citadel.org Git - citadel.git/blobdiff - webcit/tiny_mce/utils/mctabs.js
* Removed the Kevin Roth rich text editor and replaced it with TinyMCE.
[citadel.git] / webcit / tiny_mce / utils / mctabs.js
diff --git a/webcit/tiny_mce/utils/mctabs.js b/webcit/tiny_mce/utils/mctabs.js
new file mode 100644 (file)
index 0000000..d9fbbc5
--- /dev/null
@@ -0,0 +1,76 @@
+/**
+ * $RCSfile$
+ * $Revision$
+ * $Date$
+ *
+ * Moxiecode DHTML Tabs script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved.
+ */
+
+function MCTabs() {
+       this.settings = new Array();
+};
+
+MCTabs.prototype.init = function(settings) {
+       this.settings = settings;
+};
+
+MCTabs.prototype.getParam = function(name, default_value) {
+       var value = null;
+
+       value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+       // Fix bool values
+       if (value == "true" || value == "false")
+               return (value == "true");
+
+       return value;
+};
+
+MCTabs.prototype.displayTab = function(tab_id, panel_id) {
+       var panelElm = document.getElementById(panel_id);
+       var panelContainerElm = panelElm ? panelElm.parentNode : null;
+       var tabElm = document.getElementById(tab_id);
+       var tabContainerElm = tabElm ? tabElm.parentNode : null;
+       var selectionClass = this.getParam('selection_class', 'current');
+
+       if (tabElm && tabContainerElm) {
+               var nodes = tabContainerElm.childNodes;
+
+               // Hide all other tabs
+               for (var i=0; i<nodes.length; i++) {
+                       if (nodes[i].nodeName == "LI")
+                               nodes[i].className = '';
+               }
+
+               // Show selected tab
+               tabElm.className = 'current';
+       }
+
+       if (panelElm && panelContainerElm) {
+               var nodes = panelContainerElm.childNodes;
+
+               // Hide all other panels
+               for (var i=0; i<nodes.length; i++) {
+                       if (nodes[i].nodeName == "DIV")
+                               nodes[i].className = 'panel';
+               }
+
+               // Show selected panel
+               panelElm.className = 'current';
+       }
+};
+
+MCTabs.prototype.getAnchor = function() {
+       var pos, url = document.location.href;
+
+       if ((pos = url.lastIndexOf('#')) != -1)
+               return url.substring(pos + 1);
+
+       return "";
+};
+
+// Global instance
+var mcTabs = new MCTabs();