﻿

// funzione per passare al canale del dettaglio del prodotto postandogli i dati
	function openDetail(pCod, idCat, idCol, chDest){
		if(g_frm!=null){
			// if(chDest==null)chDest=4.3;
			g_frm.action = 'inside3.aspx?ch=' + chDest + '&idCat=' + idCat + '&idCol=' + idCol +'&pCod=' + pCod;
			g_frm.submit();
		}
	}


// funzione per passare al canale del dettaglio del prodotto postandogli i dati
	function openDetail_inside3b(pCod, idCat, idCol, chDest){
		if(g_frm!=null){
			// if(chDest==null)chDest=4.3;
			g_frm.action = 'inside3b.aspx?ch=' + chDest + '&idCat=' + idCat + '&idCol=' + idCol +'&pCod=' + pCod;
			g_frm.submit();
		}
	}


// funzione per passare al canale del dettaglio del prodotto postandogli i dati
	function openDetail_gruppo(pCod, idCat, idCol, chDest){
		if(g_frm!=null){
		    // if(chDest==null)chDest=4.3;
			g_frm.action = 'inside3.aspx?ch=' + chDest + '&idCat=' + idCat + '&idCol=' + idCol +'&pCod=' + pCod;
			g_frm.submit();
		}
	}


// funzione per passare al canale del dettaglio del prodotto postandogli i dati
	function openDetail_gruppo_inside3b(pCod, idCat, idCol, chDest){
		if(g_frm!=null){
			// if(chDest==null)chDest=4.3;
			g_frm.action = 'inside3b.aspx?ch=' + chDest + '&idCat=' + idCat + '&idCol=' + idCol +'&pCod=' + pCod;
			g_frm.submit();
		}
	}
	

// 
	function sort(col){
		if(g_frm!=null){
			var oldCol = g_frm.ob.value;
			var oldDir = g_frm.od.value;
			
			if(oldCol==col){
				if(g_frm.od.value == 'ASC' || g_frm.od.value == '')g_frm.od.value='DESC';
				else g_frm.od.value = 'ASC';
			}else{
				g_frm.ob.value = col;
				g_frm.od.value = 'ASC';
			}
			g_frm.page.value = 1;
			g_frm.submit();
		}
	}



// funzione per navigare il catalogo di pagina in pagina (usato nel dettaglio prodotto)
	function sgumma(pCod, idCat, idCol){
		g_frm.action += '&idCol=' + idCol + '&pCod=' + pCod;
		g_frm.submit();
	}



// funzione per navigare il catalogo di pagina il pagina (usato nella lista dei prodotti)
	function goPage_news(p){
		g_frm.page.value = p;
		g_frm.submit();
	}



// funzione per creazione automatica degli option della select che elenca la qta disponibile di un prodotto
	function insOpt(nOpt,idSlc) {
		var i;
		var y;
		var objSel = document.getElementById(idSlc);
		
		for (i = 0; i < nOpt; i++) {
			y = i + 1;
			objSel.options[i] = new Option(y,y);
		}
	}







//
// INIZIO - carrello
//

	// 
		getForm.formName = '';
		function getForm() { 
			return document.forms[getForm.formName]; 
		}


	// 
		function getCurrent(cod){
			var frm = getForm();
			var n = frm.firstChild;
			
			while(n!=null&&n.name!=('n_'+cod)){
				n = n.nextSibling;
			}
			
			return n;
		}
		
		function getCurrentCodiceTemplate(cod){
			var frm = getForm();
			var n = frm.firstChild;
			
			while(n!=null&&n.name!=('codTemplate_'+cod)){
				n = n.nextSibling;
			}
			
			return n;
		}
		
		
	// funzione per controllo delle altezze e per SETTARE il valore dell hidden del form
	    function setAltezze(objTxt){
		    var frm = getForm();
			var altezza;
			
			if (objTxt.value == '') {
			    altezza = '1';
			} else {
			    altezza = objTxt.value;
			}
			
			
			// setto hidden alt_ di tutti i prodotti con l'altezza selezionata nella select
			document.frmAggiungi['altezza'].value = altezza;
			
			return true;
		}
		
		
	// funzione per controllo della qta e per SETTARE il valore dell hidden del form
		function setQty(cod, objTxt, azzeraCampi){
		    var frm = getForm();
			var qty = parseInt(objTxt.value, 10);
			var bRet = false;
			var emptyFields = true;
			
			//Il parametro azzeraCampi non viene passato da tutti gli ecommerce quindi
			//potrebbe essere di tipo 'undefined'
			if (typeof(azzeraCampi) == 'undefined') {
			    emptyFields = true;
			} else {
			    if (azzeraCampi == false) { emptyFields = false; }
			}
			
			// azzero hidden n_ di tutti i prodotti altrimenti rimangono le vecchie qta
			if(isArray(frm.prodCodice) == true) {
				for(var i=0;i<frm.prodCodice.length;i++) {
					o = getCurrent(frm.prodCodice[i].value);
					if (emptyFields == true) {
					    o.value = 0;
					}
				}
			}
			else {
				o = getCurrent(frm.prodCodice.value);
				o.value = 0;	
			}
			
			// setto hidden del prodotto in input
			if(objTxt.value!=''){
				if(isNaN(qty)||qty<1){
					alert('Verificare la quantita\' inserita');
					objTxt.select();
					objTxt.focus();
					bRet = false;
				}else{
					objTxt.value = qty;
					var o = getCurrent(cod);
					o.value = qty;
					bRet = true;
				}
			}else{
			    objTxt.value = '';
				var o = getCurrent(cod);
				o.value = '';
				bRet = true;
			}
			
			
			
			if(isArray(frm.prodCodice) == true) {
				for(var i=0;i<frm.prodCodice.length;i++) {
					o = getCurrent(frm.prodCodice[i].value);
					if (o.value=='') {o.value = 0};					
				}
			}
			else {
				o = getCurrent(frm.prodCodice.value);
				if (o.value=='') {o.value = 0};
			}
			
			return bRet;
		}
		
		
		function setQty_specialeEvoluzione(cod, altezza, codiceTemplate, objTxt){
		    var frm = getForm();
			var qty = parseInt(objTxt.value, 10);
			
			frm['n_'+cod+'|'+altezza].value = qty;
		}
		
	
	//
		function delProdotto(cod) {
			if(confirm('Eliminare il prodotto dal carrello?')) {
			
				var o = getCurrent(cod);
				
				if(o!=null) {
					o.value = -1;
					o.form.submit();
					
				}
			}
		}
	
	
	    function delProdotto_specialeEvoluzione(cod, altezza) {
			if(confirm('Eliminare il prodotto dal carrello?')) {
			
				var o = getCurrent(cod+'|'+altezza);
				
				if(o!=null) {
					o.value = -1;
					o.form.prodotto.value=cod;
					o.form.altezza.value=altezza;
					o.form.actType.value='del';
					o.form.submit();
				}
			}
		}
	
	// funzione sotto al tasto 'add to bag'
		function addCarrello(avery){
			var frm = getForm();
			var o;
			var qty;
			var alt;
			var tot = 0;
			var qtyMultiplo = 10;
			var isAvery = 'false';
			var isMultiplo = 'true';
			var continua = 'true';
			var codiceNonMultiplo = '';
			
			//Se sto acquistando un avery :
			//  1)  Deve essere selezionata l'altezza dell'avery
			//  2)  Possono essere acquistati solo multipli di 10
			
			try {
			    if (avery == undefined) {
			        isAvery = 'false';
			    } else {
			        isAvery = avery;
			    }
			} catch (e) {
			    isAvery = false;
			}
			
			//Per ulteriore sicurezza
			if (isAvery != 'true') { isAvery = 'false' }
			
			if(isArray(frm.prodCodice) == true){
				for(var i=0;i<frm.prodCodice.length;i++){
					o = getCurrent(frm.prodCodice[i].value);
					qty = parseInt(o.value, 10);
					if(!(isNaN(qty)||qty<1))tot = tot + qty;
					
					if (isAvery == 'true') { 
					    if (qty % qtyMultiplo != '0') {
					        isMultiplo = 'false'
					        codiceNonMultiplo = frm.prodCodice[i].value;
					        //Esco dal for per segnalare il primo errore riscontrato 
					        //ed evitare di proseguire nel ciclo
					        break;
					    }
					}
				}
			}else{
				o = getCurrent(frm.prodCodice.value);
				qty = parseInt(o.value, 10);
				if(!(isNaN(qty)||qty<1))tot = tot + qty;

				if (isAvery == 'true') { 
				    if (qty % qtyMultiplo != '0') {
				        isMultiplo = 'false';
				        codiceNonMultiplo = frm.prodCodice.value;
				    }
				}
			}
			
			if (isAvery == 'true') {
			    //STO ACQUISTANDO UN PRODOTTO DI TIPO AVERY (EVOLUZIONE CARTA)
			    //  1)  Deve essere selezionata l'altezza dell'avery
			    if (document.frmAltezza.altezzaAvery.value == '') { 
			        alert ('Seleziona altezza Avery');
			        document.frmAltezza.altezzaAvery.focus();
			        continua = 'false';
			    } else {
			        //  2)  Possono essere acquistati solo multipli di 10
			        if (isMultiplo == 'false') { 
			            alert ('Prodotto ' +codiceNonMultiplo+ ' selezionare una quantità multipla di 10 metri lineari');
			            continua = 'false';
			        }
			    }
			}
		
		    if (continua == 'true') {
		        if(tot>0){
    		        //Passo al carrello e procedo con l'acquisto
			        getForm().submit();
		        }else{
				    alert('Attenzione: selezionare la quantita\' che si desidera acquistare.');
			    }
			}
		}
	
	
	// funzione sotto al tasto 'aggiorna'
		function updCarrello(objPromo) {
		   	getForm().promozione.value = objPromo.value;
			getForm().submit();
		}
		
	// funzione sotto al tasto 'aggiorna'
		function updCarrello_specialeEvoluzione(objPromo, eseguiSubmit) {
		    var frm = getForm();
		    var qty;
			var template;
			var qtyMultiplo = 10;
			var eccezione = 'false';
			var codiceNonMultiplo = '';
			
			//provenienza = 1   -->     aggiorna il carrello
			//provenienza = 2   -->     prosegui con l'acquisto
			
		    if(isArray(frm.prodCodice) == true){
				for(var i=0;i<frm.prodCodice.length;i++){
					//o contiene la quantita
					o = getCurrent(frm.prodCodice[i].value);
					//t contiene il template
					t = getCurrentCodiceTemplate(frm.prodCodice[i].value);
					qty = parseInt(o.value, 10);
					template = parseInt(t.value, 10);
					
					if (template == 4) { 
					    if (qty % qtyMultiplo != '0') {
					        eccezione = 'true'
					        codiceNonMultiplo = frm.prodCodice[i].value;
					        break;
					    }
					}
				}
			}else{
				//o contiene la quantita
				o = getCurrent(frm.prodCodice.value);
				//t contiene il template
				t = getCurrentCodiceTemplate(frm.prodCodice.value);
				qty = parseInt(o.value, 10);
				template = parseInt(t.value, 10);
				
				if (template == 4) { 
				    if (qty % qtyMultiplo != '0') {
				        eccezione = 'true'
				        codiceNonMultiplo = frm.prodCodice.value;
				    }
				}
			}
			
			if (eccezione == 'true') { 
			    var item = codiceNonMultiplo.split("|");
			    
	            alert ('Prodotto avery ' +item[0]+ ' con altezza ' +item[1]+ ': selezionare una quantità multipla di 10 metri lineari');
	            continua = 'false';
	        }
		    
		    
	        if (eccezione == 'false') {
	            if (eseguiSubmit == 'true') {
	                getForm().promozione.value = objPromo.value;
		            getForm().submit();
		        }
		    }
		}
