function trim(a){
  return a.replace(/^\s+/,'').replace(/\s+$/,'')
}

function ModForm(frm) {
    if (frm == 'P') {
	    document.forms['frm_register'].elements['ragionesociale'].disabled = true;
	    document.forms['frm_register'].elements['ragionesociale'].className = 'textboxdisabled';
	    document.forms['frm_register'].elements['partitaiva'].disabled = true;
	    document.forms['frm_register'].elements['partitaiva'].className = 'textboxdisabled';
	    document.forms['frm_register'].elements['codicefiscale'].disabled = false;
	    document.forms['frm_register'].elements['codicefiscale'].className = 'textbox';
    } else {
	    document.forms['frm_register'].elements['ragionesociale'].disabled = false;
	    document.forms['frm_register'].elements['ragionesociale'].className = 'textbox';
	    document.forms['frm_register'].elements['partitaiva'].disabled = false;
	    document.forms['frm_register'].elements['partitaiva'].className = 'textbox';
	    //Nuova norma fiscale oltre alla Partita IVA anche il CF nel caso di azienda
	    document.forms['frm_register'].elements['codicefiscale'].disabled = false;
	    document.forms['frm_register'].elements['codicefiscale'].className = 'textbox';
    }
}

function Controlla() {
	var err=0;
	var msg='Sono stati riscontrati i seguenti errori di inserimento:\n\n';

	if (document.frm_register.tipoprivato.checked) {
		var lencf = trim(document.frm_register.codicefiscale.value)
		if ((trim(document.frm_register.codicefiscale.value) == "") || (lencf.length < 16) || (lencf.indexOf(' ') > -1)) {
			var err=1;
			var msg=msg+'- Codice fiscale non indicato o non corretto'+'\n';
		}
	}

	if (document.frm_register.tipoazienda.checked) {
		var leniva = trim(document.frm_register.partitaiva.value)
		if ((trim(document.frm_register.partitaiva.value) == "") || (leniva.length < 11)) {
            var err=1;
            var msg=msg+'- Partita IVA non indicata o non corretta'+'\n';
        }
		var lencfaz = trim(document.frm_register.codicefiscale.value)
		if (trim(document.frm_register.codicefiscale.value) == "") {
			var err=1;
			var msg=msg+'- Codice fiscale non indicato (obbligatorio per titolari di partita iva)'+'\n';
		} else {
		    if (!((lencfaz.length == 16) || (lencfaz.length == 11))) {
    			var err=1;
    			var msg=msg+'- Codice fiscale non corretto, 11 numeri per la partita IVA o 16 caratteri per il codice fiscale'+'\n';
		    }
		}
	}

	if (trim(document.frm_register.nome.value) == "") {
        var err=1;
        var msg=msg+'- Nome non indicato'+'\n';
    }
	if (trim(document.frm_register.cognome.value) == "") {
        var err=1;
        var msg=msg+'- Cognome non indicato'+'\n';
    }
	if (trim(document.frm_register.indirizzo.value) == "") {
        var err=1;
        var msg=msg+'- Indirizzo non indicato'+'\n';
    }
	if (trim(document.frm_register.citta.value) == "") {
        var err=1;
        var msg=msg+'- Citta non indicata'+'\n';
    }
	if (trim(document.frm_register.password1.value) == "" || trim(document.frm_register.password2.value) == "" || (trim(document.frm_register.password1.value) != trim(document.frm_register.password2.value))) {
        var err=1;
        var msg=msg+'- Indicare in modo corretto la password'+'\n';
    }
	if (trim(document.frm_register.telefono.value) == "") {
        var err=1;
        var msg=msg+'- Indicare un recapito telefonico'+'\n';
    }
	if (document.frm_register.email.value == "") {
        var err=1;
        var msg=msg+'- Non hai indicato il tuo indirizzo email'+'\n';
    } else {
        var x = document.frm_register.email.value;
        var filter  = /^([a-zA-Z0-9_\.\-\'])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
        if (filter.test(x))
            var emailgiusto=1;
        else {
            var err=1;
            var msg=msg+'- L\'indirizzo email ha un formato non corretto'+'\n';
        }
    }
	if (document.frm_register.nonaccetto && document.frm_register.nonaccetto.checked) {
        var err=1;
        var msg=msg+'- Non e\' possibile accettare la registrazione se non viene dato il consenso al trattamento dei dati personali'+'\n';
    }

    if (err == 0) {
        return true;
    } else {
        var msg=msg+'\n'+'Corregere i dati prima di procedere';
        alert(msg);
        return false;
    }
}