var separatoreCoppia = "&";
var separatoreElementi = "|";

function getChecked(checkBoxs){
	var selected="";
	if(!isNaN(eval(checkBoxs.length))){
		for (i = 0; i < checkBoxs.length; i++){ 
			if(checkBoxs[i].checked){
				selected+=checkBoxs[i].value+";";
			}
	    } 
	}else{
		if(checkBoxs.checked){
			selected=checkBoxs.value+";";
		}
	}
	return selected;
}

function selectAll(checkBoxs,select){
	if(!isNaN(eval(checkBoxs.length))){
		for (i = 0; i < checkBoxs.length; i++){ 
			checkBoxs[i].checked = select;
		}
	}else{
		checkBoxs.checked = select;
	}
}

function checkedValue(checkBoxs,texts,numeric){
	
	var selected="";
	if(!isNaN(eval(checkBoxs.length))){
		for (i = 0; i < checkBoxs.length; i++){ 
			if(checkBoxs[i].checked){
				if(numeric && isNaN(texts[i].value)){
					alert("I valori inseriti devono essere numerici.");
				}else{
					selected+=checkBoxs[i].value+separatoreCoppia+texts[i].value+separatoreElementi;
				}
			}
	    } 
	}else{
		if(checkBoxs.checked){
			if(numeric && isNaN(texts.value)){
				alert("I valori inseriti devono essere numerici.");
			}else{
				selected+=checkBoxs.value+separatoreCoppia+texts.value+separatoreElementi;
			}
		}
	}
	return selected;
}

//Funzione da utilizzare in caso di pių elementi da concatenare
function checkedValues(checkBoxs,texts,numeric){
	
	var selected="";
	if(!isNaN(eval(checkBoxs.length))){
		//pių checkbox selezionate
		for (i = 0; i < checkBoxs.length; i++){ 
			if(checkBoxs[i].checked){
				selected+=checkBoxs[i].value
				//ciclo sui valori da aggiungere
				for(n=0;n<texts.length;n++){
					if(numeric[n] && isNaN(texts[n][i].value)){
						//campo numerico messo come non numerico
						alert("Il valore del campo '"+texts[n][i].name+"' deve essere numerico.");
						selected="";
					}else{
						//aggiungo valore elemento
						selected+=separatoreCoppia
						if(texts[n][i].value==""){
						   selected+=" ";
						}else{												
						   selected+=texts[n][i].value;
						}
					}
				}
				selected+=separatoreElementi
			}
	    } 
	}else{
		selected=checkBoxs.value;
		for(n=0;n<texts.length;n++){
			if(numeric[n] && isNaN(texts[n].value)){
				//campo numerico messo come non numerico
				alert("Il valore del campo '"+texts[n].name+"' deve essere numerico.");
				selected="";
			}else{
				//aggiungo valore elemento
				selected+=separatoreCoppia
				if(texts[n].value==""){
				   selected+=" ";
				}else{												
				   selected+=texts[n].value;
				}
			}
		}
	}
	return selected;
}

//Funzione da utilizzare in caso di pių elementi da concatenare, controlla sia i campi numerici 
//che quelli obbligatori
function checkedNumObbValues(checkBoxs,texts,numeric,obligatory){
	
	var selected="";
	if(!isNaN(eval(checkBoxs.length))){
		//pių checkbox selezionate
		for (i = 0; i < checkBoxs.length; i++){ 
			if(checkBoxs[i].checked){
				selected+=checkBoxs[i].value
				//ciclo sui valori da aggiungere
				for(n=0;n<texts.length;n++){
					if(obligatory[n] && texts[n][i].value==""){
						//campo obbligatorio non inserito
						alert("Il valore del campo '"+texts[n][i].name+"' č obbligatorio.");
						selected="";
					}else if(numeric[n] && isNaN(texts[n][i].value)){
						//campo numerico messo come non numerico
						alert("Il valore del campo '"+texts[n][i].name+"' deve essere numerico.");
						selected="";
					}else{
						//aggiungo valore elemento
						selected+=separatoreCoppia
						if(texts[n][i].value==""){
						   selected+=" ";
						}else{												
						   selected+=texts[n][i].value;
						}
					}
					if(selected!=""){
						//se non c'č stato errore aggiungo il separatore elementi
						selected+=separatoreElementi;
					}
				}
			}
	    } 
	}else{
		for(n=0;n<texts.length;n++){
			if(obligatory[n] && texts[n].value==""){
				//campo obbligatorio non inserito
				alert("Il valore del campo '"+texts[n][i].name+"' č obbligatorio.");
				selected="";
			}else if(numeric[n] && isNaN(texts[n].value)){
				//campo numerico messo come non numerico
				alert("Il valore del campo '"+texts[n].name+"' deve essere numerico.");
				selected="";
			}else{
				//aggiungo valore elemento
						selected+=separatoreCoppia
						if(texts[n].value=""){
						   selected+=" ";
						}else{												
						   selected+=texts[n].value;
						}
			}
		}
	}
	return selected;
}

function optionValue(options, texts,numeric){
	if(!isNaN(eval(options.length))){
		for (i = 0; i < options.length; i++){ 
			if(options[i].checked){
				if(numeric && isNaN(texts[i].value)){
					alert("I valori inseriti devono essere numerici.");
				}else{
					return texts[i].value;
				}
			}
	    } 
	}else{
		if(options.checked){
			if(numeric && isNaN(texts.value)){
				alert("I valori inseriti devono essere numerici.");
			}else{
				return texts.value;
			}
		}
	}
	return "";
}

function getSelected(options){
	var selected="";
	if(eval(options!=undefined)){
	  	if(!isNaN(eval(options.length))){
	  		for (i = 0; i < options.length; i++){ 
	  			if(options[i].checked){
	  				selected+=options[i].value;
	  			}
	  	    } 
	  	}else{
	  		if(options.checked){
	  			selected=options.value;
	  		}
	  	}
	}else{
		alert("Nessun opzione disponibile!");
	}
	return selected;
}

function controllaLunghezzaCampi(campo,lunghezza,nomeCampo){
		 if(campo.value.length>lunghezza){
		 		alert("Il valore del campo "+nomeCampo+" dev'essere al massimo di "+lunghezza+" caratteri.");
				campo.focus();
				return true;	 																	 
		 }
		 return false;	
}

function selectFirst(options){
	if(!isNaN(eval(options.length))){
		options[0].click();
	}else{
		options.click();
	}
}