//
// FINE - carrello
//




//
// INIZIO - controlli sui dati per la registrazione del cliente
//

    //funzione che copia i dati anagrafici in quelli per la spedizione
    //add upd registrazione 'cartella checkout'
        function copiaDatiSuDestinazione(frm, rag, cog, nom, naz, reg, ind, cap, cit, pro) {
            if (rag != '') {frm.spedRagioneSociale.value = rag};
            if (cog != '') {frm.spedCognome.value = cog};
            if (nom != '') {frm.spedNome.value = nom};
            if (naz != '') {frm.spedNazione.value = naz};
            if (naz=='205') {
                frm.spedRegione.disabled=false
            }else{
                frm.spedRegione.disabled=true
            }
            if (reg != '') {frm.spedRegione.value = reg};
            if (ind != '') {frm.spedIndirizzo.value = ind};
            if (cap != '') {frm.spedCAP.value = cap};
            if (cit != '') {frm.spedCitta.value = cit};
            if (pro != '') {frm.spedProvincia.value = pro};
        }
        
    //funzione che copia i dati anagrafici in quelli per la fatturazione
    //add upd registrazione 'cartella checkout'
        function copiaDatiSuFatturazione(frm, rag, tit, cog, nom, naz, reg, ind, cap, cit, pro, tel, fax, cel, cod, iva) {
            if (tit != '') {frm.fattTitolo.value = tit};
            if (rag != '') {frm.fattRagioneSociale1.value = rag};
            if ((cog != '') || (nom != '')) { 
                frm.fattRagioneSociale1.value = cog+' '+nom;
                }
            frm.fattNazione.value=naz;
            if (naz=='205') {
                frm.fattRegione.disabled = false
            }else{
                frm.fattRegione.disabled  =true
            }
            if (reg != '') {frm.fattRegione.value = reg};
            if (ind != '') {frm.fattIndirizzo.value = ind};
            if (cap != '') {frm.fattCAP.value =  cap};
            if (cit != '') {frm.fattCitta.value = cit};
            if (pro != '') {frm.fattProvincia.value = pro};
            if (tel != '') {frm.fattTelefono.value = tel};
            if (fax != '') {frm.fattFax.value = fax};
            if (cel != '') {frm.fattCellulare.value = cel};
            if (cod != '') {frm.fattCodiceFiscale.value = cod};
            if (iva != '') {frm.fattPartitaIva.value = iva};
        }
        
    //funzione che copia i dati anagrafifi in quelli per la fatturazione
    //add upd registrazione 'cartella personale'
        function copiaDatiAnagraficiSuFatturazione(frm) {   
            frm.fattTitolo.value = frm.anagTitolo.value;
            if (typeof frm.anagRagioneSociale != 'undefined') {
                frm.fattRagioneSociale1.value=frm.anagRagioneSociale.value;
            } else {
                frm.fattRagioneSociale1.value = frm.anagCognome.value+' '+frm.anagNome.value;
            }
            frm.fattIndirizzo.value = frm.anagIndirizzo.value;
            frm.fattCAP.value = frm.anagCAP.value;
            frm.fattNazione.value=frm.anagNazione.value;
            if (frm.anagNazione.value=='205') {
                frm.fattRegione.disabled=false
            }else{
                frm.fattRegione.disabled=true
            }
            frm.fattRegione.value = frm.anagRegione.value;
            frm.fattProvincia.value = frm.anagProvincia.value;
            frm.fattCitta.value = frm.anagCitta.value;
            frm.fattTelefono.value = frm.anagTelefono.value;
            frm.fattFax.value = frm.anagFax.value;
            frm.fattCellulare.value = frm.anagCellulare.value;
            frm.fattCodiceFiscale.value = frm.anagCodFiscale.value;
            frm.fattPartitaIva.value = frm.anagPiva.value;
            }
	
	//funzione che attiva i campi di fatturazione 
	    function attivaDisattivaCampiFatturazione(frm) {
	        if (frm.chkFattura.checked) {
	            frm.btnCopiaAnagrafici.disabled=false;
	            frm.fattTitolo.disabled=false;
                frm.fattRagioneSociale1.disabled=false;
                frm.fattRagioneSociale2.disabled=false;
                frm.fattIndirizzo.disabled=false;
                frm.fattCAP.disabled=false;
                frm.fattNazione.disabled=false;
                frm.fattRegione.disabled=false;
                frm.fattProvincia.disabled=false;
                frm.fattCitta.disabled=false;
                frm.fattTelefono.disabled=false;
                frm.fattFax.disabled=false;
                frm.fattCellulare.disabled=false;
                frm.fattCodiceFiscale.disabled=false;
                frm.fattPartitaIva.disabled=false;
            } else {
                frm.btnCopiaAnagrafici.disabled=true;
                frm.fattTitolo.disabled=true;
                frm.fattRagioneSociale1.disabled=true;
                frm.fattRagioneSociale2.disabled=true;
                frm.fattIndirizzo.disabled=true;
                frm.fattCAP.disabled=true;
                frm.fattNazione.disabled=true;
                frm.fattRegione.disabled=true;
                frm.fattProvincia.disabled=true;
                frm.fattCitta.disabled=true;
                frm.fattTelefono.disabled=true;
                frm.fattFax.disabled=true;
                frm.fattCellulare.disabled=true;
                frm.fattCodiceFiscale.disabled=true;
                frm.fattPartitaIva.disabled=true;
            }
	    }
	//funzione che copia i dati anagrafici in quelli per la spedizione
    //add upd registrazione 'cartella personale'
        function copiaDatiAnagraficiSuSpedizione(frm) {   
            if (typeof frm.anagRagioneSociale != 'undefined') {
                //frm.spedRagioneSociale.value=frm.anagRagioneSociale.value;
            } else {
                frm.spedCognome.value = frm.anagCognome.value;
            }
            frm.spedNome.value = frm.anagNome.value;
            frm.spedIndirizzo.value = frm.anagIndirizzo.value;
            frm.spedCAP.value = frm.anagCAP.value;
            frm.spedNazione.value=frm.anagNazione.value;
            if (frm.anagNazione.value=='205') {
                frm.spedRegione.disabled = false;
            }else{
                frm.spedRegione.disabled = true;
            }
            frm.spedRegione.value = frm.anagRegione.value;
            frm.spedProvincia.value = frm.anagProvincia.value;
            frm.spedCitta.value = frm.anagCitta.value;
            }
            
    //funzione che copia i dati fatturazione in quelli per la spedizione
        function copiaDatiFatturazioneSuSpedizione(frm) {
            if (typeof frm.anagRagioneSociale != 'undefined') {
                //frm.spedRagioneSociale.value = frm.fattRagioneSociale1.value;
            } else {
                frm.spedCognome.value = '';
                frm.spedNome.value = '';
            }
            frm.spedIndirizzo.value = frm.fattIndirizzo.value;
            frm.spedCAP.value = frm.fattCAP.value;
            frm.spedNazione.value=frm.fattNazione.value;
            if (frm.fattNazione.value=='205') {
                frm.spedRegione.disabled = false;
            }else{
                frm.spedRegione.disabled = true;
            }
            frm.spedRegione.value = frm.fattRegione.value;
            frm.spedProvincia.value = frm.fattProvincia.value;
            frm.spedCitta.value = frm.fattCitta.value;
        }
	
	// funzione per controllare i dati dell'INSERIMENTO della registrazione
		function checkForm_regAddUpd(frm){
		    /*
		    Per ognuno dei campi del form esiste un campo "hidden" nel quale viene indicato
		    true/false se il campo deve essere controllato o meno. Il campo hidden ha lo stesso
		    nome del campo form con in più il prefisso "hdn_"
		    
		    DATI ANAGRAFICI
			Elenco campi nel form:
                hdn_anagTitolo,	hdn_anagCognome, hdn_anagNome, hdn_anagNazione, hdn_anagRegione, hdn_anagIndirizzo, 
                hdn_anagCAP, hdn_anagCitta, hdn_anagProvincia, hdn_anagTelefono, hdn_anagFax, hdn_anagCellulare, 
                hdn_chkPrivato, hdn_chkProfessionista, hdn_anagCodFiscale, hdn_anagPiva, hdn_special, hdn_profDisc
			*/
			if (typeof (frm.hdn_anagSettoreAttivita) != 'undefined') {
		        if (frm.hdn_anagRagioneSociale.value == "true") { if (!crtlRagioneSociale(frm)) {return false;} }
		    }
			if (frm.hdn_anagTitolo.value == "true") { if (!crtlTitolo(frm)) {return false;} }
			if (frm.hdn_anagCognome.value == "true") { if (!crtlCognome(frm)) {return false;} }
			if (frm.hdn_anagNome.value == "true") { if (!crtlNome(frm)) {return false;} }
			if (frm.hdn_anagNazione.value == "true") { if (!crtlNazione(frm)) {return false;} }
			if (frm.hdn_anagRegione.value == "true") {
			    if (frm.anagNazione.value=='205') { if (!crtlRegione(frm)) {return false;} }
			}
			if (frm.hdn_anagIndirizzo.value == "true") { if (!crtlIndirizzo(frm)) {return false;} }
			if (frm.hdn_anagCAP.value == "true") { if (!crtlCap(frm)) {return false;} }
			if (frm.hdn_anagCitta.value == "true") { if (!crtlCitta(frm)) {return false;} }
			if (frm.hdn_anagProvincia.value == "true") { if (!crtlProvincia(frm)) {return false;} }
			if (frm.hdn_anagTelefono.value == "true") { if (!crtlTelefono(frm)) {return false;} }
			if (frm.hdn_anagFax.value == "true") { if (!crtlFax(frm)) {return false;} }
			if (frm.hdn_anagCellulare.value == "true") { if (!crtlCellulare(frm)) {return false;} }
			
			if (typeof (frm.hdn_IvaEFiscale_normale) == 'undefined') {
			    //entra in cgems perche il campo non esiste
			    if (frm.hdn_chkPrivato.value == "true") { 
			        if(frm.chkPrivato.checked==false && frm.chkProfessionista.checked==false) { 
			            if (frm.hdn_anagCodFiscale.value == "true") { if (!ctrlCodiceFiscale(frm)) {return false;} }
			        }
                    if(frm.chkPrivato.checked==true) { 
                        if (frm.hdn_anagCodFiscale.value == "true") { if (!ctrlCodiceFiscale(frm)) {return false;} }
                    }
                    if(frm.chkPrivato.checked==false && frm.chkProfessionista.checked==true) { 
			            if (frm.hdn_anagCodFiscale.value == "true") { 
			                //In questo caso devo controllare la correttezza del cod fiscale sole se ha 16 caratteri
			                if (!ctrlCodiceFiscale_Professionista(frm)) {return false;} 
			            }
			        }
                } else {
                    //se non esiste il check sono un privato
                    if (frm.hdn_anagCodFiscale.value == "true") { if (!ctrlCodiceFiscale(frm)) {return false;} }
                }
            } else {
                if (frm.hdn_IvaEFiscale_normale.value == 'true') {
                    if (frm.hdn_anagCodFiscale.value == 'true') { if (!ctrlCodiceFiscale_11cr(frm)) {return false;} }
                    if (frm.hdn_anagPiva.value == 'true') { if (!ctrlPartitaIva(frm)) {return false;} }
                }
            }
			
			if (frm.hdn_chkProfessionista.value == "true") { 
			    if(frm.chkProfessionista.checked==true) {
		            if (!ctrlCodiceFiscale_11cr(frm)) { return false; } 
		            else { if (!ctrlPartitaIva(frm)) {return false;} }
			    } 
			} else {
			    //se non esiste il check sono un professionista
			    if (frm.hdn_anagCodFiscale.value == "true") { if (!ctrlCodiceFiscale_11cr(frm)) {return false;} }
			}
			
			if (typeof (frm.hdn_anagSettoreAttivita) != 'undefined') {
		        if (frm.hdn_anagSettoreAttivita.value == "true") { if (!crtlSettoreAttivita(frm)) {return false;} }
		    }
			if (typeof (frm.fileVisuraCamerale) != 'undefined') {
		        if (!TestUploadVisuraCamerale(frm)) {return false;}
		    }
			if (typeof (frm.hdn_anagContatto) != 'undefined') {
		        if (frm.hdn_anagContatto.value == "true") { if (!crtlContatto(frm)) {return false;} }
		    }
			if (typeof (frm.hdn_anagRuoloAzienza) != 'undefined') {
		        if (frm.hdn_anagRuoloAzienza.value == "true") { if (!crtlRuoloAzienza(frm)) {return false;} }
		    }
			
			if (typeof (frm.hdn_special) != 'undefined') {
			    if (frm.hdn_special.value == "true") { if (!crtlSpecializzazione(frm)) {return false;} }
			}
			
			if (typeof (frm.hdn_profDisc) != 'undefined') {
			    if (frm.hdn_profDisc.value == "true") { if (!crtlProfessioneDisciplina(frm)) {return false;} }
			}
			
			/*
			DATI ACCESSO
			Elenco campi nel form:
                hdn_txtLogin, hdn_txtPassword, hdn_txtRePassword, hdn_txtEmail, hdn_chkPassword
            */
			if (frm.hdn_txtLogin.value == "true") { if (!ctrlUsername(frm)) {return false;} }
			if (frm.hdn_chkPassword.value == "true") {
			    if(frm.chkPass.checked) { if (frm.hdn_txtPassword.value == "true") { if (!ctrlPassword(frm)) {return false;} } }
			} else { if (frm.hdn_txtPassword.value == "true") { if (!ctrlPassword(frm)) {return false;} } }
			if (frm.hdn_txtEmail.value == "true") { if (!ctrlMail(frm)) {return false;} }
			
			
			if (frm.chkFattura.checked) { if (!ctrl_fatturazione(frm)) {return false;} }
			if (!ctrl_destinatario(frm)) {return false;}
			
			if (frm.hdn_consenso.value == "true") { if (!crtlPrivacy(frm)) {return false;} }
		    
			return true;
		}


    function TestUploadVisuraCamerale(frm) 
	    {
	    var flagOK = new Boolean(false);
		
		if (frm.fileVisuraCamerale.value != '') {
			var est = frm.fileVisuraCamerale.value.split('.');
			var estLength = est.length;
			est = est[estLength-1]
			est = est.toLowerCase();
			
			var tipoFile = tipoFileByEstensione(est);
		    frm._hdnTipoFile.value = tipoFile;
		    if (tipoFile == '') {
		        flagOK = false;
		        alert("Tipo di file non accettato");
			} else {
			    flagOK = true;
		    }
		}
			
		return flagOK;
		}
		
		
		function tipoFileByEstensione(est) {
	        var tipoFile = '';
    	    
	        switch(est) { 
	            //Tipo FILE 1
	            case 'doc': tipoFile = '1'; break; 
    	        case 'xls': tipoFile = '1'; break; 
    	        case 'txt': tipoFile = '1'; break; 
    	        case 'pdf': tipoFile = '1'; break; 
    	        case 'zip': tipoFile = '1'; break; 
    	        case 'ppt': tipoFile = '1'; break; 
    	        case 'docx': tipoFile = '1'; break; 
    	        case 'xlsx': tipoFile = '1'; break; 
    	        case 'pptx': tipoFile = '1'; break; 
    	        case 'rar': tipoFile = '1'; break; 
    	        case 'avi': tipoFile = '1'; break; 
    	        case 'swf': tipoFile = '1'; break; 
    	        case 'mp3': tipoFile = '1'; break; 
    	        case 'wma': tipoFile = '1'; break; 
    	        case 'wav': tipoFile = '1'; break; 
    	        case 'mpg': tipoFile = '1'; break; 
        	    
    	        //Tipo FILE 2
    	        case 'gif': tipoFile = '2'; break; 
    	        case 'png': tipoFile = '2'; break; 
    	        case 'jpg': tipoFile = '2'; break; 
    	        case 'jpeg': tipoFile = '2'; break; 
    	        case 'tif': tipoFile = '2'; break; 
    	        case 'tiff': tipoFile = '2'; break; 
    	        case 'bmp': tipoFile = '2'; break; 
        	    
    	        default: tipoFile = '1';
    	        }
            
            return tipoFile;
	    }
	
        function updateFatt(frm) {
            var submit;
            
            submit = ctrl_fatturazione(frm);
            
            if (submit) {
                frm.submit();
            }
        }
        
        function updateDest(frm) {
            var submit;
            
            submit = ctrl_destinatario(frm);
            
            if (submit) {
                frm.submit();
            }
        }
        
    // funzione che controlla solo i dati di fatturazione
        function ctrl_fatturazione(frm) {
            /*
			DATI FATTURAZIONE
			Elenco campi nel form:
		        hdn_fattTitolo, hdn_fattRagioneSociale1, hdn_fattRagioneSociale2, hdn_fattNazione, 
		        hdn_fattRegione, hdn_fattIndirizzo, hdn_fattCAP, hdn_fattCitta, hdn_fattProvincia, 
		        hdn_fattTelefono, hdn_fattFax, hdn_fattCellulare, hdn_fattCodFiscale, hdn_fattPartitaIva
	        */
	        if (frm.hdn_fattTitolo.value == "true") { if (!crtlTitoloFatt(frm)) {return false;} }
		    if (frm.hdn_fattRagioneSociale1.value == "true") { if (!crtlRagSoc1(frm)) {return false;} }
		    if (frm.hdn_fattRagioneSociale2.value == "true") { if (!crtlRagSoc2(frm)) {return false;} }
		    if (frm.hdn_fattNazione.value == "true") { if (!crtlNazioneFatt(frm)) {return false;} }
		    if (frm.hdn_fattRegione.value == "true") {
		        if (frm.fattNazione.value=='205') { if (!crtlRegioneFatt(frm)) {return false;} }
		    }
		    if (frm.hdn_fattIndirizzo.value == "true") { if (!crtlIndirizzoFatt(frm)) {return false;} }
		    if (frm.hdn_fattCAP.value == "true") { if (!crtlCapFatt(frm)) {return false;} }
		    if (frm.hdn_fattCitta.value == "true") { if (!crtlCittaFatt(frm)) {return false;} }
		    if (frm.hdn_fattProvincia.value == "true") { if (!crtlProvinciaFatt(frm)) {return false;} }
		    if (frm.hdn_fattTelefono.value == "true") { if (!crtlTelefonoFatt(frm)) {return false;} }
		    if (frm.hdn_fattFax.value == "true") { if (!crtlFaxFatt(frm)) {return false;} }
		    if (frm.hdn_fattCellulare.value == "true") { if (!crtlCellulareFatt(frm)) {return false;} }
		    
		    if (typeof (frm.hdn_IvaEFiscale_normale) == 'undefined') {
		        //CGEMS
		        if (frm.hdn_chkProfessionista.value == "true") { 
		            if(frm.chkProfessionista.checked==true) {
		                if (frm.hdn_fattCodFiscale.value == "true") { if (!ctrlCodiceFiscaleFatt_11cr(frm)) {return false;} }
		                if (frm.hdn_fattPartitaIva.value == "true") { if (!ctrlPartitaIvaFatt(frm)) {return false;} }
		            } else { 
		                if (frm.hdn_fattCodFiscale.value == "true") { if (!ctrlCodiceFiscaleFatt(frm)) {return false;} } 
		            }
		        } else {
		            if (frm.hdn_eProfessionista.value == "true") {
		                if (frm.hdn_fattCodFiscale.value == "true") { if (!ctrlCodiceFiscaleFatt_11cr(frm)) {return false;} }
		                if (frm.hdn_fattPartitaIva.value == "true") { if (!ctrlPartitaIvaFatt(frm)) {return false;} }
		            } else { 
		                if (frm.hdn_fattCodFiscale.value == "true") { if (!ctrlCodiceFiscaleFatt(frm)) {return false;} } 
		            }
		        } 
		    } else {
		        //EVOLUZIONE CARTA
		        if (frm.hdn_IvaEFiscale_normale.value == 'true') {
                    if (frm.hdn_fattCodFiscale.value == 'true') { if (!ctrlCodiceFiscaleFatt_11cr(frm)) {return false;} }
                    if (frm.hdn_fattPartitaIva.value == 'true') { if (!ctrlPartitaIvaFatt(frm)) {return false;} }
                }
            }
            
            return true;		   
		}
		
		// INIZIO
        //
        // VERIFICA DEL CARATTERE DI CONTROLLO DEL CODICE FISCALE 
        //            (ultimo carattere del codice fiscale)
        //

        function chkCarattereDiControllo(codiceFiscale) {
            var sRet = true;
            var v15, v16_in, v16_out, i, sommaPos;
            var arr15 = new Array(15);
            
            codiceFiscale = codiceFiscale.toUpperCase();
            v15 = codiceFiscale.substring(0,15);
            v16_in = codiceFiscale.substring(15,16)
            sommaPos = 0;
            
            // creo array dei 15 caratteri del codice fiscale
            for (i = 0; i < 16; i++) { 
                           arr15[i] = v15.substring(i,i+1)
            }
            
            // si sommano i valori pari e dispari dei caratteri che compongono il codice fiscale
            for (i = 0; i < 16; i++) { 
                           if (i & 1) { 
                                           sommaPos += getCodicePosPari(arr15[i]); 
                           } 
                           else { 
                                           sommaPos += getCodicePosDispari(arr15[i]); 
                           } 
            } 
            
            // si divide il risultato della somma per 26
            // si ricava il resto della divisione
            // si ottiene il carattere di controllo
            v16_out = getCarattereDiControllo(sommaPos %= 26); 
            
            if (v16_in != v16_out) {
                           sRet = false;
            }
            
            return sRet;
        }

    // Tabella per i caratteri in posizione pari.
    function getCodicePosPari(iChar) { 
        switch(iChar) { 
            case 'A': return 0; case '0': return 0; 
            case 'B': return 1; case '1': return 1; 
            case 'C': return 2; case '2': return 2; 
            case 'D': return 3; case '3': return 3; 
            case 'E': return 4; case '4': return 4; 
            case 'F': return 5; case '5': return 5; 
            case 'G': return 6; case '6': return 6; 
            case 'H': return 7; case '7': return 7; 
            case 'I': return 8; case '8': return 8; 
            case 'J': return 9; case '9': return 9; 
            case 'K': return 10; 
            case 'L': return 11; 
            case 'M': return 12; 
            case 'N': return 13; 
            case 'O': return 14; 
            case 'P': return 15; 
            case 'Q': return 16; 
            case 'R': return 17; 
            case 'S': return 18; 
            case 'T': return 19; 
            case 'U': return 20; 
            case 'V': return 21; 
            case 'W': return 22; 
            case 'X': return 23; 
            case 'Y': return 24; 
            case 'Z': return 25; 
        } 
        return false; 
    } 

    // Tabella per i caratteri in posizione dispari
    function getCodicePosDispari(iChar) { 
        switch(iChar) { 
            case 'A': return 1; case '0': return 1; 
            case 'B': return 0; case '1': return 0; 
            case 'C': return 5; case '2': return 5; 
            case 'D': return 7; case '3': return 7; 
            case 'E': return 9; case '4': return 9; 
            case 'F': return 13; case '5': return 13; 
            case 'G': return 15; case '6': return 15; 
            case 'H': return 17; case '7': return 17; 
            case 'I': return 19; case '8': return 19; 
            case 'J': return 21; case '9': return 21; 
            case 'K': return 2; 
            case 'L': return 4; 
            case 'M': return 18; 
            case 'N': return 20; 
            case 'O': return 11; 
            case 'P': return 3; 
            case 'Q': return 6; 
            case 'R': return 8; 
            case 'S': return 12; 
            case 'T': return 14; 
            case 'U': return 16; 
            case 'V': return 10; 
            case 'W': return 22; 
            case 'X': return 25; 
            case 'Y': return 24; 
            case 'Z': return 23; 
        } 
        return false; 
    } 

    // Tabella per i caratteri di controllo
    function getCarattereDiControllo(iSomma) { 
        switch(iSomma) { 
            case 0: return 'A'; 
            case 1: return 'B'; 
            case 2: return 'C'; 
            case 3: return 'D'; 
            case 4: return 'E'; 
            case 5: return 'F'; 
            case 6: return 'G'; 
            case 7: return 'H'; 
            case 8: return 'I'; 
            case 9: return 'J'; 
            case 10: return 'K'; 
            case 11: return 'L'; 
            case 12: return 'M'; 
            case 13: return 'N'; 
            case 14: return 'O'; 
            case 15: return 'P'; 
            case 16: return 'Q'; 
            case 17: return 'R'; 
            case 18: return 'S'; 
            case 19: return 'T'; 
            case 20: return 'U'; 
            case 21: return 'V'; 
            case 22: return 'W'; 
            case 23: return 'X'; 
            case 24: return 'Y'; 
            case 25: return 'Z'; 
        } 
        return false; 
    }

	function ctrlUsername(frm) {
		if(isEmpty(frm.txtLogin.value)){
			alert('Inserire utente');
			frm.txtLogin.focus();
			return false;
		}
		
		return true;
	}

    function ctrlCodiceFiscale(frm) {
        if (frm.anagCodFiscale.value.length < 16){
            alert('Il codice fiscale dati anagrafici deve essere di 16 caratteri');
            frm.anagCodFiscale.focus();
            return false;
        } else {
            if (chkCarattereDiControllo(frm.anagCodFiscale.value) != true) {
            alert('Codice fiscale dati anagrafici errato.');
            frm.anagCodFiscale.focus();
            return false;
            }
        }
        
        return true;
    }
    
    function ctrlPartitaIva(frm) {
   	    var reg = new RegExp('^[0-9]{11}'); 

        if (isEmpty(frm.anagPiva.value)) {
            alert('Inserire la partita Iva nei dati anagrafici');
            frm.anagPiva.focus();
            return false;
        } 
        
        if (!reg.test(frm.anagPiva.value)) {
            alert('Formato partita iva dati anagrafici non corretto (11 numeri)');
            frm.anagPiva.focus();
            return false;
        }
        
        return true;
    }
    
    function ctrlCodiceFiscale_11cr(frm) {
        if (frm.anagCodFiscale.value.length < 11) {
            alert('Il codice fiscale dati anagrafici deve essere almeno di 11 caratteri');
            frm.anagCodFiscale.focus();
            return false;
        }
        return true;
    }
    
    function ctrlCodiceFiscale_Professionista(frm) {
        //In questo caso il codice fiscale può essere o di 11 o di 16 caratteri se inserito
        if (frm.anagCodFiscale.value.length != 16 && frm.anagCodFiscale.value.length != 11) {
            alert('Il codice fiscale deve essere di 11 o 16 caratteri.');
            frm.anagCodFiscale.focus();
            return false;
        }
        if (frm.anagCodFiscale.value.length == 16) {
            if (!ctrlCodiceFiscale(frm)) {return false;}
        }
        return true;
    }
    
    function ctrlPartitaIvaFatt(frm) {
        var reg = new RegExp('^[0-9]{11}'); 

        if (isEmpty(frm.fattPartitaIva.value)) {
            alert('Inserire la partita Iva nei dati fatturazione');
            frm.fattPartitaIva.focus();
            return false;
        } 
        
        if (!reg.test(frm.fattPartitaIva.value)) {
            alert('Formato partita iva dati fatturazione non corretto (11 numeri)');
            frm.fattPartitaIva.focus();
            return false;
        }
        
        return true;
    }
    
    function ctrlCodiceFiscaleFatt_11cr(frm) {
        if (frm.fattCodiceFiscale.value.length < 11){
            alert('Il codice fiscale dati fatturazione deve essere almeno di 11 caratteri');
            frm.fattCodiceFiscale.focus();
            return false;
        }
        
        return true;
    }
    
    function ctrlCodiceFiscaleFatt(frm) {
        if (frm.fattCodiceFiscale.value.length < 16){
            alert('Il codice fiscale dati fatturazione deve essere di 16 caratteri');
            frm.fattCodiceFiscale.focus();
            return false;
        } else {
            if (chkCarattereDiControllo(frm.fattCodiceFiscale.value) != true) {
            alert('Codice fiscale dati fatturazione errato.');
            frm.fattCodiceFiscale.focus();
            return false;
            }
        }
        
        return true;
    }
    
    function ctrlMail(frm) {
        if(!isEmail(frm.txtEmail.value)){
		    alert('Inserire un indirizzo di email valida');
		    frm.txtEmail.focus();
		    return false;
	    }
		
	    return true;
    }

	function ctrlPassword(frm) {
		if(isEmpty(frm.txtPassword.value)||frm.txtPassword.value.length<8){
			alert('Inserire password (min 8 caratteri)');
			frm.txtPassword.focus();
			return false;
		}else{
			if(isEmpty(frm.txtRePassword.value)||(frm.txtRePassword.value!=frm.txtPassword.value)){
				alert('Verifica password');
				frm.txtRePassword.focus();
				frm.txtRePassword.select();
				return false;
			}
		}
		
		return true;
	}		

	function crtlNome(frm) {
		if(isEmpty(frm.anagNome.value)){
			alert('Inserire il nome nei dati anagrafici');
			frm.anagNome.focus();
			return false;
		}
		
		return true;
	}			

	function crtlRagioneSociale(frm) {
		if(isEmpty(frm.anagRagioneSociale.value)){
			alert('Inserire la ragione sociale nei dati anagrafici');
			frm.anagRagioneSociale.focus();
			return false;
		}
		
		return true;
	}

	function crtlTitolo(frm) {
		if(isEmpty(frm.anagTitolo.value)){
			alert('Inserire il titolo nei dati anagrafici');
			frm.anagTitolo.focus();
			return false;
		}
		
		return true;
	}

	function crtlTitoloFatt(frm) {
		if(isEmpty(frm.fattTitolo.value)){
			alert('Inserire il titolo nei dati fatturazione');
			frm.fattTitolo.focus();
			return false;
		}
		
		return true;
	}

	function crtlCognome(frm) {
		if(isEmpty(frm.anagCognome.value)){
			alert('Inserire il cognome nei dati anagrafici');
			frm.anagCognome.focus();
			return false;
		}
		
		return true;
	}

    function crtlCognomeSped(frm) {
		if(isEmpty(frm.spedCognome.value)){
			alert('Inserire il cognome nei dati spedizione');
			frm.spedCognome.focus();
			return false;
		}
		
		return true;
	}
	
	function crtlNomeSped(frm) {
		if(isEmpty(frm.spedNome.value)){
			alert('Inserire il nome nei dati spedizione');
			frm.spedNome.focus();
			return false;
		}
		
		return true;
	}

    function crtlIndirizzo(frm) {
		if(isEmpty(frm.anagIndirizzo.value)){
			alert('Inserire indirizzo nei dati anagrafici');
			frm.anagIndirizzo.focus();
			return false;
		}
		
		return true;
	}

	function crtlCap(frm) {
	    var reg = new RegExp('^[0-9]{5}'); 
        
		if(isEmpty(frm.anagCAP.value)){
			alert('Inserire cap nei dati anagrafici');
			frm.anagCAP.focus();
			return false;
		}
		
		if (!reg.test(frm.anagCAP.value)) {
			alert('Il cap nei dati anagrafici non è valido');
			frm.anagCAP.focus();
			return false;
		}

		return true;
	}

	function crtlCitta(frm) {
		if(isEmpty(frm.anagCitta.value)){
			alert('Inserire la citta\' nei dati anagrafici');
			frm.anagCitta.focus();
			return false;
		}
		
		return true;
	}

	function crtlTelefono(frm) {
		if(isEmpty(frm.anagTelefono.value)){
			alert('Inserire il telefono nei dati anagrafici');
			frm.anagTelefono.focus();
			return false;
		}
		
		return true;
	}

	function crtlNazione(frm) {
		if(frm.anagNazione.selectedIndex==0){
			alert('Scegliere la nazione nei dati anagrafici');
			frm.anagNazione.focus();
			return false;
		}
		
		return true;
	}

	function crtlRegione(frm) {
		if(frm.anagRegione.selectedIndex==0){
			alert('Scegliere la regione nei dati anagrafici');
			frm.anagRegione.focus();
			return false;
		}
		
		return true;
	}

	function crtlProvincia(frm) {
	    var reg = new RegExp('^[a-zA-Z]{2}'); 
	     
		if(isEmpty(frm.anagProvincia.value)){
			alert('Inserire la provincia nei dati anagrafici');
			frm.anagProvincia.focus();
			return false;
		}
		
		if (!reg.test(frm.anagProvincia.value)) {
			alert('La provincia nei dati anagrafici non è valida');
			frm.anagProvincia.focus();
			return false;
		}
		
		return true;
	}

	function crtlFax(frm) {
		if(isEmpty(frm.anagFax.value)){
			alert('Inserire il fax nei dati anagrafici');
			frm.anagFax.focus();
			return false;
		}
		
		return true;
	}

	function crtlCellulare(frm) {
		if(isEmpty(frm.anagCellulare.value)){
			alert('Inserire il cellulare nei dati anagrafici');
			frm.anagCellulare.focus();
			return false;
		}
		
		return true;
	}

	function crtlSettoreAttivita(frm) {
		if(isEmpty(frm.anagSettoreAttivita.value)){
			alert('Inserire il settore di attività nei dati anagrafici');
			frm.anagSettoreAttivita.focus();
			return false;
		}
		
		return true;
	}

	function crtlContatto(frm) {
		if(isEmpty(frm.anagContatto.value)){
			alert('Inserire il contatto nei dati anagrafici');
			frm.anagContatto.focus();
			return false;
		}
		
		return true;
	}

	function crtlRuoloAzienza(frm) {
		if(isEmpty(frm.ruoloAzienda.value)){
			alert('Inserire il ruolo in azienda nei dati anagrafici');
			frm.ruoloAzienda.focus();
			return false;
		}
		
		return true;
	}

	function crtlFaxFatt(frm) {
		if(isEmpty(frm.fattFax.value)){
			alert('Inserire il fax nei dati fatturazione');
			frm.fattFax.focus();
			return false;
		}
		
		return true;
	}

	function crtlCellulareFatt(frm) {
		if(isEmpty(frm.fattCellulare.value)){
			alert('Inserire il cellulare nei dati fatturazione');
			frm.fattCellulare.focus();
			return false;
		}
		
		return true;
	}

	function crtlCodFiscale(frm) {
		if(isEmpty(frm.anagCodFiscale.value)){
			alert('Inserire codice fiscale nei dati anagrafici');
			frm.anagCodFiscale.focus();
			return false;
		}
		
		return true;
	}

	function anagPiva(frm) {
		if(isEmpty(frm.anagPiva.value)){
			alert('Inserire partita iva nei dati anagrafici');
			frm.anagPiva.focus();
			return false;
		}
		
		return true;
	}
	
	function crtlRagSoc1(frm) {
		if(isEmpty(frm.fattRagioneSociale1.value)){
			alert('Inserire la ragione sociale 1 nei dati fatturazione');
			frm.fattRagioneSociale1.focus();
			return false;
		}
		
		return true;
	}			

	function crtlRagSocSped(frm) {
		if(isEmpty(frm.spedRagioneSociale.value)){
			alert('Inserire la ragione sociale nei dati spedizione');
			frm.spedRagioneSociale.focus();
			return false;
		}
		
		return true;
	}			

	function crtlDestinatarioSped(frm) {
		if(isEmpty(frm.spedRagioneSociale.value)){
			alert('Inserire il destinatario dati spedizione');
			frm.spedRagioneSociale.focus();
			return false;
		}
		
		return true;
	}			

	function crtlRagSoc2(frm) {
		if(isEmpty(frm.fattRagioneSociale2.value)){
			alert('Inserire la ragione sociale 2 nei dati fatturazione');
			frm.fattRagioneSociale2.focus();
			return false;
		}
		
		return true;
	}			

	function crtlIndirizzoFatt(frm) {
		if(isEmpty(frm.fattIndirizzo.value)){
			alert('Inserire indirizzo nei dati fatturazione');
			frm.fattIndirizzo.focus();
			return false;
		}
		
		return true;
	}

	function crtlCapFatt(frm) {	
    	var reg = new RegExp('^[0-9]{5}'); 
        
		if(isEmpty(frm.fattCAP.value)){
			alert('Inserire cap nei dati fatturazione');
			frm.fattCAP.focus();
			return false;
		}
		
		if (!reg.test(frm.fattCAP.value)) {
			alert('Il cap nei dati fatturazione non è valido');
			frm.fattCAP.focus();
			return false;
		}
	
		return true;
	}

	function crtlCittaFatt(frm) {
		if(isEmpty(frm.fattCitta.value)){
			alert('Inserire la citta\' nei dati fatturazione');
			frm.fattCitta.focus();
			return false;
		}
		
		return true;
	}
	
	function crtlIndirizzoSped(frm) {
		if(isEmpty(frm.spedIndirizzo.value)){
			alert('Inserire indirizzo nei dati spedizione');
			frm.spedIndirizzo.focus();
			return false;
		}
		
		return true;
	}

	function crtlCapSped(frm) {
	    var reg = new RegExp('^[0-9]{5}'); 
        
		if(isEmpty(frm.spedCAP.value)){
			alert('Inserire cap nei dati spedizione');
			frm.spedCAP.focus();
			return false;
		}
		
		if (!reg.test(frm.spedCAP.value)) {
			alert('Il cap nei dati spedizione non è valido');
			frm.spedCAP.focus();
			return false;
		}
	
		return true;
	}

	function crtlCittaSped(frm) {
		if(isEmpty(frm.spedCitta.value)){
			alert('Inserire la citta\' nei dati spedizione');
			frm.spedCitta.focus();
			return false;
		}
		
		return true;
	}
	
	function crtlProvinciaSped(frm) {
	    var reg = new RegExp('^[a-zA-Z]{2}'); 
	     
		if(isEmpty(frm.spedProvincia.value)){
			alert('Inserire la provincia nei dati spedizione');
			frm.spedProvincia.focus();
			return false;
		}
		
		if (!reg.test(frm.spedProvincia.value)) {
			alert('La provincia nei dati spedizione non è valida');
			frm.spedProvincia.focus();
			return false;
		}
		
		return true;
	}

	function crtlTelefonoFatt(frm) {
		if(isEmpty(frm.fattTelefono.value)){
			alert('Inserire il telefono nei dati fatturazione');
			frm.fattTelefono.focus();
			return false;
		}
		
		return true;
	}

	function crtlNazioneFatt(frm) {
		if(frm.fattNazione.selectedIndex==0){
			alert('Scegliere la nazione nei dati fatturazione');
			frm.fattNazione.focus();
			return false;
		}
		
		return true;
	}

	function crtlRegioneFatt(frm) {
		if(frm.fattRegione.selectedIndex==0){
			alert('Scegliere la regione nei dati fatturazione');
			frm.fattRegione.focus();
			return false;
		}
		
		return true;
	}

    function crtlNazioneSped(frm) {
		if(frm.spedNazione.selectedIndex==0){
			alert('Scegliere la nazione nei dati spedizione');
			frm.spedNazione.focus();
			return false;
		}
		
		return true;
	}

	function crtlRegioneSped(frm) {
		if(frm.spedRegione.selectedIndex==0){
			alert('Scegliere la regione nei dati spedizione');
			frm.spedRegione.focus();
			return false;
		}
		
		return true;
	}

	function crtlProvinciaFatt(frm) {
		var reg = new RegExp('^[a-zA-Z]{2}'); 
	     
		if(isEmpty(frm.fattProvincia.value)){
			alert('Inserire la provincia nei dati fatturazione');
			frm.fattProvincia.focus();
			return false;
		}
		
		if (!reg.test(frm.fattProvincia.value)) {
			alert('La provincia nei dati fatturazione non è valida');
			frm.fattProvincia.focus();
			return false;
		}
		
		return true;
	}

	function crtlCodFiscaleFatt(frm) {
		if(isEmpty(frm.fattCodiceFiscale.value)){
			alert('Inserire codice fiscale nei dati fatturazione');
			frm.fattCodiceFiscale.focus();
			return false;
		}
		
		return true;
	}

	function crtlPIvaFatt(frm) {
		if(isEmpty(frm.fattPartitaIva.value)){
			alert('Inserire partita iva nei dati fatturazione');
			frm.fattPartitaIva.focus();
			return false;
		}
		
		return true;
	}

    function crtlPrivacy(frm) {
		if(!frm.chkPrivacy.checked){
			alert('Acconsentire al trattamento dei dati personali ');
			frm.chkPrivacy.focus();
			return false;
		}
		
		return true;
	}

	function crtlSpecializzazione(frm) {
		if(!isCheckboxChecked(frm.special)){
			alert('Selezionare una specializzazione nei dati anagrafici ');
			return false;
		}
		
		return true;
	}

	function crtlProfessioneDisciplina(frm) {
		if(!isCheckboxChecked(frm.chkProDis)){
			alert('Selezionare una professione/disciplina nei dati anagrafici ');
			return false;
		}
		
		return true;
	}

	function passEnabler(chk){
		var frm = chk.form;
		if(chk.checked){
			frm.txtPassword.disabled = false;
			frm.txtRePassword.disabled = false;
			frm.txtPassword.focus();
		}else{
			frm.txtPassword.disabled = true;
			frm.txtRePassword.disabled = true;
		}
	}
	
