

function move(from,to)
	{
		var selezionati = new Array()
		sel1 = document.forms[0].elements[from]
		sel2 = document.forms[0].elements[to]
		j=0
		sel=new Array();
		for ( i =1; i < sel1.options.length;i++)
		{
			if(sel1.options[i].selected) 
			{
				sel2.options[sel2.options.length]=new Option(sel1.options[i].text,sel1.options[i].value)
				sel[j]=i
				j=j+1
			}
		}
		i=0
		for(j=0;j<sel.length;j++)
		{
			sel1.options[sel[j]-i]=null
			i=i+1
		}
	}
	
	function check(to)
	{
		sel2 = document.forms[0].elements[to]
		if(sel2.options.length>=2)
		{
			for(i=1;i<sel2.options.length;i++)
			{
			sel2.options[i].selected=true;
			}
		
		}
	}


function checkData()
{
	var elForm
	if(checkData.arguments.length>0)
	{
		elForm = document.forms[checkData.arguments[0]]
	}
	else
	{
		elForm = document.forms[0]
	}
	 
	
	for(i=0;i<obbligatoriText.length;i++)
	{
		//alert(document.forms[0].elements[obbligatoriText[i]].value)
		if(elForm.elements[obbligatoriText[i]])
		{
			if(elForm.elements[obbligatoriText[i]].value == "")
			{
				var stringaErrore =	"Il campo "+obbligatoriNameText[i]+" è obbligatorio!" 
				alert(stringaErrore);
				elForm.elements[obbligatoriText[i]].focus();
				elForm.elements[obbligatoriText[i]].select();
				return false;
			}	
		
			if ((obbligatoriTypeText[i] == "number")  && (!isNumber(elForm.elements[obbligatoriText[i]].value))) 
			{
				var stringaErrore =	"Il valore di "+obbligatoriNameText[i]+" deve essere numerico!" 
				alert(stringaErrore);
				elForm.elements[obbligatoriText[i]].focus();
				elForm.elements[obbligatoriText[i]].select();
				return false;
			}
			if ((obbligatoriTypeText[i] == "numbernegative")  && (!isNumberNegative(elForm.elements[obbligatoriText[i]].value))) 
			{
				var stringaErrore =	"Il valore di "+obbligatoriNameText[i]+" deve essere numerico!" 
				alert(stringaErrore);
				elForm.elements[obbligatoriText[i]].focus();
				elForm.elements[obbligatoriText[i]].select();
				return false;
			}

			if ((obbligatoriTypeText[i] == "email") && (! isEmail(elForm.elements[obbligatoriText[i]].value))) 
			{
				elForm.elements[obbligatoriText[i]].focus();
				elForm.elements[obbligatoriText[i]].select();
				return false;
			}
			if ((obbligatoriTypeText[i] == "string") && (! isAlphabetic(elForm.elements[obbligatoriText[i]].value))) 
			{
				var stringaErrore =	"Il valore di "+obbligatoriNameText[i]+" deve essere alfabetico!" 
				alert(stringaErrore);
				elForm.elements[obbligatoriText[i]].focus();
				elForm.elements[obbligatoriText[i]].select();
				return false;
			}
		}
		if ((obbligatoriTypeText[i] == "data") && elForm.elements[obbligatoriText[i]+"_g"]) 
		{
			if(elForm.elements[obbligatoriText[i]+"_g"].options)
			{
				giorno=elForm.elements[obbligatoriText[i]+"_g"].options[elForm.elements[obbligatoriText[i]+"_g"].selectedIndex].value
					
				mese=parseInt(elForm.elements[obbligatoriText[i]+"_m"].options[elForm.elements[obbligatoriText[i]+"_m"].selectedIndex].value) - 1
				anno=elForm.elements[obbligatoriText[i]+"_a"].options[elForm.elements[obbligatoriText[i]+"_a"].selectedIndex].value
			}
			else
			{
				giorno=elForm.elements[obbligatoriText[i]+"_g"].value
				mese=parseInt(elForm.elements[obbligatoriText[i]+"_m"].value)-1
				anno=elForm.elements[obbligatoriText[i]+"_a"].value
			}
			data_eff=new Date(anno,mese,giorno)
			giorno_eff=data_eff.getDate()
			mese_eff=data_eff.getMonth()
			anno_eff=data_eff.getFullYear()
			if(giorno_eff!=parseInt(giorno) || mese_eff != parseInt(mese) || anno_eff != parseInt(anno))
			{
				var stringaErrore =	"La data indicata in " +obbligatoriNameText[i] + " deve essere di formato valido!\n"+
									"Il " + giorno + "/"+(mese+1)+"/"+anno+" non esiste."
				alert(stringaErrore);
				elForm.elements[obbligatoriText[i]+"_g"].focus();			
				return false;
			}
				 
				
		}
		
	}
	for(i=0;i<valoriObbligatori.length;i++)
	{
		if(elForm.elements[valoriObbligatori[i]])
		{
		//alert(document.forms[0].elements[obbligatoriText[i]].value)
			if(elForm.elements[valoriObbligatori[i]].value != "")
			{
				
		
				if ((valoriObbligatoriType[i] == "number")  && (!isNumber(elForm.elements[valoriObbligatori[i]].value))) 
				{
					var stringaErrore =	"Il valore di "+valoriObbligatoriName[i]+" deve essere numerico!" 
					alert(stringaErrore);
					elForm.elements[valoriObbligatori[i]].focus();
					elForm.elements[valoriObbligatori[i]].select();
					return false;
				}
				if ((valoriObbligatoriType[i] == "numbernegative")  && (!isNumberNegative(elForm.elements[valoriObbligatori[i]].value))) 
				{
					var stringaErrore =	"Il valore di "+valoriObbligatoriName[i]+" deve essere numerico!" 
					alert(stringaErrore);
					elForm.elements[valoriObbligatori[i]].focus();
					elForm.elements[valoriObbligatori[i]].select();
					return false;
				}

				if ((valoriObbligatoriType[i] == "email") && (! isEmail(elForm.elements[valoriObbligatori[i]].value))) 
				{
					elForm.elements[valoriObbligatori[i]].focus();
					elForm.elements[valoriObbligatori[i]].select();
					return false;
				}
				if ((valoriObbligatoriType[i] == "string") && (! isAlphabetic(elForm.elements[valoriObbligatori[i]].value))) 
				{
					var stringaErrore =	"Il valore di "+valoriObbligatoriName[i]+" deve essere alfabetico!" 
					alert(stringaErrore);
					elForm.elements[valoriObbligatori[i]].focus();
					elForm.elements[valoriObbligatori[i]].select();
					return false;
				}
			}
		}
		if ((valoriObbligatoriType[i] == "data")) 
		{
			if(elForm.elements[valoriObbligatori[i]+"_g"])
			{
				if(elForm.elements[valoriObbligatori[i]+"_g"].options)
				{
					giorno=elForm.elements[valoriObbligatori[i]+"_g"].options[elForm.elements[valoriObbligatori[i]+"_g"].selectedIndex].value
							
					mese=parseInt(elForm.elements[valoriObbligatori[i]+"_m"].options[elForm.elements[valoriObbligatori[i]+"_m"].selectedIndex].value) - 1
					anno=elForm.elements[valoriObbligatori[i]+"_a"].options[elForm.elements[valoriObbligatori[i]+"_a"].selectedIndex].value
				}
				else
				{
					giorno=elForm.elements[valoriObbligatori[i]+"_g"].value
					mese=parseInt(elForm.elements[valoriObbligatori[i]+"_m"].value)-1
					anno=elForm.elements[valoriObbligatori[i]+"_a"].value
				}
				data_eff=new Date(anno,mese,giorno)
				giorno_eff=data_eff.getDate()
				mese_eff=data_eff.getMonth()
				anno_eff=data_eff.getFullYear()
				if(giorno!='' && mese!=0 && anno != '')
				{
					if(giorno_eff!=parseInt(giorno) || mese_eff != parseInt(mese) || anno_eff != parseInt(anno))
					{
						var stringaErrore =	"La data indicata in " +valoriObbligatoriName[i] + " deve essere di formato valido!\n"+
											"Il " + giorno + "/"+(mese+1)+"/"+anno+" non esiste."
						alert(stringaErrore);
						elForm.elements[valoriObbligatori[i]+"_g"].focus();			
						return false;
					}
				}
			}					 
					
		}
	}
	for(i=0;i<obbligatoriSelect.length;i++)
	{
		sel=elForm.elements[obbligatoriSelect[i]]
		
		if(sel.options)
		{
			if(sel.options[sel.selectedIndex].value=="") 
			{
				alert("Il valore di "+ obbligatoriNameSelect[i] + " è obbligatorio!")
				sel.focus();
				return false;
			}
		}
	}
	//alert("tutto ok")
	return true;
}


