/* 

Script realizzato da Filippo Bonanni
Copyright©2k1FilippoBonanni
e-mail: hyppos@aruba.it

Questo script č di libero utilizzo.
Unica condizione č che non vengano tolti i riferimenti all'autore all'interno 
del codice e che specifichiate se possibile, nella pagina in cui inserirete lo script, 
www.jsdir.com quale sito da cui č possibile prelevarlo.

*/    


function ControlloFisc(stringa){

    var lung=null;
    var test=null;

    lettere=new Array();
    //array= lettera, valore se pari, valore se dispari
    lettere[0]=["A","0","1"];
    lettere[1]=["B","1","0"];
    lettere[2]=["C","2","5"];
    lettere[3]=["D","3","7"];
    lettere[4]=["E","4","9"];
    lettere[5]=["F","5","13"];
    lettere[6]=["G","6","15"];
    lettere[7]=["H","7","17"];
    lettere[8]=["I","8","19"];
    lettere[9]=["J","9","21"];
    lettere[10]=["K","10","2"];
    lettere[11]=["L","11","4"];
    lettere[12]=["M","12","18"];
    lettere[13]=["N","13","20"];
    lettere[14]=["O","14","11"];
    lettere[15]=["P","15","3"];
    lettere[16]=["Q","16","6"];
    lettere[17]=["R","17","8"];
    lettere[18]=["S","18","12"];
    lettere[19]=["T","19","14"];
    lettere[20]=["U","20","16"];
    lettere[21]=["V","21","10"];
    lettere[22]=["W","22","22"];
    lettere[23]=["X","23","25"];
    lettere[24]=["Y","24","24"];
    lettere[25]=["Z","25","23"];
    lettere[26]=["0","0","1"];
    lettere[27]=["1","1","0"];
    lettere[28]=["2","2","5"];
    lettere[29]=["3","3","7"];
    lettere[30]=["4","4","9"];
    lettere[31]=["5","5","13"];
    lettere[32]=["6","6","15"];
    lettere[33]=["7","7","17"];
    lettere[34]=["8","8","19"];
    lettere[35]=["9","9","21"];

    ConfrontoCarattereControllo=new Array();
    ConfrontoCarattereControllo[0]=["A"];
    ConfrontoCarattereControllo[1]=["B"];
    ConfrontoCarattereControllo[2]=["C"];
    ConfrontoCarattereControllo[3]=["D"];
    ConfrontoCarattereControllo[4]=["E"];
    ConfrontoCarattereControllo[5]=["F"];
    ConfrontoCarattereControllo[6]=["G"];
    ConfrontoCarattereControllo[7]=["H"];
    ConfrontoCarattereControllo[8]=["I"];
    ConfrontoCarattereControllo[9]=["J"];
    ConfrontoCarattereControllo[10]=["K"];
    ConfrontoCarattereControllo[11]=["L"];
    ConfrontoCarattereControllo[12]=["M"];
    ConfrontoCarattereControllo[13]=["N"];
    ConfrontoCarattereControllo[14]=["O"];
    ConfrontoCarattereControllo[15]=["P"];
    ConfrontoCarattereControllo[16]=["Q"];
    ConfrontoCarattereControllo[17]=["R"];
    ConfrontoCarattereControllo[18]=["S"];
    ConfrontoCarattereControllo[19]=["T"];
    ConfrontoCarattereControllo[20]=["U"];
    ConfrontoCarattereControllo[21]=["V"];
    ConfrontoCarattereControllo[22]=["W"];
    ConfrontoCarattereControllo[23]=["X"];
    ConfrontoCarattereControllo[24]=["Y"];
    ConfrontoCarattereControllo[25]=["Z"];

    var Carattere=0;
    var ValorePari=1;
    var ValoreDispari=2;

    var SommaCaratteri=0;
    var PariDispari=null;
    stringa=stringa.toUpperCase();

    lung=stringa.length;

    CarattereControllo=stringa.substr(lung-1,1);

    stringa=stringa.substring(lung-1,0);

    lung=stringa.length;

    for (i=0; i<=lung-1; i++){
	    if ((i+1)%2==0) {
		    PariDispari='P'
		} else {
			PariDispari='D'
	    }

		temp=stringa.charAt(i);
		for (t=0; t<=35; t++) {
		    test=lettere[t][Carattere];
			if (temp==test) {
			    break
			}
	    }
		if(PariDispari=='P')	{
			SommaCaratteri=SommaCaratteri+parseInt(lettere[t][ValorePari])
		} else {
			SommaCaratteri=SommaCaratteri+parseInt(lettere[t][ValoreDispari])
	    }
    }
    Risultato=SommaCaratteri % 26;

    Risultato=ConfrontoCarattereControllo[Risultato][0];

    if (Risultato==CarattereControllo || lung==0)	{
	    //alert("Codice Fiscale Corretto!")
		return true;
	} else {
		alert("Codice Fiscale Errato!")
		return false;
    }
}

