/*
*  handlingSelect.js
* ----------------------------------------------------------------------------
*  Copyright © 1995-2003 Intesys S.r.l. Verona (I). All rights reserved.
* ----------------------------------------------------------------------------
*  Data e versione:
*	27/11/2003 - 1.00
* ----------------------------------------------------------------------------
*  Descrizione:
*	Funzioni javascript per manipolare select.
* ----------------------------------------------------------------------------
*/


function getSelectedValue(selectObj) {
	var i = selectObj.selectedIndex
	return selectObj.options[i].value
}


function getSelectedText(selectObj) {
	var i = selectObj.selectedIndex
	return selectObj.options[i].text
}


function selectValue(selectObj, value) {
	for (var i=0; i<selectObj.options.length; i++) {
		if (selectObj.options[i].value == value) {
			selectObj.options[i].selected = true
			return true
		}
	}
	return false
}


function selectText(selectObj, text) {
	for (var i=0; i<selectObj.options.length; i++) {
		if (selectObj.options[i].text == text) {
			selectObj.options[i].selected = true
			return true
		}
	}
	return false
}


function removeOption(i, toSelect) {
	toSelect.options[i] = null
}


function addOption(toSelect, text, value) {
	toSelect.options[toSelect.length] = new Option(text, value, false, false)
}


function moveSelectedOption(fromSelect, toSelect) {
	var remove = []
	var k=0
	for (var i=0; i<fromSelect.length; i++) {
		if (fromSelect.options[i].selected) {
			addOption(toSelect, fromSelect.options[i].text, fromSelect.options[i].value)
			remove[k] = i
			k++
		}
	}
	for (i=remove.length; i>0; i--) {
		removeOption(remove[i-1], fromSelect)
	}
}


// select all option (necessary to submit all values)
function selectAll(toSelect) {
	for (var i=0; i<toSelect.options.length; i++) {
		toSelect.options[i].selected = true
	}
}


function deleteAllOptions(fromSelect) {
	for (var i = fromSelect.options.length-1; i>=0; i--) {
		fromSelect.options[i] = null
	}
	fromSelect.options.length = 0
}

function reorderOptions(fromSelect) {
	var listOptions = new Array();
	for (var i=0; i<fromSelect.length; i++) {
		listOptions.push(fromSelect.options[i].value);
	}
	listOptions.sort();
	deleteAllOptions(fromSelect);	
	for (var i=0; i<listOptions.length; i++) {
		addOption(fromSelect, listOptions[i], listOptions[i]);
	}	
}