function createElem(parentObj, elementObj, textObj){
	var newElem = document.createElement(elementObj);
	parentObj.appendChild(newElem);
	if(textObj) {
		var newElemText = document.createTextNode(textObj);
		parentObj.getElementsByTagName(elementObj)[parentObj.getElementsByTagName(elementObj).length-1].appendChild(newElemText);
	}
	return newElem;
}

function cutText() {
	makeCutText(this.parentNode.parentNode);
}

function makeCutText(parent) {
	objPs = parent.getElementsByTagName("p");
	var text = "";
	for(j = 0; j < objPs.length; j++) {
		text = (objPs[j].firstChild.data) ? text + objPs[j].firstChild.data + " " : text;
		objPs[j].className = "inv";
	}
	textLength = text.length;
	text = text.substring(0, text.substring(0, 160).lastIndexOf(" "));
	if(textLength > text.length) {
		newDiv = createElem(parent, "div");
		newP = createElem(newDiv, "p", text);
		tmp = createLinkTo(newDiv, extendBox, "...mehr");
	}
}


function createLinkTo(parentObj, func, text, classA){
	var newPWithLinkTo = createElem(parentObj, "p");
	newPWithLinkTo.className = "withLinkTo";
	var newAlinkTo = createElem(newPWithLinkTo, "a", text);
	newAlinkTo.className = (classA) ? classA : "linkTo";
	newAlinkTo.onclick = func;
	newAlinkTo.setAttribute("href", "javascript:void(0)");
	return newPWithLinkTo;
}

function stripString(hasString, hasValue){
	return hasString.slice(hasString.indexOf(hasValue)+1, hasString.length);
}

function hiddenBoxes() {
	var objDivs = document.getElementsByTagName("div");
	for(i = 0; i < objDivs.length; i++) {
		if(objDivs[i].className.indexOf("withHiddenBox") != -1){
			objDivs[i].getElementsByTagName("div")[0].getElementsByTagName("div")[0].className = "inv";
			var newP = document.createElement("p");
			var parent = objDivs[i].appendChild(newP);
			var newA = createElem(parent, "a", "_");
			newA.onclick = showHiddenBox;
			newA.setAttribute("href", "javascript:void(0)");
			showHiddenBoxStart(parent.getElementsByTagName("a")[0]);
			showHiddenBoxStart(parent.getElementsByTagName("a")[0]);
		}
	}
}


function abridgeBoxes() {
	var objDivs = document.getElementsByTagName("div");
	for(i = 0; i < objDivs.length; i++) {
		if(objDivs[i].className.indexOf("toAbridge") != -1){
			makeCutText(objDivs[i]);
		}
	}
}

function extendBox() {
	var parent = this.parentNode.parentNode;
	var grandParent = parent.parentNode;
	objPs = grandParent.getElementsByTagName("p");
	for(j = 0; j < objPs.length; j++) {
		objPs[j].className = objPs[j].className.replace(/inv/, "");
	}
	var dele = grandParent.removeChild(parent);
	objAs = grandParent.getElementsByTagName("a");
	var setCloseBut = false;
	for(j = 0; j < objAs.length; j++) {
		if(objAs[j].className.indexOf("linkTo") != -1 && !setCloseBut) {
			setCloseBut = true;
		}
	}
	if(!setCloseBut) {
		createLinkTo(grandParent, cutText, "...schließen", "linkTo");
		createLinkTo(grandParent, printBox, "...drucken", "linkTo");
	}
}

function printBox() {
	grandParent = this.parentNode.parentNode.parentNode;
	grandParent.className = "printTxt";
	document.getElementsByTagName("body")[0].className = document.getElementsByTagName("body")[0].className + " printThis";
	window.print();
	grandParent.className = grandParent.className.replace(/printTxt/, "notes");
	document.getElementsByTagName("body")[0].className = document.getElementsByTagName("body")[0].className.replace(/printThis/, "");
}

var longerContBox = 0;
function showClossCont(which) {
	hideClossCont();
	var hasId = stripString(which.href, "#");
	if(document.getElementById(hasId)) {
		document.getElementById(hasId).className = document.getElementById(hasId).className.replace(/ inv/, "");
		document.getElementById(hasId).parentNode.className = document.getElementById(hasId).parentNode.className.replace(/ inv/, "");
		which.parentNode.className = "linkActive";
		which.parentNode.parentNode.className = "linkActive";
		return false;
	}
}

function hideClossCont() {
	if(!document.getElementById("glossar")) return false;
	var hideThis = document.getElementById("glossar").getElementsByTagName("a");
	for(i = 0; i < hideThis.length; i++){
		if(hideThis[i].parentNode.className.indexOf("linkActive") != -1){
			hideThis[i].parentNode.className = hideThis[i].className.replace(/linkActive/, "");
			hideThis[i].parentNode.parentNode.className = hideThis[i].parentNode.parentNode.className.replace(/linkActive/, "col1");
		}
	}
	hideThis = document.getElementById("glossar").getElementsByTagName("div");
	for(i = 0; i < hideThis.length; i++){
		if(hideThis[i].className.indexOf("inv") == -1){
			hideThis[i].className = hideThis[i].className + " inv";
		}
	}
}

function functionsToLoad() {
	abridgeBoxes();
	hideClossCont();
}

var counter = 0;
winLoad = window.onload;
window.onload = function() {
					if(counter == 0) {
						if(typeof winLoad == "function") winLoad();
						functionsToLoad()
						counter++;
					}
				}				

