// List Box functions

function moveOptions(objFr, objTo)
{
	var selLen = objFr.length;
	var selTxt = new Array();
	var selVal = new Array();
	var selCnt = 0;
	var i;
	for(i = selLen-1; i >= 0; i--)
	{
		if(objFr.options[i].selected)
		{
			selTxt[selCnt] = objFr.options[i].text;
			selVal[selCnt] = objFr.options[i].value;
			delOption(objFr, i);
			selCnt++;
		}
	}
	for(i = selCnt-1; i >= 0; i--)
	{
		addOption(objTo, selTxt[i], selVal[i]);
	}
}

function copyOptions(objFr, objTo)
{
	var selLen = objFr.length;
	var selTxt = new Array();
	var selVal = new Array();
	var selCnt = 0;
	var i;
	for(i = selLen-1; i >= 0; i--)
	{
		if(objFr.options[i].selected)
		{
			selTxt[selCnt] = objFr.options[i].text;
			selVal[selCnt] = objFr.options[i].value;
			selCnt++;
		}
	}
	objFr.selectedIndex = -1;
	for(i = selCnt-1; i >= 0; i--)
	{
		addOption(objTo, selTxt[i], selVal[i]);
	}
}

function removeOptions(obj)
{
	var len = obj.length;
	for(i = len-1; i >= 0; i--)
	{
		if(obj.options[i].selected)
		{
			delOption(obj, i);
		}
	}
}

function selectOptions(obj)
{
	var cnt = obj.options.length;
	var selCnt = 0;
	for (var i = 0; i < cnt; i++)
	{
		obj.options[i].selected = true;
		selCnt++;
	}
	return selCnt;
}

function unselectOptions(obj)
{
	obj.selectedIndex = -1;
}

function addOption(obj, txt, val)
{
	var opt = new Option(txt, val);
	var idx = obj.length;
	obj.options[idx] = opt;
}

function delOption(obj, idx)
{ 
	if(obj.length > 0)
	{
		obj.options[idx] = null;
	}
}


// Move up an item in listbox
function moveUp(listField) 
{
	if (listField.length == -1) return; 
	var selected = listField.selectedIndex;
	if (selected == -1) 
	{
		alert("You must select an item to be moved!");
	} 
	else 
	{ 
		if (listField.length > 0 && selected > 0)
		{
			var moveText1 = listField[selected-1].text;
			var moveText2 = listField[selected].text;
			var moveValue1 = listField[selected-1].value;
			var moveValue2 = listField[selected].value;
			listField[selected].text = moveText1;
			listField[selected].value = moveValue1;
			listField[selected-1].text = moveText2;
			listField[selected-1].value = moveValue2;
			listField.selectedIndex = selected-1;
		}
	}
}

// Move down an item in listbox
function moveDown(listField) 
{
	if (listField.length == -1) return;
	var selected = listField.selectedIndex;
    if (selected == -1) 
    {
		alert("You must select an item to be moved!");
    } 
    else 
    {
         if (listField.length > 0 && selected < (listField.length-1)) 
         {
			var moveText1 = listField[selected+1].text;
			var moveText2 = listField[selected].text;
			var moveValue1 = listField[selected+1].value;
			var moveValue2 = listField[selected].value;
			listField[selected].text = moveText1;
			listField[selected].value = moveValue1;
			listField[selected+1].text = moveText2;
			listField[selected+1].value = moveValue2;
			listField.selectedIndex = selected+1;
		}
	}
}

// 