// mostro / nascondo il <div> delle spedizioni
function OpenCloseDivIndirizziAdmin(obj) {
	if (obj.style.display == 'block') {
		obj.style.display = 'none';
	}
	else {
		obj.style.display = 'block';
	}
}

// mostro / nascondo il <tr> del dettaglio acquisto
function OpenCloseDettaglio(id_obj) {
	obj = document.getElementById('dett' + id_obj);
	if (obj.style.display == 'block') {
		obj.style.display = 'none';
	}
	else {
		obj.style.display = 'block';
	}
}

// mostro / nascondo il <tr> delle provincie nel form di registrazione utente
function ShowTrProvincie(obj) {
	var trp = document.getElementById('tr_provincie');
	if (obj.value == 468) {
		trp.style.visibility = 'visible';
	} else {
		trp.style.visibility = 'hidden';
	}
}

// mostro / nascondo il <div> con l'input per i monogrammi nelle opzioni camicie
function ShowDivMonogrammi(obj) {
	var dm = document.getElementById('div_monogrammi');
	if (obj.value != 9) {
		dm.style.visibility = 'visible';
	} else {
		dm.style.visibility = 'hidden';
	}
}

// mostro / nascondo il <div> per gli indirizzi
function ShowDivIndirizzi(div) {
	var dm = document.getElementById(div);
	if (dm.style.visibility == 'hidden') {
		dm.style.visibility = 'visible';
		dm.style.height = '100%';
	} else {
		dm.style.visibility = 'hidden';
		dm.style.height = '0px';
	}
}


// verifico i campi della form di registrazione (/registrazione-utente)
function RegUtenteCheckForm() {

	var frm = document.forms['registrazione'];

	if (frm.f400_username.value == '') {
		alert('lo username non puo\' essere vuoto');
	}
	else if (frm.f400_username.value.length < 6) {
		alert('lo username deve essere lungo almeno 6 caratteri');
	}
	else if (frm.privacy[0].checked == false) {
		alert('per procedere e\' necessario leggere e accettare\nl\'informativa sulla privacy');
	}
	else {
		// passo anche l' id ?
		if (frm.f400_id_utenti.value) {
			frm.f400_id_utenti.value = frm.f400_id_utenti.value;
		} else {
			frm.f400_id_utenti.value = 0;
		}
		// lo username č giā in uso ?
		RegUtenteCheckUsernameAvailable(frm.f400_username.value, frm.f400_id_utenti.value);
	}

}
function RegUtenteCheckForm2() {

	var errori = new Array();
	var frm = document.forms['registrazione'];

	if (frm.f400_nome.value == '') {
		errori.push('il nome non puo\' essere vuoto');
	}
	//if (frm.f400_cognome.value == '') {
	//	errori.push('il cognome non puo\' essere vuoto');
	//}
	if (frm.f401_citta.value == '') {
		errori.push('il campo localita non puo\' essere vuoto');
	}
	if (frm.f401_via.value == '') {
		errori.push('il campo indirizzo non puo\' essere vuoto');
	}
	if (frm.f401_cap.value == '') {
		errori.push('il campo cap non puo\' essere vuoto');
	}
	if (frm.f400_tel.value == '') {
		errori.push('il campo telefono non puo\' essere vuoto');
	}
	if (frm.f400_mail.value == '') {
		errori.push('il campo mail non puo\' essere vuoto');
	}

	if (frm.f400_password) {
		if (frm.f400_password.value == '') {
			errori.push('il campo password non puo\' essere vuoto');
		}
		if (frm.f400_password.value.length < 6) {
			errori.push('la password deve essere lunga almeno 6 caratteri');
		}
		if (frm.f400_password.value == frm.f400_username.value) {
			errori.push('la password non puo\' essere uguale allo username');
		}
	}

	/*
	if ( (frm.f403_altezza_persona.value == '') || (frm.f403_collo.value == '') ||
	     (frm.f403_manica.value == '') || (frm.f403_polso.value == '') ||
	     (frm.f403_spalle.value == '') || (frm.f403_camicia.value == '') ||
	     (frm.f403_torace.value == '') || (frm.f403_punto_vita.value == '') ||
	     (frm.f403_bacino.value == '') ) {

		errori.push('le informazioni sulle misure sono incomplete');
	}
	*/

	if (errori.length == 0) {
		if (frm.f405_id_misure_standard.value == 0 || frm.f405_id_misure_standard.value == '') {
			RegUtenteCheckMisure();
		} else {
			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;
	}


}

function RegUtenteCheckForm3() {

	var errori = new Array();
	var frm = document.forms['registrazione'];

	if (frm.f400_nome.value == '') {
		errori.push('il nome non puo\' essere vuoto');
	}

	if (frm.f400_mail.value == '') {
		errori.push('il campo mail non puo\' essere vuoto');
	}
/*
	if (frm.f400_password) {
		if (frm.f400_password.value.length < 6) {
			errori.push('la password deve essere lunga almeno 6 caratteri');
		}
		if (frm.f400_password.value == frm.f400_username.value) {
			errori.push('la password non puo\' essere uguale allo username');
		}
	}
*/
	if (errori.length == 0) {
		if (frm.f405_id_misure_standard.value == 0 || frm.f405_id_misure_standard.value == '') {
			RegUtenteCheckMisure();
		} else {
			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, f400_id_utenti) {

  // 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", "/ecommerce/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();
          } else if (user_available == 'ok2') {
		  	RegUtenteCheckForm3();
		  } else {
          	alert('username non disponibille!\nindicare uno username diverso');
          }
        }
      }
    }

    // invio richiesta
