function isEmail(what){
   var i=new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
   if(!i.test(what)) return false;
   return true;
}

function isCodiceFiscale(obj){
 var nTempNum;
 var nAppoNum;
 var i;
 var szTempCodFisc;
 var szLastChar;
 var szValued;
 var szInValued;
 
 szCodFisc = obj.value;
 
 if (szCodFisc.length<16) return false
 if (szCodFisc == "") return false;
 else {
  szCodFisc =szCodFisc.toUpperCase();
  szLastChar = szCodFisc.substr(szCodFisc.length - 1,1);
  szTempCodFisc =szCodFisc.substr(0,szCodFisc.length - 1);
  nTempNum = 0;
  i = 0;
 
  while (true) {
   szValued="B1A0KKPPLLC2QQD3RRE4VVOOSSF5TTG6UUH7MMI8NNJ9WWZZYYXX";
   // I DISPARI
   szInValued=szTempCodFisc.substr(i,1);
   nAppoNum = szValued.search(szInValued);
   nTempNum = nTempNum + (nAppoNum &  0x7FFE) / 2;
   i = i + 1;
   if (i>15)
    break;
   szValued="A0B1C2D3E4F5G6H7I8J9KKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ";
   // I PARI
   szInValued=szTempCodFisc.substr(i,1);
   nAppoNum = szValued.search(szInValued);
   nTempNum =  nTempNum + (nAppoNum &  0x7FFE) / 2;
   i = i + 1;
  }
  nTempNum = nTempNum % 26; //mod
  szValued="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  szValued= szValued.substr(nTempNum, 1);
  if (szValued==szLastChar) return true;
  else return false;
 }
}


function controllaCampi(){
	
	
	
	if (document.registrazione.Nome.value == ""){
		alert ("Inserire il proprio nome");
		document.registrazione.Nome.focus();
		return;
	}
	
	if (document.registrazione.Cognome.value == ""){
		alert ("Inserire il proprio cognome");
		document.registrazione.Cognome.focus();
		return;
	}
		
	if ((document.registrazione.DateOfBirthmonth.value=="") || (document.registrazione.DateOfBirthyear.value == "") || (document.registrazione.DateOfBirthday.value == "")) {
		alert ("Devi inserire la data di nascita");
		document.registrazione.DateOfBirthmonth.value = "";
		document.registrazione.DateOfBirthyear.value = "";
		document.registrazione.DateOfBirthday.value = "";						
		document.registrazione.DateOfBirthday.focus();
		return;
	}
	

	if (document.registrazione.Indirizzo.value == ""){
		alert ("Inserire il proprio Indirizzo");
		document.registrazione.Indirizzo.focus();
		return;
	}	
	
	if (document.registrazione.Citta.value == ""){
		alert ("Inserire la propria Cittā");
		document.registrazione.Citta.focus();
		return;
	}	
		

	if (document.registrazione.provincia.value == "all"){
		alert ("Selezionare la provincia");
		return;
	}	

	if (document.registrazione.CodiceFiscale.value == ""){
		alert ("Inserire il proprio codice fiscale");
		document.registrazione.CodiceFiscale.focus();
		return;
	}		
	
	
	
	if(!isCodiceFiscale(document.registrazione.CodiceFiscale)) {
		alert ("Verificare il proprio codice fiscale");
		document.registrazione.CodiceFiscale.focus();
		return;	
	}


	if (document.registrazione.sex[0].checked == false && document.registrazione.sex[1].checked == false){
		alert ("Devi indicare il sesso");
		return;		
	}
	

	if (document.registrazione.Telefono.value == ""){
		alert ("Inserire il numero di telefono");
		document.registrazione.Telefono.focus();
		return;
	}	

	if (document.registrazione.email.value == ""){
		alert ("Inserire l'indirizzo email");
		document.registrazione.email.focus();
		return;
	}			

	if (!isEmail(document.registrazione.email.value)) {
		alert("Inserire un'email valida");
		document.registrazione.email.focus();
		return;
	}


	if (document.registrazione.email.value != document.registrazione.emailconf.value){
		alert ("L'email di conferma non coincide con l'email");
		document.registrazione.email.value = "";
		document.registrazione.emailconf.value = "";
		document.registrazione.email.focus();
		return;
	}	


	if (document.registrazione.compagnia.value == ""){
		alert ("Inserisci la compagnia con la quale č assicurato il tuo mezzo");
		document.registrazione.compagnia.focus();
		return;
	}	



	if (!document.registrazione.trattamento[0].checked){
		alert ("Per proseguire č necessario Accettare i termini");
		return;
	}
		
	document.registrazione.submit();					
}
