web/wp-includes/js/tinymce/utils/mctabs.js
author ymh
Fri, 12 Mar 2010 13:29:04 +0000
changeset 1 0d28b7c10758
permissions -rw-r--r--
First commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     1
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
     2
 * $Id: mctabs.js 758 2008-03-30 13:53:29Z spocke $
0d28b7c10758 First commit
ymh
parents:
diff changeset
     3
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
     4
 * Moxiecode DHTML Tabs script.
0d28b7c10758 First commit
ymh
parents:
diff changeset
     5
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
     6
 * @author Moxiecode
0d28b7c10758 First commit
ymh
parents:
diff changeset
     7
 * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
0d28b7c10758 First commit
ymh
parents:
diff changeset
     8
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
     9
0d28b7c10758 First commit
ymh
parents:
diff changeset
    10
function MCTabs() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    11
	this.settings = [];
0d28b7c10758 First commit
ymh
parents:
diff changeset
    12
};
0d28b7c10758 First commit
ymh
parents:
diff changeset
    13
0d28b7c10758 First commit
ymh
parents:
diff changeset
    14
MCTabs.prototype.init = function(settings) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    15
	this.settings = settings;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    16
};
0d28b7c10758 First commit
ymh
parents:
diff changeset
    17
0d28b7c10758 First commit
ymh
parents:
diff changeset
    18
MCTabs.prototype.getParam = function(name, default_value) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    19
	var value = null;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    20
0d28b7c10758 First commit
ymh
parents:
diff changeset
    21
	value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
0d28b7c10758 First commit
ymh
parents:
diff changeset
    22
0d28b7c10758 First commit
ymh
parents:
diff changeset
    23
	// Fix bool values
0d28b7c10758 First commit
ymh
parents:
diff changeset
    24
	if (value == "true" || value == "false")
0d28b7c10758 First commit
ymh
parents:
diff changeset
    25
		return (value == "true");
0d28b7c10758 First commit
ymh
parents:
diff changeset
    26
0d28b7c10758 First commit
ymh
parents:
diff changeset
    27
	return value;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    28
};
0d28b7c10758 First commit
ymh
parents:
diff changeset
    29
0d28b7c10758 First commit
ymh
parents:
diff changeset
    30
MCTabs.prototype.displayTab = function(tab_id, panel_id) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    31
	var panelElm, panelContainerElm, tabElm, tabContainerElm, selectionClass, nodes, i;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    32
0d28b7c10758 First commit
ymh
parents:
diff changeset
    33
	panelElm= document.getElementById(panel_id);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    34
	panelContainerElm = panelElm ? panelElm.parentNode : null;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    35
	tabElm = document.getElementById(tab_id);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    36
	tabContainerElm = tabElm ? tabElm.parentNode : null;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    37
	selectionClass = this.getParam('selection_class', 'current');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    38
0d28b7c10758 First commit
ymh
parents:
diff changeset
    39
	if (tabElm && tabContainerElm) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    40
		nodes = tabContainerElm.childNodes;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    41
0d28b7c10758 First commit
ymh
parents:
diff changeset
    42
		// Hide all other tabs
0d28b7c10758 First commit
ymh
parents:
diff changeset
    43
		for (i = 0; i < nodes.length; i++) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    44
			if (nodes[i].nodeName == "LI")
0d28b7c10758 First commit
ymh
parents:
diff changeset
    45
				nodes[i].className = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    46
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    47
0d28b7c10758 First commit
ymh
parents:
diff changeset
    48
		// Show selected tab
0d28b7c10758 First commit
ymh
parents:
diff changeset
    49
		tabElm.className = 'current';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    50
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    51
0d28b7c10758 First commit
ymh
parents:
diff changeset
    52
	if (panelElm && panelContainerElm) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    53
		nodes = panelContainerElm.childNodes;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    54
0d28b7c10758 First commit
ymh
parents:
diff changeset
    55
		// Hide all other panels
0d28b7c10758 First commit
ymh
parents:
diff changeset
    56
		for (i = 0; i < nodes.length; i++) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    57
			if (nodes[i].nodeName == "DIV")
0d28b7c10758 First commit
ymh
parents:
diff changeset
    58
				nodes[i].className = 'panel';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    59
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    60
0d28b7c10758 First commit
ymh
parents:
diff changeset
    61
		// Show selected panel
0d28b7c10758 First commit
ymh
parents:
diff changeset
    62
		panelElm.className = 'current';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    63
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    64
};
0d28b7c10758 First commit
ymh
parents:
diff changeset
    65
0d28b7c10758 First commit
ymh
parents:
diff changeset
    66
MCTabs.prototype.getAnchor = function() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    67
	var pos, url = document.location.href;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    68
0d28b7c10758 First commit
ymh
parents:
diff changeset
    69
	if ((pos = url.lastIndexOf('#')) != -1)
0d28b7c10758 First commit
ymh
parents:
diff changeset
    70
		return url.substring(pos + 1);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    71
0d28b7c10758 First commit
ymh
parents:
diff changeset
    72
	return "";
0d28b7c10758 First commit
ymh
parents:
diff changeset
    73
};
0d28b7c10758 First commit
ymh
parents:
diff changeset
    74
0d28b7c10758 First commit
ymh
parents:
diff changeset
    75
// Global instance
0d28b7c10758 First commit
ymh
parents:
diff changeset
    76
var mcTabs = new MCTabs();