//			
// FINE - controlli sui dati per la registrazione del cliente
//




//
// INIZIO - controlli sui dati del destinatario
//

	// 
		function checkForm_userDest_corriere(frm){
			if (!ctrl_destinatario(frm)) {return false;}
			if (!ctrl_corriere(frm)) {return false;}
			if (!ctrl_messaggio(frm)) {return false;}
			
			return true;
		}
		
		
	//
		function aggiornaDestinatario(frm){
			var frm = document.forms['frmSpedizione'];
			
			if (!ctrl_destinatario(frm)) {return false;}
			
			// solo per aggiornare i dati del destinatario
			// frm.updateDest.value='only';
			frm.submit();
	}
	
	
	function ctrl_destinatario(frm) {
	   	/*
		DATI SPEDIZIONE
		Elenco campi nel form:
	        hdn_spedRagioneSociale, hdn_spedCognome, hdn_spedNome, hdn_spedNazione, hdn_spedRegione, 
	        hdn_spedIndirizzo, hdn_spedCAP, hdn_spedCitta, hdn_spedProvincia
		*/
		if (typeof (frm.hdn_spedDestinatario) != 'undefined') {
		    if (frm.hdn_spedDestinatario.value == "true") { if (!crtlDestinatarioSped(frm)) {return false;} }
		}
		if (frm.hdn_spedRagioneSociale.value == "true") { if (!crtlRagSocSped(frm)) {return false;} }
		if (frm.hdn_spedCognome.value == "true") { if (!crtlCognomeSped(frm)) {return false;} }
		if (frm.hdn_spedNome.value == "true") { if (!crtlNomeSped(frm)) {return false;} }
		if (frm.hdn_spedNazione.value == "true") { if (!crtlNazioneSped(frm)) {return false;} }
		if (frm.hdn_spedRegione.value == "true") {
		    if (frm.spedNazione.value=='205') { if (!crtlRegioneSped(frm)) {return false;} }
		}
		if (frm.hdn_spedIndirizzo.value == "true") { if (!crtlIndirizzoSped(frm)) {return false;} }
	    if (frm.hdn_spedCAP.value == "true") { if (!crtlCapSped(frm)) {return false;} }
	    if (frm.hdn_spedCitta.value == "true") { if (!crtlCittaSped(frm)) {return false;} }
	    if (frm.hdn_spedProvincia.value == "true") { if (!crtlProvinciaSped(frm)) {return false;} }
		
		return true;
	}
	
	
	//
		function ctrl_corriere(frm) {
			// verifico selezione corriere
	
			/* commentato visto che Etno ha solo un tipo di spedizione (Fedex)
			if(!(frm.rdoCorriere[0].checked||frm.rdoCorriere[1].checked)){
				alert('Selezionare un corriere.');
				frm.rdoCorriere[0].focus();
				return false;
			}
			*/
			
			/* commentato visto che etno non ha queste opzioni, ma tenute come esempio visto che Self ha queste opzioni
			// verifico consegna disagiata
			if(!(frm.rdoDisagiata[0].checked||frm.rdoDisagiata[1].checked)){
				alert('Indicare se la destinazione è in zone a traffico limitato o con limitazioni di transito.');
				frm.rdoDisagiata[0].focus();
				return false;
			}
	
			// verifico prenotazione
			if(!(frm.rdoPrenotazione[0].checked||frm.rdoPrenotazione[1].checked)){
				alert('Indicare se la consegna è prenotata');
				frm.rdoPrenotazione[0].focus();
				return false;
			}
	
			// verifico consegna al piano
			if(!(frm.rdoConsPiano[0].checked||frm.rdoConsPiano[1].checked)){
				alert('Indicare se la consegna deve essere effettuata al piano.');
				frm.rdoConsPiano[0].focus();
				return false;
			}
			*/
				
			return true;
		}
		
	
	//
		function ctrl_messaggio(frm) {
			var objChk;
			var objText;
			
			objChk = document.getElementById('chkMessaggio')
			objText = document.getElementById('txtMessaggio')
			
			if (objChk.checked) {
				if (objText.value == '') {
					alert('Inserire il messaggio');
					objText.focus();
					return false;
				}
			}
			else {
				objText.value = '';
			}
			
			return true;	
		}




