function formValidate(theForm){
// ------------------------------------------------------------------------------------------------
// funzione di controllo per i campi del modulo Registra.htm e Modifica.htm del servizio SrvAccount
// ------------------------------------------------------------------------------------------------	
var Is_RSM
	Is_RSM = false
	
	 // Controlla che il campo Email non sia vuoto
	if (theForm.email.value.replace(/^\s+|\s+$/,'') == "") {
		alert("Inserire il campo \"E-mail\".");
		theForm.email.focus();
		return (false);
	}else{
		Filtro = /^([a-zA-Z0-9&_\.\-]{2,})+\@(([a-zA-Z0-9&\-]{2,})+\.)+(([a-zA-Z]{2,2})|([0-9]{2,3})|(com)|(net)|(edu)|(mil)|(gov)|(org)|(biz)|(mp3)|(law)|(ltd)|(inc)|(xxx)|(med)|(info)|(name)|(club)|(shop)|(tech)|(sport)|(family)|(travel))$/;
		if (!Filtro.test(theForm.email.value.replace(/(\s+)$/,'').replace(/^(\s+)/,''))){
			alert("L'indirizzo E-mail inserito non è valido!");
			theForm.email.focus();
			return (false);
		 }else{
			theForm.email.value = theForm.email.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'')
		 }
	}
		// Controlla che il campo Password non sia vuoto
	if (theForm.password.value.replace(/^\s+|\s+$/,'') == ""){
		alert("Inserire il campo \"Password\".");
		theForm.password.focus();
		return (false);
	}else{
		theForm.password.value = theForm.password.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'')
	}
		// Controlla che il campo Ripeti Password non sia vuoto
	if (theForm.repassword.value.replace(/^\s+|\s+$/,'') == ""){
		alert("Inserire il campo \"Ripeti Password\".");
		theForm.repassword.focus();
		return (false);
	}else{
		theForm.repassword.value = theForm.repassword.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'')
	}

    if (theForm.password.value != theForm.repassword.value) {
		alert("Le due Password sono diverse. Ripeti!");
		theForm.repassword.focus();
		return (false);
	}
	// Controlla che il campo Tipo Utente sia stato selezionato 
	if (theForm.tipo_utente.selectedIndex < 0){
		alert("Selezionare il \"Tipo Utente\".");
		theForm.tipo_utente.focus();
		return (false);
	}

	// Esclude la prima opzione di selezione del campo Tipo Utente
	if (theForm.tipo_utente.selectedIndex == 0){
		alert("Scegliere una selezione valida di \"Tipo Utente\".");
		theForm.tipo_utente.focus();
		return (false);
	}
  
	// Controlla che il campo Denominazione/Ragione Sociale non sia vuoto
	if (theForm.denominazione.value.replace(/^\s+|\s+$/,'') == ""){
		alert("Inserire il campo \"Denominazione\".");
		theForm.denominazione.focus();
		return (false);
	}else{
		theForm.denominazione.value = theForm.denominazione.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'')
	}

    // Se il campo persona di riferimento non è vuoto toglie gli spazi
	if (theForm.riferimento.value.replace(/^\s+|\s+$/,'') != ""){
		theForm.riferimento.value = theForm.riferimento.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'')
	}
	
	/* Controlla che il campo Indirizzo non sia vuoto
	if (theForm.indirizzo.value.replace(/^\s+|\s+$/,'') == ""){
		alert("Inserire il campo \"Indirizzo\".");
		theForm.indirizzo.focus();
		return (false);
	}else{
		theForm.indirizzo.value = theForm.indirizzo.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'')
	} */
	
	// Controlla che il campo C.A.P. non sia vuoto
	if (theForm.cap.value.replace(/^\s+|\s+$/,'') == ""){
		alert("Inserire il campo \"C.A.P.\".");
		theForm.cap.focus();
		return (false);
	}else{
		// Controlla che nel campo C.A.P. siano inserite solo cifre e almeno 5
		if (!theForm.cap.value.match(/\d{5}/)){
		    theForm.cap.value = theForm.cap.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'')
			alert("Il C.A.P. non è valido!");
			theForm.cap.focus();
			return (false);
		}
	}

	// Controlla che il campo Città non sia vuoto
	if (theForm.citta.value.replace(/^\s+|\s+$/,'') == ""){
		alert("Inserire il campo \"Città\".");
		theForm.citta.focus();
		return (false);
	}else{
		// Controlla che nel campo Città siano presenti solo lettere e spazi
		//if (theForm.CITTA.value.match(/[!"$%&()*+,-./:;<=>?@[\]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹Ž‘’“”•–—˜™š›œžŸ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßâãäåæçêëíîïðñóôõö÷øúûüýþÿ]/) || theForm.CITTA.value.match(/\d/)) 
		if (theForm.citta.value.match(/[!"$%&*+,/:;<=>?@[\]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹Ž‘’“”•–—˜™š›œžŸ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßâãäåæçêëíîïðñóôõö÷øúûüýþÿ]/) || theForm.citta.value.match(/\d/)){
			alert("La città inserita non è valida!");
			theForm.citta.focus();
			return (false);
		}else{
			theForm.citta.value = theForm.citta.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'')
			Is_RSM = (theForm.citta.value.replace(/\s/g,'').toUpperCase().indexOf("SANMARINO")>-1)
		}
	}

	// Se la città inserita è diversa dalla repubblica di San Marino
	if (!Is_RSM){
		// Controlla che il campo Provincia sia stato selezionato 
		if (theForm.sigla_prov.selectedIndex < 0){
			alert("Selezionare una \"Provincia\".");
			theForm.sigla_prov.focus();
			return (false);
		}

		// Esclude la prima opzione di selezione del campo Provincia
		if (theForm.sigla_prov.selectedIndex == 0){
			alert("Scegliere una selezione valida di \"Provincia\".");
			theForm.sigla_prov.focus();
			return (false);
		}


    // Controlla che i due codici promozionali siano uguali
    if (theForm.promozione.value != theForm.promozione2.value) {
		alert("I due codici promozionali sono diversi. Ripeti!");
		theForm.promozione2.focus();
		return (false);
	}


		/* Controlla che il campo IVA non sia vuoto
		if (theForm.piva_codfisc.value.replace(/^\s+|\s+$/,'') == ""){
			alert("Inserire il campo \"Partita IVA o Codice Fiscale\".");
			theForm.piva_codfisc.focus();
			return (false);
		}else{
			// Controlla che la lunghezza del valore inserito nel campo IVA   sia pari a 11 oppure a 16
			if (theForm.piva_codfisc.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'').length != 11 && theForm.piva_codfisc.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'').length != 16){
				alert("Inserire 11 caratteri per la Partita IVA oppure 16 caratteri per il Codice Fiscale");
				theForm.piva_codfisc.focus();
				return (false);
			}
			// Controlla che il codice fiscale sia corretto
			else if (theForm.piva_codfisc.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'').length == 16 && !(theForm.piva_codfisc.value.match(/\b(^([a-z]{6})\B([0-9]{2})\B([a-z]{1})\B([0-9]{2})\B([a-z]{1})\B([0-9]{3})\B([a-z]{1})$)\b/gi))){
  				alert("Il codice fiscale inserito non è valido!");
				theForm.piva_codfisc.focus();
				return (false);
			}
			// Controlla che nella partita iva siano inseriti solo cifre
			else if (theForm.piva_codfisc.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'').length == 11 && !(theForm.piva_codfisc.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'').match(/\b(^([0-9]{11})$)\b/g))){
  				alert("La partita IVA inserita non è valida!");
				theForm.IVA.focus();
				return (false);
			}else{
				theForm.piva_codfisc.value = theForm.piva_codfisc.value.replace(/(\s+)$/,'').replace(/^(\s+)/,'')
			}
		} */
	} 
	
	/* Controlla che il campo Telefono non sia vuoto
	if (theForm.telefono.value.replace(/^\s+|\s+$/,'') == ""){
		alert("Inserire il campo \"Telefono\".");
		theForm.telefono.focus();
		return (false);
	}else{
		// Controlla che nel campo Telefono siano inserite solo cifre e che il numero telefonico sia nel formato "pref/num"
		filtro = /^([0-9])+\/([0-9])+$/
		if(!filtro.test(theForm.telefono.value.replace(/\s/g,''))){
			alert("Inserire solo cifre e scrivere il numero telefonico nel formato \"pref/num\"");
			theForm.telefono.focus();
			return (false);
		}else{
			theForm.telefono.value = theForm.telefono.value.replace(/\s/g,'')
		}
	} */
	

  
    return (true);
} 
