summaryrefslogtreecommitdiff
path: root/plugins/TinyMCE/js/utils/mctabs.js
diff options
context:
space:
mode:
authorIan Denhardt <ian@zenhack.net>2010-08-13 14:48:58 -0400
committerIan Denhardt <ian@zenhack.net>2010-08-13 14:48:58 -0400
commitb1c5cb9db99993fcea7c060bffa6d5d50f22a41f (patch)
treead18b2aecce518d44d040f59b0e706bf128f43b9 /plugins/TinyMCE/js/utils/mctabs.js
parentdf562a1d8f4515462b190a214a4b6642f7855130 (diff)
parentae696728f5edf8972c68c17ce9ea21f07d44cbed (diff)
Merge branch '1.0.x' of /home/ian/public_html/statusnet-enhancements
Diffstat (limited to 'plugins/TinyMCE/js/utils/mctabs.js')
-rw-r--r--plugins/TinyMCE/js/utils/mctabs.js77
1 files changed, 77 insertions, 0 deletions
diff --git a/plugins/TinyMCE/js/utils/mctabs.js b/plugins/TinyMCE/js/utils/mctabs.js
new file mode 100644
index 000000000..825d4c143
--- /dev/null
+++ b/plugins/TinyMCE/js/utils/mctabs.js
@@ -0,0 +1,77 @@
+/**
+ * mctabs.js
+ *
+ * Copyright 2009, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://tinymce.moxiecode.com/license
+ * Contributing: http://tinymce.moxiecode.com/contributing
+ */
+
+function MCTabs() {
+ this.settings = [];
+};
+
+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, panelContainerElm, tabElm, tabContainerElm, selectionClass, nodes, i;
+
+ panelElm= document.getElementById(panel_id);
+ panelContainerElm = panelElm ? panelElm.parentNode : null;
+ tabElm = document.getElementById(tab_id);
+ tabContainerElm = tabElm ? tabElm.parentNode : null;
+ selectionClass = this.getParam('selection_class', 'current');
+
+ if (tabElm && tabContainerElm) {
+ nodes = tabContainerElm.childNodes;
+
+ // Hide all other tabs
+ for (i = 0; i < nodes.length; i++) {
+ if (nodes[i].nodeName == "LI")
+ nodes[i].className = '';
+ }
+
+ // Show selected tab
+ tabElm.className = 'current';
+ }
+
+ if (panelElm && panelContainerElm) {
+ nodes = panelContainerElm.childNodes;
+
+ // Hide all other panels
+ for (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();