/* Symptome auswaehlen */
function SymptAuswahl() {
	if ((document.getElementById("symptome").selectedIndex != -1) &&  (document.getElementById("symptome").options[document.getElementById("symptome").selectedIndex].value != '0')) {
		var eingabe_id = document.getElementById("symptomauswahl").length;
		var eingabe = new Option(document.getElementById("symptome").options[document.getElementById("symptome").selectedIndex].text, document.getElementById("symptome").options[document.getElementById("symptome").selectedIndex].value);
		document.getElementById("symptomauswahl").options[eingabe_id] = eingabe;
		document.getElementById("symptomauswahl").options[eingabe_id].title = document.getElementById("symptome").options[document.getElementById("symptome").selectedIndex].text;
/* doppelte erkennen */
		var eingabe_value = document.getElementById("symptomauswahl").options[eingabe_id].value;
		var doppelte = false;
		for (var i = 0; i < eingabe_id; i++) {
			if (eingabe_value == document.getElementById("symptomauswahl").options[i].value) {
				doppelte = true;
			}
		}
		if  (doppelte == true) {
			var doppeltAuswahl = confirm(lang[0]);
			if (doppeltAuswahl == false) {
				document.getElementById("symptomauswahl").options[eingabe_id] = null;
			}
		}
	}
}

/* Symptome abwaehlen */
function SymptAbwahl() {
	document.getElementById("symptomauswahl").options[document.getElementById("symptomauswahl").selectedIndex] = null;
	return true;
}

var isClick;
var elementValue;
function DoppelKlick(befehl, e) {
	if (isClick == 1 && e.value == elementValue) {
		eval(befehl);
		isClick = 0;
	} else {
		isClick = 1;
		elementValue = e.value;
		window.setTimeout("isClick = 0", 500);
	}
}

