function hasOptions(obj) {
	if (obj!=null && obj.options!=null) { return true; }
	return false;
}

function selectAll(obj){
	for (var i=0;i<obj.options.length; i++){
		obj.options[i].selected = true;
	}
}

function sortSelect(obj) {
	var o = new Array();
	if (!hasOptions(obj)) { 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.value+"") < (b.value+"")) { return -1; }
			if ((a.value+"") > (b.value+"")) { 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 moveSelectedOptions(from,to,isAddingItem) {
	// Move them over
	if (!hasOptions(from)) { return; }
	lastSelectedIndex = 0;
	numSelectedValues = 0;
	for (var i=0; i<from.options.length; i++) {
		var o = from.options[i];
		if (o.selected) {
			lastSelectedIndex = i;
			numSelectedValues++;
			if (!hasOptions(to)) { var index = 0; } else { var index=to.options.length; }
				if(isAddingItem == 2){
					to.options[index] = new Option( o.value.substring(o.value.indexOf(") "), o.value.indexOf("|")), o.value.substring(0,o.value.indexOf("|")), false, false);
				}
				if(isAddingItem == 1){
					to.options[index] = new Option( "(" + document.form1.quantity.value + ") " + o.text, o.value+"|"+document.form1.quantity.value, false, false);
				}
				if(isAddingItem == 0){
					to.options[index] = new Option( o.value.substring(0,o.value.indexOf(".")), o.value.substring(0,o.value.indexOf("|")), false, false);
				}
			}
		}
	if(isAddingItem ==1){
		document.form1.quantity.value = 1;
	}
	
	// Delete them from original
	for (var i=(from.options.length-1); i>=0; i--) {
		var o = from.options[i];
		if (o.selected) {
			from.options[i] = null;
			}
		}

	newSelectedIndex = lastSelectedIndex -  numSelectedValues + 1;
	if(newSelectedIndex > from.options.length-1){ 
		newSelectedIndex--;
	}

	sortSelect(to);
	//sortSelect(from);
	from.selectedIndex = newSelectedIndex;
	to.selectedIndex = -1;
}