home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Blogs / wordpress2.6.exe / wordpress2.6 / wp-includes / js / tinymce / utils / mctabs.js < prev    next >
Encoding:
JavaScript  |  2008-06-04  |  1.7 KB  |  77 lines

  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.  
  10. function MCTabs() {
  11.     this.settings = [];
  12. };
  13.  
  14. MCTabs.prototype.init = function(settings) {
  15.     this.settings = settings;
  16. };
  17.  
  18. MCTabs.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.  
  30. MCTabs.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.  
  66. MCTabs.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
  76. var mcTabs = new MCTabs();
  77.