
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_speciali() {

	if(document.speciali.societa.value=='') {
		alert("Inserire il nome della società")
		document.speciali.societa.focus();
		return false;
	}

	if(document.speciali.indirizzo.value=='') {
		alert("Inserire l'indirizzo")
		document.speciali.indirizzo.focus();
		return false;
	}

/*------------------ INIZIO Validazione indirizzo -------------------*/
/*var FormAddr1 = document.speciali.indirizzo.value ;
var ValidAddyChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzùàòèéì'0123456789 *°#.-/,";

	if (!ValidLength(FormAddr1.length, 3)) {
		alert ("Inserire l'indirizzo.");
		document.speciali.indirizzo.focus();
		return false;
	}
	if (!ValidNumber(FormAddr1)) {
		alert ("ATTENZIONE! Indirizzo non valido.\nEsempio: via Verdi, 15");
		document.speciali.indirizzo.focus();
		return false;
	}
	if (!ValidChars(FormAddr1,ValidAddyChars)) {
		alert ("ATTENZIONE! Indirizzo non valido.\nEsempio: via Verdi, 15");
		document.speciali.indirizzo.focus();
		return false;
	}
*/
/*------------------ FINE Validazione indirizzo -------------------*/

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

	if(document.speciali.richiedente.value=='') {
		alert("Inserire il nome del richiedente")
		document.speciali.richiedente.focus();
		return false;
	}

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

	if (!ValidLength(Formemail.length, 5)) {
		alert ("Inserire l'indirizzo E-mail");
		document.speciali.email.focus();
		return false;
	}
dot = Formemail.indexOf(".");
afterdot = Formemail.charAt(dot +1);

	if (dot == -1 || afterdot == "") {
		alert("Inserire un indirizzo E-mail valido");
		document.speciali.email.focus();
		return false;
	}

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

	if (at == -1 || afterat == "") {
		alert("Inserire un indirizzo E-mail valido");
		document.speciali.email.focus();
		return false;
	}
	if (!ValidChars(Formemail, ValidemailChars)) {
		alert("L'indirizzo E-mail non è valido!");
		document.speciali.email.focus();
		return false;
	}
/*------------------ FINE Validazione email --------------------*/

	if(document.speciali.codice.value=='') {
		alert("Inserire il codice")
		document.speciali.codice.focus();
		return false;
	}

	if(document.speciali.descrizione.value=='') {
		alert("Inserire la descrizione")
		document.speciali.descrizione.focus();
		return false;
	}

	if(document.speciali.quantita.value=='') {
		alert("Inserire la quantità")
		document.speciali.quantita.focus();
		return false;
	}

	if(document.speciali.pressione.value=='') {
		alert("Inserire la pressione di lavoro")
		document.speciali.pressione.focus();
		return false;
	}

	if(document.speciali.pressionemax.value=='') {
		alert("Inserire la pressione max")
		document.speciali.pressionemax.focus();
		return false;
	}

	if(document.speciali.portata.value=='') {
		alert("Inserire la portata in entrata")
		document.speciali.portata.focus();
		return false;
	}

	if(document.speciali.materiale.value=='') {
		alert("Inserire il tipo di materiale")
		document.speciali.materiale.focus();
		return false;
	}

	if(document.speciali.rivestimento.value=='') {
		alert("Inserire il tipo di rivestimento")
		document.speciali.rivestimento.focus();
		return false;
	}

	if(document.speciali.nome1.value=='') {
		alert("Inserire il nome")
		document.speciali.nome1.focus();
		return false;
	}

	if(document.speciali.dim1.value=='') {
		alert("Inserire la dimensione")
		document.speciali.dim1.focus();
		return false;
	}

	if(document.speciali.latosx1.value=='') {
		alert("Inserire il lato")
		document.speciali.latosx1.focus();
		return false;
	}

	if(document.speciali.modello1.value=='') {
		alert("Inserire il modello/cavità o impatto")
		document.speciali.modello1.focus();
		return false;
	}

	if(document.speciali.latodx1.value=='') {
		alert("Inserire il lato")
		document.speciali.latodx1.focus();
		return false;
	}

/*	if(document.speciali.Citta.value=='') {
		alert("Inserire la città")
		document.speciali.Citta.focus();
		return false;
	}
	if(document.speciali.Prov.value=='') {
		alert("Selezionare la provincia")
		document.speciali.Prov.focus();
		return false;
	}

	if(document.speciali.Naz.value=='') {
		alert("Selezionare la nazione")
		document.speciali.Naz.focus();
		return false;
	}
	if(document.speciali.Messaggio.value=='') {
		alert("Digitare il messaggio")
		document.speciali.Messaggio.focus();
		return false;
	}
*/

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

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

	if(!(document.speciali.Trattamento_dati.checked)) {
		alert("E' necessario dare il proprio consenso per il trattamento dei dati personali")
		document.speciali.Trattamento_dati.focus();
		return false;
	}
	
}


/*
FUNZIONE validate_speciali_en() - Validazione richiesta prodotti speciali in inglese
*/
function validate_speciali_en() {

	if(document.speciali.societa.value=='') {
		alert("Insert Company name")
		document.speciali.societa.focus();
		return false;
	}

	if(document.speciali.indirizzo.value=='') {
		alert("Insert Your address")
		document.speciali.indirizzo.focus();
		return false;
	}

	if(document.speciali.richiedente.value=='') {
		alert("Insert Contact name")
		document.speciali.richiedente.focus();
		return false;
	}

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

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

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

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

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

	if(document.speciali.codice.value=='') {
		alert("Insert project reference")
		document.speciali.codice.focus();
		return false;
	}

	if(document.speciali.descrizione.value=='') {
		alert("Insert project description")
		document.speciali.descrizione.focus();
		return false;
	}

	if(document.speciali.quantita.value=='') {
		alert("Insert potential quantity")
		document.speciali.quantita.focus();
		return false;
	}

	if(document.speciali.pressione.value=='') {
		alert("Insert work pressure")
		document.speciali.pressione.focus();
		return false;
	}

	if(document.speciali.pressionemax.value=='') {
		alert("Insert max pressure")
		document.speciali.pressionemax.focus();
		return false;
	}

	if(document.speciali.portata.value=='') {
		alert("Insert inlet flow")
		document.speciali.portata.focus();
		return false;
	}

	if(document.speciali.materiale.value=='') {
		alert("Insert material type")
		document.speciali.materiale.focus();
		return false;
	}

	if(document.speciali.rivestimento.value=='') {
		alert("Insert surface coating required")
		document.speciali.rivestimento.focus();
		return false;
	}

	if(document.speciali.nome1.value=='') {
		alert("Insert name")
		document.speciali.nome1.focus();
		return false;
	}

	if(document.speciali.dim1.value=='') {
		alert("Insert dimension")
		document.speciali.dim1.focus();
		return false;
	}

	if(document.speciali.latosx1.value=='') {
		alert("Insert side")
		document.speciali.latosx1.focus();
		return false;
	}

	if(document.speciali.modello1.value=='') {
		alert("Insert type/cavity")
		document.speciali.modello1.focus();
		return false;
	}

	if(document.speciali.latodx1.value=='') {
		alert("Insert side")
		document.speciali.latodx1.focus();
		return false;
	}

	if(!(document.speciali.Trattamento_dati.checked)) {
		alert("Please, accept privacy statement")
		document.speciali.Trattamento_dati.focus();
		return false;
	}
}
