// JavaScript Document

/**
* @Authors: ErA
* @Version: 1.0.0
* @Date: 2010-09-07
* @Copyright: RAGBIT GmbH - All rights reserved.
**/

function ribbonSupportClass () {	
	
	this.toggleNavFile = 'navFiles';

	this.switchTo = function (linkId, navMother, navId) {
		var linkTab = document.getElementById('tab' + linkId);
		var subLevel = document.getElementById('ribbonSub');
		
		this.cleanBase(linkTab.parentNode);
		this.cleanSubLevel(subLevel);
		
		linkTab.style.zIndex = 255;
		linkTab.className += " selected";
		
		if (document.getElementById('childOf' + linkId).style.display == 'none') shaderObj.fadeDisplay('childOf' + linkId, 'block', 0, 1, 1000);

		return false;
	}
	
	this.cleanBase = function(obj) {
		var zetIndex = 250;
		var aList = obj.getElementsByTagName('A');
		for(key in aList) if(aList[key].tagName == "A") {
			aList[key].className = ribbonSupport.meReplace( aList[key].className, ["open", "selected"], "" );
			aList[key].style.zIndex = zetIndex--;
		}
	}
	
	this.cleanSubLevel = function(obj) {
		var divList = obj.getElementsByTagName('DIV');
		for(key in divList) if(divList[key].tagName == "DIV" && divList[key].id && divList[key].parentNode.id == obj.id) {
			if(divList[key].style.display == "block") shaderObj.fadeDisplay(divList[key].id, 'none', 1, 0, 100);
		}
	}
	
	this.toggleNavFiles = function( toggleButtonElement ) {
 		var obj = document.getElementById( this.toggleNavFile );
 		var toggleButtonObj = document.getElementById( toggleButtonElement );
 		
 		if(obj.className == "visible") {
 			obj.className = "invisible";
 			
 			toggleButtonObj.className = this.meReplace(toggleButtonObj.className, ["visible"], "invisible");
 			
 			document.cookie = "toggleNavFiles=1; path=/";
		} else {
			obj.className = "visible";
			
			toggleButtonObj.className = this.meReplace(toggleButtonObj.className, ["invisible"], "visible");
			
			document.cookie = "toggleNavFiles=0; path=/";
		}
	}
	
	this.mouseOutMenu = function( menuElement, menuButtonElement, sourceObj, menuEvent) {
		var objMenu = document.getElementById(menuElement);
		var objButton = document.getElementById(menuButtonElement);
		
		if (objMenu.style.display != 'none' && shaderObj.outOfShape(sourceObj, menuEvent) ) { 
			objButton.className = objButton.className.replace('active', ''); 
			shaderObj.fadeDisplay(menuElement, 'none'); 
		}		
	}
	
	this.mouseOnClick = function( menuElement, menuButtonElement ) {
		var objMenu = document.getElementById(menuElement);
		var objButton = document.getElementById(menuButtonElement);
		
		if( objMenu.style.display == 'block') { 
			objButton.className = objButton.className.replace('active', ''); 
			shaderObj.fadeDisplay(menuElement, 'none'); 
		} else { 
			objButton.className += ' active'; 
			shaderObj.fadeDisplay(menuElement, 'block'); 
		}
	}
	
	this.meReplace = function(string, from, to) {
		for (var j = 0 ; j < from.length ; j ++) {
			if (string.search(from[j]) != -1) {
				string = string.replace(from[j],to); 
			}
		}
		return string;  
	}
	
}

ribbonSupport = new ribbonSupportClass();
