function swapOptions(frm, grpName, eleIndex, nbElements, arName)
{
	var n = "";
	var ctl;

	for (var i = 0; i < nbElements; i++) {
		ctl = frm.form[grpName+'['+i+']'];
		if (!ctl) {
			ctl = frm.form[grpName+'['+i+'][]'];
		}
		if (i <= eleIndex) {
			n += "_"+ctl.value;
		} else {
			ctl.length = 0;
		}
	}

	var t = eval("typeof("+arName + n +")");
	if (t != 'undefined') {
		var the_array = eval(arName+n);
		var j = 0;
		n = eleIndex + 1;
		ctl = frm.form[grpName+'['+ n +']'];
		if (!ctl) {
			ctl = frm.form[grpName+'['+ n +'][]'];
		}
		for (var i in the_array) {
			opt = new Option(the_array[i], i, false, false);
			ctl.options[j++] = opt;
		}
	}
}

/**
* Adds a select item(s) from one list to another
*/
function addSelectedToList( frmName, srcListName , srcListKey, tgtListName ) {
	var form = document.forms[frmName];
	if(srcListKey){
		var srcList = form.elements[srcListName + '[' + srcListKey + ']'];
	}
	else{
		var srcList = form.elements[srcListName];
	}
	var tgtList = form.elements[tgtListName];

	var srcLen = srcList.length;
	var tgtLen = tgtList.length;
	var tgt = "x";

	//build array of target items
	for (var i=tgtLen-1; i > -1; i--) {
		tgt += "," + tgtList.options[i].value + ","
	}

	//Pull selected resources and add them to list
	for (var i=srcLen-1; i > -1; i--) {
		if (srcList.options[i].selected && tgt.indexOf( "," + srcList.options[i].value + "," ) == -1) {
			opt = new Option( srcList.options[i].text, srcList.options[i].value );
			tgtList.options[tgtList.length] = opt;
		}
	}
} 

function setSelectedList( frmName , list) {
	var form = document.forms[frmName];
	var list = form.elements[list];
	var temp = new Array;

	for (var i=0, n=list.options.length; i < n; i++) {
		temp[i] = list.options[i].value;
	}
	form.list.value = temp.join( '-' );
}

function delSelectedFromList( frmName, srcListName ) {
	var form = document.forms[frmName];
	var srcList = form.elements[srcListName];

	var srcLen = srcList.length;

	for (var i=srcLen-1; i > -1; i--) {
		if (srcList.options[i].selected) {
			srcList.options[i] = null;
		}
	}
} 
