function selectAddOption(frmName, sel, value, text, keepSelected) {
	document.forms[frmName].elements[sel].options[document.forms[frmName].elements[sel].length] = new Option(text, value, false, false);
	selectSort(frmName, sel, keepSelected);	
}

function selectCopy(frmName, bron, target, fromInput, input) {
	var d		  = document.forms[frmName];
	var bronInput	  = d.elements[bron];
	var targetInput	  = d.elements[target];

	if (fromInput == "Y") {
		var input = d.elements[input];
	}

	var bronLength	  = d.elements[bron].length;
	var targetLength  = d.elements[target].length;
	var bronArray	  = new Array();
	var bronPosition  = 0;
	var arrayPosition = 0;
	var you		  = false;
	var error	  = false;

	if (fromInput != "Y") {	
		for (var i = 0; i < bronLength; i++) {

			if (bronInput.options[i].selected == true) {
				if (bronInput.options[i].value == "0") {
					you = true;
				}
				else if (bronInput.options[i].value == "") {
					// doet helemaal niks
					// je kan het niet toevoegen, dus ook niet verwijderen
					// is alleen voor lay-out
				}
				else {
					bronArray[bronPosition] = i;
					bronPosition++;
				}
			}
		}
	
		if (bronArray.length > 0) {
			// eerst alles verplaatsen
			for (var x = 0; x < bronInput.length; x++) {
				for (y = arrayPosition; y < bronArray.length; y++) {
					if (bronArray[y] == x && bronInput.options[bronArray[y]].value.indexOf("fromInput") == -1) {
						//var newOption = new Option(bronInput.options[bronArray[y]].text, bronInput.options[bronArray[y]].value);

						targetInput.options[targetInput.length] = new Option(bronInput.options[bronArray[y]].text, bronInput.options[bronArray[y]].value);
						arrayPosition++;
					}
				}
			}
			
			// dan de geselecteerde weghalen
			arrayPosition = 0;
			bronArray.reverse();
			
			for (var z = bronInput.length; z >= 0; z--) {
				for (w = arrayPosition; w < bronArray.length; w++) {
					if (bronArray[w] == z) {
						bronInput.options[z] = null;
						arrayPosition++;
					}
				}
			}
			
			if (you) {
				alert("Je kan jezelf niet verwijderen van de lijst");
			}
		}
		else {
			if (you) {
				alert("Je kan jezelf niet verwijderen van de lijst\nVerder is er niemand geselecteerd");
			}
			else {
				alert("Er zijn geen opties geselecteerd");
			}
		}
	}
	else {
		error = (input.value == "")? true: false;

		for (var i = 0; i < bronInput.length; i++) {
			if (bronInput.options[i].text.toLowerCase() == input.value.toLowerCase()) {
				error = true;
			}
		}

		for (var i = 0; i < targetInput.length; i++) {
			if (targetInput.options[i].text.toLowerCase() == input.value.toLowerCase()) {
				error = true;
			}
		}

		if (error == false) {
			var newOption = new Option(input.value, "fromInput" + input.value);
			targetInput.options[targetInput.length] = newOption;
		}
		else {
			alert("Deze optie bestaat al in de lijst hieronder of hiernaast of er is niks ingevuld.");
		}

		input.value = "";
	}

	selectSort(frmName, target, false)
}

function selectDelOption(frmName, sel, value) {
	sel = document.forms[frmName].elements[sel];

	for (var i = 0; i < sel.options.length; i++) {
		if (sel.options[i].value == value && sel.options[i].value) {
			sel.options[i] = null;
		}
	}
}

function selectSort(frmName, sel, keepSelected) {
	object	= document.forms[frmName].elements[sel];
	N	= document.forms[frmName].elements[sel].options.length;
	for (var i = 0; i < N - 1; i++) {
		for (var j = i + 1; j < N; j++) {
			if (object.options[i].value != "" && object.options[j].value != "") {
				var field1 = object.options[i].text.toLowerCase();
				var field2 = object.options[j].text.toLowerCase();

				if (field1 > field2) {
					var i1 = (object.options[i].selected == true) ? true : false;
					var j1 = (object.options[j].selected == true) ? true : false;
					var q1 = object.options[j].text;
					var q2 = object.options[j].value;

					object.options[j].text  = object.options[i].text;
					object.options[j].value = object.options[i].value;
					object.options[i].text  = q1;
					object.options[i].value = q2;
					object.options[i].selected = (j1 & keepSelected) ? true : false;
					object.options[j].selected = (i1 & keepSelected) ? true : false;
				}
			}
		}
	}
}

function makeArray(form, toInput, fromSelect) {
	toInput		= document.forms[form].elements[toInput];
	fromSelect	= document.forms[form].elements[fromSelect];

	toInput.value = "";

	for (var i = 0; i < fromSelect.options.length; i++) {
		if (fromSelect.options[i].value != 0) {
			if (toInput.value == "") {
				toInput.value = fromSelect.options[i].value;
			}
			else {
				toInput.value += "$" + fromSelect.options[i].value;
			}
		}
	}
	//alert(toInput.value);
}