//
// FINE - controlli sui dati del destinatario
//




//
// INIZIO - controlli sui dati del pagamento
//

	// 
		function checkForm_payUpd(frm){
		
			if (!ctrl_pagamento(frm)) {return false;}
					
			return true;
		}
	
	
	// verifico selezione modalit pagamneto
		function ctrl_pagamento(frm) {
			var bRet = true
				
			if (!isCheckboxChecked(frm.rdoTipoPagamento)){
				alert('Selezionare una modalita\' di pagamento');
				bRet = false;
			}
			
			return bRet;
		}

//
// FINE - controlli sui dati del pagamento
//




//
// INIZIO - controlli sul messaggio di auguri
//

	// 
		function vediMessaggio() {
			var objChk;
			var objText;
			
			objChk = document.getElementById('chkMessaggio')
			objText = document.getElementById('txtMessaggio')
			
			if (objChk.checked) {
				objText.style.display='block';
			}
			else {
				objText.style.display='none';
			}
		}
	
	
	// sostituisce la proprieta' maxlength (la textarea non ha maxlength)
		function countLeft(frm,smsBody,objT) {
			var totSMSchar = 400;
			var charsLeft = totSMSchar - smsBody.length;
			// var warning = '';
			
			if (charsLeft < 0) { 
				//tronco
				smsBody = smsBody.substr(0,totSMSchar);
				charsLeft = 0;
				// warning = "Il messaggio Çù stato troncato. numero massimo di caratteri: 160";
				objT.value = smsBody;
			}
			
			// frm.charsLeft.value = charsLeft;
			// frm.smsWarning.value = warning;
		}
		
		
    // sostituisce la proprieta' maxlength (la textarea non ha maxlength)
        function countLeft_II(frm,smsBody,objT,totSMSchar) {
	        var charsLeft = totSMSchar - smsBody.length;
	        // var warning = '';
    		
	        if (charsLeft < 0) { 
		        //tronco
		        smsBody = smsBody.substr(0,totSMSchar);
		        charsLeft = 0;
		        // warning = "Il messaggio Çù stato troncato. numero massimo di caratteri: 160";
		        objT.value = smsBody;
	        }
    		
	        // frm.charsLeft.value = charsLeft;
	        // frm.smsWarning.value = warning;
        }

