var AccordionManagerLastID = 0;
AccordionManager = function(SName) {
	if (SName=="") return false;
	var self = this;
	var SelectorName = SName;
	var currentAcc = "";
	var AccPrefix = "ACH_";
	var APMPrefix = "APM_";
	var ContentPrefix = "ACC_";
	var allArray = new Array();
	
	// FUNKTIONEN
	// Wählen
	this.Select = function (newAcc) {
		if (!allArray) return false;
		if (newAcc == "") return false;
		
		if (currentAcc!="") {
			document.hideID(ContentPrefix + currentAcc);
			document.setClass(AccPrefix + currentAcc, SelectorName+"_close");
		}
		if (currentAcc != newAcc) {
			document.showID(ContentPrefix + newAcc);
			document.setClass(AccPrefix + newAcc, SelectorName+"_open");		
			currentAcc = newAcc;
		} 
		else currentAcc = "";
	}
	
	this.hashChange = function() {
		if (location.hash != "") {
			aktHash = location.hash.slice(1);
			if (allArray.getIndex(aktHash) !== false) {
				self.Select(aktHash);
			}
		}
	}
	
	// Register Content holen
	var CList	= document.getElementsByClassName(SelectorName);
	if (CList.length<=0) return false;
	
	// Register aufbauen 
	for (var ci=0; ci < CList.length; ci++) {
		// Infos holen
		var cElem = CList[ci];
		try {var cId = (!cElem.anchor)?cElem.getAttribute("anchor"):cElem.anchor;} catch (e) {var cId = null;}
		var cIden = (cId != null && cId != "undefined")?cId:++AccordionManagerLastID;
		cElem.setAttribute("id", ContentPrefix+cIden);
		var cName = cElem.getAttribute("name");
		if (cName == "") continue;
		// Acc erstellen
		var cESel = document.createElement("div");
		cESel.setAttribute("id", AccPrefix+cIden);
		var cESPM = document.createElement("span");
		cESPM.setAttribute("id", APMPrefix+cIden);
		cESel.appendChild(cESPM);
		cESel.appendChild(document.createTextNode(cName));
		cESel.onclick = function() {
			self.Select(this.id.slice(AccPrefix.length));
			return false;
		}
		cElem.parentNode.appendChild(cESel);
		cElem.parentNode.insertBefore(cESel, cElem);
		// Werte überschreiben
		allArray.push(cIden);
		cElem.removeAttribute("anchor");
		cElem.removeAttribute("name");
	}
	
	for (var i = 0; i < allArray.length; i++) {
		var Acc = allArray[i];
		document.hideID(ContentPrefix + Acc);
		document.setClass(ContentPrefix + Acc, SelectorName+"_content");
		document.setClass(AccPrefix + Acc, SelectorName+"_close");
	}
	this.hashChange();
	
	try {if ("onhashchange" in window) {window.addEventListener("hashchange", this.hashChange, false);}} catch(e) {}
}