function isAlphabetic(string)
{
	if(string == "")
	{
		return true;
	}

	for (k=0;k<parseInt(string.length);k++)
	{
		if ((string.charAt(k) < "9" && string.charAt(k) > "0"))
		{
			return false;
		}
	}

	return true;
}

function isNumber(number)
{
	if(number == "")
	{
		return true;
	}
	if(number.charAt(0)==".")
	{ 
		return false;
	}
	for (s=0;s<parseInt(number.length);s++)
	{
		if ((number.charAt(s) > "9" || number.charAt(s) < "0") && number.charAt(s)!=".")
		{
			return false;
		}
	}

	return true;
}

function isNumberGeneral(number)
{
	if(number == "")
	{
		return true;
	}
	if(number.charAt(0)==".")
	{ 
		return false;
	}
	for (s=0;s<parseInt(number.length);s++)
	{
		if ((number.charAt(s) > "9" || number.charAt(s) < "0") && (number.charAt(s)!="."))
		{
			return false;
		}
	}

	return true;
}

function isNumberNegative(number)
{
	if(number == "")
	{
		return true;
	}
	if(number.charAt(0)==".")
	{ 
		return false;
	}
	if(number.charAt(0)!="-" && !isNumber(number.charAt(0)))
	{ 
		return false;
	}
	for (s=1;s<parseInt(number.length);s++)
	{
		if ((number.charAt(s) > "9" || number.charAt(s) < "0") && (number.charAt(s)!=".") && (number.charAt(s)!=","))
		{
			
			return false;
		}
	}
	
	return true;
}