//
// FINE - controlli sul messaggio di auguri
//


    function swapDivMyHome(sID,liName,ricerca){
    
      var od1 = document.getElementById('homeCatalogo');
	    var od2 = document.getElementById('homeRiviste');
	    var od4 = document.getElementById('homeFormazione');
	    var od5 = document.getElementById('homeDocumenti');
	    //var od6 = document.getElementById('homeWishList');
	    var od7 = document.getElementById('homeDatiPersonali');
	    var od8 = document.getElementById('homeRicerca');
    	
	    od1.style.display = (od1.id==sID)? 'block': 'none';
	    od1.style.position = (od1.id==sID)? 'static': 'absolute';
	    od2.style.display = (od2.id==sID)? 'block': 'none';
	    od2.style.position = (od2.id==sID)? 'static': 'absolute';
	    od4.style.display = (od4.id==sID)? 'block': 'none';
	    od4.style.position = (od4.id==sID)? 'static': 'absolute';
	    od5.style.display = (od5.id==sID)? 'block': 'none';
	    od5.style.position = (od5.id==sID)? 'static': 'absolute';
	    //od6.style.display = (od6.id==sID)? 'block': 'none';
	    //od6.style.position = (od6.id==sID)? 'static': 'absolute';
	    od7.style.display = (od7.id==sID)? 'block': 'none';
	    od7.style.position = (od7.id==sID)? 'static': 'absolute';
		
		
    if (ricerca==false) {
    	var li1 = document.getElementById('liCatalogo');
			var li2 = document.getElementById('liRiviste');
			var li3 = document.getElementById('liFormazione');
			var li4 = document.getElementById('liDocumenti');
			//var li5 = document.getElementById('liWishList');
			var li6 = document.getElementById('liDatiPersonali');
			
			
			li1.className = (li1.id==liName)? 'active': 'absolute';
			li2.className = (li2.id==liName)? 'active': 'absolute';
			li3.className = (li3.id==liName)? 'active': 'absolute';
			li4.className = (li4.id==liName)? 'active': 'absolute';
			//li5.className = (li5.id==liName)? 'active': 'absolute';
			li6.className = (li6.id==liName)? 'active': 'absolute';
			
			od8.style.display = 'none';
			od8.style.position = 'absolute';
			
		} else {
			//faccio vedere solo il div contenente il risultato della ricerca
			od8.style.display = 'block';
			od8.style.position = 'static';
		}
	}


