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