// - Effekt-Bibliothek fuer tinyEdit 1.0 ----


// - Buttons aktivieren, Buttons einrasten bei Click ----
function initActivateButtons(parentID) {
	if (document.getElementById(parentID))  {
		var holdElms = document.getElementById(parentID).getElementsByTagName('a');
		for (var ct=0;ct<holdElms.length;ct++) {
			holdElms[ct].holdIndex = ct;
			holdElms[ct].onclick = function(){activateButton(parentID,this)};
		}
	}
}

// - Einrast-Funktion Buttons ----
function activateButton(parentID,actElm) {
	if (document.getElementById(parentID))  {
		var holdElms = document.getElementById(parentID).getElementsByTagName('a');
		for (var ct=0;ct<holdElms.length;ct++) {
			if (holdElms[ct].holdIndex == actElm.holdIndex) {
				holdElms[ct].className = 'act';
			} else {
				holdElms[ct].className = 'void';
			}
		}
	}
}

// - Element-Hover , alle Elemente mit einer Klasse in einem Container werden gehovert ----
// - Gebrauch: changeElmClass(document.getElementById('content'),'p','effects') ----
// - Gebrauch: changeElmClass(document.getElementsByTagname('ul')[2],'li','highlight') ----
function changeElmClass(containerElm,tagName,className) {
	if (containerElm)  {
		var holdElms = containerElm.getElementsByTagName(tagName);
		for (var ct=0;ct<holdElms.length;ct++) {
			if (elementHasClass(holdElms[ct],className)) {
				holdElms[ct].onmouseover = elmMouseOver;
				holdElms[ct].onmouseout = elmMouseOut;
			}
		}
	}
}

// - Tabellenzeilen-Hover, alle Zeilen in mit einer Klasse versehenen Tabelle werden gehovert ----
// - Gebrauch: changeRowClass(document.getElementById('content'),'effects','tabtitle') ----
function changeRowClass(containerElm,className,childStopClass) {
	if (containerElm)  {
		var holdTables = containerElm.getElementsByTagName('table');
		for (var ct=0;ct<holdTables.length;ct++) {
			if (elementHasClass(holdTables[ct],className)) {
				var holdChildElms = holdTables[ct].getElementsByTagName('tr');
				for (var ct1=0;ct1<holdChildElms.length;ct1++) {
					if (!elementHasClass(holdChildElms[ct1],childStopClass)){
						holdChildElms[ct1].onmouseover = elmMouseOver;
						holdChildElms[ct1].onmouseout = elmMouseOut;
					}
				}
			}
		}
	}
}

// - Allgemeine Klassenwechsler-Funktion ----
function elmMouseOver() {
	this.className = this.className + ' over';
}
function elmMouseOut() {
	this.className = this.className.replace(/over/,'');
}

// - Image-Hover, alle Bilder in einem benennbaren Element werden gewechselt ----
// - Gebrauch: changeImages(document.getElementById('top_nav'),'_over') ----
var mouseOvers = new Array();
var mouseOuts = new Array();
function changeImages(containerElm,elmSelector) {
	if (document.getElementById(containerElm) != 'undefined') {
		var holdImages = document.getElementById(containerElm).getElementsByTagName('img');
		for (var ct=0;ct<holdImages.length;ct++)	{
			holdImages[ct].onmouseover = imgMouseOver;
			holdImages[ct].onmouseout = imgMouseOut;
			var holdSuffix = holdImages[ct].src.substring(holdImages[ct].src.lastIndexOf('.'));
			mouseOuts[ct] = new Image();
			mouseOuts[ct].src = holdImages[ct].src;
			mouseOvers[ct] = new Image();
			mouseOvers[ct].src = holdImages[ct].src.substring(0,holdImages[ct].src.lastIndexOf('.')) + elmSelector + holdSuffix;
			holdImages[ct].holdNumber = ct;
		}
	}
}
// - Bildwechsler-Funktion ----
function imgMouseOver(){
	this.src = mouseOvers[this.holdNumber].src;
}
function imgMouseOut() {
	this.src = mouseOuts[this.holdNumber].src; 
}

// - Zebra-Tabelle , Zeilen werden alternierend mit Klassen versehen ----
// - Gebrauch: initZebraTable(document.getElementById('content'),'zebra','tabtitle-tabfooter','dark-light-void') ----
function initZebraTable(containerElm,className,childAlternateClasses) {
	if (containerElm)  {
		var holdTables = containerElm.getElementsByTagName('table');
		var holdChildElms;
		var altClasses		= childAlternateClasses.split('-');
		var classNumber	= altClasses.length -1;
		var classCount;
		var setClass;
		for (var ct=0;ct<holdTables.length;ct++) {
			classCount	= 0;
			if (elementHasClass(holdTables[ct],className)) {
				holdChildElms = holdTables[ct].getElementsByTagName('tr');
				for (var ct1=0;ct1<holdChildElms.length;ct1++) {
					if (!holdChildElms[ct1].className) {
						holdChildElms[ct1].className = altClasses[classCount];
						if (classCount < classNumber) {
							classCount = classCount + 1;
						} else {
							classCount = 0;
						}
					}	
				}
			}
		}
	}
}
