PageRenderTime 60ms CodeModel.GetById 56ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/static/scripts/tiny_mce/utils/mctabs.js

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