// JavaScript Document


// iscrizione concorso
function controllaIscrizione() {
	
	var d = window.document.fIscrizione;
	var error = "";
	var title_error='Il modulo non è stato compilato correttamente.'+"\n";
	
	  
	if (!d.nome.value)  error += "Inserire il vostro Nome. \n";
	if (!d.cognome.value)  error += "Inserire il vostro Cognome. \n";
	if (document.fIscrizione.elements['data_nascita[gg]'].value=='*' || document.fIscrizione.elements['data_nascita[mm]'].value=='*' || document.fIscrizione.elements['data_nascita[aa]'].value=='*') error += "Inserire la data di nascita. \n";
	
	
	if (d.partecipante.value=='1') {
		
		if (!d.indirizzo.value)  error += "Inserire il vostro indirizzo. \n";
		if (!d.cap.value)  error += "Inserire il cap. \n";
		if (!d.citta.value)  error += "Inserire la città di appartenenza. \n";
		if (d.codice_paese.value=='*') error += "Selezionare il paese. \n";
		if (d.codice_paese.value=='IT') {
			if (!d.codice_fiscale.value)  error += "Inserire il codice fiscale. \n";
			else {
				error += ControllaCF(d.codice_fiscale.value);	
			}
			if (d.sigla_provincia.value=='*')  error += "Selezionare la provincia. \n";
		}
		if (!d.telefono.value)  error += "Inserire il telefono. \n";
		
	} else {
		
		if (d.codice_paese.value=='*') error += "Selezionare il paese. \n";
		if (d.codice_paese.value=='IT') {
			if (d.sigla_provincia.value=='*')  error += "Selezionare la provincia. \n";
		}
		
	}
	
	
	
	if (!d.email.value) error += "Inserire l'indirizzo e-mail. \n";
	else {
		if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test( d.email.value )) {
			error += "Il formato della email non è corretto.\n"
		}
	}
	
	if (!d.psw.value)  error += "Inserire una password. \n";
	else {
		if (d.psw.value.length!=8) error += "La password deve essere di 8 caratteri. \n";
		error += controllaPsw(d.psw.value);	
		if (d.psw.value!=d.psw_confirm.value) error += "Le password inserite non coincidono. \n";
	}

	if (!d.privacy.checked)  error += "Acconsentire al Trattamento dei Dati Personali\n";

	if (d.partecipante.value=='1') {
		if (!d.termini_uso.checked)  error += "Acconsentire ai Termini d\'Uso\n";
		if (!d.regolamento.checked)  error += "Acconsentire al Regolamento\n";
	}
 
	if (error) {
	 alert(title_error + error); 
	 return false;
	} else {
	 return true;
	}
	
	
} // end func controllaIscrizione


function controllaPsw(psw) {
	
    psw = psw.toUpperCase();
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for( i = 0; i < 8; i++ ){
	   if( validi.indexOf( psw.charAt(i) ) == -1 )
		   return "La password può contenere solo lettere non accentate e cifre.\n";
	}
	
	return "";
	
} // end func controllaPsw

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 "";
				
} // end func ControllaCF


function controllaLogin() {

	var d = window.document.fLogin;
	var error = "";
	var title_error=''+"\n";
	
	if (!d.email.value) error += "Inserire l'indirizzo e-mail. \n";
	else {
		if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test( d.email.value )) {
			error += "Il formato della email non è corretto.\n"
		}
	}
	
	if (!d.psw.value)  error += "Inserire una password. \n";
	else {
		if (d.psw.value.length!=8) error += "La password deve essere di 8 caratteri. \n";
	}
	
	if (error) {
	 alert(title_error + error); 
	 return false;
	} else {
	 return true;
	}


} // end func controllaLogin


function controllaInsert() {
	var d = window.document.insertFile;
	var error = "";
	var title_error='Il modulo non è stato compilato correttamente.'+"\n";
	
	if (!d.descrizione_file.value) error += "Inserire un titolo per il file. \n";
	
	
	switch (d.codice_categoria.value) {
		case "VI":
			if (!d.nome_file.value && !d.link_video.value) error += "Inserire un video, o il link da YouTube. \n";
			else {
				if (d.nome_file.value!='' && d.link_video.value!='') error += "Devi scegliere se caricare il tuo video oppure inserire il link da YouTube. \n";
			}
		break;
		case "TE":
			if (!d.testo .value) error += "Inserire il testo. \n";
		break;
		case "FO":
			if (!d.nome_file.value) error += "Inserire una foto. \n";
		break;
		
	}
	
	if (error) {
	 alert(title_error + error); 
	 return false;
	} else {
	 return true;
	}
	
} // end func controllaInsert

