// JavaScript Document
// Verifica campi modulo di registrazione

function controllo(theForm)
{

if (theForm.email.value == "")
  {
    alert("Inserisci l'indirizzo E-mail.\nGrazie");
    theForm.email.focus();
    return (false);
  }
var imail = theForm.email.value;
var poschioccia = imail.indexOf("@");
var pospunto = imail.lastIndexOf(".");
var len = imail.length;
if ((poschioccia < 2)||(pospunto<poschioccia+2)||(pospunto==len-1))
  {
    alert("Inserisci un'indirizzo E-mail valido.\nGrazie");
    theForm.email.focus();
    return (false);
  }
if (theForm.password.value == "")
  {
    alert("Inserisci la Password.\nGrazie");
    theForm.password.focus();
    return (false);
  }
if (theForm.password.value.length < 8)
  {
    alert("Inserisci una Password di almeno 8 caratteri.\nGrazie");
    theForm.password.focus();
    return (false);
  }
if (theForm.nome.value == "")
  {
    alert("Inserisci il tuo Nome.\nGrazie");
    theForm.nome.focus();
    return (false);
  }
if (theForm.cognome.value == "")
  {
    alert("Inserisci il tuo Cognome.\nGrazie");
    theForm.cognome.focus();
    return (false);
  }
  
if (theForm.cod_fisc.value == "")
  {
    alert("Inserisci il tuo Codice Fiscale.\nGrazie");
    theForm.cod_fisc.focus();
    return (false);
  }
 	var validi, i, s, set1, set2, setpari, setdisp;
	var codf = theForm.cod_fisc.value;
	var cf = codf.toUpperCase();
	if( cf.length != 16 )
  {
    alert("Il Codice Fiscale inserito non è corretto:\n"
		+"la lunghezza esatta dovrebbe essere di 16 caratteri.\n"
		+"Verifica e correggi. Grazie");
    theForm.cod_fisc.focus();
    return (false);
  }
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for( i = 0; i < 16; i++ )
	{
		if( validi.indexOf( cf.charAt(i) ) == -1 )
	  {
		alert("Il Codice Fiscale inserito contiene un carattere non valido (" + cf.charAt(i) + ").\n"
			  +"I caratteri accettati sono esclusivamente le lettere e i numeri.\n"
			  +"Verifica e correggi. Grazie");
		theForm.cod_fisc.focus();
		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) )
  {
    alert("Il Codice Fiscale inserito non è corretto.\n"
		  +"Il sistema di controllo evidenzia possibili errori di battitura.\n"
		  +"Verifica e correggi. Grazie");
    theForm.cod_fisc.focus();
    return (false);
  }
if (theForm.indirizzo.value == "")
  {
    alert("Inserisci il tuo indirizzo.\nGrazie");
    theForm.indirizzo.focus();
    return (false);
  }
if (theForm.cap.value == "")
  {
    alert("Inserisci il CAP.\nGrazie");
    theForm.cap.focus();
    return (false);
  }
if (theForm.localita.value == "")
  {
    alert("Inserisci la località.\nGrazie");
    theForm.localita.focus();
    return (false);
  }
if (theForm.prov.selectedIndex < 1)
  {
    alert("Seleziona la provincia.\nGrazie");
    theForm.prov.focus();
    return (false);
  }
if (theForm.telefono.value == "")
  {
    alert("Inserisci il tuo numero di telefono.\nGrazie");
    theForm.telefono.focus();
    return (false);
  }
var cifre= "0123456789";
         var verifica= theForm.telefono.value;
         var allValid = true;

         var allNum = "";
         for ( i = 0; i < verifica.length; i++ )
         {
                ch = verifica.charAt( i );
                for ( j = 0; j < cifre.length; j++ )
                 if ( ch == cifre.charAt( j ))
                        break;
                if ( j == cifre.length )
                {
                 allValid = false;
                 break;
                }
                allNum += ch;
         }
         if (!allValid)
         {
			alert("Il numero di telefono inserito non è valido.\n"
				  +"Il sistema di controllo accetta esclusivamente caratteri numerici compresi tra 0 e 9.\n"
		 		  +"Verifica e correggi. Grazie");
			theForm.telefono.focus();
			return (false);
         }
if (theForm.accetto[0].checked == false)
  {
    alert("E' indispensabile accettare il trattamento dei dati personali.\nGrazie");
    return (false);
  }

return (true);
}

function cancella(theForm)
{
document.Inform.nome.value = ""
document.Inform.cognome.value = ""
document.Inform.cod_fisc.value = ""
document.Inform.indirizzo.value = ""
document.Inform.cap.value = ""
document.Inform.localita.value = ""
document.Inform.prov.value = "0"
document.Inform.telefono.value = ""
document.Inform.email.value = ""
document.Inform.password.value = ""
}
