var activeMenuUID = 0;
var infoValues = new Array();
var envValues = new Array();
var addHTML = "";
var OLActiveZoomPic = "";

	function saveDest(pfad, url, id){
		check = confirm("Sind Sie sicher, dass Sie diese Datei nach " + pfad + " verschieben möchten?");
		if (!check) return;

		document.getElementById('jsTree').className='verstecken';
		var quell = document.getElementById("sid").value;
		var divId = "r" + document.getElementById("did").value;

		document.getElementById("jsTree").className="verstecken";

		request = ErzeugeAbfrageObjekt();
		request.open("POST", "index.php?id=" + url + "&cmd=insertUploadedFile&cmdvalue1=" + quell + "&cmdvalue2=" + id +"&hash=" + Math.random(), true);
		request.send(null);

		document.getElementById(divId).className = "verstecken";

	}

 /**
  *
  * @access public
  * @return void
  **/
 function showJSTree(id, divID){
 		document.getElementById("jsTree").className = "jsTree";
 		document.getElementById("sid").value = id;
 		document.getElementById("did").value = divID;
		document.getElementById("jsTree").scrollIntoView();
 }

 function swapMe(id) {
		document.getElementById('l'+id).className = (document.getElementById('l'+id).className == 'zu') ?
					document.getElementById('l'+id).className ='auf' : document.getElementById('l'+id).className = 'zu';

		document.getElementById('i'+id).src = (document.getElementById('l'+id).className == 'zu') ?
					document.getElementById('i'+id).src ='typo3conf/ext/cdt_cmos/images/folderclosed.gif'
					: document.getElementById('i'+id).src = 'typo3conf/ext/cdt_cmos/images/folderopen.gif';
 }

