/*
Controllo codice fiscale
*/
function ControllaCF(cf) {
	var validi, i, s, set1, set2, setpari, setdisp;
	//if( cf == '' )  return 'Inserire il Codice Fiscale';
	cf = cf.toUpperCase();
	if (cf.length > 0) {
		if( cf.length != 16 )
			return "La lunghezza del codice fiscale non č corretta.\n"
			+"Il codice fiscale deve essere lungo 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 "";
	}
	else {
		return "";
	}
}

/*
FUNZIONE validate() - Come dice il nome stesso, controlla i campi di una form prima di spedirli
*/
function validate() {
	if(document.forms[0].Nome.value=='') {
		alert('Inserire il Nome')
		document.forms[0].Nome.focus();
		return false;
	}
	if(document.forms[0].Cognome.value=='') {
		alert('Inserire il Cognome')
		document.forms[0].Cognome.focus();
		return false;
	}
	if(document.forms[0].Username.value=='') {
		alert('Inserire lo Username')
		document.forms[0].Username.focus();
		return false;
	}
	if(document.forms[0].Password.value=='') {
		alert('Inserire la Password')
		document.forms[0].Password.focus();
		return false;
	}
	if(document.forms[0].Giorno.value=='') {
		alert('Inserire il giorno di nascita')
		document.forms[0].Giorno.focus();
		return false;
	}
	if(document.forms[0].Mese.value=='') {
		alert('Inserire il mese di nascita')
		document.forms[0].Mese.focus();
		return false;
	}
	if(document.forms[0].Anno.value=='') {
		alert('Inserire l\'anno di nascita')
		document.forms[0].Anno.focus();
		return false;
	}
/*------------------ INIZIO Validazione Altezza/Peso/Taglia --------------------*/
	var altezza	= document.forms[0].Altezza.value;
	var peso	= document.forms[0].Peso.value;
	var taglia	= document.forms[0].Taglia.value;

	if(altezza=='') {
		alert('Inserire l\'altezza')
		document.forms[0].Altezza.focus();
		return false;
	}
	if(isNaN(altezza)) {
		alert("ATTENZIONE: l\'altezza deve essere un numero.");
		document.forms[0].Altezza.focus();
		return false;
	}
	if(peso=='') {
		alert('Inserire il peso')
		document.forms[0].Peso.focus();
		return false;
	}
	if(isNaN(peso)) {
		alert("ATTENZIONE: il peso deve essere un numero.");
		document.forms[0].Peso.focus();
		return false;
	}
	if(taglia=='') {
		alert('Inserire la taglia')
		document.forms[0].Taglia.focus();
		return false;
	}
	if(isNaN(taglia)) {
		alert("ATTENZIONE: la taglia deve essere un numero.");
		document.forms[0].Taglia.focus();
		return false;
	}
/*------------------ FINE Validazione Altezza/Peso/Taglia --------------------*/
	if(document.forms[0].Capelli.value=='') {
		alert('Selezionare il colore dei capelli')
		document.forms[0].Capelli.focus();
		return false;
	}
	if(document.forms[0].Occhi.value=='') {
		alert('Selezionare il colore degli occhi')
		document.forms[0].Occhi.focus();
		return false;
	}
/*		if(!(document.forms[0].lavoro.checked)) {
		alert('Č necessario selezionare il tipo di lavoro')
		document.forms[0].lavoro.focus();
		return false;
	} */
	if(document.forms[0].Indirizzo.value=='') {
		alert('Inserire l\'indirizzo')
		document.forms[0].Indirizzo.focus();
		return false;
	}

/*------------------ INIZIO Validazione Cap --------------------*/
var FormZip = document.forms[0].Cap.value
var ZipNums = "0123456789";
  
	if (FormZip.length == 0) {
	    alert("Inserire il CAP");
	    document.forms[0].Cap.focus();
	    return false;
	}
	if (!ValidChars(FormZip,ZipNums)) {
	    alert("ATTENZIONE! CAP non valido.\nEsempio: 46100");
		document.forms[0].Cap.focus();
		return false;
	}
	if (FormZip.length == 5)
		null;
	else {
		alert("ATTENZIONE! CAP non valido.\nEsempio: 46100");
		document.forms[0].Cap.focus();
		return false;
	}
/*------------------ FINE Validazione Cap --------------------*/

	if(document.forms[0].Citta.value=='') {
		alert('Inserire la cittā')
		document.forms[0].Citta.focus();
		return false;
	}
	if(document.forms[0].provincia.value=='') {
		alert('Selezionare la provincia')
		document.forms[0].provincia.focus();
		return false;
	}
	if(document.forms[0].Nazionalita.value=='') {
		alert('Selezionare la nazionalitā')
		document.forms[0].Nazionalita.focus();
		return false;
	}

/*------------------ INIZIO Validazione Email --------------------*/
var FormEmail = document.forms[0].Email.value
ValidEmailChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_@.";

	if (!ValidLength(FormEmail.length, 5)) {
		alert ("Inserire l'indirizzo E-mail");
		document.forms[0].Email.focus();
		return false;
	}
dot = FormEmail.indexOf(".");
afterdot = FormEmail.charAt(dot +1);

	if (dot == -1 || afterdot == "") {
		alert("Inserire un indirizzo E-mail valido");
		document.forms[0].Email.focus();
		return false;
	}

at = FormEmail.indexOf("@");
afterat = FormEmail.charAt(at +1);

	if (at == -1 || afterat == "") {
		alert("Inserire un indirizzo E-mail valido");
		document.forms[0].Email.focus();
		return false;
	}
	if (!ValidChars(FormEmail, ValidEmailChars)) {
		alert("L'indirizzo E-mail non č valido!");
		document.forms[0].Email.focus();
		return false;
	}
/*------------------ FINE Validazione Email --------------------*/

	if(document.forms[0].Cell_Prefisso.value=='') {
		alert('Selezionare un prefisso cellulare')
		document.forms[0].Cell_Prefisso.focus();
		return false;
	}
	if(document.forms[0].Cell_Numero.value=='') {
		alert('Inserire il numero cellulare')
		document.forms[0].Cell_Numero.focus();
		return false;
	}
/*------------------ INIZIO Validazione Codice Fiscale -------------------*/
	if(document.forms[0].CodFisc.value=='') {
		alert('Inserire il codice fiscale')
		document.forms[0].CodFisc.focus();
		return false;
	}
	else if(ControllaCF(document.forms[0].CodFisc.value) != ''){
		alert(ControllaCF(document.forms[0].CodFisc.value));
		document.forms[0].CodFisc.focus();
		return false;
	}
/*------------------ FINE Validazione Codice Fiscale -------------------*/
}

