/*
 * listhandler.js - copyright 2006 VTLS, Inc.
 *   Utility methods used to move items from one list to another.
 *
 ***************************************************************************/

function selectAll(listToSelect)
  {
	for(var i=0;i<listToSelect.options.length;i++)
		listToSelect.options[i].selected = true;
  }

function addSingleByNumber(fromList, toList, x)
  {
	var selected_option = fromList.options[x];
	var optionName = new Option(selected_option.text, selected_option.text, false, false)
	fromList.options[x] = null;
	toList.options[toList.options.length] = optionName;
  }


function addSingle(fromList, toList)
  {
	for(var i=0;i<fromList.options.length;i++)
	  {
		if(fromList.options[i].selected)
			addSingleByNumber(fromList, toList, i--);
	  }
  }

function addList(fromList, toList)
  {
	for(var i=fromList.options.length-1;i>=0;i--)
		addSingleByNumber(fromList, toList, 0);
  }

function moveUp(list)
{
	for(var i=0;i<list.options.length;i++)
	{
		if(list.options[i].selected)
		{
			swap(list,i,i-1);	
			break;
		}
	}
}

function moveDown(list)
{
	for(var i=0;i<list.options.length;i++)
	{
		if(list.options[i].selected)
		{
			swap(list,i,i+1);	
			break;
		}
	}
}

function swap(list, x, y)
{
	var swap_x = list.options[x];
	var optionName_x = new Option(swap_x.text, swap_x.text, false, false);
	var swap_y = list.options[y];
	var optionName_y = new Option(swap_y.text, swap_y.text, false, false);
	list.options[y] = optionName_x;
	list.options[x] = optionName_y;
	list.options[y].selected=true;
}



