<!--- Javascript for add/remove list box scenarios --->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin -->
sortitems = 1;  // Automatically sort items within lists? (1 or 0)

function move(objToList,objFromList, blnSortItems, blnSortProvided) {

var fbox = objToList
var tbox = objFromList

for(var i=0; i<fbox.options.length; i++) {
if(fbox.options[i].selected && fbox.options[i].value != "") {
var no = new Option();
no.value = fbox.options[i].value;
no.text = fbox.options[i].text;
tbox.options[tbox.options.length] = no;
fbox.options[i].value = "";
fbox.options[i].text = "";
   }
}
BumpUp(fbox);
if (blnSortProvided == true) {
	if (blnSortItems == true) {
		SortD(tbox);
	}
}
else
{
	if (sortitems) SortD(tbox);
}

}

// added 11/13/2003 - BBailey
function MoveUp(box) {

	var intNewHighlight = 0;
	
	if (box.options.length) {
	
		for(var i=0; i<box.options.length; i++) {
			if(box.options[i].selected && box.options[i].value != "") {
			
				if (i != 0) {
					intNewHighlight = i - 1;
					hldValue = box.options[i-1].value;
					hldText = box.options[i-1].text;
					box.options[i-1].value = box.options[i].value;
					box.options[i-1].text = box.options[i].text;
					box.options[i].value = hldValue;
					box.options[i].text = hldText;
					break;
				}
				else {
					alert("Items at the top of the list can't be moved up.")
				}
			}
	
		}
		
		//box.options[intNewHighlight].selected = true;
	}
	
/*	
	for(var i=0; i<box.options.length; i++) {
	if(fbox.options[i].selected && fbox.options[i].value != "") {
	var no = new Option();
	no.value = fbox.options[i].value;
	no.text = fbox.options[i].text;
	tbox.options[tbox.options.length] = no;
	fbox.options[i].value = "";
	fbox.options[i].text = "";

	var temp = new Object();
	for(var i=0; i<box.options.length; i++)  {
	temp_opts[i] = box.options[i];
	}
	for(var x=0; x<temp_opts.length-1; x++)  {
	for(var y=(x+1); y<temp_opts.length; y++)  {
	if(temp_opts[x].text > temp_opts[y].text)  {
	temp = temp_opts[x].text;
	temp_opts[x].text = temp_opts[y].text;
	temp_opts[y].text = temp;
	temp = temp_opts[x].value;
	temp_opts[x].value = temp_opts[y].value;
	temp_opts[y].value = temp;
	      }
	   }
	}
	for(var i=0; i<box.options.length; i++)  {
	box.options[i].value = temp_opts[i].value;
	box.options[i].text = temp_opts[i].text;
	   }
	}
*/		
	
}

// Added 11/13/2003 - BBailey
function MoveDown(box) {
	if (box.options.length) {
	
		for(var i=0; i<box.options.length; i++) {
			if(box.options[i].selected && box.options[i].value != "") {
			
				if (i != box.options.length - 1) {
					intNewHighlight = i + 1;
					hldValue = box.options[i+1].value;
					hldText = box.options[i+1].text;
					box.options[i+1].value = box.options[i].value;
					box.options[i+1].text = box.options[i].text;
					box.options[i].value = hldValue;
					box.options[i].text = hldText;
					break;
				}
				else {
					alert("Items at the bottom of the list can't be moved down.")
				}
			}
	
		}
		//box.options[intNewHighlight].selected = true;

	}
}

function BumpUp(box)  {
for(var i=0; i<box.options.length; i++) {
if(box.options[i].value == "")  {
for(var j=i; j<box.options.length-1; j++)  {
box.options[j].value = box.options[j+1].value;
box.options[j].text = box.options[j+1].text;
}
var ln = i;
break;
   }
}
if(ln < box.options.length)  {
box.options.length -= 1;
BumpUp(box);
   }
}

function SortD(box)  {
var temp_opts = new Array();
var temp = new Object();
for(var i=0; i<box.options.length; i++)  {
temp_opts[i] = box.options[i];
}
for(var x=0; x<temp_opts.length-1; x++)  {
for(var y=(x+1); y<temp_opts.length; y++)  {
if(temp_opts[x].text > temp_opts[y].text)  {
temp = temp_opts[x].text;
temp_opts[x].text = temp_opts[y].text;
temp_opts[y].text = temp;
temp = temp_opts[x].value;
temp_opts[x].value = temp_opts[y].value;
temp_opts[y].value = temp;
      }
   }
}
for(var i=0; i<box.options.length; i++)  {
box.options[i].value = temp_opts[i].value;
box.options[i].text = temp_opts[i].text;
   }
}

// BJB - 10/09/2001 - Useful function at submit time so that "add to" items are actually selected
function SelectListBox(objListBox) {

	if (objListBox.disabled == false) {
		for (idxList=0; idxList < objListBox.length; idxList++) {
			if (objListBox[idxList].value != "spacer") {
				objListBox[idxList].selected = true
			}
		}
	}

	return true
	
}

// End -->
