<html>
<head>
<script language="JavaScript">
<!--
function ControllaCF(cf)
{
var validi, i, s, set1, set2, setpari, setdisp;
if( cf == '' ) return '';
cf = cf.toUpperCase();
if( cf.length != 16 )
return "La lunghezza del codice fiscale non è\n"
+"corretta: il codice fiscale dovrebbe essere lungo\n"
+"esattamente 16 caratteri.\n";
validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for( i = 0; i < 16; i++ ){
if( validi.indexOf( cf.charAt(i) ) == -1 )
return "Il codice fiscale contiene un carattere non valido `" +
cf.charAt(i) +
"'.\nI caratteri validi sono le lettere e le cifre.\n";
}
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) )
return "Il codice fiscale non è corretto:\n"+
"il codice di controllo non corrisponde.\n";
return "";
}
function ControllaPIVA(pi)
{
if( pi == '' ) return '';
if( pi.length != 11 )
return "La lunghezza della partita IVA non è\n" +
"corretta: la partita IVA dovrebbe essere lunga\n" +
"esattamente 11 caratteri.\n";
validi = "0123456789";
for( i = 0; i < 11; i++ ){
if( validi.indexOf( pi.charAt(i) ) == -1 )
return "La partita IVA contiene un carattere non valido `" +
pi.charAt(i) + "'.\nI caratteri validi sono le cifre.\n";
}
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) )
return "La partita IVA non è valida:\n" +
"il codice di controllo non corrisponde.\n";
return '';
}
function verifica()
{
cod = document.form1.cod.value;
document.form1.cod.focus();
if( cod == '' )
err = "hai lasciato in bianco il campo!\n";
else if( cod.length == 16 )
err = ControllaCF(cod);
else if( cod.length == 11 )
err = ControllaPIVA(cod);
else
err = "Il codice introdotto non è valido:\n\n" +
" - un codice fiscale deve essere lungo 16 caratteri;\n\n" +
" - una partita IVA deve essere lunga 11 caratteri.\n";
if( err > '' )
alert("VALORE ERRATO\n\n" + err + "\nCorreggi e riprova!");
else
alert("Il codice è valido.");
}
function validateThis(form){
if ( Trim(form.NOME.value) == "" ){
alert("Inserire il campo Nome")
form.NOME.focus();
return false}
if ( Trim(form.COGNOME.value) == "" ){
alert("Inserire il campo Cognome")
form.COGNOME.focus();
return false}
}
//-->
</script>
</head>
<body>
<form action="/cgi-bin/controllo.pl" method="POST">
<table border=0 cellspacing=0 cellpadding=6 width="100%">
Inserisci i tuoi dati:
<tr>
<td class=fclbg1 align=right width="46%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FF0000">Codice
Fiscale </font></td>
<td class=fclbg2 width="54%">
<input type=text name="CF" value="" size="20" maxlength="50">
</td>
</tr>
<tr>
<td class=fclbg1 align=right width="46%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FF0000">Nome</font></td>
<td class=fclbg2 width="54%">
<input type=text name="NOME" value="" size="20" maxlength="50">
</td>
</tr>
<tr>
<td class=fclbg1 align=right width="46%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FF0000">Cognome</font></td>
<td class=fclbg2 width="54%">
<input type=text name="COGNOME" value="" size="20" maxlength="20">
</td>
</tr>
<tr>
<td class=fclbg1 align=right width="46%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FF0000">Clicca per proseguire</font></td>
<td class=fclbg2 width="54%">
<input type="submit" name="Submit" value="Continua >>" onClick="verifica(CF);return validateThis(form)">
</td>
</tr>
</table>
</form>
</body>
</html>