var imgPublicFolderOpen = new Image(); imgPublicFolderOpen.src = "img/icons/folder_opened_public.gif";
var imgPublicFolderClose = new Image(); imgPublicFolderClose.src = "img/icons/folder_closed_public.gif";
var imgFolderOpen = new Image(); imgFolderOpen.src = "img/icons/t_folder_open.gif";
var imgFolderClose = new Image(); imgFolderClose.src = "img/icons/t_folder_closed.gif";

//var movedToOwners = new Array();
//var movedToMembers = new Array();

function expandTree(id, updateOnServer) {
	listID = "tree" + id;
	if(document.getElementById(listID) && document.getElementById(listID).style.display == "block") {
		document.getElementById(listID).style.display = "none";
	} else if(document.getElementById(listID)) {
		document.getElementById(listID).style.display = "block";
	}
	var img = document.getElementById("img" + id);
	//swap image
	if(img.src == imgPublicFolderOpen.src) {
		img.src = imgPublicFolderClose.src;
	} else if(img.src == imgPublicFolderClose.src) {
		img.src = imgPublicFolderOpen.src;
	} else if(img.src == imgFolderOpen.src) {
		img.src = imgFolderClose.src;
	} else if(img.src == imgFolderClose.src) {
		img.src = imgFolderOpen.src;
	}
	if(updateOnServer == true) {
		updateTree(id);
	}
}
function updateTree(id) {
	var http;
	if (window.XMLHttpRequest) {
	   http = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
	   http = new ActiveXObject("Microsoft.XMLHTTP");
	}
	http.open("GET", "script/updateTree.php?treeID=" + id, true);
	http.onreadystatechange = function(){};
	http.send(null);
}
/*
 * im folgenden die funktionen zum member hin und herschieben...
 */
//function addOption(poSelect, psName, psID) {
//	poSelect.options[poSelect.options.length] = new Option(psName, psID, false, false);
//}
function copyOption(poOption) {
	var defaultSelected = false;
	var selected = false;

	var sValue = poOption.value;
	var sText = poOption.text;

	var newOption = new Option(sText, sValue, defaultSelected, selected)
	return newOption;
}

//
//Moves the passed in option to the specified target. This implies
//making a copy, deleting the original and append the copy to the
//target.
//
function moveOption(piIndex, poSource, poTarget){
	var oOption = copyOption(poSource.options[piIndex]);
	poSource.options[piIndex] = null;

	// If the list to search tru is longer than 100 items
	// it takes too much time to move with sorting.
	i = poTarget.options.length - 1;
	if (i < 100) {
		// Loop tru the target to find the position to insert 
		// the new option after. While looping backwards, move
		// every option one place down.
		i = poTarget.options.length - 1;
		while ((i >= 0) && (poTarget.options[i].text > oOption.text)) {
			poTarget.options[i+1] = copyOption(poTarget.options[i]);
			i--;
		}
	}
	
	// Put the new option in place
	poTarget.options[i+1] = oOption;
	poTarget.options[i+1].selected = true;

	return true;
}

function moveme(poSource, poTarget) {
    for (var iCurrent=0;iCurrent < poSource.options.length;iCurrent++) {
  
        if ( poSource.options[iCurrent].selected) {
//        	var value = poSource.options[iCurrent].value;
        	moveOption(iCurrent, poSource, poTarget);
    		iCurrent--;
//    		if(poSource.id == "persons") { // von persons
//    			if(poTarget.id == "members") { // nach members
//    				movedToMembers[value] = value;
//    			} else if(poTarget.id == "owners") { //nach owners
//    				movedToOwners[value] = value;
//    			}
//    			//von owners nach person wird von moveOwner erledigt
//    		} else if(poSource.id == "members") { // von members
//				movedToMembers[value] = -1;
//    			if(poTarget.id == "owners") { // nach owners
//    				movedToOwners[value] = value;
//    			}
//    		}
    	}
    }
    return true;
}

function moveOwner(poSource, poTarget) {
	// Do nothing when there's only one person left
	if (poSource.length == 1)
		return false;
	
    for (var iCurrent=0;iCurrent < poSource.options.length;iCurrent++) {
		// Don't remove the last option	
	    if ( poSource.options[iCurrent].selected && poSource.options.length != 1) {
//	    	var value = poSource.options[iCurrent].value;
        	moveOption(iCurrent, poSource, poTarget);
			iCurrent--;
			//
//			movedToOwners[value] = -1;
//			if(poTarget.id == "members") { // 
//				movedToMembers[value] = value;
//			}
		}
	}
	return true;
}
function submitMemberForm() {
	for(var i = 0; i < document.forms['memberManagement'].owners.options.length; i++) {
		document.forms['memberManagement'].owners.options[i].selected = true;
	}
	for(var i = 0; i < document.forms['memberManagement'].members.options.length; i++) {
		document.forms['memberManagement'].members.options[i].selected = true;
	}
	document.forms['memberManagement'].submit();
	return false;
} 
//ende member-hin-und-her-schieb-funktionen
