function validRequired2(formfield,fieldlabel)
{
	var result = true;
	//alert(formfield.name+": "+formfield.value+" - "+fieldlabel);
	var n=formfield.value.length;
	spazio= new String(" ");
	spazio2=new String(" ");
	var i=0;
	for(i=0;i<n-1;i++)
	spazio=spazio+spazio2;
	if (formfield.value == spazio||formfield.value =="")
	{
		alert('Questo campo non è stato riempito: "' + fieldlabel +'"');	formfield.focus();
		result = false;
	}
	return result;
}

function validRadio(formfield)
{
	var result = true;
	var inter = false;
		for (i=0;i<3;i++)
			{
				if (formfield[i].checked == true)
				{ inter=true; }
				}
		if (inter ==false)
		{
		alert('Non è stata indicata la scelta');
		result = false;
		}
	return result;
}
function validScelta(formfield,fieldlabel){
	//alert('Accettazione: "' + formfield.value +'" richiesta');
	var result = true;
	if (formfield.value != "ok"){
	//if (formfield.checked == false){
		alert('Accettazione: "' + fieldlabel +'" richiesta');
		formfield.focus();
		result = false;
	}
	return result;
}

function allFulls(str){ //stringa che non permette spazi vuoti
	return inValidCharSet(str,"qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMèéòàù0123456789-_@.");
}
function allDigits(str){ //solo numeri
	return invalidcharset(str,"0123456789");
} 

function invalidcharset(str,charset){
var result = true;
	for (var i=0;i<str.length;i++){
		if (charset.indexOf(str.substr(i,1))<0) {
			result = false;
			break;
		}
	}	
	return result;
} 
function isEmailAddr(email){//controlla il formato indirizzo email
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0 ) {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validEmail(formfield,fieldlabel,required){
	//alert(formfield);
	var result = true;
	//
	//if (result && ((formfield.value.length < 3) || !isEmailAddr(formfield.value) || !allFulls(formfield.value)) ){
	if (result && ((formfield.value.length < 3) || !isEmailAddr(formfield.value)) ){
		alert("Mettere l\'indirizzo in questo formato: indirizzo@provider.ext");
		formfield.focus();
		result = false;
	}
   return result;
}

function validNum(formField,fieldLabel,required){
var result = true;
	if (required &&!validRequired(formField,fieldLabel))
		result = false;
	if (result)	{
		if (!allDigits(formField.value)){
			alert('Solo numeri nel campo: "' + fieldLabel +'".');
			formField.focus();
			result = false;
			}
	}
	return result;
}

function validInt(formField,fieldLabel,required){
	var result = true;
	if (required &&!validRequired(formField,fieldLabel))
		result = false;
	if (result)	{
		var num = parseInt(formField.value,10);
		if (isNaN(num))	{
			alert('Solo numeri nel campo: "' + fieldLabel +'".');
			formField.focus();
			result = false;
		}
	}
	return result;
} 

function validDate(formField,fieldLabel,required){
	var result = true;
	if (required &&!validRequired(formField,fieldLabel))
		result = false;
	if (result){
		var elems = formField.value.split("/");
		result = (elems.length == 3); // should be three components
		if (result){
			var day = parseInt(elems[0],10);
			var month = parseInt(elems[1],10);
			var year = parseInt(elems[2],10);
			result = allDigits(elems[0]) && (day > 0) && (day < 32) &&
			allDigits(elems[1]) && (month > 0) && (month < 13) &&
			allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
		}
		if (!result){
			alert('Data nel formato DD/MM/YYYY nel campo:"' + fieldLabel +'".');
			formField.focus();
		}
	}
	return result;
} 



//funzioni dei controlli campi (una per ogni modulo presente nel sito)

function validateForm(theForm){
	//alert(theForm);
	theForm=eval("document."+theForm);
	
	if (!validRequired2(theForm.email,"email")){
		//alert("email"); 
		return false;
	}
	else if (!validEmail(theForm.email,"email",true)){
		//alert("email2"); 
		return false;
	}
	else if (!validRequired2(theForm.nominativo,"nominativo")){
		//alert("nominativo"); 
		return false;
	}
	else if (!validRequired2(theForm.iret,"codice")){                                          
		//alert("codice"); 
		return false;
	}
	else if (!validScelta(theForm.privacy,"privacy")){
   		//alert("privacy"); 
   		return false;
  	}
	else{ 
		alert('Tutti i campi sono stati compilati correttamente:\ninizio invio del messagio...');
		return true;
	}
}

/*function vcampo(campo){
	var emailFilter=/^.+@.+\..{2,3}$/;
	var chkfield = document.getElementById(campo);
 	if (chkfield.name=="email"){
		if (!emailFilter.test(chkfield.value)){
			alert('Attenzione: campo '+campo+' non valido.');
			return false;
		}
	}
	else if (chkfield.value==""){
		alert('Attenzione: campo '+campo+' vuoto.');
		return false;
	}
}*/