function ErzeugeAbfrageObjekt() {
	var Objekt=false;
	// Internet Explorer, zwei Versionen
	try {
		Objekt = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(fehler) {
		try {
			Objekt = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(fehler) {
			Objekt = false;
		}
	}
// Mozilla, Opera und Safari
	if (!Objekt && typeof XMLHttpRequest != 'undefined') {
		Objekt = new XMLHttpRequest();
	}
	return Objekt;
}


	function deleteUploadFile(file, msg, divId){
		check = confirm(msg);
		if (!check) return;
		request = ErzeugeAbfrageObjekt();
		id = file + "&hash=" + Math.random();
		request.open("GET", "typo3conf/ext/cdt_cmos/pi1/ajax.php?f=duf&" + id, false);
		request.send(null);
		var retStr = request.responseText;
		if (retStr == 1) {
			document.getElementById(divId).className = "verstecken";
		}
	}

function deleteAllMarked(obj){
	var chkd = new Array();
	for (var i=1; i<obj.length; i++) {
		if (obj[i].checked) {
			chkd.push(obj[i].value);
		}
  }
  document.forms["cmos"].elements["cmd"].value = "deleteAllMarked";
	document.forms["cmos"].elements["cmdvalue1"].value = chkd.join(",");
	document.forms["cmos"].submit();
}


function createNewUser(msg) {
	var fields = new Array("username", "password", "title", "usergroup", "name", "company", "address", "telephone", "email", "zip", "city", "country");
	for (var a=0; a < fields.length; a++) {
		var field = "userEdit["+ fields[a] +"]";
		if (document.forms["cmos"].elements[field].value == "") {
			alert(msg);
			document.forms["cmos"].elements[field].focus();
			return false;
		}
	}
	executecmd("saveNewUser");
}


function reloadPage() {
	document.forms["cmos"].elements["cmd"].value = "";
	document.forms["cmos"].elements["cmdvalue1"].value = "";
	document.forms["cmos"].elements["cmdvalue2"].value = "";
	document.forms["cmos"].elements["cmdvalue3"].value = "";
	document.forms["cmos"].submit();
}

function analyzeFile(id, deleteButton) {
	document.forms["cmos"].elements["cmd"].value = "analyzeFile";
	document.forms["cmos"].elements["cmdvalue1"].value = id;
	document.forms["cmos"].elements["cmdvalue2"].value = deleteButton;
	document.forms["cmos"].submit();
}

function deleteFileForever(msg, id) {
	check = confirm(msg);
	if (!check) {
		executecmd("deleteOldImages");
	} else {
		document.forms["cmos"].elements["cmd"].value = "removeFile";
		document.forms["cmos"].elements["cmdvalue1"].value = id;
		document.forms["cmos"].submit();
	}
}

function editUser(id, cmd) {
	document.forms["cmos"].elements["cmd"].value = "editUser";
	document.forms["cmos"].elements["cmdvalue1"].value = id;
	document.forms["cmos"].elements["cmdvalue2"].value = cmd;
	document.forms["cmos"].submit();
}

function saveUser(id, cmd) {
	document.forms["cmos"].elements["cmd"].value = "saveUser";
	document.forms["cmos"].elements["cmdvalue1"].value = id;
	document.forms["cmos"].elements["cmdvalue2"].value = cmd;
	document.forms["cmos"].submit();
}

function changePageID(id) {
	document.forms["cmos"].elements["pid"].value = id;
	document.forms["cmos"].elements["cmdvalue1"].value = "";
	document.forms["cmos"].elements["cmdvalue2"].value = "";
	document.forms["cmos"].elements["cmdvalue3"].value = "";
	document.forms["cmos"].submit();
}

function executecmd(cmd) {
    //alert(cmd);
	document.forms["cmos"].elements["cmd"].value = cmd;
	document.forms["cmos"].submit();
}

function setMode(cmd) {
	if (document.forms["cmos"].elements["sort"])
		document.forms["cmos"].elements["sort"].value = "";
  document.forms["cmos"].elements["cmd"].value = cmd;
	document.forms["cmos"].submit();
}

function submitten() {
	document.forms["cmos"].submit();
}

function addFile() {
	document.forms["cmos"].elements["cmd"].value = "addFile";
	document.forms["cmos"].elements["cmdvalue1"].value = activeMenuUID;
	document.forms["cmos"].submit();
}

function showInfo(werte, pfad, hinweis, hinweistext, addIcon) {
	envValues.length=0;
	envValues.push(pfad);
	envValues.push(hinweis);
	envValues.push(hinweistext);

	addHTML = addIcon;
	infoValues = werte;
	info = window.open("typo3conf/ext/cdt_cmos/pi1/info.php", "Details", "width=680,height=380,left=100,top=100,scrollbars=yes");
	info.focus();
}

function showInfoBE(path, werte) {
	infoValues = werte;
	info = window.open(path+"typo3conf/ext/cdt_cmos/pi1/info.php", "Details", "width=700,height=360,left=100,top=100,scrollbars=yes");
	info.focus();
}

function showHideProperties(id) {
	if (document.getElementById("prop" + id).className == 'editBoxHidden')
		document.getElementById("prop" + id).className = 'editBox';
	else
		document.getElementById("prop" + id).className = 'editBoxHidden';
}

function showHideProperties350(id) {
	if (document.getElementById("prop" + id).className == 'editBoxHidden350')
		document.getElementById("prop" + id).className = 'editBox350';
	else
		document.getElementById("prop" + id).className = 'editBoxHidden350';
}

function checkAspect (id) {
//	document.getElementById("cb" + id).checked = !document.getElementById("cb" + id).checked;
//	calcRatioAspect(id, "");
}

function calcRatioAspect(id, from) {

	var bo = document.getElementById("b"+ id).attributes["orig"].value;
	var ho = document.getElementById("h"+ id).attributes["orig"].value;
	var ar = bo / ho;
	var base = (from != "") ? from : ((document.getElementById("b" + id).value == "") ? "h" : "b");
	if (document.getElementById(base + id).value.match(/[^0-9]+/) != null) {
		alert("Feld beinhaltet ungültige Zeichen. Die Dimensionen werden wieder zurückgesetzt.");
		document.getElementById("b"+ id).value = document.getElementById("b"+ id).attributes["orig"].value;
		document.getElementById("h"+ id).value = document.getElementById("h"+ id).attributes["orig"].value;
		return;
	}
	var ziel = (base == 'b') ? "h" : "b";
	var erg = (base == "b") ? Math.round(document.getElementById(base + id).value / ar) : Math.round(document.getElementById(base + id).value * ar);
	document.getElementById(ziel + id).value = erg;
}

function insertResizedPicture(id, filename, siteUrl, editorNo){
	if ((document.getElementById("b" + id).value.match(/[^0-9]+/) != null) ||
	    (document.getElementById("h" + id).value.match(/[^0-9]+/) != null)) {
			alert("Ungültige Zeichen in der Breite oder Höhe vorhanden. Erlaubt sind nur Ziffern! Die Dimensionen werden wieder zurückgesetzt.");
			document.getElementById("b"+ id).value = document.getElementById("b"+ id).attributes["orig"].value;
			document.getElementById("h"+ id).value = document.getElementById("h"+ id).attributes["orig"].value;
			return;
		}
	var b = document.getElementById("b"+ id).value;
	var h = document.getElementById("h"+ id).value;
	var f = document.getElementById("f"+ id).value;

	if ((b == document.getElementById("b"+ id).attributes["orig"].value) &&   // Wenn Werte gleich den Originalwerten -> das Original nehmen
	    (h == document.getElementById("h"+ id).attributes["orig"].value) &&
		(f == document.getElementById("f"+ id).attributes["orig"].value)) {
			insertPicture(siteUrl + "cmos/data/" + filename, b, h, editorNo);
			return;
	}
	document.forms["cmos"].elements["cmd"].value = "resizePicture";
	document.forms["cmos"].elements["cmdvalue1"].value = id + "*" + b + "*" + h + "*" + f + "*" + filename;
	document.forms["cmos"].submit();
}

function insertPicture(file,width,height,editorNo) {
	var styleWidth, styleHeight;
	styleWidth = parseInt(width);
	if (isNaN(styleWidth) || styleWidth == 0) {
		styleWidth = "auto";
	} else {
		styleWidth += "px";
	}
	styleHeight = parseInt(height);
	if (isNaN(styleHeight) || styleHeight == 0) {
		styleHeight = "auto";
	} else {
		styleHeight += "px";
	}
	//parent.window.opener.renderPopup_insertImage('<img src="'+file+'" style="width: '+styleWidth+'; height: '+styleHeight+';" />');
	var editor = window.opener.RTEarea[editorNo]["editor"];

	editor.renderPopup_insertImage('<img src="'+file+'" style="width: '+styleWidth+'; height: '+styleHeight+';" />');

}


function addElement(data,elName,elValue,altElValue,close){
	if (parent.window.opener && parent.window.opener.setFormValueFromBrowseWin)	{
		parent.window.opener.setFormValueFromBrowseWin(data,altElValue?altElValue:elValue,elName);
		if (close)	{
			parent.window.opener.focus();
			parent.close();
		}
	} else {
		alert("Error - reference to main window is not set properly!");
		parent.close();
	}
}



function markAsOld(id, msg) {
	check = confirm(msg);
	if (!check) return "";
	document.forms["cmos"].elements["cmd"].value = "markAsOld";
	document.forms["cmos"].elements["cmdvalue1"].value = id;
	document.forms["cmos"].submit();
}

function makeBasketArray() {
	var basket = document.forms["cmos"].elements["basket"].value;
	var chunks = basket.split(",");
	var res = new Array();
	for (var a=0; a < chunks.length; a++) {
		res[a] = chunks[a].split("_");
	}
	return res;
}

function saveBasketArray(ba) {
	for (var a=0; a < ba.length; a++) {
		ba[a] = ba[a].join("_");
	}
	document.forms["cmos"].elements["basket"].value = ba.join(",");
	document.forms["cmos"].elements["basketChanged"].value = "---";
}

function updateBasket(id) {
	var ba = makeBasketArray();
	for (var a=0; a < ba.length; a++) {
		if ((id == "") || (ba[a][0] == id)) {
			var aktID = ba[a][0];
			ba[a][1] = document.getElementById("b" + aktID).value;
			ba[a][2] = document.getElementById("h" + aktID).value;
			ba[a][3] = document.getElementById("f" + aktID).value;
		}
	}
	saveBasketArray(ba);
}

function addToBasket(id, width, height, format, msg) {
	var basket = document.forms["cmos"].elements["basket"].value;
	if (basket.length > 0)
		basket = basket + "," + id + "_" + width + "_" + height + "_" + format;
	else
		basket = id + "_" + width + "_" + height + "_" + format;
	document.forms["cmos"].elements["basket"].value = basket;
	document.forms["cmos"].elements["basketChanged"].value = "---";
	alert(msg);
}

function removeFromBasket(id,confirmMsg) {
	check = confirm(confirmMsg);
	if (!check) return "";
	var ba = makeBasketArray();
	for (var a=0; a < ba.length; a++) {
		if (ba[a][0] == id) {
			ba.splice(a,1);
		}
	}
	saveBasketArray(ba);
	executecmd("showBasket");
}

function checkAddressFields(mustFields, errorMsg) {
	if (mustFields != "") {
		var fields = mustFields.split(',');
		for (var a=0; a < fields.length; a++) {
			var value = document.getElementById('address_' + fields[a]).value;
			if (value == "") {
				alert(errorMsg);
				document.getElementById('address_' + fields[a]).focus();
				return false;
			}
		}
	}
	executecmd("requestCD");
}

function checkEMailFields(errorMsg) {
	if ((document.getElementById('m_sender').value == '') || (document.getElementById('m_address').value == '')||
		 (document.getElementById('m_subject').value == '') || (document.getElementById('m_message').value == '')) {
		alert(errorMsg);
		return false;
	}
	executecmd("sendZipMail");
}


function clearbasket(msg) {
	check = confirm(msg);
	if (!check) return "";
	document.forms["cmos"].elements["basket"].value = "";
	document.forms["cmos"].elements["cmd"].value = "";
	document.forms["cmos"].submit();
}

function resetbasketItem(aktID) {
	document.getElementById('b' + aktID).value = document.getElementById("b"+ aktID).attributes["orig"].value;
	document.getElementById('h' + aktID).value = document.getElementById("h"+ aktID).attributes["orig"].value;
	document.getElementById('f' + aktID).value = document.getElementById("f"+ aktID).attributes["orig"].value;
	updateBasket("");
	executecmd("showBasket");
}


function resetbasket(msg) {
	check = confirm(msg);
	if (!check) return "";
	var ba = makeBasketArray();
	for (var a=0; a < ba.length; a++) {
		var aktID = ba[a][0];
		document.getElementById('b' + aktID).value = document.getElementById("b"+ aktID).attributes["orig"].value;
		document.getElementById('h' + aktID).value = document.getElementById("h"+ aktID).attributes["orig"].value;
		document.getElementById('f' + aktID).value = document.getElementById("f"+ aktID).attributes["orig"].value;
		//document.getElementById('cb' + aktID).checked = true;
	}
	updateBasket("");
	executecmd("showBasket");
}



function setSort(sort) {
	if (document.forms["cmos"].elements["sort"].value == sort)
		document.forms["cmos"].elements["sort"].value = sort + " DESC";
	else
		document.forms["cmos"].elements["sort"].value = sort;
	document.forms["cmos"].submit();
}

/**
 *
 * @access public
 * @return void
 **/
function changeSort(cmd, sort){
	document.forms["cmos"].elements["sort"].value = sort;
	document.forms["cmos"].elements["cmd"].value = cmd;
	document.forms["cmos"].submit();
}


function deleteUser(id, msg){
	check = confirm(msg);
	if (!check) return "";
	document.forms["cmos"].elements["cmd"].value = "deleteUser";
	document.forms["cmos"].elements["cmdvalue1"].value = id;
	document.forms["cmos"].submit();
}

function setUserSort(sort) {
    alert(sort);
	alert(document.forms["cmos"].elements["sort"]);
	alert(document.forms["cmos"].elements["sort"].value);

	if (document.forms["cmos"].elements["sort"].value == sort)
		document.forms["cmos"].elements["sort"].value = sort + " DESC";
	else
		document.forms["cmos"].elements["sort"].value = sort;
	document.forms["cmos"].elements["cmd"].value = "editUsers";
	document.forms["cmos"].submit();
}

function setBasketSort(sort) {
	if (document.forms["cmos"].elements["sort"].value == sort)
		document.forms["cmos"].elements["sort"].value = sort + " DESC";
	else
		document.forms["cmos"].elements["sort"].value = sort;
	executecmd("showBasket");
}


function editMedia(id) {
	document.forms["cmos"].elements["cmd"].value = "editRecord";
	document.forms["cmos"].elements["cmdvalue1"].value = id;
	document.forms["cmos"].submit();
}

function selectAll(id) {
	var feld = document.getElementById(id);
	if (feld == null) return "";
	for (a=0; a < feld.options.length; a++) {
		feld.options[a].selected = true;
	}
}

/**
 *
 * @access public
 * @return void
 **/
function markAllBoxes(obj){
	var chk = obj[0].checked;
	for (var i=1; i<obj.length; i++) {
		obj[i].checked = chk;
  }
}

function updateRecord(id) {
	selectAll("catchwords_list");
	document.forms["cmos"].elements["cmd"].value = "updateRecord";
	document.forms["cmos"].elements["cmdvalue1"].value = id;
	document.forms["cmos"].submit();
}

function checkEnter(ev) {
	//alert(ev.which);
	if (!ev)
		ev = window.event;
	if (ev.which) {
		var kc = ev.which;
	} else if (ev.keyCode) {
		kc = ev.keyCode;
	}
	//alert(kc);
	if (kc == 13) {
		executecmd("search");
		return false;
	}
	return true;
}

function checkEnterFirstFolder(ev, pid) {
	if (!ev)
		ev = window.event;
	if (ev.which) {
		var kc = ev.which;
	} else if (ev.keyCode) {
		kc = ev.keyCode;
	}
	if (kc == 13) {
		createFirstFolder(pid);
		return false;
	}
	return true;
}


function createFirstFolder(pid) {
	document.forms["cmos"].elements["cmd"].value = "folderInsertChild";
	document.forms["cmos"].elements["cmdvalue1"].value = document.getElementById("firstFolder").value;
	document.forms["cmos"].elements["cmdvalue2"].value = pid;
	document.forms["cmos"].submit();
}


function changeSUPageID(id, activeID) {
	activeMenuUID = activeID;
	document.forms["cmos"].elements["cmd"].value = "changeSUPID";
	document.forms["cmos"].elements["cmdvalue1"].value = id;
	document.forms["cmos"].elements["cmdvalue2"].value = activeMenuUID;
	document.forms["cmos"].elements["cmdvalue3"].value = "";
	document.forms["cmos"].submit();
}


function moveFolder(){
  document.forms["cmos"].elements["cmd"].value = "moveFolder";
	document.forms["cmos"].elements["cmdvalue1"].value = activeMenuUID;
	document.forms["cmos"].submit();
}


function moveFolderTo(insertBefore, pid, sibling){
	document.forms["cmos"].elements["cmd"].value = "moveFolderTo";
	document.forms["cmos"].elements["cmdvalue1"].value = insertBefore;
	document.forms["cmos"].elements["cmdvalue2"].value = pid;
	document.forms["cmos"].elements["cmdvalue3"].value = sibling;
	document.forms["cmos"].submit();
}

// Super-User-Menu functions
function hideSUMenu() {
	activeMenuUID = 0;
	var m = document.getElementById('menuSULayer');
	if (m) {
		m.className = "verstecken";
	}
}

function showSUMenu(element) {
	activeMenuUID = element.substring(1, element.length);
	var pos = getPosition(element);
	setPosition("menuSULayer", pos.x, pos.y);
	var m = document.getElementById('menuSULayer');
	if (m) {
		m.className = "zeigen";
	}

}



// Editmode-Menu functions
function hideMenu() {
	activeMenuUID = 0;
	var m = document.getElementById('menuLayer');
	if (m) {
		m.className = "verstecken";
	}
}

function showMenu(element) {
	activeMenuUID = element.substring(1, element.length);
	var pos = getPosition(element);
	setPosition("menuLayer", pos.x, pos.y);
	var m = document.getElementById('menuLayer');
	if (m) {
		m.className = "zeigen";
	}
}

function menuMoveUp() {
	document.forms["cmos"].elements["cmd"].value = "folderMoveUp";
	document.forms["cmos"].elements["cmdvalue1"].value = activeMenuUID;
	hideMenu();
	document.forms["cmos"].submit();
}

function menuMoveDown(){
	document.forms["cmos"].elements["cmd"].value = "folderMoveDown";
	document.forms["cmos"].elements["cmdvalue1"].value = activeMenuUID;
	hideMenu();
	document.forms["cmos"].submit();
}

function menuMoveLeft(){
	alert ("Noch in Arbeit");
	hideMenu();
}


function menuMarkAllOld(msg){
	check = confirm(msg);
	if (!check) return "";
	document.forms["cmos"].elements["cmd"].value = "markAllOld";
	document.forms["cmos"].elements["cmdvalue1"].value = activeMenuUID;
	hideMenu();
	document.forms["cmos"].submit();
}


function menuMoveRight(){
	alert ("Noch in Arbeit");
	hideMenu();
}

function menuInsertBefore(insertText){
	newText = prompt(insertText, "");
	if ((newText != "")  && (newText!=null))	{
		document.forms["cmos"].elements["cmd"].value = "folderInsertBefore";
		document.forms["cmos"].elements["cmdvalue1"].value = newText;
		document.forms["cmos"].elements["cmdvalue2"].value = activeMenuUID;
		hideMenu();
		document.forms["cmos"].submit();
	}
	hideMenu();
}

function menuInsertAfter(insertText){
	newText = prompt(insertText, "");
	if ((newText != "")  && (newText!=null))	{
		document.forms["cmos"].elements["cmd"].value = "folderInsertAfter";
		document.forms["cmos"].elements["cmdvalue1"].value = newText;
		document.forms["cmos"].elements["cmdvalue2"].value = activeMenuUID;
		hideMenu();
		document.forms["cmos"].submit();
	}
	hideMenu();
}

function menuInsertChild(insertText){
	newText = prompt(insertText, "");
	if ((newText != "")  && (newText!=null))	{
		document.forms["cmos"].elements["cmd"].value = "folderInsertChild";
		document.forms["cmos"].elements["cmdvalue1"].value = newText;
		document.forms["cmos"].elements["cmdvalue2"].value = activeMenuUID;
		hideMenu();
		document.forms["cmos"].submit();
	}
	hideMenu();
}

function menuInsertChilds(){
	document.forms["cmos"].elements["pid"].value = activeMenuUID;
	document.forms["cmos"].elements["cmd"].value = "folderInsertChilds";
	document.forms["cmos"].elements["cmdvalue1"].value = activeMenuUID;
	hideMenu();
	document.forms["cmos"].submit();
}

function createChildren(pid){
	document.forms["cmos"].elements["cmd"].value = "createChildren";
	document.forms["cmos"].elements["cmdvalue1"].value = pid;
	hideMenu();
	document.forms["cmos"].submit();
}

function menuRename(renameText){
	newText = prompt(renameText, "");
	if ((newText != "")  && (newText!=null))	{
		document.forms["cmos"].elements["cmd"].value = "renameFolder";
		document.forms["cmos"].elements["cmdvalue1"].value = newText;
		document.forms["cmos"].elements["cmdvalue2"].value = activeMenuUID;
		hideMenu();
		document.forms["cmos"].submit();
	}
	hideMenu();
}

function menuDelete(deleteText){
	var sure = confirm(deleteText);
	if (sure == true) {
		document.forms["cmos"].elements["cmd"].value = "deleteFolder";
		document.forms["cmos"].elements["cmdvalue1"].value = activeMenuUID;
		hideMenu();
		document.forms["cmos"].submit();
	}
}

//helper functions

function getPosition(elementId) {
	var element=document.getElementById(elementId);
	var elem = element,tagname="",x=0,y=0;
	while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined")) {
		y+=elem.offsetTop;     /* Offset des jeweiligen Elements addieren */
		x+=elem.offsetLeft;    /* Offset des jeweiligen Elements addieren */
		tagname=elem.tagName.toUpperCase(); /* tag-Name ermitteln, Grossbuchstaben */
		if (tagname=="BODY")
		elem=0;
		if (typeof(elem)=="object")
			if (typeof(elem.offsetParent)=="object")
				elem=elem.offsetParent;
	}

	/* Objekt mit x und y zurueckgeben */
	position=new Object();
	position.x=x;
	position.y=y;
	return position;
}

function setPosition(id, x, y) {
	if (document.getElementById) {
		document.getElementById(id).style.left = x;
		document.getElementById(id).style.top = y;
	} else {
		if (document.layers) {
			document.layers[id].left = x;
			document.layers[id].top = y;
		}
	}
}

function addToList(von, nach) {
	var wert = document.getElementById(von).value;
	var NeuerEintrag = new Option(wert, wert, false, true);
	var Liste = document.getElementById(nach);
	Liste.options[Liste.length] = NeuerEintrag;
}

function addToField(von, nach) {
	var liste = document.getElementById(von);
	var toAdd = "";
	for (var a=0; a < liste.length; a++) {
		if (liste.options[a].selected == true) {
			if (toAdd != "")
				toAdd = toAdd + " ";
			toAdd = toAdd + liste.options[a].value;
		}
	}
	if (document.getElementById(nach).value != "")
		toAdd = " " + toAdd;
	document.getElementById(nach).value = document.getElementById(nach).value + toAdd;
}

function showHideId(ID, ein, aus) {
	if (document.getElementById(ID).className == 'zeigen') {
		document.getElementById(ID).className = 'verstecken';
		document.getElementById(ID + "_a").innerHTML = ein;
	}	else {
		document.getElementById(ID).className = 'zeigen';
		document.getElementById(ID + "_a").innerHTML = aus;
	}
}

function showObjektLoesung(sprachIDs, sprachen){

	if (activeMenuUID == 0) {alert("Ungültiger Eintrag!"); return;}
	var olRequest = ErzeugeAbfrageObjekt();
	var id = activeMenuUID + "&f=lol&sprache=0&sid=" + sprachIDs + "&sprachen=" + sprachen + "&hash=" + Math.random();
	hideMenu();
	olRequest.open("GET", "typo3conf/ext/cdt_cmos/pi1/ajax.php?id=" + id, false);
	olRequest.send(null);
	document.getElementById("olDiv").innerHTML = olRequest.responseText;
	document.getElementById("olDiv").className = "olBox";
	document.getElementById("olDiv").style.display = "block";
}


function getOlDaten(sprache){
	var res = "";
	var felder = new Array("projekt", "description", "plz", "ort", "land", "bundesland", "raum", "datum", "systembereich", "system", "einsatzbereich", "einsatzgebiet", "nennweite", "laenge");
	for (var a=0; a < felder.length; a++) {
		res += "<" + felder[a] + ">";
		if (document.getElementById(felder[a] + "_" + sprache ).tagName == "SELECT") {
			var s = document.getElementById(felder[a] + "_" + sprache);
			var svals = new Array();
			for (var i=0; i < s.options.length; i++) {
				if (s.options[i].selected)
					svals.push(s.options[i].value);
			}
			res += svals.join("||");
		}
		else {
			res += document.getElementById(felder[a]+ "_" + sprache).value;
		}
		res += "</" + felder[a] + ">";
	}
	return res;
}

function getFileSorting(){
	var s = document.getElementById("filesorting_0");
	var svals = new Array();
	for (var i=0; i < s.options.length; i++) {
		svals.push(s.options[i].value);
	}
	var res = "<filesorting>" + svals.join("||") + "</filesorting>";
	return res;
}


function saveOl(id){
	var solRequest = ErzeugeAbfrageObjekt();
	solRequest.open("POST", "typo3conf/ext/cdt_cmos/pi1/ajax.php", false);
	solRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	var fs = getFileSorting();
	var daten0 = getOlDaten(0) + fs;
	var daten1 = getOlDaten(1) + fs;
	var daten2 = getOlDaten(2) + fs;

	var daten = daten0 + '|_|' + daten1 + '|_|' + daten2;
	solRequest.send( "&f=sol&id="+ id + "&daten=" + escape(daten));
	document.getElementById("olDiv").style.display = "none";
}

function cancelOl(id){
	document.getElementById("olDiv").style.display = "none";
}

function moveFilesUp (akt, sIDs) {
	var myIDs = sIDs.split(",");
	for (var a=0; a < myIDs.length; a++) {
		var select = document.getElementById("filesorting_" + myIDs[a]);
		if (select.selectedIndex == -1) {alert("Bitte zuerst einen Eintrag auswählen!"); return;}
		if (select.selectedIndex > 0)
			select.insertBefore(select.options[select.selectedIndex],
		select.options[select.selectedIndex - 1]);
	}

}

function moveFilesDown (akt, sIDs) {
	var myIDs = sIDs.split(",");
	for (var a=0; a < myIDs.length; a++) {
		var select = document.getElementById("filesorting_" + myIDs[a]);
		if (select.selectedIndex == -1) {alert("Bitte zuerst einen Eintrag auswählen!"); return;}
		if (select.selectedIndex < select.options.length - 1)
			select.insertBefore(select.options[select.selectedIndex + 1],
		select.options[select.selectedIndex]);
	}
}

// Objektlösungen

function updateOLFilter(c,s) {

	var s1 = encodeURIComponent(document.getElementById("OlSelect1").value);
	var s2 = encodeURIComponent(document.getElementById("OlSelect2").value);
	var s3 = encodeURIComponent(document.getElementById("OlSelect3").value);

	var cmd = "&s=" + s + "&s1=" + s1 + "&s2="+ s2 + "&s3=" + s3 + "&c=" + c + "&s=" + s + "&hash=" + Math.random();

	var OLrequest = ErzeugeAbfrageObjekt();
	OLrequest.open("GET", "typo3conf/ext/cdt_cmos/pi1/ajax.php?f=olf&" + cmd, false);
	OLrequest.send(null);
	var retStr = OLrequest.responseText;
	var erg = retStr.split("|#|");
	if (s == 0) {
		document.getElementById("OlSelectDiv1").innerHTML = '<select id="OlSelect1" class="objl_auswahl" onChange="updateOLFilter(1,0);"><option value="">Einsatzbereich</option>' + erg[0] + "</select>";
		document.getElementById("OlSelectDiv2").innerHTML = '<select id="OlSelect2" class="objl_auswahl" onChange="updateOLFilter(2,0);"><option value="">System</option>' + erg[1] + "</select>";
		document.getElementById("OlSelectDiv3").innerHTML = '<select id="OlSelect3" class="objl_auswahl" onChange="updateOLFilter(3,0);"><option value="">Bundesland</option>' + erg[2] + "</select>";
	}
	if (s == 1) {
		document.getElementById("OlSelectDiv1").innerHTML = '<select id="OlSelect1" class="objl_auswahl" onChange="updateOLFilter(1,1);"><option value="">Application</option>' + erg[0] + "</select>";
		document.getElementById("OlSelectDiv2").innerHTML = '<select id="OlSelect2" class="objl_auswahl" onChange="updateOLFilter(2,1);"><option value="">System</option>' + erg[1] + "</select>";
		document.getElementById("OlSelectDiv3").innerHTML = '<select id="OlSelect3" class="objl_auswahl" onChange="updateOLFilter(3,1);"><option value="">Region</option>' + erg[2] + "</select>";
	}
	if (s == 2) {
		document.getElementById("OlSelectDiv1").innerHTML = '<select id="OlSelect1" class="objl_auswahl" onChange="updateOLFilter(1,2);"><option value="">Secteur d\'opération</option>' + erg[0] + "</select>";
		document.getElementById("OlSelectDiv2").innerHTML = '<select id="OlSelect2" class="objl_auswahl" onChange="updateOLFilter(2,2);"><option value="">Systéme</option>' + erg[1] + "</select>";
		document.getElementById("OlSelectDiv3").innerHTML = '<select id="OlSelect3" class="objl_auswahl" onChange="updateOLFilter(3,2);"><option value="">Région</option>' + erg[2] + "</select>";
	}
}


function OLSearchVal(v1, v2, v3, s) {
	var s1 = encodeURIComponent(v1);
	var s2 = encodeURIComponent(v2);
	var s3 = encodeURIComponent(v3);

	var cmd = "&s=" + s + "&s1=" + s1 + "&s2="+ s2 + "&s3=" + s3 + "&hash=" + Math.random();

	var OLSrequest = ErzeugeAbfrageObjekt();
	OLSrequest.open("GET", "typo3conf/ext/cdt_cmos/pi1/ajax.php?f=ols&" + cmd, false);
	OLSrequest.send(null);
	var retStr = OLSrequest.responseText;
	if (retStr == '#####') {
		if (s == 0)	alert("Keine Objektlösung gefunden.");
		if (s == 1)	alert("No reference found.");
		if (s == 2)	alert("Keine Objektlösung gefunden.");
	} else {
		var parts = retStr.split("||");
		document.getElementById("filter").style.display = "none";
		document.getElementById("ergHeader").innerHTML = parts[0];
		document.getElementById("firstErgebnis").innerHTML = parts[1];
		document.getElementById("thumbs").innerHTML = parts[2];
		document.getElementById("restErgebnis").innerHTML = parts[3];
		var elemente = parts[4];
		var aktElement = parts[5];
		OLActiveZoomPic = 0;
		document.getElementById("zoomPic" + OLActiveZoomPic).style.display = "block";
		if (document.getElementById("pdflinks")) {
			if (document.getElementById("nl")) s = 3; // Workaround für niederländisch
			switch (s) {
				case 1:
					var link = '<div id="pdf_link" class="div4h"><a href="javascript:createOLPDF(' + aktElement + ',' + s + ')"><img src="typo3conf/ext/cdt_pdfdialog/img/pdf.gif" border="0" width="14" height="12"> Create PDF file of this reference</a></div>'+
						'<div class="div4h"><a href="javascript:createOLPDF(\'' + elemente + '\',' + s + ')"><img src="typo3conf/ext/cdt_pdfdialog/img/pdfu.gif" border="0" width="14" height="12"> Create PDF file of filtered references</a></div>';

					break;

				case 2:
					var link = '<div id="pdf_link" class="div4h"><a href="javascript:createOLPDF(' + aktElement + ',' + s + ')"><img src="typo3conf/ext/cdt_pdfdialog/img/pdf.gif" border="0" width="14" height="12"> Cette référence en tant que fichier PDF</a></div>'+
							'<div class="div4h"><a href="javascript:createOLPDF(\'' + elemente + '\',' + s + ')"><img src="typo3conf/ext/cdt_pdfdialog/img/pdfu.gif" border="0" width="14" height="12"> Références filtrées en tant que fichier PDF</a></div>';

					break;

				case 3:
					var link = '<div id="pdf_link" class="div4h"><a href="javascript:createOLPDF(' + aktElement + ',1)"><img src="typo3conf/ext/cdt_pdfdialog/img/pdf.gif" border="0" width="14" height="12"> Deze pagina als PDF bestand</a></div>'+
							'<div class="div4h"><a href="javascript:createOLPDF(\'' + elemente + '\',1)"><img src="typo3conf/ext/cdt_pdfdialog/img/pdfu.gif" border="0" width="14" height="12"> Pagina met onderpagina als PDF bestand</a></div>';

					break;

				default:
					var link = '<div id="pdf_link" class="div4h"><a href="javascript:createOLPDF(' + aktElement + ',' + s + ')"><img src="typo3conf/ext/cdt_pdfdialog/img/pdf.gif" border="0" width="14" height="12"> Diese Referenz als PDF</a></div>'+
						'<div class="div4h"><a href="javascript:createOLPDF(\'' + elemente + '\',' + s + ')"><img src="typo3conf/ext/cdt_pdfdialog/img/pdfu.gif" border="0" width="14" height="12"> Gefilterte Referenzen als PDF</a></div>';
			
			}
			document.getElementById("pdflinks").innerHTML = link;
		}
	}
}

/**
 *
 * @access public
 * @return void
 **/
function createOLPDF(ids,s){
	var oltitle = encodeURIComponent(document.getElementById("olHeader").innerHTML);
	if (document.getElementById("nl")) s = 3; // Workaround für niederländisch
	switch (s) {
		case 1 :dojo.byId("pdf_progress").innerHTML="<table><tr><td valign='top'><img src='typo3conf/ext/cdt_pdfdialog/img/bircowait.gif' width='32' height='32'></td><td>Your PDF file is being created ...</td></tr></table>";
			break;
		case 2 : dojo.byId("pdf_progress").innerHTML="<table><tr><td valign='top'><img src='typo3conf/ext/cdt_pdfdialog/img/bircowait.gif' width='32' height='32'></td><td>Votre fichier PDF sera généré ...</td></tr></table>";
			break;
		case 3 : dojo.byId("pdf_progress").innerHTML="<table><tr><td valign='top'><img src='typo3conf/ext/cdt_pdfdialog/img/bircowait.gif' width='32' height='32'></td><td>Uw PDF wordt opgestart ...</td></tr></table>";
			break;
		default: dojo.byId("pdf_progress").innerHTML="<table><tr><td valign='top'><img src='typo3conf/ext/cdt_pdfdialog/img/bircowait.gif' width='32' height='32'></td><td>Die von Ihnen gewünschten Objektlösungen werden zusammen gestellt. Bitte haben Sie einen Moment Geduld ...</td></tr></table>";
	}
	

	showPDFDialog();
	var nl = 0;
	if (document.getElementById("nl")) { // Workaround für niederländisch
		s = 1;
		nl = 1;
	}
	
	dojo.xhrGet( {
		url: "typo3conf/ext/cdt_cmos/pi1/ajax.php",
		handleAs: "text",
		timeout: 500000,
		preventCache: true,
		content: {f: "cpdf", ids:ids, title:oltitle, s:s, nl:nl},
		load: function(response, ioArgs) {
			dojo.byId("pdf_progress").innerHTML = response;
		},
		error: function(response, ioArgs) {console.error("HTTP status code: ", ioArgs.xhr.status);
			return response;
		}
	});

}

function showFilter() {
	document.getElementById("filter").style.display = "block";
	document.getElementById("ergHeader").innerHTML = "";
	document.getElementById("firstErgebnis").innerHTML = "";
	document.getElementById("thumbs").innerHTML = "";
	document.getElementById("restErgebnis").innerHTML = "";
	if (document.getElementById("pdflinks")) {
		document.getElementById("pdflinks").innerHTML = "";
	}
}

function OLShowItem(items, item, s) {
	if (document.getElementById("pdf_link")) {
		document.getElementById("pdf_link").innerHTML = '<a href="javascript:createOLPDF(' + item + ',' + s +')"><img src="typo3conf/ext/cdt_pdfdialog/img/pdf.gif" border="0" width="14" height="12"> Diese Referenz als PDF</a>';
	}

	var s1 = encodeURIComponent(items);
	var s2 = encodeURIComponent(item);
	var s3 = encodeURIComponent(document.getElementById("olHeader").innerHTML);;
	var cmd = "&s=" + s + "&s1=" + s1 + "&s2="+ s2 + "&s3=" + s3 + "&hash=" + Math.random();

	var OLSrequest = ErzeugeAbfrageObjekt();
	OLSrequest.open("GET", "typo3conf/ext/cdt_cmos/pi1/ajax.php?f=olsi&" + cmd, false);
	OLSrequest.send(null);
	var retStr = OLSrequest.responseText;
	if (retStr == '#####') {
		if (s == 0)	alert("Keine Objektlösung gefunden.");
		if (s == 1)	alert("No reference found.");
		if (s == 2)	alert("Keine Objektlösung gefunden.");
	} else {
		var parts = retStr.split("||");
		document.getElementById("filter").style.display = "none";
		document.getElementById("ergHeader").innerHTML = parts[0];
		document.getElementById("firstErgebnis").innerHTML = parts[1];
		document.getElementById("thumbs").innerHTML = parts[2];
		document.getElementById("restErgebnis").innerHTML = parts[3];
		OLActiveZoomPic = 0;
		document.getElementById("zoomPic" + OLActiveZoomPic).style.display = "block";
	}
}

function showZoomPic(pic) {
	if (OLActiveZoomPic !== "") {
		document.getElementById("zoomPic" + OLActiveZoomPic).style.display = "none";
	}
	document.getElementById("zoomPic" + pic).style.display = "block";
	OLActiveZoomPic = pic;
}

function resetFilter(s) {

	var cmd = "&s=" + s + "&hash=" + Math.random();
	var OLrequest = ErzeugeAbfrageObjekt();
	OLrequest.open("GET", "typo3conf/ext/cdt_cmos/pi1/ajax.php?f=rf&" + cmd, false);
	OLrequest.send(null);
	var retStr = OLrequest.responseText;
	var erg = retStr.split("|#|");
	if (s == 0) {
		document.getElementById("OlSelectDiv1").innerHTML = '<select id="OlSelect1" class="objl_auswahl" onChange="updateOLFilter(1,0);"><option value="">Einsatzbereich</option>' + erg[0] + "</select>";
		document.getElementById("OlSelectDiv2").innerHTML = '<select id="OlSelect2" class="objl_auswahl" onChange="updateOLFilter(2,0);"><option value="">System</option>' + erg[1] + "</select>";
		document.getElementById("OlSelectDiv3").innerHTML = '<select id="OlSelect3" class="objl_auswahl" onChange="updateOLFilter(3,0);"><option value="">Bundesland</option>' + erg[2] + "</select>";
	}
	if (s == 1) {
		document.getElementById("OlSelectDiv1").innerHTML = '<select id="OlSelect1" class="objl_auswahl" onChange="updateOLFilter(1,1);"><option value="">Application</option>' + erg[0] + "</select>";
		document.getElementById("OlSelectDiv2").innerHTML = '<select id="OlSelect2" class="objl_auswahl" onChange="updateOLFilter(2,1);"><option value="">System</option>' + erg[1] + "</select>";
		document.getElementById("OlSelectDiv3").innerHTML = '<select id="OlSelect3" class="objl_auswahl" onChange="updateOLFilter(3,1);"><option value="">Region</option>' + erg[2] + "</select>";
	}
	if (s == 2) {
		document.getElementById("OlSelectDiv1").innerHTML = '<select id="OlSelect1" class="objl_auswahl" onChange="updateOLFilter(1,2);"><option value="">Secteur d\'opération</option>' + erg[0] + "</select>";
		document.getElementById("OlSelectDiv2").innerHTML = '<select id="OlSelect2" class="objl_auswahl" onChange="updateOLFilter(2,2);"><option value="">Système</option>' + erg[1] + "</select>";
		document.getElementById("OlSelectDiv3").innerHTML = '<select id="OlSelect3" class="objl_auswahl" onChange="updateOLFilter(3,2);"><option value="">Région</option>' + erg[2] + "</select>";
	}
	hideExtendedFilter();
}

function showExtendedFilter() {
	document.getElementById("OlSelectDiv3").style.display = "block";
	document.getElementById("erweitert").style.display = "none";
	document.getElementById("standard").style.display = "block";
}

function hideExtendedFilter() {
	document.getElementById("OlSelectDiv3").style.display = "none";
	document.getElementById("erweitert").style.display = "block";
	document.getElementById("standard").style.display = "none";
}

function showActiveReiter(aktive, all) {
	var ids = all.split(",");
	for (var a=0; a < ids.length; a++) {
		document.getElementById("sprache_" + ids[a]).style.display="none";
	}
	document.getElementById("sprache_" + aktive).style.display="block";
}

function getSelectedItems(id) {
	var res = new Array();
	var obj = document.getElementById(id);
	for (var a=0; a < obj.length; a++) {
		if (obj.options[a].selected == true) res.push(obj.options[a].value);
	}
	return res.join("||");
}


function changedOLBereich(l) {
	var v1Items = getSelectedItems("systembereich_" + l);
	var v2Items = getSelectedItems("system_" + l);
	var v3Items = getSelectedItems("einsatzbereich_" + l);
	var v4Items = getSelectedItems("einsatzgebiet_" + l);
	var selItems = v1Items + "|_|" + v2Items + "|_|" + v3Items + "|_|" + v4Items;
	var cmd = "&v=" + selItems + "&s=" + l + "&hash=" + Math.random();
	var OLrequest = ErzeugeAbfrageObjekt();
	OLrequest.open("GET", "typo3conf/ext/cdt_cmos/pi1/ajax.php?f=colb&" + cmd, false);
	OLrequest.send(null);
	var retStr = OLrequest.responseText;
	var erg = retStr.split("|#|");
	document.getElementById("div_system_" + l).innerHTML = erg[0];
	document.getElementById("div_einsatzbereich_" + l).innerHTML = erg[1];
	document.getElementById("div_einsatzgebiet_" + l).innerHTML = erg[2];


}

function changedOLSystem(l) {
	var v2Items = getSelectedItems("system_" + l);
	var v3Items = getSelectedItems("einsatzbereich_" + l);
	var v4Items = getSelectedItems("einsatzgebiet_" + l);
	var selItems = v2Items + "|_|" + v3Items + "|_|" + v4Items;
	var cmd = "&v=" + selItems + "&s=" + l + "&hash=" + Math.random();
	var OLrequest = ErzeugeAbfrageObjekt();
	OLrequest.open("GET", "typo3conf/ext/cdt_cmos/pi1/ajax.php?f=cols" + cmd, false);
	OLrequest.send(null);
	var retStr = OLrequest.responseText;
	var erg = retStr.split("|#|");
	document.getElementById("div_einsatzbereich_" + l).innerHTML = erg[0];
	document.getElementById("div_einsatzgebiet_" + l).innerHTML = erg[1];
}

function changedOLGebiet(l) {
	var v2Items = getSelectedItems("system_" + l);
	var v3Items = getSelectedItems("einsatzbereich_" + l);
	var v4Items = getSelectedItems("einsatzgebiet_" + l);
	var selItems = v2Items + "|_|" + v3Items + "|_|" + v4Items;
	var cmd = "&v=" + selItems + "&s=" + l + "&hash=" + Math.random();
	var OLrequest = ErzeugeAbfrageObjekt();
	OLrequest.open("GET", "typo3conf/ext/cdt_cmos/pi1/ajax.php?f=colg" + cmd, false);
	OLrequest.send(null);
	var retStr = OLrequest.responseText;
	document.getElementById("div_einsatzgebiet_" + l).innerHTML = retStr;
}

function actualizeFileSorting(ids, aktID) {
	var s = ids.split(",");
	for (var a=0; a < s.length; a++){
		document.getElementById("filesorting_" + s[a]).selectedIndex = document.getElementById("filesorting_" + aktID).selectedIndex;
	}
}