function isEmail(email)
{	
	emailValida = false
	if(email == "")
	{		
		return false;
	}
	indexOfAt = email.length + 10;
	for (j=0;j<parseInt(email.length) && !emailValida;j++)
	{
		if (email.charAt(j) == "@")
		{
			emailValida = true;
			indexOfAt = j
		}
	}
	
	if(emailValida) 
	{
		indexOfDot = email.lastIndexOf(".")
		
		if(indexOfDot <= (indexOfAt + 1))
		{
			
			emailValida = false;
		}
	}
	if(! emailValida)
	{
		
		alert("L'indirizzo di email non sembra corretto (controlla @ e .)")
	}
	return emailValida;
}


function repl(str,car,cambio)
{
	appStr=""
	for(ck=0;ck<str.length;ck++)
	{
		if(str.charAt(ck)==car)
		{
			appStr+=cambio
		}
		else
		{
			appStr+=str.charAt(ck)
		}
	}
	return appStr;
}

function arrotonda(numero,cifre_dec)
{
	
	potenza=Math.pow(10,parseInt(cifre_dec))
		
	numero=Math.round(numero*potenza)/potenza
	
	return numero;
}


function arrotondaEuro(num)
{	num=String(num)
	if(num.length==0) 
	{
		return 0
	}
	else
	{
		appArrotondaEuro=""
		
		
		if ((num.indexOf(".")!=-1 && (num.indexOf(".")+4)<=num.length))
		{
			euro=parseInt(num.substr(num.indexOf(".")+3,1))
			
			if (euro>=5)
			{
				
				
				valore=(Math.round(parseFloat(num.substr(0,num.indexOf(".")+3))*100) + 1)/100
				
			}
			else
			{
		
				valore=parseFloat(num.substr(0,num.indexOf(".")+3))
			}
			appArrotondaEuro=valore					
			
		}
		else
		{
			
			appArrotondaEuro=parseFloat(num)
		}
		appArrotondaEuro=String(appArrotondaEuro)
		
		if(appArrotondaEuro.indexOf(".")!=-1)
		{
			if(appArrotondaEuro.substr(appArrotondaEuro.indexOf(".")+1).length==1)
			{
				appArrotondaEuro=appArrotondaEuro+"0"
			}
		}
		else
		{
			appArrotondaEuro=appArrotondaEuro+".00"
		}
	}
	
	return appArrotondaEuro
}

function repl(str,car,cambio)
{
	appStr=""
	for(ck=0;ck<str.length;ck++)
	{
		if(str.charAt(ck)==car)
		{
			appStr+=cambio
		}
		else
		{
			appStr+=str.charAt(ck)
		}
	}
	return appStr;
}
function disabledForm(form){
	for(i=0;i<form.elements.length;i++)
		form.elements[i].disabled=true
}
function setEnabled()
{
	var a = setEnabled.arguments;
	for (i=0;i<a.length;i++)
	{
	document.forms[0].elements[a[i]].disabled = false  
	}
}

function setDisabled()
{
	var a = setDisabled.arguments;
	for (i=0;i<a.length;i++)
	{
	document.forms[0].elements[a[i]].disabled = true
	}
}
