forked from GNUsocial/gnu-social
		
	
		
			
	
	
		
			78 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			78 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | /** | ||
|  |  * 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(); |