//    if (f400_id_utenti) {
    	ajax.send("username="+username+"&f400_id_utenti="+f400_id_utenti);
/*    } else {
		ajax.send("username="+username);
	}
*/
  }

}

// verifico la congruitā delle misure imputate, via AJAX
function RegUtenteCheckMisure() {

  // variabili di funzione
  var
    // assegnazione oggetto XMLHttpRequest
    ajax = assegnaXMLHttpRequest(),
    frm = document.forms['registrazione'];

	//alert(document.registrazione.f403_altezza_persona.value);
  // se tutte le misure sono null.... allora non faccio nessun controllo !
  if ( (frm.f403_altezza_persona.value == '') && (frm.f403_collo.value == '') &&
	     (frm.f403_manica.value == '') && (frm.f403_polso.value == '') &&
	     (frm.f403_spalle.value == '') && (frm.f403_camicia.value == '') &&
	     (frm.f403_torace.value == '') && (frm.f403_punto_vita.value == '') &&
	     (frm.f403_bacino.value == '') ) {

		frm.submit();
		return;
  }

  // se l'oggetto XMLHttpRequest non č nullo
  if(ajax) {

    // impostazione richiesta asincrona in GET
    // del file specificato
    ajax.open("post", "/ecommerce/utenti_registrazione_check_misure.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);
          if (ajax.responseText == 'ok') {
          	frm.submit();
          	return;
          }
          else {
          	var errore = 'ATTENZIONE: verificare la correttezza delle misure inserite,\nin particolare di:\n\n';
          	errore = errore + ajax.responseText + '\nScegliere OK / CONFERMA per proseguire confermando le misure inserite,\naltrimenti scegliere ANNULLA\n\n';
          	if (confirm(errore)) {
          		frm.submit();
          		return;
          	};
          }
        }
      }
    }

    // invio richiesta
    var collo = frm['f403_collo'].value;
	var spalle = frm['f403_spalle'].value;
	var polsi = frm['f403_polso'].value;
	var maniche = frm['f403_manica'].value;
	var torace = frm['f403_torace'].value;
	var punto_vita = frm['f403_punto_vita'].value;
	var lunghezza = frm['f403_camicia'].value;
	var bacino = frm['f403_bacino'].value;
    ajax.send("collo="+collo+"&spalle="+spalle+"&polsi="+polsi+"&maniche="+maniche+"&torace="+torace+"&punto_vita="+punto_vita+"&lunghezza="+lunghezza+"&bacino="+bacino);
  }

}