function validate(form, lang) {

	var	fname = form.fname;
	var	lname = form.lname;
	var username = form.username;
	var email = form.email;
	var	password1 = form.pwd;
	var	password2 = form.pwd2;
	var	privacy = form.privacy;

	if (fname.value.length == 0) {
		document.getElementById("fname_span").innerHTML = "<br>" + (lang == "en" ? "The field First name is obligatory" : "Campo Nome obbligatorio");
		fname.focus();
		return false;
	}
	else {
		document.getElementById("fname_span").innerHTML = "";
	}
	if (lname.value.length == 0) {
		document.getElementById("lname_span").innerHTML = "<br>" + (lang == "en" ? "The field Last name is obligatory" : "Campo Cognome obbligatorio");
		lname.focus();
		return false;
	}
	else {
		document.getElementById("lname_span").innerHTML = "";
	}
	if (username.value.length == 0) {
		document.getElementById("username_span").innerHTML = "<br>" + (lang == "en" ? "The field Username is obligatory" : "Campo Nome Utente obbligatorio");
		username.focus();
		return false;
	}
	else {
		document.getElementById("username_span").innerHTML = "";
	}
	if (email.value.length > 0 && !isMail(email)) {
		document.getElementById("email_span").innerHTML = "<br>" + (lang == "en" ? "Please insert a valid e-mail address" : "Vi preghiamo di inserire correttamente l'indirizzo e-mail");
		email.focus();
		return false;
	}
	else {
		document.getElementById("email_span").innerHTML = "";
	}
	if (password1.value.length == 0) {
		document.getElementById("pwd_span").innerHTML = "<br>" + (lang == "en" ? "The field Password is obligatory" : "Campo Password obbligatorio");
		password1.focus();
		return false;
	}
	else {
		document.getElementById("pwd_span").innerHTML = "";
	}

	if (password2.value.length == 0) {
		document.getElementById("pwd2_span").innerHTML = "<br>" + (lang == "en" ? "The field Confirm Password is obligatory" : "Campo Conferma Password obbligatorio");
		password2.focus();
		return false;
	}
	else {
		if (password1.value != password2.value) {
			document.getElementById("pwd2_span").innerHTML = "<br>" + (lang == "en" ? "Fields Password and Confirm Password do not match" : "Campi Password e Conferma Password non corrispondono");
			password2.focus();
			return false;
		}
		else {
			document.getElementById("pwd2_span").innerHTML = "";
		}
	}

	if(!privacy[0].checked) {
		alert(lang == "en" ? "To complete registration\n your CONFIRMATION for personal data management is needed." : "Per poter proseguire con la registrazione, \nč necessario ACCONSENTIRE al trattamento dei dati personali.");
		return false;
	}
	return true;

}