
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.contatti.Nome.value=='') {
		alert("Please, insert Your name and surname")
		document.contatti.Nome.focus();
		return false;
	}

	if(document.contatti.Indirizzo.value=='') {
		alert("Please, insert Your address")
		document.contatti.Indirizzo.focus();
		return false;
	}
	if(document.contatti.Cap.value=='') {
		alert("Please, insert ZIP code")
		document.contatti.Cap.focus();
		return false;
	}
/*------------------ INIZIO Validazione indirizzo -------------------*/
/*var FormAddr1 = document.contatti.Indirizzo.value ;
var ValidAddyChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzùàòèéì'0123456789 *°#.-/,";

	if (!ValidLength(FormAddr1.length, 3)) {
		alert ("Please, insert Your address.");
		document.contatti.Indirizzo.focus();
		return false;
	}
	if (!ValidNumber(FormAddr1)) {
		alert ("ATTENTION! Insert a valid address.\nEsempio: via Verdi, 15");
		document.contatti.Indirizzo.focus();
		return false;
	}
	if (!ValidChars(FormAddr1,ValidAddyChars)) {
		alert ("ATTENZIONE! Indirizzo non valido.\nEsempio: via Verdi, 15");
		document.contatti.Indirizzo.focus();
		return false;
	}*/
/*------------------ FINE Validazione indirizzo -------------------*/

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

	if(document.contatti.Citta.value=='') {
		alert("Please, insert Your city")
		document.contatti.Citta.focus();
		return false;
	}
/*	if(document.contatti.Prov.value=='') {
		alert("Selezionare la provincia")
		document.contatti.Prov.focus();
		return false;
	}*/

	if(document.contatti.Naz.value=='') {
		alert("Please, select Your country")
		document.contatti.Naz.focus();
		return false;
	}

/*------------------ INIZIO Validazione email --------------------*/
var Formemail = document.contatti.Email.value
ValidemailChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_@.";

	if (!ValidLength(Formemail.length, 5)) {
		alert ("Insert Your E-mail address");
		document.contatti.Email.focus();
		return false;
	}
dot = Formemail.indexOf(".");
afterdot = Formemail.charAt(dot +1);

	if (dot == -1 || afterdot == "") {
		alert("Insert a valid E-mail address");
		document.contatti.Email.focus();
		return false;
	}

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

	if (at == -1 || afterat == "") {
		alert("Insert a valid E-mail address");
		document.contatti.Email.focus();
		return false;
	}
	if (!ValidChars(Formemail, ValidemailChars)) {
		alert("Your E-mail address is not valid!");
		document.contatti.Email.focus();
		return false;
	}
/*------------------ FINE Validazione email --------------------*/

/*------------------ INIZIO Validazione telefono --------------------*/
/*var FormTel = document.contatti.telefono.value
var telNums = "0123456789-/+. ";

	if (FormTel == "") {
		alert("Inserire il numero di telefono");
		document.contatti.telefono.focus();
		return false;
	}
	if (!ValidChars(FormTel,telNums)) {
		alert("Numero di telefono non valido");
		document.contatti.telefono.focus();
		return false;
	}*/
/*------------------ FINE Validazione telefono --------------------*/

	if(document.contatti.Messaggio.value=='') {
		alert("Please, write Your messagge")
		document.contatti.Messaggio.focus();
		return false;
	}
	if(!(document.contatti.Trattamento_dati.checked)) {
		alert("It is necessary to accept terms and condition about the treatment of Your personal data")
		document.contatti.Trattamento_dati.focus();
		return false;
	}
}

