function addAll() {
	selectAll('available');
	addSelected();
	refreshRowColors('available');
	refreshRowColors('selected');
}

function removeAll() {
	selectAll('selected');
	removeSelected();
	refreshRowColors('available');
	refreshRowColors('selected');
}

function addSelected() {
	var available = document.getElementById('available').options;
	var selected = document.getElementById('selected').options;
	var transfer = Array();
	for(var i=available.length-1; i>=0; i--) {
		if(available[i].selected) {
			if(available[i].value==null) {
				transfer.push(new Option(available[i].text));
			}
			else {
				transfer.push(new Option(available[i].text, available[i].value));
			}
			available[i] = null;
		}
	}

	for(var i=transfer.length-1; i>=0; i--) {
		selected[selected.length] = transfer[i];
	}

	refreshRowColors('available');
	refreshRowColors('selected');
}

function addSelectedItem() {
 	//itype,ctype,value
 	var ctype = document.getElementById('ctype');
	var item = document.getElementById('itype');
	var value = document.getElementById('value').value;

	var ctypeValue = ctype.options.item(ctype.selectedIndex).value;
	var ctypeName = ctype.options.item(ctype.selectedIndex).text;
	var itemID = item.options.item(item.selectedIndex).value;
	var itemName = item.options.item(item.selectedIndex).text;

	var verbose = ctypeName+" "+value+" "+itemName.toLowerCase();
	var o = new Option();
	o.text = verbose;
	o.value = itemID+":"+ctypeValue+":"+value+":"+verbose;

	if(value.length < 1)
	{
		alert("Please enter a value.");
	}
	else {
		var list = document.getElementById('selecteditems');
		if(list.options.add) {
			list.options.add(o);
		}
		else {
			list.options[list.options.length] = o;
		}
	}

	refreshRowColors('selecteditems');
}

function removeSelected() {
	var available = document.getElementById('available').options;
	var selected = document.getElementById('selected').options;
	var transfer = Array();
	for(var i=selected.length-1; i>=0; i--) {
		if(selected[i].selected) {
			if(selected[i].value==null) {
				transfer.push(new Option(selected[i].text));
			}
			else {
				transfer.push(new Option(selected[i].text, selected[i].value));
			}
			selected[i] = null;
		}
	}

	for(var i=transfer.length-1; i>=0; i--) {
		available[available.length] = transfer[i];
	}

	refreshRowColors('available');
	refreshRowColors('selected');

}

function removeSelectedItems() {
	var selected = document.getElementById('selecteditems').options;
	for(var i=selected.length-1; i>=0; i--) {
		if(selected[i].selected) {
			selected[i] = null;
		}
	}

	refreshRowColors('selecteditems');
}

function selectAll(id) {
	if(document.getElementById(id) != null) {
		var list = document.getElementById(id).options;
		for(var i=0; i<list.length; i++) {
			list[i].selected = true;
		}
	}
}

function selectEverything() {
	selectAll('available');
	selectAll('selected');
	selectAll('selecteditems');
	document.form.submit();
}

function refineSearch() {
	document.results.setAttribute('action','advanced.jsp');
	document.results.submit();
}

function refreshRowColors (selectFieldName)
{
	var options = document.getElementById(selectFieldName).options;
	//var selected = document.getElementById('selected').options;

	for (i=0; i<options.length; i++)
	{
		if (i%2 == 0)
		{
			options[i].className = "grayOptionField";
		}
		else
		{
			options[i].className = "whiteOptionField";
		}
	}

	/*for (i=0; i<selected.length; i++)
	{
		if (i%2 == 0)
		{
			selected[i].className = "grayOptionField";
		}
		else
		{
			selected[i].className = "whiteOptionField";
		}
	}*/
}

	function checkSelected()
	{
		//var selected = document.getElementById('selected').options;
		alert(document.getElementById('selected').selectedIndex);
	}

	function submitWithAction(val)
	{
		document.results.actionEvent.value = val;
		document.results.submit();
	}

