function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

function validPassword(string)
{
	var testresults;
	var filter=/^[A-Za-z0-9]{5,}$/i;

	if (filter.test(string)) {
		testresults = true;
	}
	else {
		testresults = false;
	}
	
	return(testresults);
}

function pwdchangeFormValidate()
{ // valida il form cambio password

	var pwdchangeForm = document.getElementById('pwdchangeForm');
	if (pwdchangeForm) {

		if (pwdchangeForm.pwdc_old.value==""
		 || pwdchangeForm.pwdc_new1.value==""
		 || pwdchangeForm.pwdc_new2.value=="") {
			alert("Attenzione, e' necessario compilare tutti i campi del modulo.");
			return false;
		}

		if (validPassword(pwdchangeForm.pwdc_old.value)==false
		 || validPassword(pwdchangeForm.pwdc_new1.value)==false
		 || validPassword(pwdchangeForm.pwdc_new2.value)==false) {
			alert("Attenzione, e' stata inserita una password non valida. Le password devono consistere di almeno 5 caratteri e possono contenere solo lettere e cifre.");
			return false;
		}

		if (pwdchangeForm.pwdc_new1.value != pwdchangeForm.pwdc_new2.value) {
			alert("Attenzione, la nuova password non e' stata digitata correttamente.");
			pwdchangeForm.pwdc_new1.value = "";
			pwdchangeForm.pwdc_new2.value = "";
			pwdchangeForm.pwdc_new1.focus();
			return false;
		}

	}
	return true;
}

function emailchangeFormValidate()
{ // valida il form cambio e-mail

	var myForm = document.getElementById('emailchangeForm');
	if (myForm) {
	
		if (myForm.emailc_password.value=="" || myForm.emailc_email.value=="") {
			alert("Attenzione, e' necessario compilare tutti i campi del modulo.");
			return false;
		}

		if (checkemail(trim(myForm.emailc_email.value))==false) {
			alert("Attenzione, e' necessario inserire un indirizzo e-mail valido.");
			return false;
		}

	}
	return true;
}

function signupFormValidate()
{ // valida il form registrazione utente

	var myForm = document.getElementById('signupForm');
	if (myForm) {

		// campi obbligatori
		if (myForm.form_email.value == ""
		 || myForm.form_nome.value == ""
		 || myForm.form_citta.value == ""
/*		 || myForm.form_cognome.value == ""
		 || myForm.form_via.value == ""
		 || myForm.form_nciv.value == ""
		 || myForm.form_prov.value == ""
		 || myForm.form_cap.value == ""
		 || myForm.form_paese.value < 1 */
		 || !myForm.form_consenso.checked) {
			alert("Attenzione, e' necessario compilare tutti i campi obbligatori (marcati con un asterisco) e dare il proprio consenso al trattamento dei dati personali, per il quale viene riportato un testo informativo.");
			return false;
		}

		// email
		if (checkemail(trim(myForm.form_email.value))==false) {
			alert("Attenzione, e' necessario inserire un indirizzo e-mail valido.");
			return false;
		}
	} 
	return true;
}

function editprofileFormValidate()
{
	// valida il form edit profilo utente
	var myForm = document.getElementById('editprofileForm');
	if (myForm) {

		// campi obbligatori
		if (myForm.editp_nome.value == ""
		 || myForm.editp_cognome.value == ""
		 || myForm.editp_via.value == ""
		 || myForm.editp_nciv.value == ""
		 || myForm.editp_citta.value == ""
		 || myForm.editp_prov.value == ""
		 || myForm.editp_cap.value == ""
		 || myForm.editp_paese.value < 1) {
			alert("Attenzione, e' necessario riempire tutti i campi obbligatori (marcati con un asterisco).");
			return false;
		}

	} 
	return true;
}
