
function SelectBoxArray_InserisciElemento(NomeVariabile) {
	SelectBoxAdd = document.getElementById(NomeVariabile + "_SelectAdd");
	
	if (SelectBoxAdd.options[SelectBoxAdd.selectedIndex].value != "") {
		Nome =  SelectBoxAdd.options[SelectBoxAdd.selectedIndex].text;
		Valore = SelectBoxAdd.options[SelectBoxAdd.selectedIndex].value;
	}
	SelectBoxAdd.selectedIndex = 0;
	
	SelectBox = document.getElementById(NomeVariabile + "_SelectCurrent");
	
	TrovatoUguale = false;
	for (i=0; i<SelectBox.options.length; i++) {
		if (SelectBox.options[i].value == Valore) {
			TrovatoUguale = true;
		}
	}
	
	if (!TrovatoUguale) {
		SelectBox.options[SelectBox.options.length] = new Option(Nome, Valore);
	}
	
	for (i=0; i<SelectBox.options.length; i++) {
		SelectBox.options[i].selected = false;
	}
	
	SelectBoxArray_Duplica(NomeVariabile);
}

function SelectBoxArray_Duplica(NomeVariabile) {
	SelectBox = document.getElementById(NomeVariabile + "_SelectCurrent");
	TextBoxDestinazione = document.getElementById(NomeVariabile + "_Valori");
	
	TextBoxDestinazione.value = "";
	for (i=0; i<SelectBox.options.length; i++) {
		TextBoxDestinazione.value = TextBoxDestinazione.value + "," + SelectBox.options[i].value;
	}
	TextBoxDestinazione.value = TextBoxDestinazione.value.substr(1);
}

function SelectBoxArray_SelezionaTutti(NomeVariabile) {
	SelectBox = document.getElementById(NomeVariabile + "_SelectCurrent");
	
	for (i=0; i<SelectBox.options.length; i++) {
   		SelectBox.options[i].selected = true;
	}
}

function SelectBoxArray_EliminaSelezionati(NomeVariabile) {
	SelectBox = document.getElementById(NomeVariabile + "_SelectCurrent");
	
	var ElementiNome = new Array();
	var ElementiValore = new Array();
	for (i=0; i<SelectBox.options.length; i++) {
		if (!SelectBox.options[i].selected) {
			ElementiNome[ElementiNome.length] = SelectBox.options[i].text;
			ElementiValore[ElementiValore.length] = SelectBox.options[i].value;
		}
	}
	SelectBox.options.length = 0;
	
	for (i=0; i<ElementiValore.length; i++) {
		SelectBox.options[i] = new Option(ElementiNome[i], ElementiValore[i]);
	}
	
	SelectBoxArray_Duplica(NomeVariabile);
}

function SelectBoxArray_EliminaTutti(NomeVariabile) {
	SelectBox = document.getElementById(NomeVariabile + "_SelectCurrent");
	
	SelectBox.options.length = 0;
	
	SelectBoxArray_Duplica(NomeVariabile);
}



















function ControllaNumero(Oggetto, Nome) {
	Stringa = Oggetto.value;
	if (Stringa.length > 0) {
		var CaratteriValidi = "0123456789,.";
		var Carattere;
		var Risultato = true;

		for (i = 0; i < Stringa.length && Risultato == true; i++) {
			Carattere = Stringa.charAt(i);
			if (CaratteriValidi.indexOf(Carattere) == -1) {
				Risultato = false;
			}
		}
		
		if (Risultato) {
			return "";
		} else {
			return Nome + ": Deve essere numerico.\n";
		}
	} else {
		return Nome + ": Non può essere vuoto.\n";
	}
}



function SelectBoxArray_NumeroElementiSelezionati(SelectBox) {
	var Numero = 0
	for (i=0; i<SelectBox.options.length; i++) {
		if (SelectBox.options[i].selected) {
			Numero++;
		}
	}
	return Numero;
}

function SelectBoxArray_PosizioneElementoSelezionato(SelectBox) {
	var Posizione = -1
	for (i=0; i<SelectBox.options.length; i++) {
		if (SelectBox.options[i].selected) {
			Posizione = i;
		}
	}
	return Posizione;
}

function SelectBoxArray_SpostaSu(SelectBox) {
	if (SelectBoxArray_NumeroElementiSelezionati(SelectBox) == 1) {
		PosizioneSelezionata = SelectBoxArray_PosizioneElementoSelezionato(SelectBox)
		if (PosizioneSelezionata > 0) {
			var ElementiNome = new Array();
			var ElementiValore = new Array();
			for (i=0; i<SelectBox.options.length; i++) {
				if (SelectBox.options[i].selected) {
					ElementiNome[i-1] = SelectBox.options[i].text;
					ElementiValore[i-1] = SelectBox.options[i].value;
					
					ElementiNome[i] = SelectBox.options[i-1].text;
					ElementiValore[i] = SelectBox.options[i-1].value;
				} else {
					ElementiNome[i] = SelectBox.options[i].text;
					ElementiValore[i] = SelectBox.options[i].value;
				}
			}
			SelectBox.options.length = 0;
			
			for (i=0; i<ElementiValore.length; i++) {
				SelectBox.options[i] = new Option(ElementiNome[i], ElementiValore[i]);
			}
			SelectBox.options[PosizioneSelezionata-1].selected = true;
		} else {
			alert('Il primo elemento non si può spostare più in alto!');
		}
	} else {
		alert('Solo un elemento deve essere selezionato!');
	}
}

function SelectBoxArray_SpostaGiu(SelectBox) {
	if (SelectBoxArray_NumeroElementiSelezionati(SelectBox) == 1) {
		PosizioneSelezionata = SelectBoxArray_PosizioneElementoSelezionato(SelectBox)
		if (PosizioneSelezionata < SelectBox.options.length-1) {
			var ElementiNome = new Array();
			var ElementiValore = new Array();
			for (i=SelectBox.options.length-1; i>=0; i--) {
				if (SelectBox.options[i].selected) {
					ElementiNome[i+1] = SelectBox.options[i].text;
					ElementiValore[i+1] = SelectBox.options[i].value;
					
					ElementiNome[i] = SelectBox.options[i+1].text;
					ElementiValore[i] = SelectBox.options[i+1].value;
				} else {
					ElementiNome[i] = SelectBox.options[i].text;
					ElementiValore[i] = SelectBox.options[i].value;
				}
			}
			SelectBox.options.length = 0;
			
			for (i=0; i<ElementiValore.length; i++) {
				SelectBox.options[i] = new Option(ElementiNome[i], ElementiValore[i]);
			}
			SelectBox.options[PosizioneSelezionata+1].selected = true;
		} else {
			alert('L\'ultimo elemento non si può spostare più in basso!');
		}
	} else {
		alert('Solo un elemento deve essere selezionato!');
	}
}

function SelectBoxArray_DeselezionaTutti(SelectBox) {
	for (i=0; i<SelectBox.options.length; i++) {
		SelectBox.options[i].selected = false;
	}
}