// salvataggio qst
	function saveQstElearning(jsvTotDMD) {
		var i;
		var CodiceRSP;
		
		frm = document.forms['Qst'];
		
		for (i=1; i<=jsvTotDMD; i++) {
			var hNumDmd;
			var objRdoRisposta
			var valoreRdoRisposta;
			
			hNumDmd 				= frm.elements['D_' + i + '_hdnNumDmd'];
			objRdoRisposta	= frm.elements['D_' + i + '_rdoRisposta'];
			
			valoreRdoRisposta = getCheckboxValue(objRdoRisposta)
			
			if (valoreRdoRisposta == '')	{
				alert("Domanda " + hNumDmd.value + " -  Selezionare la risposta");
				return false;
			}
			else {
				frm.elements['D_' + i + '_hdnIdRsp'].value = valoreRdoRisposta;
			}	
		}
		
		if (confirm("Procedere con l'inserimento di questi dati?")) {
			frm._action.value = 'submitQst';
			frm.submit();
		}
	}


// test per redir al sito eFront
	function validate_login_form(frm, vAction) {
	  var value = '';
	  var _qfGroups = {};
		
		value = frm.elements['login'].value;
	  if (value == '') {
	    alert('Il campo \"User\" è obbligatorio');
	    return false;
	  }
	
	  value = frm.elements['password'].value;
	  if (value == '') {
	    alert('Il campo \"Password\" è obbligatorio');
	    return false;
	  }
	
		frm.action = vAction;
		frm.submit();
	}


