
function sortSelect(obj) 
{
	var o = new Array();
	if (obj.options==null) { return; }
	for (var i=0; i<obj.options.length; i++) {
		o[o.length] = new Option( obj.options[i].text, obj.options[i].value, obj.options[i].defaultSelected, obj.options[i].selected) ;
		}
	if (o.length==0) { return; }
	o = o.sort( 
		function(a,b) { 
			if ((a.text+"") < (b.text+"")) { return -1; }
			if ((a.text+"") > (b.text+"")) { return 1; }
			return 0;
			} 
		);

	for (var i=0; i<o.length; i++) {
		obj.options[i] = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
		}
}


function selectAllOptions(psListName) 
{
	
	var loMultiList = document.getElementById(psListName)
	
	if (loMultiList)
	{
		for (var liLoop=0; liLoop<oMultiList.options.length; liLoop++) 
		{
			loMultiList.options[liLoop].selected = true;
		}
	}	
}
	

function moveSelectedOptions( psFromML, psToML ) 
{

	var loFromML = document.getElementById(psFromML)
	var loToML = document.getElementById(psToML)

	if ( (loFromML) && (loToML) )
	{
		for (var liLoop=0; liLoop<loFromML.options.length; liLoop++) 
		{
			var loSelectedOption = loFromML.options[liLoop];
			if (loSelectedOption.selected) 
			{
				loToML.options[loToML.options.length] = new Option( loSelectedOption.text, loSelectedOption.value, false, false);
			}
		}

		removeSelectedOptions(loFromML);

		if ((arguments.length<3) || (arguments[2]==true)) 
		{
			sortSelect(loFromML);
			sortSelect(loToML);
		}

		loFromML.selectedIndex = -1;
		loToML.selectedIndex = -1;
	}
}


function moveAllOptions( psFromML, psToML ) 
{

	var loFromML = document.getElementById(psFromML)
	var loToML = document.getElementById(psToML)
	
	if ( (loFromML) && (loToML) )
	{
		for (var liLoop=0; liLoop<loFromML.options.length; liLoop++) 
		{
			var loSelectedOption = loFromML.options[liLoop];
			loToML.options[loToML.options.length] = new Option( loSelectedOption.text, loSelectedOption.value, false, false);
		}

		removeAllOptions(loFromML);

		loFromML.selectedIndex = -1;
		loToML.selectedIndex = -1;
	}
}

function removeSelectedOptions(loDelML) 
{ 
	for (var liLoop=(loDelML.options.length-1); liLoop>=0; liLoop--) 
	{
		var loOptionDel = loDelML.options[liLoop];
		if (loOptionDel.selected) 
		{
			loDelML.options[liLoop] = null;
		}
	}
}	

function removeAllOptions(loDelML) 
{ 
	for (var liLoop=(loDelML.options.length-1); liLoop>=0; liLoop--) 
	{
		loDelML.options[liLoop] = null;
	}
}	

function selectBoxOptions(psMultiSelect) 
{

	var loML = document.getElementById(psMultiSelect)
	if (loML)
	{
		if (loML.tagName=='SELECT')
		{
			for( var liLoop=0; liLoop<loML.options.length; liLoop++)
			{
				loML.options[liLoop].selected = true;
			}
			
			return true
		}
	
	}	


	return false;
} 
