/static/scripts/tiny_mce/utils/mctabs.js
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();