// verifico i campi della form di registrazione (/registrazione-utente)
function RegUtenteCheckForm(nomeform, id_utente) {

	var frm = document.forms[nomeform];
	// alert(frm.username.value);
	if (frm.username.value == '') {
		alert('lo username non puo\' essere vuoto');
	}
	else if (frm.username.value.length < 6) {
		alert('lo username deve essere lungo almeno 6 caratteri');
	}
	else {
		// passo anche l' id ?
		if (id_utente) {
			id_utente = id_utente;
		} else {
			id_utente = 0;
		}
		// lo username è già in uso ?
		RegUtenteCheckUsernameAvailable(frm.username.value, id_utente, nomeform);
	}

}
// controllo campi form per utente
function RegUtenteCheckForm2(nomeform) {

	var errori = new Array();
	var frm = document.forms[nomeform];

	if (frm.name.value == '') {
		errori.push('il nome non puo\' essere vuoto');
	}
	if (frm.cognome.value == '') {
		errori.push('il campo cognome non puo\' essere vuoto');
	}
	if (frm.sesso.value == '') {
		errori.push('il campo sesso non puo\' essere vuoto');
	}
	if (frm.data_nascita_giorno.value == '') {
		errori.push('il campo data di nascita giorno non puo\' essere vuoto');
	}
	if (frm.data_nascita_mese.value == '') {
		errori.push('il campo data di nascita mese non puo\' essere vuoto');
	}
	if (frm.data_nascita_anno.value == '') {
		errori.push('il campo data di nascita anno non puo\' essere vuoto');
	}
	if (frm.luogo_nascita.value == '') {
		errori.push('il campo luogo di nascita non puo\' essere vuoto');
	}
	if (frm.cod_fiscale.value == '') {
		errori.push('il campo codice fiscale non puo\' essere vuoto');
	}
	if (frm.professione.value == '') {
		errori.push('il campo professione non puo\' essere vuoto');
	}
	if (frm.indirizzo.value == '') {
		errori.push('il campo indirizzo non puo\' essere vuoto');
	}
	if (frm.n_civico.value == '') {
		errori.push('il campo numero civico non puo\' essere vuoto');
	}
	if (frm.id_provincie.value == '') {
		errori.push('il campo provincia non puo\' essere vuoto');
	}
	if (frm.cap.value == '') {
		errori.push('il campo cap non puo\' essere vuoto');
	}
	if (frm.telefono.value == '') {
		errori.push('il campo telefono non puo\' essere vuoto');
	}
	if (frm.accetta.checked != true) {
		errori.push('accettare il trattamento dei dati personali');
	}

	if (errori.length == 0) {
		frm.submit();
		return false;
	} else {
		txt_alert = 'Attenzione, sono stati rilevati i seguenti errori:\ncorreggerli per procedere con la registrazione.\n\n';
		for (x=0; x<errori.length; x++) {
			txt_alert = txt_alert + ' - ' + errori[x] + '\n';
		}
		txt_alert = txt_alert + '\n';
		alert(txt_alert);
		return false;
	}


}
// controllo campi form per sede/es. commerciale
function RegUtenteCheckForm3(nomeform) {

	var errori = new Array();
	var frm = document.forms[nomeform];

	if (frm.name.value == '') {
		errori.push('il nome non puo\' essere vuoto');
	}

	if (frm.indirizzo.value == '') {
		errori.push('il campo indirizzo non puo\' essere vuoto');
	}

	if (frm.id_provincie.value == '') {
		errori.push('il campo provincia non puo\' essere vuoto');
	}
/*
	if (frm.id_comuni.value == '') {
		errori.push('il campo comune non puo\' essere vuoto');
	}
*/
	if (frm.cap.value == '') {
		errori.push('il campo cap non puo\' essere vuoto');
	}

	if (frm.telefono.value == '') {
		errori.push('il campo telefono non puo\' essere vuoto');
	}

	if (errori.length == 0) {
		frm.submit();
		return false;
	} else {
		txt_alert = 'Attenzione, sono stati rilevati i seguenti errori:\ncorreggerli per procedere con la registrazione.\n\n';
		for (x=0; x<errori.length; x++) {
			txt_alert = txt_alert + ' - ' + errori[x] + '\n';
		}
		txt_alert = txt_alert + '\n';
		alert(txt_alert);
		return false;
	}

}

// verifico la validità dello username, via AJAX
function RegUtenteCheckUsernameAvailable(username, id_utenti, nomeform) {

  // variabili di funzione
  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest();

  // se l'oggetto XMLHttpRequest non è nullo
  if(ajax) {

    // impostazione richiesta asincrona in GET
    // del file specificato
    ajax.open("post", "/admin/admin/utenti_registrazione_check_username.php", true);
    ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader("connection", "close");

    // impostazione controllo e stato della richiesta
    ajax.onreadystatechange = function() {

      // verifica dello stato
      if(ajax.readyState === readyState.COMPLETATO) {
        // verifica della risposta da parte del server
        if(statusText[ajax.status] === "OK") {
          // operazione avvenuta con successo, ritorno al chiamante un ok / ko
          //alert(ajax.responseText);
          user_available = ajax.responseText;
          if (user_available == 'ok1') {
          	RegUtenteCheckForm2(nomeform);
          } else if (user_available == 'ok2') {
		  	RegUtenteCheckForm3(nomeform);
		  } else {
          	alert('username non disponibille!\nindicare uno username diverso');
          }
        }
      }
    }

    // invio richiesta
//    if (id_utenti) {
    	ajax.send("username="+username+"&id_utenti="+id_utenti);
/*    } else {
		ajax.send("username="+username);
	}
*/
  }

}

