]> code.citadel.org Git - citadel.git/blobdiff - webcit/tiny_mce/utils/mctabs.js
* Re-added tiny_mce, this time with the language packs
[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..284501e
--- /dev/null
@@ -0,0 +1,76 @@
+/**\r
+ * $Id: mctabs.js 758 2008-03-30 13:53:29Z spocke $\r
+ *\r
+ * Moxiecode DHTML Tabs script.\r
+ *\r
+ * @author Moxiecode\r
+ * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.\r
+ */\r
+\r
+function MCTabs() {\r
+       this.settings = [];\r
+};\r
+\r
+MCTabs.prototype.init = function(settings) {\r
+       this.settings = settings;\r
+};\r
+\r
+MCTabs.prototype.getParam = function(name, default_value) {\r
+       var value = null;\r
+\r
+       value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];\r
+\r
+       // Fix bool values\r
+       if (value == "true" || value == "false")\r
+               return (value == "true");\r
+\r
+       return value;\r
+};\r
+\r
+MCTabs.prototype.displayTab = function(tab_id, panel_id) {\r
+       var panelElm, panelContainerElm, tabElm, tabContainerElm, selectionClass, nodes, i;\r
+\r
+       panelElm= document.getElementById(panel_id);\r
+       panelContainerElm = panelElm ? panelElm.parentNode : null;\r
+       tabElm = document.getElementById(tab_id);\r
+       tabContainerElm = tabElm ? tabElm.parentNode : null;\r
+       selectionClass = this.getParam('selection_class', 'current');\r
+\r
+       if (tabElm && tabContainerElm) {\r
+               nodes = tabContainerElm.childNodes;\r
+\r
+               // Hide all other tabs\r
+               for (i = 0; i < nodes.length; i++) {\r
+                       if (nodes[i].nodeName == "LI")\r
+                               nodes[i].className = '';\r
+               }\r
+\r
+               // Show selected tab\r
+               tabElm.className = 'current';\r
+       }\r
+\r
+       if (panelElm && panelContainerElm) {\r
+               nodes = panelContainerElm.childNodes;\r
+\r
+               // Hide all other panels\r
+               for (i = 0; i < nodes.length; i++) {\r
+                       if (nodes[i].nodeName == "DIV")\r
+                               nodes[i].className = 'panel';\r
+               }\r
+\r
+               // Show selected panel\r
+               panelElm.className = 'current';\r
+       }\r
+};\r
+\r
+MCTabs.prototype.getAnchor = function() {\r
+       var pos, url = document.location.href;\r
+\r
+       if ((pos = url.lastIndexOf('#')) != -1)\r
+               return url.substring(pos + 1);\r
+\r
+       return "";\r
+};\r
+\r
+// Global instance\r
+var mcTabs = new MCTabs();\r