// LORENZO LOVATO
// lorenzo@europamultimedia.it
// EUROPA MULTIMEDIA SRL
// www.europamultimedia.it


function valida()
{
    var bisestile = new Array("1900","1904","1908","1912","1916","1920","1924","1928","1932","1936","1940","1944","1948","1952","1956","1960","1964","1968","1972","1976","1980","1984","1988","1992","1996","2000","2004","2008","2012");
	var i;
	var trovato=0;


//CONTROLLI PER IL campo NOME e COGNOME
     if (document.inserisci.nome.value.length == 0) {
		alert("Il campo NOME e COGNOME é obbligatorio.");
		document.inserisci.nome.focus();
		return false;
	}

	for(i=0;i<document.inserisci.nome.value.length;i++)  //visualizza l' alert se nel campo sono presenti caratteri non consentiti
	{
        if(document.inserisci.nome.value.charCodeAt(i)!=32&&document.inserisci.nome.value.charCodeAt(i)!=39&&document.inserisci.nome.value.charCodeAt(i)< 65|| document.inserisci.nome.value.charCodeAt(i)>90 && document.inserisci.nome.value.charCodeAt(i)<97|| document.inserisci.nome.value.charCodeAt(i)>122 && document.inserisci.nome.value.charCodeAt(i)!=224 && document.inserisci.nome.value.charCodeAt(i)!=232 && document.inserisci.nome.value.charCodeAt(i)!=233 && document.inserisci.nome.value.charCodeAt(i)!=236 && document.inserisci.nome.value.charCodeAt(i)!=242 && document.inserisci.nome.value.charCodeAt(i)!=249)
        {
        alert("Nel campo NOME e COGNOME il carattere ["+document.inserisci.nome.value.substring(i,i+1)+"] non è consentito");
         document.inserisci.nome.focus();
         return false;
	 }
         }

	if (document.inserisci.nome.value.substring(0).charCodeAt()==32||document.inserisci.nome.value.substring(0).charCodeAt()==39) {
		alert("Il PRIMO carattere del campo NOME e COGNOME non può essere né uno spazio, né il carattere apostrofo [']");
		document.inserisci.nome.focus();
		return false;
		}
     if (document.inserisci.nome.value.lastIndexOf("''") > 0) {
		alert("Nel campo NOME e COGNOME non sono ammessi gli apici [' '] consecutivi.");
		document.inserisci.nome.focus();
		return false;
		}    
		
	 if (document.inserisci.nome.value.lastIndexOf("  ") > 0) {
		alert("Nel campo NOME e COGNOME non sono ammessi gli (spazi) consecutivi.");
		document.inserisci.nome.focus();
		return false;
		}    	
//FINE CONTROLLI NOME	


//CONTROLLI PER IL CAMPO EMAIL
            
  var e_mail;
  e_mail=document.inserisci.mail.value;
  
  
     if (document.inserisci.mail.value.length == 0) {
		alert("Il campo E-MAIL é obbligatorio.");
		document.inserisci.mail.focus();
		return false;
	}  

if (document.inserisci.mail.value.length > 0)
{
	
	for(i=0;i<document.inserisci.mail.value.length;i++)
	{
		if(document.inserisci.mail.value.lastIndexOf("@")<1)
		{
		alert("il carattere @ [chiocciola] deve essere presente nel campo E-MAIL");
		document.inserisci.mail.focus();
		return false;
		}
	}

if (document.inserisci.mail.value.substring(0).charCodeAt()==45||document.inserisci.mail.value.substring(0).charCodeAt()==46||document.inserisci.mail.value.substring(0).charCodeAt()==64||document.inserisci.mail.value.substring(0).charCodeAt()==95) {
		alert("Il PRIMO carattere del campo E-MAIL non può essere nessuno dei seguenti caratteri:\npunto [.], chiocciola [@], trattino [-], underscore [_].");
		document.inserisci.mail.focus();
		return false;
		}
		
		for(i=0;i<document.inserisci.mail.value.length;i++)  //visualizza l' alert se nel campo sono presenti caratteri non consentiti
		{
        if(document.inserisci.mail.value.charCodeAt(i)!=32&&document.inserisci.mail.value.charCodeAt(i)!=45&&document.inserisci.mail.value.charCodeAt(i)!=46&&document.inserisci.mail.value.charCodeAt(i)<48||document.inserisci.mail.value.charCodeAt(i)>57&&document.inserisci.mail.value.charCodeAt(i)< 64|| document.inserisci.mail.value.charCodeAt(i)>90 && document.inserisci.mail.value.charCodeAt(i)!=95&&document.inserisci.mail.value.charCodeAt(i)<97|| document.inserisci.mail.value.charCodeAt(i)>122)
	      {
        alert("Nel campo E-MAIL il carattere ["+document.inserisci.mail.value.substring(i,i+1)+"] non è consentito");
         document.inserisci.mail.focus();
	return false;
	 }
	}
	
     for(i=0;i<document.inserisci.mail.value.length;i++)  //visualizza l' alert se nel campo è presente il carattere (spazio)
	{
        if(document.inserisci.mail.value.charCodeAt(i)==32)
        {
        alert("Il carattere [spazio] nel campo E-MAIL non è consentito");
         document.inserisci.mail.focus();
         return false;
	 }
         }
   
   
  
         	
var chiocciolaCount = 0;
var foundatposition = 0;
while(foundatposition != -1)  {
	foundatposition = e_mail.indexOf("@", foundatposition);
	if (foundatposition != -1) {
		chiocciolaCount++;
		foundatposition++;
	}
	}
	
	if (chiocciolaCount>1) {
	alert("Attenzione! Hai inserito " + chiocciolaCount + " volte il simbolo [@]. Negli indirizzi e-mail ne puoi inserire solamente uno!");
	document.inserisci.mail.focus();
	return false;
	}


var lunghezza_mail;
lunghezza_mail = e_mail.length;
punto_posizionez=(lunghezza_mail-4);
punto_posizione=(lunghezza_mail-3);
puntone =e_mail.substring(punto_posizionez,punto_posizionez+1);
punto = e_mail.substring(punto_posizione,punto_posizione+1);

if (e_mail != "es. lorenzo.lovato@europamultimedia.it" && e_mail == "") {
	e_mail = "";
	}
	else {
		
	for(i=punto_posizione+1;i<lunghezza_mail;i++) {

	if (e_mail.charCodeAt(i) < 65 || e_mail.charCodeAt(i) > 90 && e_mail.charCodeAt(i) < 97 || e_mail.charCodeAt(i) > 122)
	{
	alert("Nel campo E_MAIL l'estensione (es: .it,.com) non è corretta oppure è mancante.");
	document.inserisci.mail.focus();
	return false;
	}
	}
	}

	if (e_mail != "es. lorenzo.lovato@europamultimedia.it" && e_mail == "") {
	e_mail = "";
	}
	else {

	if (punto != "."&&puntone!=".") {
	alert("Nel campo E-MAIL c'é un errore!\nControllare l'estensione.\n\nLe possibili cause sono:\n1. Manca il carattere punto.\n2. L'estensione è troppo lunga");
	document.inserisci.mail.focus();
	return false;
	}
	}
	
 	if (e_mail.lastIndexOf("@.") > 0 || e_mail.lastIndexOf(".@") > 0) {
		alert("Nel campo E-MAIL c'é un errore!\nI caratteri [@] e [.] non sono consentiti consecutivamente");
		document.inserisci.mail.focus();
		return false;
	}
 		
	
	if (e_mail.lastIndexOf("..") > 0) {
		alert("Nel campo E-MAIL non sono ammessi i punti [..] consecutivi.");
		document.inserisci.mail.focus();
		return false;
		}


//FINE CONTROLLI EMAIL
}



//CONTROLLI PER IL campo MESSAGGIO
   if (document.inserisci.messaggio.value.length == 0)
    {
		alert("Il campo MESSAGGIO é obbligatorio.");
		document.inserisci.messaggio.focus();
		return false;
	}

	
	if (document.inserisci.messaggio.value.substring(0).charCodeAt()==32||document.inserisci.messaggio.value.substring(0).charCodeAt()==39) {
		alert("Il PRIMO carattere del campo MESSAGGIO non può essere né uno spazio, né il carattere apostrofo [']");
		document.inserisci.messaggio.focus();
		return false;
		}
     if (document.inserisci.messaggio.value.lastIndexOf("''") > 0) {
		alert("Nel campo MESSAGGIO non sono ammessi gli apici [' '] consecutivi.");
		document.inserisci.messaggio.focus();
		return false;
		}    
	
	 if (document.inserisci.messaggio.value.lastIndexOf("  ") > 0) {
		alert("Nel campo MESSAGGIO non sono ammessi gli (spazi) consecutivi.");
		document.inserisci.messaggio.focus();
		return false;
		}    
//FINE CONTROLLI messaggio


//CONTROLLI PER LA PRIVACY
   if(document.inserisci.datipersonali.checked == false)
   {
     alert("Autorizzare il trattamento dei dati personali.");
     document.inserisci.datipersonali.focus();
     return false; 
   }  
//FINE CONTROLLI PRIVACY

return true;
}	
