function CampoVuoto(campo,dicitura)
{
 if (campo.value.length == 0)
  {
   alert(dicitura)
   campo.focus()
   return (false)
  }
return (true)
}

function CampoLungo(campo,lungo,dicitura)
{
 if (campo.value.length < lungo)
  {
   alert(dicitura)
   campo.focus()
   return (false)
  }
return (true)
}

function ValidaMail(obj) {
 disallowed="!\"£$%^&*()+={}[]:;\'#<>,?/|\\ "
 valid=true;
 if (obj.indexOf('@')<1) valid=false;
 if (obj.indexOf('.')==0) valid=false;
 for (var i=0;i<28;i++) {
  if (obj.indexOf(disallowed.substring(i,i+1))!=-1) valid=false;
 }
 copy=obj.substring(obj.indexOf('@')+1,obj.length);
 if (copy.indexOf('@')!=-1) valid=false;
 if (copy.indexOf(".")<1) valid=false;
 if (copy.lastIndexOf(".")+1==copy.length) valid=false;
 copy=obj;
 while (copy.indexOf('.')!=-1) {
  copy=copy.substring(copy.indexOf('.')+1,copy.length);
  if (copy.indexOf('.')==0) valid=false;
 }
 if (!valid) 
  alert("Attenzione:\nIl campo e-mail deve contenere un nome di casella valido")
 return valid
}

function ControllaCF(cfis)
{
	var validi, i, s, set1, set2, setpari, setdisp;
	var cf=cfis.value;
	if( cf == '' )  return (true);
	cf = cf.toUpperCase();
//	if ( cf.length != 16 )
	if (( cf.length != 16 ) && ( cf.length != 11 ))
		{
//		alert("La lunghezza del codice fiscale non è corretta: il codice fiscale dovrebbe essere lungo esattamente 16 caratteri.");
		alert("La lunghezza del codice fiscale è di norma 16 caratteri.");
		return (false);
		}
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for( i = 0; i < 16; i++ ){
		if( validi.indexOf( cf.charAt(i) ) == -1 )
			{
			alert ("Il codice fiscale contiene un carattere non valido: " + cf.charAt(i) + "\nI caratteri validi sono le lettere e le cifre.");
			return (false);
			}
	}
	set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
	s = 0;
	for( i = 1; i <= 13; i += 2 )
		s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	for( i = 0; i <= 14; i += 2 )
		s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
	{
		if ( cf.length != 11 )
		{
		 alert ("Il codice fiscale non è corretto perchè il codice di controllo pare non corrispondere");
		 return (false);
		}
	}
	return (true);
}

function ControllaPIVA(paiv)
{
	var pi=paiv.value;
	var i,s,c;
	var validi = "0123456789";
	if (pi=='') return (true);
	if (pi.length!=11) { alert ("La lunghezza della partita IVA non è corretta: la partita IVA italiana dovrebbe essere lunga esattamente 11 caratteri."); return (false);}
	for (i=0;i<11;i++){
		if (validi.indexOf( pi.charAt(i)) == -1)
		{
		 alert ("La partita IVA contiene un carattere non valido '" + pi.charAt(i) + "'.\nI caratteri validi sono le cifre.");
		 return (false);
		}
	}
	s = 0;
	for( i = 0; i <= 9; i += 2 )
		s += pi.charCodeAt(i) - '0'.charCodeAt(0);
	for( i = 1; i <= 9; i += 2 ){
		c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
		if( c > 9 )  c = c - 9;
		s += c;
	}
	if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
	{
		alert ("La partita IVA può non essere valida: il codice di controllo pare non corrispondere");
		return (false);
	}
	return (true);
}

function PerRegione (obj)
{
if (obj.value==0) return (false);
document.regione.r.value=obj.value;
document.regione.submit();
}

function RegExpCF (campo,dicitura)
{
 var pattern = /^[a-zA-Z]{6}[0-9]{2}[abcdehlmprstABCDEHLMPRST]{1}[0-9]{2}([a-zA-Z]{1}[0-9]{3})[a-zA-Z]{1}$/
// var pattern = '/^[a-zA-Z]{6}[0-9]{2}[a-zA-Z][0-9]{2}[a-zA-Z][0-9]{3}[a-zA-Z]$/';
 if (campo.value.search(pattern) == -1)
  {
   alert (dicitura);
   campo.focus();
   return (false);
  }
else
  return (true);
}