function ChangeSkin(skin) {
	var url = window.location.href;
	url = url.replace(/.php#[a-z]*/, ".php");
	url = url.replace(/[?&]skin=[a-z_.-]+/, "");
	window.location.href = url.indexOf("?") == -1 ? url + "?skin=" + skin : url + "&skin=" + skin;
}

function getWindowWidth() {
// Fensterbreite ermitteln (verschiedene Metoden fuer verschiedene Browser)
	var windowWidth;
	if (self.innerWidth) {
		windowWidth = self.innerWidth;
	} else if (document.documentElement && document.documentElement.clientWidth) {
		windowWidth = document.documentElement.clientWidth;
	} else if (document.body) {
		windowWidth = document.body.clientWidth;
	}
	return windowWidth;
}

function getWindowHeight() {
// Fensterhoehe ermitteln (verschiedene Metoden fuer verschiedene Browser)
	var windowHeight;
	if (self.innerHeight) {
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) {
		windowHeight = document.body.clientHeight;
	}
	return windowHeight;
}

function resizeResultTable() {  // passt die Ergebnistabellenbreite an die Fensterbreite an
	if (document.getElementById("result_table")) {
		var tableWidth = 93; // Tabellenbreite im Verhaeltnis zur Elternelementbreite in %
		var windowWidth = getWindowWidth();
		document.getElementById("result_fieldset").style.width = Math.floor(windowWidth * tableWidth / 100 - sideFrameWidth) + "px";
		document.getElementById("result_table").style.width = Math.floor(windowWidth * tableWidth / 100 - sideFrameWidth - 33) + "px";
	}
}


/* Popup-Windows */
var maxWidth = 0;
var maxHeight = 0;
var inputWidth = 0;
var inputHeight = 0;

function popupOpen(popupWidth, popupHeight) {
	popupClose();
	if (document.getElementById("popup").style.left == "" || popupWidth != inputWidth || popupHeight != inputHeight) {
		inputWidth = popupWidth;
		inputHeight = popupHeight;
		maxWidth = popupWidth;
		maxHeight = popupHeight;
		popupResize();
		popupCenter();
	}
	document.getElementById("popup").style.display = "block";
	window.onresize = new Function("popupResize(); popupCenter();");
	document.onmousedown=selectmouse;
	document.onmouseup=new Function("isdrag=false; isresize=false;");
}

function popupResize() {

	var maxPopupSize = 95; // Maximale Popupgroesse im Verhaeltnis zur Fenstergroesse in %
	var minPopupSize = 200; // Minimale Popupbreite und -hoehe in Pixel
	var popupWidth = maxWidth;
	var popupHeight = maxHeight;
	var windowWidth = getWindowWidth();
	var windowHeight = getWindowHeight();

// Die Popup-Breite auf maxPopupSize-% der Fensterbreite begrenzen
	if (popupWidth == 0 || popupWidth > (windowWidth * maxPopupSize / 100)) {
		popupWidth = Math.floor(windowWidth * maxPopupSize / 100);
		if (maxWidth == 0) {
			maxWidth = popupWidth;
		}
	}

// Die Popup-Hoehe auf maxPopupSize-% der Fensterhoehe begrenzen
	if (popupHeight == 0 || popupHeight > (windowHeight * maxPopupSize / 100)) {
		popupHeight = Math.floor(windowHeight * maxPopupSize / 100);
		if (maxHeight == 0) {
			maxHeight = popupHeight;
		}
	}

// Mindesthoehe: minPopupSize-px
	if (popupHeight < minPopupSize) {
		popupHeight = minPopupSize;
		if (maxHeight < minPopupSize) {
			maxHeight = minPopupSize;
		}
	}

// Mindestbreite: minPopupSize-px
	if (popupWidth < minPopupSize) {
		popupWidth = minPopupSize;
		if (maxWidth < minPopupSize) {
			maxWidth = minPopupSize;
		}
	}

	document.getElementById("popup").style.width = popupWidth + "px";
	document.getElementById("popup-title").style.width = (popupWidth - 60) + "px";
	document.getElementById("popup-u").style.width = (popupWidth - 10) + "px";
	document.getElementById("popup-m").style.width = (popupWidth - 4) + "px";
	document.getElementById("popup-close").style.left = (popupWidth - 30) + "px";
	document.getElementById("popup-ru").style.left = (popupWidth - 16) + "px";
	document.getElementById("popup-r").style.left = (popupWidth - 2) + "px";
	document.getElementById("popup").style.height = popupHeight + "px";
	document.getElementById("popup-l").style.height = (popupHeight - 31) + "px";
	document.getElementById("popup-r").style.height = (popupHeight - 31) + "px";
	document.getElementById("popup-m").style.height = (popupHeight - 31) + "px";
	document.getElementById("popup-lu").style.top = (popupHeight - 6) + "px";
	document.getElementById("popup-u").style.top = (popupHeight - 6) + "px";
	document.getElementById("popup-ru").style.top = (popupHeight - 16) + "px";
}

function popupCenter() {

	var popupWidth = parseInt(document.getElementById("popup").style.width+0);
	var popupHeight = parseInt(document.getElementById("popup").style.height+0);
	var windowWidth = getWindowWidth();
	var windowHeight = getWindowHeight();


// Popup-Fenster zentrieren
	var leftOffset = Math.round((windowWidth - popupWidth) / 2);
	var topOffset = Math.round((windowHeight - popupHeight) / 2);
	document.getElementById("popup").style.top = topOffset + "px";
	document.getElementById("popup").style.left = leftOffset + "px";
}

var nn6 = document.getElementById && !document.all;
var isdrag = false;
var isresize = false;
var x, y;

function dragmouse(e) {
	if (isdrag) {
		document.getElementById("popup").style.left = nn6 ? tx + Math.round(e.clientX - x) + "px" : tx + Math.round(event.clientX - x) + "px";
		document.getElementById("popup").style.top  = nn6 ? ty + Math.round(e.clientY - y) + "px" : ty + Math.round(event.clientY - y) + "px";
		return false;
	}
}

function resizemouse(e) {
	if (isresize) {
		maxWidth = nn6 ? Math.round(e.clientX) - parseInt(document.getElementById("popup").style.left+0) : Math.round(event.clientX) - parseInt(document.getElementById("popup").style.left+0);
		maxHeight  = nn6 ? Math.round(e.clientY) - parseInt(document.getElementById("popup").style.top+0) : Math.round(event.clientY) - parseInt(document.getElementById("popup").style.top+0);
		popupResize();
		return false;
	}
}

function selectmouse(e) {
	var fobj       = nn6 ? e.target : event.srcElement;
	var topelement = nn6 ? "HTML" : "BODY";
	while (fobj.tagName != topelement && fobj.className != "dragme" && fobj.className != "resize") {
		fobj = nn6 ? fobj.parentNode : fobj.parentElement;
	}
	if (fobj.className=="dragme") {
		isdrag = true;
		tx = parseInt(document.getElementById("popup").style.left+0);
		ty = parseInt(document.getElementById("popup").style.top+0);
		x = nn6 ? e.clientX : event.clientX;
		y = nn6 ? e.clientY : event.clientY;
		document.onmousemove=dragmouse;
		return false;
	} else if (fobj.className=="resize") {
		isresize = true;
		document.onmousemove=resizemouse;
		return false;
	}
}

function popupClose() {
	document.getElementById("popup").style.display = "none";
}

/* Ajax */
var historyBackPopupAr = new Array();
var historyForwardPopupAr = new Array();

function popup_url(url, popupWidth, popupHeight) {
	var maxHistory = 25; // maximale Groesse des History-Arrays
	if (document.getElementById("history_back")) {
		var historyBackLength = historyBackPopupAr.unshift(url);
		while (historyBackLength > maxHistory) {
			historyBackPopupAr.pop();
		}
		if (historyForwardPopupAr.length != 0) {
			historyForwardPopupAr.length = 0;
			document.getElementById("pfeil_rechts").src = "./bilder/pfeil_rechts_inaktiv.gif";
			document.getElementById("pfeil_rechts").removeAttribute("title");
			document.getElementById("history_forward").removeAttribute("href");
		}
	}
	if (historyBackLength > 1) {
		if (document.getElementById("pfeil_links").src.indexOf("_inaktiv.gif") > -1) {
			document.getElementById("pfeil_links").src = "./bilder/pfeil_links.gif";
			document.getElementById("pfeil_links").title = lang[1];
			document.getElementById("history_back").href = "javascript:historyBackPopup();";
		}
	}
	var popupurl = setPopupurl(url);
	if (loadurl(popupurl, "GET", "popup-body")) {
		popupOpen(popupWidth, popupHeight);
	} else {
		window.location.href = url;
	}
}

function setPopupurl(url) {
	// Info an Server, dass es sich um eine Popup-Anfrage handelt
	var popupurl = url.indexOf("?") == -1 ? url + "?popup=1" : url + "&popup=1";
	return popupurl;
}

function historyBackPopup() {
	var url = historyBackPopupAr.shift();
	if (historyBackPopupAr.length <= 1) {
		document.getElementById("pfeil_links").src = "./bilder/pfeil_links_inaktiv.gif";
		document.getElementById("pfeil_links").removeAttribute("title");
		document.getElementById("history_back").removeAttribute("href");
	}
	historyForwardPopupAr.unshift(url);
	if (document.getElementById("pfeil_rechts").src.indexOf("_inaktiv.gif") > -1) {
		document.getElementById("pfeil_rechts").src = "./bilder/pfeil_rechts.gif";
		document.getElementById("pfeil_rechts").title = lang[2];
		document.getElementById("history_forward").href = "javascript:historyForwardPopup();";
	}
	var popupurl = setPopupurl(historyBackPopupAr[0]);
	loadurl(popupurl, "GET", "popup-body");
}

function historyForwardPopup() {
	var url = historyForwardPopupAr.shift();
	if (historyForwardPopupAr.length == 0) {
		document.getElementById("pfeil_rechts").src = "./bilder/pfeil_rechts_inaktiv.gif";
		document.getElementById("pfeil_rechts").removeAttribute("title");
		document.getElementById("history_forward").removeAttribute("href");
	}
	historyBackPopupAr.unshift(url);
	if (document.getElementById("pfeil_links").src.indexOf("_inaktiv.gif") > -1) {
		document.getElementById("pfeil_links").src = "./bilder/pfeil_links.gif";
		document.getElementById("pfeil_links").title = lang[1];
		document.getElementById("history_back").href = "javascript:historyBackPopup();";
	}
	var popupurl = setPopupurl(url);
	loadurl(popupurl, "GET", "popup-body");
}

function loadurl(url, Method, outputId, notFound, treeview, rubrik) {
	document.getElementById("onwork").style.display = "block";
	document.getElementById("container").style.cursor = "wait";
	var xmlhttp;
	try {
		xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
	}
	catch (e) {
		try {
			xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
		}
		catch (e2) {
			try {
				xmlhttp = new XMLHttpRequest();
			}
			catch (e3) {
				return false;
			}
		}
	}
	
	xmlhttp.onreadystatechange = function() {
		if(xmlhttp.readyState  == 4) {
			if(xmlhttp.status  == 200) {
				if (notFound == 1 && xmlhttp.responseText == "<ul></ul>") {
					document.getElementById(outputId).innerHTML = "<ul><li>&nbsp;&nbsp;" + lang[3] + "</li></ul>";
				} else if (treeview > 0 && treeview < 3) {
					var response = eval('('+xmlhttp.responseText+')');
					if (treeview == 1) {
						generateChild(outputId, response);
					} else if (treeview == 2) {
						symptTreeAuswahl(response);
					}
				} else {
					document.getElementById(outputId).innerHTML = xmlhttp.responseText;
					if (treeview == 3) {
						loadChild('tree1_0', rubrik, 0);
					}
					if (outputId == 'tab_1') {
						resizeResultTable();
					}
				}
				document.getElementById("container").style.cursor = "auto";
				document.getElementById("onwork").style.display = "none";
			} else {
				document.getElementById(outputId).innerHTML = "Error code " + xmlhttp.status;
			}
		}
	};
	if (Method == "POST") {
		var urlAr = url.split("?", 2);
		url = urlAr[0];
		var query = urlAr[1];
	}
	xmlhttp.open(Method, url,  true);
	if (Method == "GET") {
		xmlhttp.send(null);
	} else if (Method == "POST") {
		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlhttp.send(query);
	}
	return true;
}

function saveRep() {
	var patient = document.getElementById("patient").value;
	var datum = document.getElementById("datum").value;
	var verordnung = document.getElementById("verordnung").value;
	var bemerkung = document.getElementById("bemerkung").value;
	var user = document.getElementById("user").value;
	var symptomauswahl = document.getElementById("symptom_auswahl").value;
	var task = document.getElementById("task").value;
	var url = "./forms/save_rep.php?patient=" + patient + "&datum=" + datum + "&verordnung=" + verordnung + "&bemerkung=" + bemerkung + "&user=" + user + "&symptomauswahl=" + symptomauswahl + "&task=" + task + "&ajax=1";
	loadurl(url, "POST", "save_rep");
}

function searchSymptoms() {
	var rubriken = document.getElementById("rubriken").options[document.getElementById("rubriken").selectedIndex].value;
	var suchen = "";
	var suchen = document.getElementById("suchen").value;
	var undOder = document.getElementById("und").checked ? "AND" : "OR";
	var ganzesWort = document.getElementById("ganzes_wort").checked ? "richtig" : "falsch";
	var url = "./forms/select_symptoms.php?rubriken=" + rubriken  + "&ajax=1";
	if (suchen != "") {
		url += "&suchen=" + suchen + "&und_oder=" + undOder + "&ganzes_wort=" + ganzesWort;
	}
	if (rubriken != -1 && suchen == "") {
		loadurl(url, "POST", "select_symptoms", 0, 3, rubriken);
	} else {
		loadurl(url, "POST", "select_symptoms");
	}
	document.getElementById("selected_symptoms").style.display = "block";
	var aktuelleRubrik = document.getElementById("rubriken").options[document.getElementById("rubriken").selectedIndex].text;
	if (rubriken == -1) {
		document.getElementById("hauptrubrik").innerHTML = "<strong>" + aktuelleRubrik + "</strong>";
	} else {
		document.getElementById("hauptrubrik").innerHTML = lang[4] + " <br><strong>" + aktuelleRubrik + "</strong>";
	}
	if (suchen != "") {
		document.getElementById("suchbegriff").innerHTML = lang[5] + " <strong>" + suchen.replace(/\\\\/, "") + "</strong>";
	} else {
		document.getElementById("suchbegriff").innerHTML = "- " + lang[6] + " -";
	}
}

function repLoesch() {
	if (document.getElementById("repertorisation").selectedIndex != -1) {
		var repAr = document.getElementById("repertorisation").options[document.getElementById("repertorisation").selectedIndex].value.split("%", 2);
		var repId = repAr[0];
		var url = "./forms/saved_reps.php?rep=" + repId + "&loesch=1&ajax=1";
		loadurl(url, "POST", "saved_reps");
	} else {
		alert (lang[7]);
		return false;
	}
}

function repPublic() {
	if (document.getElementById("repertorisation").selectedIndex != -1) {
		var repAr = document.getElementById("repertorisation").options[document.getElementById("repertorisation").selectedIndex].value.split("%", 6);
		var repId = repAr[0];
		var repPublic = repAr[5];
		var url = "./forms/saved_reps.php?rep=" + repId + "&rep_public=" + repPublic + "&public=1&ajax=1";
		loadurl(url, "POST", "saved_reps");
	} else {
		alert (lang[7]);
		return false;
	}
}

function customTable(table) {
	var alleQuellen = document.getElementById("alle_quellen_" + table).checked ? "true" : "false";
	var alleBenutzer = document.getElementById("alle_benutzer_" + table).checked ? "true" : "false";
	if ((alleQuellen != "true" && document.getElementById("quellen_" + table).selectedIndex == -1) || (alleBenutzer != "true" && document.getElementById("userdata_" + table).selectedIndex == -1)) { // wenn keine Quelle oder kein Benutzer ausgewählt ist Fehler ausgeben
		if ((alleQuellen != "true" && document.getElementById("quellen_" + table).selectedIndex == -1) && (alleBenutzer != "true" && document.getElementById("userdata_" + table).selectedIndex == -1)) {
			alert (lang[8]);
		} else if (alleQuellen!="true" && document.getElementById("quellen_" + table).selectedIndex == -1) {
			alert (lang[9]);
		} else {
			alert (lang[10]);
		}
		return false;
	}
	var quellenAr = new Array;
	for (var i = 0; i < document.getElementById("quellen_" + table).length; i++) {
		if (document.getElementById("quellen_" + table).options[i].selected) {
			quellenAr[quellenAr.length] = document.getElementById("quellen_" + table).options[i].value;
		}
	}
	var Quellen = quellenAr.join("%");
	var userdataAr = new Array;
	for (var i = 0; i < document.getElementById("userdata_" + table).length; i++) {
		if (document.getElementById("userdata_" + table).options[i].selected) {
			userdataAr[userdataAr.length] = document.getElementById("userdata_" + table).options[i].value;
		}
	}
	var Userdata = userdataAr.join("%");
	var url = "./forms/personal_" + table + ".php?alle_quellen=" + alleQuellen + "&alle_benutzer=" + alleBenutzer + "&quellen=" + Quellen + "&userdata=" + Userdata + "&custom_" + table + "_submit=1&ajax=1";
	loadurl(url, "POST", "personal_" + table);
	var wholeTable = false;
	if (alleQuellen == "true") {
		document.getElementById("quellen_" + table).selectedIndex = -1;
		if (alleBenutzer == "true") {
			wholeTable = true;
		}
	}
	if (alleBenutzer == "true") {
		document.getElementById("userdata_" + table).selectedIndex = -1;
	}
	if (document.getElementById("all_" + table)) {
		document.getElementById("all_" + table).style.display = wholeTable ? "block" : "none";
	}
	if (document.getElementById("personalized_" + table)) {
		document.getElementById("personalized_" + table).style.display = wholeTable ? "none" : "block";
	}
	if (document.getElementById("personalized_" + table + "_1")) {
		document.getElementById("personalized_" + table + "_1").style.display = wholeTable ? "none" : "block";
	}
	if (document.getElementById("personalized_" + table + "_2")) {
		document.getElementById("personalized_" + table + "_2").style.display = wholeTable ? "none" : "block";
	}
}

function symptomQuelle(arId) {
	var symptomQuelleAr = document.getElementById("symptome_quellen").options[document.getElementById("symptome_quellen").selectedIndex].value.split("#");
	if (arId == 0) {
		tabOpen("symptominfo.php?symptom=" + symptomQuelleAr[0], "GET", 3);
	}
	if (arId == 1) {
		popup_url("quelle.php?quelle=" + symptomQuelleAr[1], 600, 400)
	}
}

function mittelQuelle(arId) {
	var mittelQuelleAr = document.getElementById("mittel_quellen").options[document.getElementById("mittel_quellen").selectedIndex].value.split("#");
	if (arId == 0) {
		tabOpen("materia.php?mittel=" + mittelQuelleAr[0], "GET", 2);
	}
	if (arId == 1) {
		popup_url("quelle.php?quelle=" + mittelQuelleAr[1], 600, 400)
	}
}

function symptomInfo(tab, inputId) {
	var symptomId = document.getElementById(inputId).options[document.getElementById(inputId).selectedIndex].value;
	var url = "symptominfo.php?symptom=" + symptomId;
	tabOpen(url, "GET", tab);
}

function materiaMedica(tab) {
	var mittelId = document.getElementById("mittel").options[document.getElementById("mittel").selectedIndex].value;
	var url = "materia.php?mittel=" + mittelId;
	tabOpen(url, "GET", tab);
}

function rep(tab) {
	var symptomAuswahlAr = new Array;
	for (var i = 0; i < document.getElementById("symptomauswahl").length; i++) {
		symptomAuswahlAr[symptomAuswahlAr.length] = document.getElementById("symptomauswahl").options[i].value;
	}
	var symptomAuswahl = symptomAuswahlAr.join("_");
	var url = "rep_ergebnis.php?symptomauswahl=" + symptomAuswahl;
	if (document.getElementById("patient")) {
		var patient = document.getElementById("patient").value;
		url += "&patient=" + patient;
	}
	if (document.getElementById("verordnung")) {
		var verordnung = document.getElementById("verordnung").value;
		url += "&verordnung=" + verordnung;
	}
	if (document.getElementById("bemerkung")) {
		var bemerkung = document.getElementById("bemerkung").value;
		url += "&bemerkung=" + bemerkung;
	}
	tabOpen(url, "POST", tab);
}

function weiterRep(tab) {
	var symptomauswahl = document.getElementById("symptom_auswahl").value;
	var url = "repertori.php?symptomauswahl=" + symptomauswahl;
	if (document.getElementById("patient")) {
		var patient = document.getElementById("patient").value;
		url += "&patient=" + patient;
	}
	if (document.getElementById("verordnung")) {
		var verordnung = document.getElementById("verordnung").value;
		url += "&verordnung=" + verordnung;
	}
	if (document.getElementById("bemerkung")) {
		var bemerkung = document.getElementById("bemerkung").value;
		url += "&bemerkung=" + bemerkung;
	}
	tabOpen(url, "POST", tab);
}

function repAufruf(tab) {
	if (document.getElementById("repertorisation").selectedIndex != -1) {
		var repAr = document.getElementById("repertorisation").options[document.getElementById("repertorisation").selectedIndex].value.split("%", 6);
		var repId = repAr[0];
		var patient = repAr[1];
		var verordnung = repAr[2];
		var bemerkung = repAr[3];
		var timestamp = repAr[4];
		var url = "./rep_ergebnis.php?rep=" + repId + "&patient=" + patient + "&verordnung=" + verordnung + "&bemerkung=" + bemerkung + "&timestamp=" + timestamp;
		tabOpen(url, "POST", tab);
	} else {
		alert (lang[7]);
		return false;
	}
}

function repWeiter(tab) {
	if (document.getElementById("repertorisation").selectedIndex != -1) {
		var repAr = document.getElementById("repertorisation").options[document.getElementById("repertorisation").selectedIndex].value.split("%", 6);
		var repId = repAr[0];
		var patient = repAr[1];
		var verordnung = repAr[2];
		var bemerkung = repAr[3];
		var url = "./repertori.php?rep=" + repId + "&patient=" + patient + "&verordnung=" + verordnung + "&bemerkung=" + bemerkung;
		tabOpen(url, "POST", tab);
	} else {
		alert (lang[7]);
		return false;
	}
}

function tabOpen(url, Method, tabId) {
	if (tabId != -1 && document.getElementById("tabber")) {
		document.getElementById("tabber").tabber.tabs[tabId].li.firstChild.className = '';
		url = url.indexOf("?") == -1 ? url + "?tab=" + tabId : url + "&tab=" + tabId;
		loadurl(url, Method, "tab_" + tabId);
		document.getElementById("tabber").tabber.tabShow(tabId);
	} else {
		window.location.href = url;
	}
}

function userTabOpen(id) {
	document.getElementById("tabber").tabber.tabShow(4);
	document.getElementById(id).scrollIntoView(true);
}

var keyPressed = 0;
var t;
function autosuggest(formular) {
	if (keyPressed == 0) {
		keyPressed = 1;
	} else {
		window.clearTimeout(t);
	}
	t = window.setTimeout("getForm('" + formular + "')", 700);
}

function getForm(formular) {
	keyPressed = 0;
	q = document.getElementById("query").value;
	var url = "./forms/" + formular + ".php?q=" + q + "&ajax=1";
	loadurl(url, "GET", "results", 1);
	document.getElementById("results").style.display = "block";
}

function setMittel(mittelID, e) {
	document.getElementById("query").value = e.innerText;
	document.getElementById("mittelID").value = mittelID;
	document.getElementById("results").style.display = "none";
	getMateria(mittelID);
}

// thb
function setMittelKurz(mittel, e) {
	document.getElementById("query").value = mittel;
	document.getElementById("mittel").value = mittel;
	document.getElementById("results").style.display = "none";
}

function setPersonID(personID, fullname, e) {
	document.getElementById("query").value = fullname;
	document.getElementById("person_id").value = personID;
	document.getElementById("results").style.display = "none";
}
// ende thb

function cleanMittel() {
	document.getElementById("query").value = "";
	document.getElementById("mittelID").value = "";
	document.getElementById("results").innerHTML = "";
}

function getMateria(mittelID) {
	if (!mittelID) {
		mittelID = document.getElementById("mittelID").value;
		if (mittelID == "") {
			return false;
		}
	}
	var Sort = document.getElementById("sort_rubrik").checked ? "rubriken" : "wertigkeit";
	var url = "./forms/materia_medica.php?mittel=" + mittelID + "&sort=" + Sort + "&ajax=1";
	if (document.getElementById("tabber")) {
		url += "&tab=2";
	}
	loadurl(url, "POST", "materia_medica");
}

// treeview:

var UI = new Object();
UI.expand = "ᐅ <img src='skins/original/img/folder_aeskulap.png' width='12' height='12'> ";
UI.collapse = "ᐁ <img src='skins/original/img/folder_open_aeskulap.png' width='12' height='12'> ";
UI.expand_not_used = "ᐅ <img src='skins/original/img/folder.png' width='12' height='12'> ";
UI.collapse_not_used = "ᐁ <img src='skins/original/img/folder_open.png' width='12' height='12'> ";
UI.expand_main = "ᐅ <img src='skins/original/img/main_folder.png' width='14' height='14'> ";
UI.collapse_main = "ᐁ <img src='skins/original/img/main_folder_open.png' width='14' height='14'> ";
UI.single = "<span style='visibility:hidden'>ᐅ </span><img src='skins/original/img/aeskulap.png' width='4' height='12'> ";

function collapse(outputId, rubrik, value, hauptrubrik, inUse) {
	document.getElementById(outputId).style.display = "none";
	var str = 'symbol_'+outputId.replace(/_/g,'');
	if (document.getElementById(str)) {
		var mainId = outputId.replace(/_/g,'');
		var symbolhref = '<span id="symbol_'+mainId+'"><a href="javascript:expand(\''+outputId+'\','+rubrik+','+value+','+hauptrubrik+','+inUse+');" ';
		if (hauptrubrik == 1) {
			symbolhref += 'class="nodecls_main">'+UI.expand_main+'</a></span>';
		} else if (inUse == 1) {
			symbolhref += 'class="nodecls">'+UI.expand+'</a></span>';
		} else {
			symbolhref += 'class="nodecls">'+UI.expand_not_used+'</a></span>';
		}
		document.getElementById(str).innerHTML = symbolhref;
	}
}

function expand(outputId, rubrik, value, hauptrubrik, inUse) {
	loadChild(outputId, rubrik, value);
	document.getElementById(outputId).style.display = "block";
	var str = 'symbol_'+outputId.replace(/_/g,'');
	if (document.getElementById(str)) {
		var mainId = outputId.replace(/_/g,'');
		var symbolhref = '<span id="symbol_'+mainId+'"><a href="javascript:collapse(\''+outputId+'\','+rubrik+','+value+','+hauptrubrik+','+inUse+');" ';
		if (hauptrubrik == 1) {
			symbolhref += 'class="nodecls_main">'+UI.collapse_main+'</a></span>';
		} else if (inUse == 1) {
			symbolhref += 'class="nodecls">'+UI.collapse+'</a></span>';
		} else {
			symbolhref += 'class="nodecls">'+UI.collapse_not_used+'</a></span>';
		}
		document.getElementById(str).innerHTML = symbolhref;
	}
}

function loadChild(outputId, rubrik, value) {
	var url = "./forms/treeview.php?rubrik=" + rubrik + "&pid=" + value;
	loadurl(url, "POST", outputId, 0, 1);
}

function generateChild(outputId, response) {
	var str = '';
	var i = 0;
	if (response.data.length == 0) {
		document.getElementById(outputId).style.display = "none";
	}
	var mainId = outputId.replace(/_/g,'');
	for(i = 0;i < response.data.length;i++) {
		str += '<div id="'+mainId+''+i+'" style="padding-left:20px;">';
		if (response.data[i].folder > 0) {
			if (response.data[i].in_use > 0) {
				str += '<span id="symbol_'+mainId+''+i+'"><a href="javascript:expand(\''+outputId+'_'+i+'\','+response.rubrik+','+response.data[i].id+',0'+',1'+');" class="nodecls">'+UI.expand+'</a></span>';
				str += '<a href="javascript:selectSymptom('+response.data[i].id+');" class="nodecls">'+response.data[i].name+' </a>';
				str += '<a href="javascript:symptomData('+response.data[i].id+');" class="nodecls"><img src="./skins/original/img/info.gif" width="12" height="12"></a></div>';
			} else {
				str += '<span id="symbol_'+mainId+''+i+'"><a href="javascript:expand(\''+outputId+'_'+i+'\','+response.rubrik+','+response.data[i].id+',0'+',0'+');" class="nodecls">'+UI.expand_not_used+'</a></span>';
				str += '<span class="nodecls">'+response.data[i].name+'</span></div>';
			}
		} else {
			str += '<span class="nodecls">'+UI.single+'</span>';
			str += '<a href="javascript:selectSymptom('+response.data[i].id+');" class="nodecls">'+response.data[i].name+' </a>';
			str += '<a href="javascript:symptomData('+response.data[i].id+');" class="nodecls"><img src="./skins/original/img/info.gif" width="12" height="12"></a></div>';
		}
		str += '<div id="'+outputId+'_'+i+'" style="padding-left:20px;display:none"></div>';
	}
	document.getElementById(outputId).innerHTML = str;
}

function selectSymptom(symptomId) {
	var url = "./forms/treeview.php?id=" + symptomId;
	loadurl(url, "POST", 0, 0, 2);
}

/* Symptome auswählen */
function symptTreeAuswahl(response) {
	var eingabe_id = document.getElementById("symptomauswahl").length;
	var eingabe = new Option(response.name, response.id);
	document.getElementById("symptomauswahl").options[eingabe_id] = eingabe;
	document.getElementById("symptomauswahl").options[eingabe_id].title = response.name;
/* doppelte erkennen */
	var eingabe_value = document.getElementById("symptomauswahl").options[eingabe_id].value;
	var doppelte = false;
	for (var i = 0; i < eingabe_id; i++) {
		if (eingabe_value == document.getElementById("symptomauswahl").options[i].value) {
			doppelte = true;
		}
	}
	if  (doppelte == true) {
		var doppeltAuswahl = confirm(lang[0]);
		if (doppeltAuswahl == false) {
			document.getElementById("symptomauswahl").options[eingabe_id] = null;
		}
	}
}

function symptomData(symptomId) {
	var url = "symptominfo.php?symptom=" + symptomId;
	tabOpen(url, "GET", 3);
}

// end treeview
