Salve a tutti!

La funzione è questa:
codice:
function Check_Cod_Fisc(Cod_Fisc) 
{
			

		var strcognome		
		strcognome=""
		
		
		  // Processa il cognome
		  //----------------------------------------------------------------
		    for (i=0; i<document.MioForm.Cognome.value.length; i++) 
		        {
				switch (document.MioForm.Cognome.value.charAt(i)) 
		                {
		                  case 'A':
		                  case 'E':
		                  case 'I':
		                  case 'O':
		                  case 'U': break;            
		                  default : 
		                  if((document.MioForm.Cognome.value.charAt(i)<='Z')&& (document.MioForm.Cognome.value.charAt(i)>'A')) {
		                   strcognome = strcognome + document.MioForm.Cognome.value.charAt(i); }
		                }
		        }
		    if (strcognome.length < 3) 
		      {
		       for (i=0; i<document.MioForm.Cognome.value.length; i++) 
		          {
		           switch (document.MioForm.Cognome.value.charAt(i)) 
		                 {
		                  case 'A':
		                  case 'E':
		                  case 'I':
		                  case 'O':
		                  case 'U': strcognome = strcognome + document.MioForm.Cognome.value.charAt(i);
		                 }
		          }
		       
		       if (strcognome.length < 3) 
		         {
		          for (i=strcognome.length; i<=3; i++) 
		             { strcognome = strcognome + 'X'; }
		         }
		      }
		   
		   strcognome = strcognome.substring(0,3);
		 //------------------------------------------------------------ 
		
		
		var strnome
		strnome=""
		  // processa il nome
		  //----------------------------------------------------------------
		 
		    for (i=0; i<document.MioForm.Nome.value.length; i++) 
		       {
		        switch (document.MioForm.Nome.value.charAt(i)) 
		              {
		               case 'A':
		               case 'E':
		               case 'I':
		               case 'O':
		               case 'U': break;
		               default:
		 				if((document.MioForm.Nome.value.charAt(i)<='Z')&& (document.MioForm.Nome.value.charAt(i)>'A')) {
		                  strnome = strnome + document.MioForm.Nome.value.charAt(i);  }
		              }
		       }
		     
		    if (strnome.length > 3) 
		      {
		        strnome = strnome.substring(0,1) + strnome.substring(2,4); 
		      } 
		    else {
		          if (strnome.length < 3) 
		            {
		             for (i=0; i<document.MioForm.Nome.value.length; i++) 
		                {
		                  switch (document.MioForm.Nome.value.charAt(i)) 
		                        {
		                         case 'A':
		                         case 'E':
		                         case 'I':
		                         case 'O':
		                         case 'U': strnome = strnome + document.MioForm.Nome.value.charAt(i);
		                        }
		                }
		             
		            if (strnome.length < 3) 
		               {
		                for (i=strnome.length; i<=3; i++) 
		                   {strnome = strnome + 'X';}
		               }
		           }
		          strnome = strnome.substring(0,3);
		        }
		       
		var strnc
		strnc=strcognome+strnome  ;       
		
		     
		 //--------------------------------------- Fine processa nome
		
		
		
		
			var strCod_Fisc
			strCod_Fisc = Cod_Fisc
			var somma = 0
			var chrcontrollo = ' '
			var mycod = " "
			mycod = strCod_Fisc
			for (i=0; i<15; i++) 
		       {
		        if (((i+1) % 2) != 0) //caratteri dispari
		          {
		           switch (mycod.charAt(i)) 
		                 {
		                  case '0':
		                  case 'A':{ somma += 1; break;}
		                  case '1':
		                  case 'B':{ somma += 0; break;}
		                  case '2':
		                  case 'C':{ somma += 5; break;}
		                  case '3':
		                  case 'D':{ somma += 7; break;}
		                  case '4':
		                  case 'E':{ somma += 9; break;}
		                  case '5':
		                  case 'F':{ somma += 13; break;}
		                  case '6':
		                  case 'G':{ somma += 15; break;}
		                  case '7':
		                  case 'H':{ somma += 17; break;}
		                  case '8':
		                  case 'I':{ somma += 19; break;}
		                  case '9':
		                  case 'J':{ somma += 21; break;}
		                  case 'K':{ somma += 2; break;}
		                  case 'L':{ somma += 4; break;}
		                  case 'M':{ somma += 18; break;}
		                  case 'N':{ somma += 20; break;}
		                  case 'O':{ somma += 11; break;}
		                  case 'P':{ somma += 3; break;}
		                  case 'Q':{ somma += 6; break;}
		                  case 'R':{ somma += 8; break;}
		                  case 'S':{ somma += 12; break;}
		                  case 'T':{ somma += 14; break;}
		                  case 'U':{ somma += 16; break;}
		                  case 'V':{ somma += 10; break;}
		                  case 'W':{ somma += 22; break;}
		                  case 'X':{ somma += 25; break;}
		                  case 'Y':{ somma += 24; break;}
		                  case 'Z':{ somma += 23; break;}
		                 }
		          } 
		        else //caratteri pari
		            {
		              switch (mycod.charAt(i)) 
		                 {
		                  case '0':
		                  case 'A':{ somma += 0; break;}
		                  case '1':
		                  case 'B':{ somma += 1; break;}
		                  case '2':
		                  case 'C':{ somma += 2; break;}
		                  case '3':
		                  case 'D':{ somma += 3; break;}
		                  case '4':
		                  case 'E':{ somma += 4; break;}
		                  case '5':
		                  case 'F':{ somma += 5; break;}
		                  case '6':
		                  case 'G':{ somma += 6; break;}
		                  case '7':
		                  case 'H':{ somma += 7; break;}
		                  case '8':
		                  case 'I':{ somma += 8; break;}
		                  case '9':
		                  case 'J':{ somma += 9; break;}
		                  case 'K':{ somma += 10; break;}
		                  case 'L':{ somma += 11; break;}
		                  case 'M':{ somma += 12; break;}
		                  case 'N':{ somma += 13; break;}
		                  case 'O':{ somma += 14; break;}
		                  case 'P':{ somma += 15; break;}
		                  case 'Q':{ somma += 16; break;}
		                  case 'R':{ somma += 17; break;}
		                  case 'S':{ somma += 18; break;}
		                  case 'T':{ somma += 19; break;}
		                  case 'U':{ somma += 20; break;}
		                  case 'V':{ somma += 21; break;}
		                  case 'W':{ somma += 22; break;}
		                  case 'X':{ somma += 23; break;}
		                  case 'Y':{ somma += 24; break;}
		                  case 'Z':{ somma += 25; break;}
		                 }
		            }
		    }
		  
		   somma %= 26;
		   switch (somma) 
		         {
		          case 0: {chrcontrollo='A'; break;}
		          case 1: {chrcontrollo='B'; break;}
		          case 2: {chrcontrollo='C'; break;}
		          case 3: {chrcontrollo='D'; break;}
		          case 4: {chrcontrollo='E'; break;}
		          case 5: {chrcontrollo='F'; break;}
		          case 6: {chrcontrollo='G'; break;}
		          case 7: {chrcontrollo='H'; break;}
		          case 8: {chrcontrollo='I'; break;}
		          case 9: {chrcontrollo='J'; break;}
		          case 10: {chrcontrollo='K'; break;}
		          case 11: {chrcontrollo='L'; break;}
		          case 12: {chrcontrollo='M'; break;}
		          case 13: {chrcontrollo='N'; break;}
		          case 14: {chrcontrollo='O'; break;}
		          case 15: {chrcontrollo='P'; break;}
		          case 16: {chrcontrollo='Q'; break;}
		          case 17: {chrcontrollo='R'; break;}
		          case 18: {chrcontrollo='S'; break;}
		          case 19: {chrcontrollo='T'; break;}
		          case 20: {chrcontrollo='U'; break;}
		          case 21: {chrcontrollo='V'; break;}
		          case 22: {chrcontrollo='W'; break;}
		          case 23: {chrcontrollo='X'; break;}
		          case 24: {chrcontrollo='Y'; break;}
		          case 25: {chrcontrollo='Z'; break;}
		         }
		
		 //--------------------------------------------
		
		if (chrcontrollo == mycod.charAt(15)&&(Cod_Fisc.substring(0,6)==strnc))
		{
			
			return true;
		} 
		else 
		{
		
			alert("Codice Fiscale non valido");
		//	Cod_Fisc.focus();			
			return false;
		}
}
La funzione la chiamo da qui:

codice:
<td>
<input type="text" name="CodFisc" maxlength=16 value="" onBlur="if (this.value.length!=0 || this.value!=''){Check_Cod_Fiscale(this.value); return true}">
</td>
L'errore che mi salta fuori è "previsto oggetto".
Sapete aiutarmi a capire perchè?

Domandina (da completo newbie del JS):
il messaggio di errore mi specifica un numero di riga ed un carattere, cosa che (penso) dovrebbe aiutarmi a risolvere più facilmente i problemi. Come vengono calcolate, però, le righe?
Cioè, si conta solo il codice client-side (penso di sì)? Si considerano solo le righe scritte o anche quelle che contengono solo spazi vuoti? Ho provato ad andare alla riga specificata, ma non c'ho trovato niente di strano...

Grazie in anticipo a tutti!

EDIT:
Il controllo del codice fiscale lo eseguo solo sul nome e sul cognome perchè solo questi dati ho a disposizione... sempre meglio che non controllarlo affatto...