Blame view

js/tiny_mce/utils/mctabs.js 1.75 KB
8d65d0ce   andryeyev   init
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();