/*
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 "";
	}
}


function ValidLength(str,number) {
	if (str < number)
		return false;
	return true;
}

function ValidChars(CheckStr,chars) {
	for (i = 0;  i < CheckStr.length;  i++) {
    	ch = CheckStr.charAt(i);
    for (j = 0;  j < chars.length;  j++)
		if (ch == chars.charAt(j))
        	break;
		if (j == chars.length)
		return false;
	}
	return true;
}

function ValidString(CheckStr,RepeatNum) {
	if (CheckStr.length >= RepeatNum) {
		for (k = 0; k < CheckStr.length - 2; k++) {
		l = k+1;
			if  (CheckStr.charAt(k) == CheckStr.charAt(l)) {
				m = l+1;
				if (CheckStr.charAt(k) == CheckStr.charAt(m)) {
					return false;
					break;
				}
				else {
					k++;
				};
			}
		}
	}
	return true;
}

function ValidNumber (checkStr) {
	checkNumber = "0123456789";
	for (z = 0; z < checkStr.length; z++) {
		for (a = 0; a < checkNumber.length; a++) {
			if (checkStr.charAt(z) == checkNumber.charAt(a)) {
				return true;
			}
		}
	}
	return false;
}

/*
FUNZIONE validate() - Come dice il nome stesso, controlla i campi di una form prima di spedirli
*/
function validate() {
	if(document.forms[0].Sesso.value=='') {
		alert('Sesso?')
		document.forms[0].Sesso.focus();
		return false;
	}
	if(document.forms[0].Nome.value=='') {
		alert('Nome?')
		document.forms[0].Nome.focus();
		return false;
	}
	if(document.forms[0].Cognome.value=='') {
		alert('Cognome?')
		document.forms[0].Cognome.focus();
		return false;
	}
	if(document.forms[0].Username.value=='') {
		alert('Username?')
		document.forms[0].Username.focus();
		return false;
	}
	if(document.forms[0].Password.value=='') {
		alert('Password?')
		document.forms[0].Password.focus();
		return false;
	}
	if(document.forms[0].Giorno.value=='') {
		alert('Giorno di nascita?')
		document.forms[0].Giorno.focus();
		return false;
	}
	if(document.forms[0].Mese.value=='') {
		alert('Mese di nascita?')
		document.forms[0].Mese.focus();
		return false;
	}
	if(document.forms[0].Anno.value=='') {
		alert('Anno di nascita?')
		document.forms[0].Anno.focus();
		return false;
	}
	if(document.forms[0].luogonascita.value=='') {
		alert('Luogo di nascita?')
		document.forms[0].luogonascita.focus();
		return false;
	}
	if(document.forms[0].Altezza.value=='') {
		alert('Altezza in cm?')
		document.forms[0].Altezza.focus();
		return false;
	}
	if(document.forms[0].Peso.value=='') {
		alert('Peso in kg?')
		document.forms[0].Peso.focus();
		return false;
	}
	if(document.forms[0].Taglia.value=='') {
		alert('Taglia?')
		document.forms[0].Taglia.focus();
		return false;
	}
	if(document.forms[0].Capelli.value=='') {
		alert('Colore dei capelli?')
		document.forms[0].Capelli.focus();
		return false;
	}
	/*if(!(document.forms[0].lavoro.checked)) {
		alert('È necessario selezionare una competenza professionale')
		document.forms[0].lavoro.focus();
		return false;
	}*/
	if(document.forms[0].Indirizzo.value=='') {
		alert('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('Città?')
		document.forms[0].Citta.focus();
		return false;
	}
	if(document.forms[0].provincia.value=='') {
		alert('Provincia?')
		document.forms[0].provincia.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('Prefisso cellulare?')
		document.forms[0].Cell_Prefisso.focus();
		return false;
	}

/*------------------ INIZIO Validazione Cellulare -------------------*/
var FormCell = document.forms[0].Cell_Numero.value
var CellNums = "0123456789";
  
	if (FormCell.length == 0) {
	    alert("Inserire un numero cellulare");
	    document.forms[0].Cell_Numero.focus();
	    return false;
	}
	if (!ValidChars(FormCell,CellNums)) {
	    alert("ATTENZIONE! Numero non valido");
		document.forms[0].Cell_Numero.focus();
		return false;
	}
/*------------------ FINE Validazione Cellulare -------------------*/

	if(document.forms[0].dispgiorni.value=='') {
		alert('Giorni e orari di lavoro?')
		document.forms[0].dispgiorni.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 -------------------*/

	if(!(document.forms[0].Trattamento_dati.checked)) {
		alert('E\' necessario dare il proprio consenso per il trattamento dei dati personali')
		document.forms[0].Trattamento_dati.focus();
		return false;
	}
	
}


function selSesso(s) {
	sesso = s;
	var URL = "promoter.php?s="+sesso
		window.location = URL;
//document.write(URL)
}


function selRegione(r) {
	regione = r;
	var URL = "cerca-utenti.php?reg="+regione
		window.location = URL;
//document.write(URL)
}


