alecpl
2010-08-12 1a2f8375ded7563964ea24c44c7874a92e6f7b77
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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();