function moveSelectedOptions(fromSelect, toSelect) 
{
	if (fromSelect.selectedIndex >= 0)
	{
		var chosenItems = new Array();
		var restItems = new Array();
		for (var i = 0; i < toSelect.options.length; i++) 
		{
			if (toSelect.options[i].value)
				chosenItems[chosenItems.length] = toSelect.options[i];
		}
		for (var i = 0; i < fromSelect.options.length; i++) 
		{
			if (fromSelect.options[i].selected)
				chosenItems[chosenItems.length] = fromSelect.options[i];
			else
				restItems[restItems.length] = fromSelect.options[i];
		}
		fillSelect(fromSelect, restItems);
		chosenItems.sort(compareOptions);
		fillSelect(toSelect, chosenItems);
	}
}

function compareOptions(firstOpt, secondOpt) 
{
	if (firstOpt.text == secondOpt.text)
		return 0;
	else
		if (firstOpt.text > secondOpt.text) return 1;
	else
		return -1
}

function fillSelect(ptrSelect, optionsArray) 
{
	ptrSelect.length = 1;
	if (optionsArray.length && optionsArray[0].value)
		for (var i = 0; i < optionsArray.length; i++) 
		{
			if (optionsArray[i].value)
				ptrSelect.options[i] = new Option(optionsArray[i].text, optionsArray[i].value);
		}
	else
		ptrSelect.options[0] = new Option('--');
}

function selectAll(ptrSelect) 
{
	for (var i = 0; i < ptrSelect.options.length; i++) 
	{
		ptrSelect.options[i].selected = true;
	}
}