/** LIBRERIA AJAX Creata da Stefano Fattori*/
/** Data: 15/04/2009 */

/* =============================================================== INIZIO FUNZIONI AJAX =================================================================================== */
	// funzione per prendere un elemento con id univoco
		function prendiElementoDaId(id_elemento) {
			
			if(document.getElementById)
				elem = document.getElementById(id_elemento);
			else
				elem = document.all[id_elemento];
			return elem;
		};
	
	// funzione per prendere un elemento dalla classe
        function prendiElementoDaClasse(theClass) { //restituisce l'array intero carico di tutti gli elementi appartenenti alla classe specificata
	       //Create an array 
           var allPageTags = new Array(); 
		   var allClass = new Array();
           //Populate the array with all the page tags
           var allPageTags = document.getElementsByTagName("*");
          //Cycle through the tags using a for loop
		  var k = 0;
          for (i=0; i<allPageTags.length; i++) {
              //Pick out the tags with our class name
              if (allPageTags[i].className==theClass) {
              //Manipulate this in whatever way you want
              allClass[k] = allPageTags[i];
			  k++;
              }
          }
		  return allClass;
        }; 

	
	// funzione per assegnare un oggetto XMLHttpRequest
		function assegnaXMLHttpRequest() {
			var
				XHR = null,
				browserUtente = navigator.userAgent.toUpperCase();
			if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
				XHR = new XMLHttpRequest();
			else if(window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) {
				if(browserUtente.indexOf("MSIE 5") < 0)
					XHR = new ActiveXObject("Msxml2.XMLHTTP");
				else
					XHR = new ActiveXObject("Microsoft.XMLHTTP");
			}
			return XHR;
		};


/** OGGETTI / ARRAY */

	// oggetto di verifica stato
		var readyState = {
			INATTIVO:	0,
			INIZIALIZZATO:	1,
			RICHIESTA:	2,
			RISPOSTA:	3,
			COMPLETATO:	4
		};

	// array descrittivo dei codici restituiti dal server
	// [la scelta dell' array è per evitare problemi con vecchi browsers]
		var statusText = new Array();
		statusText[100] = "Continue";
		statusText[101] = "Switching Protocols";
		statusText[200] = "OK";
		statusText[201] = "Created";
		statusText[202] = "Accepted";
		statusText[203] = "Non-Authoritative Information";
		statusText[204] = "No Content";
		statusText[205] = "Reset Content";
		statusText[206] = "Partial Content";
		statusText[300] = "Multiple Choices";
		statusText[301] = "Moved Permanently";
		statusText[302] = "Found";
		statusText[303] = "See Other";
		statusText[304] = "Not Modified";
		statusText[305] = "Use Proxy";
		statusText[306] = "(unused, but reserved)";
		statusText[307] = "Temporary Redirect";
		statusText[400] = "Bad Request";
		statusText[401] = "Unauthorized";
		statusText[402] = "Payment Required";
		statusText[403] = "Forbidden";
		statusText[404] = "Not Found";
		statusText[405] = "Method Not Allowed";
		statusText[406] = "Not Acceptable";
		statusText[407] = "Proxy Authentication Required";
		statusText[408] = "Request Timeout";
		statusText[409] = "Conflict";
		statusText[410] = "Gone";
		statusText[411] = "Length Required";
		statusText[412] = "Precondition Failed";
		statusText[413] = "Request Entity Too Large";
		statusText[414] = "Request-URI Too Long";
		statusText[415] = "Unsupported Media Type";
		statusText[416] = "Requested Range Not Satisfiable";
		statusText[417] = "Expectation Failed";
		statusText[500] = "Internal Server Error";
		statusText[501] = "Not Implemented";
		statusText[502] = "Bad Gateway";
		statusText[503] = "Service Unavailable";
		statusText[504] = "Gateway Timeout";
		statusText[505] = "HTTP Version Not Supported";
		statusText[509] = "Bandwidth Limit Exceeded";
// ----------------------------------------------------------------------------------------------------------------------------------------------------------
		
// ======== INVIA DATI CON METODO POST E CREA L'URL CON LE VARIABILI PASSATE NELL'ARRAY (POSSIBILITA' DI PASSAGGIO DI UNA VARIABILE SINGOLA EXTRA) ========
  function AjaxInviaDatiPost(elemento,url,variabili,variabileExtra) {  //ELEMENTO = elemento restituito da PrendiElementoDaId(); | URL = pagina di richiesta | VARIABILI = da inviare 
     ajax = assegnaXMLHttpRequest(); //attiva l'oggetto AJAX
     if(ajax){    // SE AJAX è SUPPORTATO ESEGUI TUTTO
             
        ajax.open("post", url, true); // APRE LA CONNESSIONE PER INVIO POST
        ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded"); // IMPOSTA IL GIUSTO HEADER PER IL POST
        //ajax.setRequestHeader("Content-Type", "multipart/form-data");

        ajax.setRequestHeader("connection", "close"); // ulteriore header consigliato per richieste get o post da scrivere prima di utilizzare send
       
        ajax.onreadystatechange = function() { // FUNZIONE CHE SI ATTIVA QUANDO AJAX CAMBIA STATO
            
          if(ajax.readyState === readyState.COMPLETATO) {  // VERIFICA DELLO STATO
                   
                    // VERIFICA DELLA RISPOSTA DA PARTE DEL SERVER
                   if(statusText[ajax.status] === "OK") {     // OPERAZIONE AVVENUTA CON SUCCESSO
                       verificaRisultatoAjax(ajax.responseText,elemento,variabileExtra)   
                   }
                   else {                                     // è AVVENUTO QUALCHE ERRORE NELLA RICHIESTA EFFETTUATA DA AJAX			   
					   showDialog('Errore',"Impossibile effettuare l'operazione richiesta.<br />Errore riscontrato: " + statusText[ajax.status] + "<br /><br /> Il server potrebbe essere sovraccarico, attendere qualche minuto e riprovare e verificare la connessione internet",'error'); //visualizza la dialogbox
					   
                   }
         } // end if COMPLETATO
        } //end function onreadystatechange
        
    /* ================ CREAZIONE URL PER INVIO VARIABILI ================ */
     var dataSend = "";
    if(variabili.length>0){
     for(var cont=0;cont<variabili.length;cont+=2){
        if(cont == 0){
           dataSend = variabili[cont] + "=" + variabili[cont+1];
        }
        else if(cont > 0){
           dataSend = dataSend + "&" + variabili[cont] + "=" + variabili[cont+1];
        }
     }
    }    
    /* ==================================================================== */
    
     ajax.send(dataSend); // INVIA I DATI 
	  
 }//end if ajax
};
// ========================================================= FINE INVIO DATI CON METODO POST ==============================================================

// ==================== MOSTRA L'IMMAGINE DI CARICAMENTO DURANTE LE OPERAZIONI DI AJAX (POSSIBILITA' DI CAMBIARE IMMAGINE E POSIZIONE) ====================
	function mostraCaricamento(elemento,pos_left,pos_top,type){  //type="large" o type="small"
	   //inserisce l'immagine di CARICAMENTO GRANDE nell'attesa che tutte le operazioni vengano eseguite correttamente
	   if(type=="large"){
	          elemento.innerHTML = '<img src="/img/loader_large.gif" style="width:100px;height:100px;position:relative;left:'+pos_left+';top:'+pos_top+';" />';
	   }
	   else if(type=="small"){
	          elemento.innerHTML = '<img src="/img/loader_small.gif" style="width:25px;height:25px;position:relative;left:'+pos_left+';top:'+pos_top+';" />';
	   } 
	   else if(type=="small_blue"){
		      elemento.innerHTML = '<img src="/img/loader_small_blue.gif" style="width:25px;height:25px;position:relative;left:'+pos_left+';top:'+pos_top+';" />';
	   }
	};
// ============================================================ FINE CARICAMENTO ==========================================================================

// =================== ELABORA IL ResponseText RESTITUITO DA AJAX, COSI DA POTER AGGIUNGERE EVENTUALI CONDIZIONI IN BASE AD ESSO ==========================
function verificaRisultatoAjax(resultTextAjax,elemento,variabileExtra){ // FUNZIONE ESEGUITA QUANDO LE OPERAZIONI AJAX SONO ANDATE A BUON FINE E VIENE RESTITUITO IL ResponseTEXT
                                                                        // QUI IL ResponseTEXT VIENE ELABORATO PER EVENTUALI ELABORAZIONI SULL'HTML/JS DEL SITO WEB 
        resultTextAjax = trim(resultTextAjax);  
        //alert(resultTextAjax); DEBUG
        var testotemp = "";
       	testoTemp = resultTextAjax.substring(0,8); // QUESTA LUNGHEZZA SI SUBSTRING VA BENE PER IL CARRELLO -- CAMBIARLA PER ALTRE OPERAZIONI --
        
        /* ====== SWITCH SUL RESPONSETEXT DI AJAX ====== */
        switch(testoTemp){    
              /* ======== CODICE PER VISUALIZZARE IL CARRELLO SE LOGGATI CORRETTAMENTE ======== (CODICE UTILE SOLO PER QUESTO SITO WEB) */                           
              case "OK_DOLLY":  
		                      var box_carrello = prendiElementoDaId("box_carrello");
		                      box_carrello.style.display='block';
			                  elemento.innerHTML = resultTextAjax.substring(8,resultTextAjax.length);
			
							  // -- VISUALIZZA CAMPO NOTE, QUANTITA' e BOTTONE AGGIUNGI AL CARRELLO -- 
							  note_small = prendiElementoDaClasse("note_small");
							  for(i=0; i<note_small.length; i++){
							      note_small[i].style.visibility='visible';
							  }
						      note_big = prendiElementoDaClasse("note_big");
							  for(i=0; i<note_big.length; i++){
							      note_big[i].style.visibility='visible';
							  }
							  
							  quantita = prendiElementoDaClasse("show_quantita");
							  for(i=0; i<quantita.length; i++){
							      quantita[i].style.visibility='visible';
							  }
					
							  btn_add_remove = prendiElementoDaClasse("show_add_remove_button");
							  for(i=0; i<btn_add_remove.length; i++){
							      btn_add_remove[i].style.visibility='visible';
							  }
							  
							  btn_add_carrello = prendiElementoDaClasse("show_add_carrello");
							  for(i=0; i<btn_add_carrello.length; i++){
							     btn_add_carrello[i].style.visibility='visible';
							  }
							  //----------------------------------------------------------*/
							  
							  if(trim(window.location.pathname) == "/area_privata/carrello.php"){  //se siamo nella pagina del carrello (carrello.php)
							     aggiorna_box_carrello("visualizza"); //aggiorna il box carrello a dx visualizzando il carrello a centro pagina
							  }
							  else{
								 aggiorna_box_carrello("non_visualizza"); //aggiorna solo il box carrello a dx
							  }
							  
		      break;
              /* ====================================================================================================================== */
		      
		      /* ======== CODICE PER NASCONDERE IL CARRELLO SE DISCONNESSI CORRETTAMENTE ======== (CODICE UTILE SOLO PER QUESTO SITO WEB) */
	          case "NO_DOLLY":
	                     	  var box_carrello = prendiElementoDaId("box_carrello");
		                      box_carrello.style.display='none';
		                      elemento.innerHTML = resultTextAjax.substring(8,resultTextAjax.length);
							  
							 if(trim(window.location.pathname) == "/area_privata/carrello.php"){  //se siamo nella pagina del carrello (carrello.php)
							     var carrello = prendiElementoDaId("lista_carrello");
							     carrello.innerHTML = "Per visualizzare il tuo carrello effettua l'accesso in alto a sinistra, inserendo nome utente e password.<br/>";
							 }

							  // NASCONDE CAMPO NOTE, QUANTITA'	e BOTTONE AGGIUNGI AL CARRELLO
							  note_small = prendiElementoDaClasse("note_small");
							  for(i=0; i<note_small.length; i++){
							      note_small[i].style.visibility='hidden';
							  }
						      note_big = prendiElementoDaClasse("note_big");
							  for(i=0; i<note_big.length; i++){
							      note_big[i].style.visibility='hidden';
							  }
							  
							  quantita = prendiElementoDaClasse("show_quantita");
							  for(i=0; i<quantita.length; i++){
							      quantita[i].style.visibility='hidden';
							  }
					
							  btn_add_remove = prendiElementoDaClasse("show_add_remove_button");
							  for(i=0; i<btn_add_remove .length; i++){
							      btn_add_remove[i].style.visibility='hidden';
							  }
							  
							  btn_add_carrello = prendiElementoDaClasse("show_add_carrello");
							  for(i=0; i<btn_add_carrello.length; i++){
							     btn_add_carrello[i].style.visibility='hidden';
							  }
							  //----------------------------------------------------
		      break;
	          /* ====================================================================================================================== */
       
              /* ========================== CODICE PER VERIFICARE L'ESISTENZA E LA CORRETTEZZA DELLA MAIL INSERITA ==================== */
              case "OK_EMAIL":  //SE L'EMAIL NON ESISTE NEL DATABASE (è DISPONIBILE)
                             // if(ControllaFormatoEmail(variabileExtra)){ //SE IL FORMATO EMAIL è CORRETTO
	                              elemento.innerHTML = resultTextAjax.substring(8,resultTextAjax.length); //AVVISA CHE L'EMAIL è DISPONIBILE 
	                              checkEmail('esito3');  //VERIFICA CAMPO EMAIL COL CAMPO CONFERMA_EMAIL
	                          //}
	                         // else{  // FORMATO EMAIL NON VALIDO (es. senza chiocciola)
	                       //       elemento.innerHTML = '<img src="/img/error.gif" /><b style="color: red; font-size: 11px; position: relative; left: 3px; bottom: 4px;">Formato Email non corretto</b>'; //messaggio d'errore
	                        //      prendiElementoDaId("esito3").innerHTML = "";
	                          //}
	          break;                
	          case "NO_EMAIL":  // SE L'EMAIL ESISTE NEL DATABASE (NON è DISPONIBILE)
	                          esitoEmail = prendiElementoDaId('esito3');
	                          esitoEmail.innerHTML = "";
	                          elemento.innerHTML = resultTextAjax.substring(8,resultTextAjax.length);
	          break;                
	          /* ====================================================================================================================== */
	          
	          /* =========================== SE LA MODIFICA DATI E' ANDATA A BUON FINE EFFETTUA IL LOGOUT ==============================*/
	          case "OK_MODCL":
	                         effettua_logout('top_sx',"");
	                         elemento.innerHTML = resultTextAjax.substring(8,resultTextAjax.length);
	          break;
		      /* ====================================================================================================================== */	  
	          
	          /* ==================== AGGIUNGE / MODIFICA LE OPTION ALLA SELECT DELLE SOTTOCATEGORIE (pagina admin) ====================*/
		      case "ADD_OPTI":
		                    var lunghezza = elemento.options.length;
		                    for(a=lunghezza;a>=0;a--){   //SVUOTA LA SELECT
		                        elemento.options[a] = null;
	                        }
		                    
		                    var testo_restituito = resultTextAjax.substring(8,resultTextAjax.length);
		                    var voci = testo_restituito.split("||"); 
		                    var cont=0;
		                    for(k=0; k<voci.length-1; k++){ //POPOLA LA SELECT
		                        elemento.options[cont] = new Option(voci[k+1],voci[k],false,false);
		                        k++; //incrementa di uno in piu' k per inserire i valori giusti
		                        cont++; //tiene la lunghezza della select per aggiungere le voci
		                    }     
		                    
		                    // SELEZIONA LA SOTTOCATEGORIA APPARTENTE AL PRODOTTO
		                    if(variabileExtra!=""){
		                          var indexDaSelezionare = 0;
                                  var num_option = elemento.options.length;
                                  for(k=0;k<num_option;k++){
                                      if(elemento.options[k].value == variabileExtra){
                                          indexDaSelezionare = k;
                                      }
                                  } 
		                          elemento.selectedIndex = indexDaSelezionare;
		                    }
                            //-----------------------------------------------------
		      break; 
              /* ====================================================================================================================== */	  
              
              /* ================================ CANCELLAZIONE PRODOTTO DALLA PAGINA DI ADMIN ======================================== */
              case "DEL_PROD":
                             var IDsottocategoria = resultTextAjax.substring(8,resultTextAjax.length);
                             visualizza_lista_prodotti(IDsottocategoria);
              break;
	          /* ====================================================================================================================== */
			  
			  /* ============================================ GESTIONE VETRINA PRODOTTI =============================================== */
			  case "OK_VETRI": //PRODOTTO AGGIUNTO CORRETTAMENTE IN VETRINA
			                 alert("Il prodotto e' stato aggiunto in vetrina!");
			  break;
			  case "NO_VETRI": //ERRORE NELL'AGGIUNGERE IL PRODOTTO IN VETRINA
			                 alert("Errore! Il prodotto non e' stato aggiunto in vetrina...Riprovare");
			  break;
			  case "OK_D_VET":
			                 alert("Il prodotto e' stato rimosso dalla vetrina!");
							 visualizza_lista_vetrina();
			  break;
			  case "NO_D_VET":
			                 alert("Non e' stato possibile rimuovere il prodotto dalla vetrina...Riprovare");
			  break;
			  /* ======================================================================================================================= */
			  
			  /* ================================================ GESTIONE CARRELLO CON DATABASE =========================================== */
			  /*case "NOT_ADDP": //PRODOTTO NON AGGIUNTO PERCHè GIA PRESENTE NEL CARRELLO
			                 alert("Prodotto gia' presente nel carrello! \n E' possibile modificare la quantita' acquistata nella pagina del tuo carrello."); 
			  break;*/
			  case "OK_ADD_P": //PRODOTTO AGGIUNTO CORRETTAMENTE
			                 aggiorna_box_carrello("non_visualizza");
			  break;
			  case "OK_UPD_P"://AGGIORNA BOX CARRELLO
			                 var str = resultTextAjax.substring(8+1,resultTextAjax.length); 
							 var num_prod = str.substr(0,str.indexOf("|"));
							 var prezzoT = str.substr(str.indexOf("|") + 1);
							 
							 elemento.innerHTML = '<li style="padding-left:14px;margin-top:4px;">Hai <b>' + num_prod + '</b>  prodotti nel carrello.</li>';
							 elemento.innerHTML += '<li style="padding-left:14px;">Totale Euro <b>' + prezzoT + '</b></li>';
							 
							 
							/* prendiElementoDaId("num_prodotti_box_carrello").innerHTML = num_prod;
							 prendiElementoDaId("prezzo_box_carrello").innerHTML = prezzoT;	*/
							 
							 if(variabileExtra=="visualizza"){
								  visualizza_carrello(); //carica il carrello dopo averlo svuotato
							 }			
			  break;
			  case "LOAD_DOL": //RICARICA IL CARRELLO E LO VISUALIZZA (QUANDO SI SVUOTA IL CARRELLO MANUALMENTE O SI ELIMINA UN SINGOLO ARTICOLO)
			                 aggiorna_box_carrello("visualizza");		 
			  break;
			  case "LOAD_DO2": //RICARICA IL CARRELLO E NON LO VISUALIZZA (QUANDO SI COMPLETA L'ORDINE)
			                 aggiorna_box_carrello("non_visualizza");		 
			  break;
			  case "MOD_OK_D": //MODIFICA QUANTITA DI UN PRODOTTO ANDATA A BUON FINE
			                 var pos = variabileExtra.indexOf("|");
	                         var cont = variabileExtra.substr(0,pos);
                             var numTotProdotti = variabileExtra.substr(pos + 1);
			  
			                 var prezzoTotProd = prendiElementoDaId("prezzoTotProdotto" + cont);
							 var txtPrezzoTot = prendiElementoDaId("txtPrezzoTot" + cont);
							 
							 var prezzoUnitario = prendiElementoDaId("prezzoUnitarioProdotto" + cont);
							 var txtPrezzoUnitario = prendiElementoDaId("txtPrezzoUnitario" + cont);
							 
							 var quantita = prendiElementoDaId("amount" + cont);
							 
							 var prezzoTotCarrello = prendiElementoDaId("prezzoTotCarrello"); 
														 
							 // ----- RICALCOLO PREZZI PRODOTTI E TOTALE IN BASE ALLE QUANTITA' ACQUISTATE -----
							 prezzoTotProd.innerHTML = number_format((quantita.value * txtPrezzoUnitario.value),2,",",".");
							 txtPrezzoTot.value = quantita.value * txtPrezzoUnitario.value;
							 
							 var prezzoTot = 0;
							 for(k=0;k<numTotProdotti;k++){
								 var txtPrezzoTotProd = prendiElementoDaId("txtPrezzoTot" + k);
						         prezzoTot = prezzoTot + parseFloat(txtPrezzoTotProd.value); 
							 }
							 prezzoTotCarrello.innerHTML = number_format(prezzoTot,2,",",".");		
						
							 aggiorna_box_carrello("non_visualizza");
			  break;
			  case "CART_ERR": //se succede qualche errore nella gestione carrello (aggiunta,modifica,cancellazione prodotti o svuotamento carrello)
			                 var var_error = resultTextAjax.substring(8+1,resultTextAjax.length); 
							 showDialog('Errore',"Impossibile interagire con il carrello, riprovare tra qualche minuto. <br/><br/>Errore riscontrato: " + var_error,'error'); 
			  break;
			  /* ======================================================================================================================= */
			  
			  /* ======================================== CASSA E COMPLETAMENTO ORDINE ================================================= */
			  case "ORDIN_OK":
			                elemento.innerHTML = "";
							svuota_carrello("not_conferma","non_visualizza");

			                showDialog('Ordine completato - Prodotti acquistati',resultTextAjax.substring(8,resultTextAjax.length) + "<br/><br/><br/><br/><br/><br/>La finestra rimarr&agrave; aperta 6 secondi",'success',6); //visualizza la dialogbox
							
							window.setTimeout("goToCarrello()", 6010); //reindizirra alla pagina del carrello dopo 6 secondi
			  break;
			 /* ======================================================================================================================= */
			 
			 /* ========================================= VISUALIZZA LA LISTA PROMO ==================================================== */
			 case "PROMO_OK":
			               visualizza_lista_promo(); //rivisulizza la lista promo dopo aver effetuazion un'azione di elimina o aggiunta
			 break;
			 /* ======================================= FINE VISUALIZZA LA LISTA PROMO ================================================= */
	          
	          /* ======== CODICE CHE MODIFICA L'innerHTML DELL'ELEMENTO CON IL ResponseTEXT di ajax (IN GENERALE SI USA QUESTO) ======== */	                  
              default: 
                       elemento.innerHTML = resultTextAjax; 
             /* ======================================================================================================================== */  
    }//end switch1 
    
    /* ====== SWITCH SULLA VARIABILE EXTRA ====== */
    switch(variabileExtra){
           case "modifica_dati.php": // PERMETTE DI TORNARE ALL'INDEX.PHP QUANDO SI EFFETTUA IL LOGOUT IN UNA PAGINA DOVE SERVE ESSERE LOGGATI
                prendiElementoDaId("form_reg").innerHTML = "&nbsp;";
                window.location.href = "/index.php";
           break;     
		   case "resoconto_acquisti.php":
                prendiElementoDaId("lista_ordini").innerHTML = "&nbsp;";
                window.location.href = "/index.php";
		   break;
		   case "cassa.php":
                prendiElementoDaId("content_center").innerHTML = "&nbsp;";
                window.location.href = "/index.php";
		   break;
    }//end switch2     
                            
}//end function
// ======================================= FINE ELABORAZIONE ResponseText DI AJAX ================================================================================= 

/* =================================================================  FINE FUNZIONI AJAX ==================================================================================*/

/* ========================================================= INIZIO FUNZIONI APPOSITE PER IL SITO WEB =====================================================================*/
              
function trim(stringa){
    while (stringa.substring(0,1) == ' '){
        stringa = stringa.substring(1, stringa.length);
    }
    while (stringa.substring(stringa.length-1, stringa.length) == ' '){
        stringa = stringa.substring(0,stringa.length-1);
    }
    return stringa;
};

//----------------

function number_format(number,decimals,dec_point,thousands_sep) {
  decimals = Math.abs(decimals) + 1 ? decimals : 2;
  dec_point = dec_point || '.';
  thousands_sep = thousands_sep || ',';

  var matches = /(-)?(\d+)(\.\d+)?/.exec((isNaN(number) ? 0 : number) + ''); // returns matches[1] as sign, matches[2] as numbers and matches[3] as decimals
  var remainder = matches[2].length > 3 ? matches[2].length % 3 : 0;

  return (matches[1] ? matches[1] : '') + (remainder ? matches[2].substr(0, remainder) + thousands_sep : '') + matches[2].substr(remainder).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep) + (decimals ? dec_point + (+matches[3] || 0).toFixed(decimals).substr(2) : '');
};

//----------------

function effettua_login(user,password,id_elemento){
    var url="/area_privata/page_ajax/login.php";
    
    elemento = prendiElementoDaId(id_elemento);
    mostraCaricamento(elemento,'58px','10px','large'); //mostra caricamento impostando le posizioni per l'immagine
   
    /* ======= INVIO DATI AJAX ======= */
    variabili = new Array();
    variabili[0] = "user"; // NOME DELLA VARIABILE DA PASSARE A PHP (QUELLA CHE SI VEDE NELL'URL SE è GET)
    variabili[1] = user;   // NOME DELLA VARIABILE CONTENENTE IL VALORE DELLA VARIABILE DA ASSOCIARE A QUELLA PRECEDENTE
    variabili[2] = "password";
    variabili[3] = password;
    
    AjaxInviaDatiPost(elemento,url,variabili,"");
    /* ===== FINE INVIO DATI AJAX ===== */    
    
};

//----------------

function effettua_logout(id_elemento,page){
      var url="/area_privata/page_ajax/logout.php";
	 
	  elemento = prendiElementoDaId(id_elemento);
	  mostraCaricamento(elemento,'58px','10px','large'); //mostra caricamento impostando le posizioni per l'immagine
	     
       /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
       
       AjaxInviaDatiPost(elemento,url,variabili,page);
	   /* ===== FINE INVIO DATI AJAX ===== */  
};

//----------------

function showLogin(id_elemento){
	  var url="/frmLogin.php";
	  
	  elemento = prendiElementoDaId(id_elemento);
	  mostraCaricamento(elemento,'58px','10px','large'); //mostra caricamento impostando le posizioni per l'immagine
	   
      /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
       
       AjaxInviaDatiPost(elemento,url,variabili,"");
	  /* ===== FINE INVIO DATI AJAX ===== */  

};

//----------------

function effettua_registrazione(id_elemento,user,password,conferma_password,nome,cognome,ragione_sociale,piva_codfisc,sceltaStrada,via,num_civico,cap,localita,provincia,stato,denominazione_spedizione,sceltaStrada_spedizione,via_spedizione,num_civico_spedizione,cap_spedizione,localita_spedizione,provincia_spedizione,stato_spedizione,email,conferma_email,telefono,chkNewsletter){
      var url="/area_privata/page_ajax/aggiungi_cliente.php";
	  
	  elemento = prendiElementoDaId(id_elemento);
	  mostraCaricamento(elemento,'220px','80px','large'); //mostra caricamento impostando le posizioni per l'immagine
	   
	  /* ======= INVIO DATI AJAX ======= */
      variabili = new Array();
      
      variabili[0] = "user"; // NOME DELLA VARIABILE DA PASSARE A PHP (QUELLA CHE SI VEDE NELL'URL SE è GET)
      variabili[1] = user;   // NOME DELLA VARIABILE CONTENENTE IL VALORE DELLA VARIABILE DA ASSOCIARE A QUELLA PRECEDENTE
     
      variabili[2] = "password";
      variabili[3] = password;
     
      variabili[4] = "conferma_password";
      variabili[5] = conferma_password;
      
      variabili[6] = "nome";
      variabili[7] = nome;
      
      variabili[8] = "cognome";
      variabili[9] = cognome;
      
      variabili[10] = "ragione_sociale";
      variabili[11] = ragione_sociale;
      
      variabili[12] = "piva_codfisc";
      variabili[13] = piva_codfisc;
      
      variabili[14] = "via";
      variabili[15] = sceltaStrada + " " + via;
      
      variabili[16] = "num_civico";
      variabili[17] = num_civico;
      
      variabili[18] = "cap";
      variabili[19] = cap;
      
      variabili[20] = "localita";
      variabili[21] = localita;
      
      variabili[22] = "provincia";
      variabili[23] = provincia;
      
      variabili[24] = "stato";
      variabili[25] = stato;
      
      variabili[26] = "denominazione_spedizione";
      variabili[27] = denominazione_spedizione;
      
      variabili[28] = "via_spedizione";
      variabili[29] = sceltaStrada_spedizione + " " + via_spedizione;
      
      variabili[30] = "num_civico_spedizione";
      variabili[31] = num_civico_spedizione;
      
      variabili[32] = "cap_spedizione";
      variabili[33] = cap_spedizione;
      
      variabili[34] = "localita_spedizione";
      variabili[35] = localita_spedizione;
      
      variabili[36] = "provincia_spedizione";
      variabili[37] = provincia_spedizione;
      
      variabili[38] = "stato_spedizione";
      variabili[39] = stato_spedizione;
      
      variabili[40] = "email";
      variabili[41] = email;
      
      variabili[42] = "conferma_email";
      variabili[43] = conferma_email;
      
      variabili[44] = "telefono";
      variabili[45] = telefono;
      
	  if(chkNewsletter.checked){
	     newsletter = 1;
	  }
	  else{
         newsletter = 0;
	  }
      variabili[46] = "newsletter";
      variabili[47] = newsletter;

      AjaxInviaDatiPost(elemento,url,variabili,"");
	  
	  prendiElementoDaId("form_reg").style.display = "none";
	  window.scrollTo(0,0);
	  /* ===== FINE INVIO DATI AJAX ===== */      	  
};

function goto_reg(){ //rivisualizza il form di registrazione in caso di errori
      prendiElementoDaId("form_reg").style.display = "block";
	  prendiElementoDaId("result_reg").innerHTML = " ";
	  window.scrollTo(0,0);
};

function modifica_dati_registrazione(id_elemento,user,password,conferma_password,nome,cognome,ragione_sociale,piva_codfisc,via,num_civico,cap,localita,provincia,stato,denominazione_spedizione,via_spedizione,num_civico_spedizione,cap_spedizione,localita_spedizione,provincia_spedizione,stato_spedizione,email,conferma_email,telefono,chkNewsletter){
	  var url="/area_privata/page_ajax/modifica_cliente.php";
	  
	  elemento = prendiElementoDaId(id_elemento);
	  mostraCaricamento(elemento,'220px','80px','large'); //mostra caricamento impostando le posizioni per l'immagine
	   
	  /* ======= INVIO DATI AJAX ======= */
      variabili = new Array();
      
      variabili[0] = "user"; // NOME DELLA VARIABILE DA PASSARE A PHP (QUELLA CHE SI VEDE NELL'URL SE è GET)
      variabili[1] = user;   // NOME DELLA VARIABILE CONTENENTE IL VALORE DELLA VARIABILE DA ASSOCIARE A QUELLA PRECEDENTE
     
      variabili[2] = "password";
      variabili[3] = password;
     
      variabili[4] = "conferma_password";
      variabili[5] = conferma_password;
      
      variabili[6] = "nome";
      variabili[7] = nome;
      
      variabili[8] = "cognome";
      variabili[9] = cognome;
      
      variabili[10] = "ragione_sociale";
      variabili[11] = ragione_sociale;
      
      variabili[12] = "piva_codfisc";
      variabili[13] = piva_codfisc;
      
      variabili[14] = "via";
      variabili[15] = via;
      
      variabili[16] = "num_civico";
      variabili[17] = num_civico;
      
      variabili[18] = "cap";
      variabili[19] = cap;
      
      variabili[20] = "localita";
      variabili[21] = localita;
      
      variabili[22] = "provincia";
      variabili[23] = provincia;
      
      variabili[24] = "stato";
      variabili[25] = stato;
      
      variabili[26] = "denominazione_spedizione";
      variabili[27] = denominazione_spedizione;
      
      variabili[28] = "via_spedizione";
      variabili[29] = via_spedizione;
      
      variabili[30] = "num_civico_spedizione";
      variabili[31] = num_civico_spedizione;
      
      variabili[32] = "cap_spedizione";
      variabili[33] = cap_spedizione;
      
      variabili[34] = "localita_spedizione";
      variabili[35] = localita_spedizione;
      
      variabili[36] = "provincia_spedizione";
      variabili[37] = provincia_spedizione;
      
      variabili[38] = "stato_spedizione";
      variabili[39] = stato_spedizione;
      
      variabili[40] = "email";
      variabili[41] = email;
      
      variabili[42] = "conferma_email";
      variabili[43] = conferma_email;
      
      variabili[44] = "telefono";
      variabili[45] = telefono;
      
	  if(chkNewsletter.checked){
	     newsletter = 1;
	  }
	  else{
         newsletter = 0;
	  }
      variabili[46] = "newsletter";
      variabili[47] = newsletter;

      AjaxInviaDatiPost(elemento,url,variabili,"");
	  
	  prendiElementoDaId("form_reg").style.display = "none";
	  window.scrollTo(0,0);
	  /* ===== FINE INVIO DATI AJAX ===== */      	  
};

function copy_to_spedizione(){  //copia i dati della residenza nella spedizione
      if(document.forms['form_reg'].chkCompilaAutoDatiSpedizione.checked){
         document.forms['form_reg'].denominazione_spedizione.value = document.forms['form_reg'].nome.value + " " + document.forms['form_reg'].cognome.value;
		 document.forms['form_reg'].sceltaStrada_spedizione.selectedIndex = document.forms['form_reg'].sceltaStrada.selectedIndex;
         document.forms['form_reg'].via_spedizione.value = document.forms['form_reg'].via.value; 
	 	 document.forms['form_reg'].num_civico_spedizione.value = document.forms['form_reg'].num_civico.value;
		 document.forms['form_reg'].cap_spedizione.value = document.forms['form_reg'].cap.value;
		 document.forms['form_reg'].localita_spedizione.value = document.forms['form_reg'].localita.value;
		 document.forms['form_reg'].provincia_spedizione.value = document.forms['form_reg'].provincia.value;
		 document.forms['form_reg'].stato_spedizione.value = document.forms['form_reg'].stato.value;
	  }
	  else{
		 document.forms['form_reg'].denominazione_spedizione.value = "";
		 document.forms['form_reg'].sceltaStrada_spedizione.selectedIndex = 0; 
		 document.forms['form_reg'].via_spedizione.value = ""; 
	 	 document.forms['form_reg'].num_civico_spedizione.value = "";
		 document.forms['form_reg'].cap_spedizione.value = "";
		 document.forms['form_reg'].localita_spedizione.value = "";
		 document.forms['form_reg'].provincia_spedizione.value = "";
		 document.forms['form_reg'].stato_spedizione.value = "";
	}
};

//----------------

// ======== VERIFICA I CAMPI NICKNAME, PASSWORD ed EMAIL NELLA PAGINA DI REGISTRAZIONE ===========
function checkUser(id_elemento,user,type){
	  var url="/area_privata/page_ajax/check_user.php";
	  elemento = prendiElementoDaId(id_elemento);
	  var utente = prendiElementoDaId("user_reg");
	  
	  if(utente.value==""){	
	    elemento.innerHTML = "";
	  }
	  else{	 
	    mostraCaricamento(elemento,'3px','1px','small'); //mostra caricamento impostando le posizioni per l'immagine
	   
      /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
       
       variabili[0] = "user";
       variabili[1] = user;
       
       variabili[2] = "typeRequest";
       variabili[3] = type;
       
       AjaxInviaDatiPost(elemento,url,variabili,"");
	  /* ===== FINE INVIO DATI AJAX ===== */  
	  }
};


//---------------

function checkPwd(id_elemento){
	  elemento = prendiElementoDaId(id_elemento);
	  var pass_reg = prendiElementoDaId("password_reg");
	  var conferma_pass = prendiElementoDaId("conferma_password");
		  
	  if(pass_reg.value=="" || conferma_pass.value==""){	
	      elemento.innerHTML = "";
	  }
	  else{	  
	    if(pass_reg.value!=conferma_pass.value){
	     elemento.innerHTML = '<img src="/img/error.gif" /><b style="color: red; font-size: 11px; position: relative; left: 3px; bottom: 4px;">Password e Conferma Password sono diversi!</b>';
	    }
	    else {
	     elemento.innerHTML = '<img src="/img/ok.gif" /><b style="color: green; font-size: 11px; position: relative; left: 3px; bottom: 4px;">Password OK</b>';
	    }
	  }
};

//------------------

function checkEmail(id_elemento){
	  elemento = prendiElementoDaId(id_elemento);
	  var em = prendiElementoDaId("email");
	  var conferma_em = prendiElementoDaId("conferma_email");

	  if(em.value=="" || conferma_em.value==""){	
	      elemento.innerHTML = "";
	  }
	  else{
     	if(em.value!=conferma_em.value){
	         elemento.innerHTML = '<img src="/img/error.gif" /><b style="color: red; font-size: 11px; position: relative; left: 3px; bottom: 4px;">Email e Conferma email sono diversi!</b>';
	    }
	    else {
	        elemento.innerHTML = '<img src="/img/ok.gif" /><b style="color: green; font-size: 11px; position: relative; left: 3px; bottom: 4px;">Email OK</b>';
	   } 
	 }
};

//----------------

function checkExistenceEmail(id_elemento,type){
	  var url="/area_privata/page_ajax/check_email.php";
	  elemento = prendiElementoDaId(id_elemento);
	  var email = prendiElementoDaId("email");
	  
	  if(email.value==""){	
	    elemento.innerHTML = "";
	  }
	  else{	 
	    mostraCaricamento(elemento,'3px','1px','small'); //mostra caricamento impostando le posizioni per l'immagine
	   
      /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
       
       variabili[0] = "email";
       variabili[1] = email.value;
      
       variabili[2] = "typeRequest";
       variabili[3] = type;
       
       AjaxInviaDatiPost(elemento,url,variabili,email.value);
	  /* ===== FINE INVIO DATI AJAX ===== */  
	  }
};

//----------------

function ControllaFormatoEmail(id_elemento,type) {
   EmailAddr = prendiElementoDaId("email").value;
   elemento = prendiElementoDaId(id_elemento);
   Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
   if (Filtro.test(EmailAddr)){
     checkExistenceEmail(id_elemento,type);
   }
   else{
	   //messaggio d'errore
       elemento.innerHTML = '<img src="/img/error.gif" /><b style="color: red; font-size: 11px; position: relative; left: 3px; bottom: 4px;">Formato Email non corretto</b>'; 
	   prendiElementoDaId("esito3").innerHTML = "";
   }
};

//----------------

function cambia_sottocategorie(obj,type,IDsottocategoria){ //CARICA PRODOTTO
//nella modifica prodotto viene passato anche l'ID della sottocategoria in modo da selezionare la voce giusta della select quando è stata caricata
    var indice = obj.selectedIndex;
    var IDcategoria = obj.options[indice].value;

    var url="/admin/cambia_sottocategorie.php";
    var id_elemento = "";
    switch(type){
           case 1:
                  id_elemento = "sel_sottocategorie1";
           break;
           case 2:
                 id_elemento = "sel_sottocategorie2";
           break;
           case 3:
                 id_elemento = "sel_sottocategorie3";
           break;
    }
	elemento = prendiElementoDaId(id_elemento);
	
	/* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
       
       variabili[0] = "IDcategoria";
       variabili[1] = IDcategoria;
             
       AjaxInviaDatiPost(elemento,url,variabili,IDsottocategoria);
	  /* ===== FINE INVIO DATI AJAX ===== */  
};
//------------------

function visualizza_lista_prodotti(IDsottocategoria){
    var url="/admin/visualizza_lista_prodotti.php";
	elemento = prendiElementoDaId("lista_prodotti");
	elemento.style.display = "block";
	mostraCaricamento(elemento,'230px','50px','large'); //mostra caricamento impostando le posizioni per l'immagine
	
	  /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
       
       variabili[0] = "IDsottocategoria";
       variabili[1] = IDsottocategoria;
             
       AjaxInviaDatiPost(elemento,url,variabili,"");
	  /* ===== FINE INVIO DATI AJAX ===== */ 
};
//-------------------

function visualizza_lista_vetrina(){
    var url="/admin/visualizza_lista_vetrina.php";
	elemento = prendiElementoDaId("lista_vetrina");
	elemento.style.display = "block";
	mostraCaricamento(elemento,'230px','50px','large'); //mostra caricamento impostando le posizioni per l'immagine
	
	  /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
                    
       AjaxInviaDatiPost(elemento,url,variabili,"");
	  /* ===== FINE INVIO DATI AJAX ===== */ 
};

//-------------------

function visualizza_lista_promo(){
    var url="/admin/visualizza_promo.php";
	elemento = prendiElementoDaId("lista_promo");
	elemento.style.display = "block";
	mostraCaricamento(elemento,'230px','50px','large'); //mostra caricamento impostando le posizioni per l'immagine
	
	  /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
                    
       AjaxInviaDatiPost(elemento,url,variabili,"");
	  /* ===== FINE INVIO DATI AJAX ===== */ 
};

//-------------------

function cancella_prodotto(nome_prodotto,IDprodotto,IDsottocategoria){
    var dialogResult = confirm("Sei sicuro di eliminare il prodotto: " + nome_prodotto + "?");
    if(dialogResult==true){
      var url="/admin/cancella_prodotto.php";
	  elemento = prendiElementoDaId("lista_prodotti");
	  mostraCaricamento(elemento,'230px','50px','large'); //mostra caricamento impostando le posizioni per l'immagine
	
	   /* ======= INVIO DATI AJAX ======= */
         variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
       
         variabili[0] = "nome_prodotto";
         variabili[1] = nome_prodotto;
         
         variabili[2] = "IDprodotto";
         variabili[3] = IDprodotto;
                    
         variabili[4] = "IDsottocategoria"; //lista completa prodotti oppure solo in base alla categoria scelta
         variabili[5] = IDsottocategoria;     
            
         AjaxInviaDatiPost(elemento,url,variabili,"");
	    /* ===== FINE INVIO DATI AJAX ===== */ 
	}
};
//-------------------
function elimina_prodotto_da_vetrina(IDprodotto){
    var dialogResult = confirm("Sei sicuro di eliminare il prodotto dalla vetrina?");
    if(dialogResult==true){
      var url="/admin/elimina_prodotto_da_vetrina.php";
	  elemento = prendiElementoDaId("lista_prodotti");
	  mostraCaricamento(elemento,'230px','50px','large'); //mostra caricamento impostando le posizioni per l'immagine
	
	   /* ======= INVIO DATI AJAX ======= */
         variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
         
         variabili[0] = "IDprodotto";
         variabili[1] = IDprodotto;
            
         AjaxInviaDatiPost(elemento,url,variabili,"");
	    /* ===== FINE INVIO DATI AJAX ===== */ 
	}
};
//-------------------
function aggiungi_in_vetrina(IDprodotto){
	     var url="/admin/aggiungi_prodotto_in_vetrina.php";
	   	   /* ======= INVIO DATI AJAX ======= */
         variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
       
         variabili[0] = "id_prodotto";
         variabili[1] = IDprodotto;
            
         AjaxInviaDatiPost(elemento,url,variabili,"");
	    /* ===== FINE INVIO DATI AJAX ===== */
};
//-------------------

function elimina_prodotto_da_promo(IDprodotto){
    var dialogResult = confirm("Sei sicuro di eliminare il prodotto dalle promozioni?");
    if(dialogResult==true){
      var url="/admin/elimina_prodotto_promo.php";
	  elemento = "";
	
	   /* ======= INVIO DATI AJAX ======= */
         variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
         
         variabili[0] = "IDprodotto";
         variabili[1] = IDprodotto;
            
         AjaxInviaDatiPost(elemento,url,variabili,"");
	    /* ===== FINE INVIO DATI AJAX ===== */ 
	}
};
//-------------------
function aggiungi_in_promo(IDprodotto){
	     var url="/admin/aggiungi_prodotto_promo.php";
		 elemento = "";
	   	   /* ======= INVIO DATI AJAX ======= */
         variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
       
         variabili[0] = "IDprodotto";
         variabili[1] = IDprodotto;
            
         AjaxInviaDatiPost(elemento,url,variabili,"");
	    /* ===== FINE INVIO DATI AJAX ===== */
};
//-------------------

function cerca_ordine_admin(method){
	     var url="/admin/visualizza_lista_ordini.php";
		 elemento = prendiElementoDaId("lista_ordini_admin");
	     mostraCaricamento(elemento,'230px','50px','large'); //mostra caricamento impostando le posizioni per l'immagine
	    
		 var tipo = "";
		 if(method=="all"){
		    tipo = method;
		 }
		 else if(method=="par") {
		    if(document.forms['frmOrdiniAdmin'].tipo_ricerca[0].checked==true){
			  tipo = "nome"; 
			}
			else if(document.forms['frmOrdiniAdmin'].tipo_ricerca[1].checked==true){
			  tipo = "data"; 
			}
		 }
	     
	    /* ======= INVIO DATI AJAX ======= */
         variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
       
         variabili[0] = "txtRicerca";
         variabili[1] = document.forms['frmOrdiniAdmin'].txtRicerca.value;
		 
		 variabili[2] = "tipo";
         variabili[3] = tipo;  //nome - data - all
            
         AjaxInviaDatiPost(elemento,url,variabili,"");
	    /* ===== FINE INVIO DATI AJAX ===== */
};
//-------------------

function spedisci_fattura(id_elemento,data,num_fattura){
	     var url="/admin/spedisci_fattura.php";
		 elemento = prendiElementoDaId(id_elemento);
	     mostraCaricamento(elemento,'0px','0px','small'); //mostra caricamento impostando le posizioni per l'immagine

	    /* ======= INVIO DATI AJAX ======= */
         variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
       
         variabili[0] = "num_fattura";
         variabili[1] = num_fattura;

		 variabili[2] = "data";
         variabili[3] = data;
		 
		            
         AjaxInviaDatiPost(elemento,url,variabili,"");
	    /* ===== FINE INVIO DATI AJAX ===== */
};

//-------------------

function aggiorna_ordine(IDordine,stato,codice_spedizione){
         var url="/admin/aggiorna_ordine.php";
		 elemento = prendiElementoDaId("lista_ordini_admin");
	     //mostraCaricamento(elemento,'30px','50px','large'); //mostra caricamento impostando le posizioni per l'immagine

	     
	    /* ======= INVIO DATI AJAX ======= */
         variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
       
         variabili[0] = "IDordine";
         variabili[1] = IDordine;
		 
		 variabili[2] = "stato";
         variabili[3] = stato;  
		 
		 variabili[4] = "codice_spedizione";
         variabili[5] = codice_spedizione;
		 
            
         AjaxInviaDatiPost(elemento,url,variabili,"");
	    /* ===== FINE INVIO DATI AJAX ===== */


};

//-------------------

function passa_info_prodotto(IDprodotto,categoriaID,sottocategoriaID,costo,prezzo_scontato,disponibilita) {
     	 // === RECUPERA INFO DAI CAMPI TEXT HIDDEN ===
		 nome = prendiElementoDaId("nome" + IDprodotto).value;
		 codice = prendiElementoDaId("cod" + IDprodotto).value;
		 descrizione = prendiElementoDaId("desc" + IDprodotto).value;
		 metatag_description = prendiElementoDaId("metadesc" + IDprodotto).value;
		 metatag_key = prendiElementoDaId("metakey" + IDprodotto).value;
		 // ===========================================
	  
	     elemento = prendiElementoDaId("hiddenIDprodotto"); //imposta nel campo nascosto l'ID del prodotto
         elemento.value = IDprodotto;
         
         elemento = prendiElementoDaId("hiddenVecchioNomeDprodotto"); //imposta nel campo nascosto il vecchio nome del prodotto
         elemento.value = nome;
         
         elemento = prendiElementoDaId("title_mod_prodotto");
         elemento.innerHTML = "<b>MODIFICA PRODOTTO</b> &nbsp; ID: " + IDprodotto; //modifica il titolo del "box modifica prodotto"

         // imposta i valori dei campi di testo e le select con le informazioni relative al prodotto selezionato
         document.forms['frmModificaProdotto'].codice_prodotto_mod.value = codice;
         
         document.forms['frmModificaProdotto'].nome_prodotto_mod.value = nome;
         
         // SELEZIONA LA CATEGORIA APPARTENTE AL PRODOTTO
         var indexDaSelezionare = 0;
         var num_option = document.forms['frmModificaProdotto'].categoria3.options.length;
         for(k=0;k<num_option;k++){
           if(document.forms['frmModificaProdotto'].categoria3.options[k].value == categoriaID){
              indexDaSelezionare = k;
           }
         } 
         document.forms['frmModificaProdotto'].categoria3.selectedIndex	= indexDaSelezionare;
         //-----------------------------------------------         
         
         document.forms['frmModificaProdotto'].costo_unitario_mod.value = costo;
		 

	     document.forms['frmModificaProdotto'].prezzo_scontato_mod.value = prezzo_scontato;

		 
         document.forms['frmModificaProdotto'].descrizione_prodotto_mod.value = descrizione;
         
         if(disponibilita=="SI"){
             document.forms['frmModificaProdotto'].disponibilita_mod.selectedIndex = 0; 
         }
         else if(disponibilita=="NO"){
             document.forms['frmModificaProdotto'].disponibilita_mod.selectedIndex = 1; 
         }
		 
		 document.forms['frmModificaProdotto'].metatag_description_mod.value = metatag_description;
         
         document.forms['frmModificaProdotto'].metatag_key_mod.value = metatag_key;
         
};
//-------------------



//====================== GESTIONE CARRELLO ==================================================
function stampa_carrello(){
        var finestra = window.open('/area_privata/visualizza_carrello_stampa.php','_blank','height=500,width=630,status=no,toolbar=no,menubar=no,location=no,resizable=yes,titlebar=no,scrollbars=1');
};

function visualizza_carrello(){
      var url = "/area_privata/visualizza_carrello.php"; 
	  elemento = prendiElementoDaId("lista_carrello");
	  mostraCaricamento(elemento,'230px','50px','large'); //mostra caricamento impostando le posizioni per l'immagine
	  
	  /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
            
       AjaxInviaDatiPost(elemento,url,variabili,"");
	  /* ===== FINE INVIO DATI AJAX ===== */
	  
};

function aggiungi_prodotto_al_carrello(IDprodotto,nome,quantita,costo_unitario,note){
	var dialogResult = confirm("Prodotto selezionato = " + nome + "\nQuantita' = " + quantita + "\nAggiungere al carrello?");
    if(dialogResult==true){
	   var url = "/area_privata/action_carrello.php"; 
	   elemento = "";
	   
      /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
       
	   variabili[0] = "action";
       variabili[1] = "aggiungi";
	   
	   variabili[2] = "IDprodotto";
       variabili[3] = IDprodotto;
	   
	   variabili[4] = "quantita";
       variabili[5] = quantita;
	   
	   variabili[6] = "costo_unitario";
       variabili[7] = costo_unitario;
	   
	   variabili[8] = "note";
       variabili[9] = note;
             
       AjaxInviaDatiPost(elemento,url,variabili,"");
	  /* ===== FINE INVIO DATI AJAX ===== */ 
    }
};


function svuota_carrello(method,method2){ // conferma  |  not_conferma
   var dialogResult = "";
   if(method=="conferma") { dialogResult = confirm("Sicuro di svuotare il carrello?"); }
   
   if(dialogResult==true || method=="not_conferma"){
      	   var url = "/area_privata/action_carrello.php"; 
	       elemento = "";
      /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
             
	   variabili[0] = "action";
       variabili[1] = "svuota";
	   
	   variabili[2] = "method";
	   variabili[3] = method2;
       
	   AjaxInviaDatiPost(elemento,url,variabili,"");
	  /* ===== FINE INVIO DATI AJAX ===== */ 
   }
};

function del_art_da_carrello(IDprodotto,nomeProdotto){  //CANCELLA  SINGOLO PRODOTTO DAL CARRELLO
   var dialogResult = confirm("Eliminare dal carrello il prodotto: " + nomeProdotto);
   if(dialogResult==true){
      	   var url = "/area_privata/action_carrello.php"; 
	       elemento = "";
      /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
             
	   variabili[0] = "action";
       variabili[1] = "cancella";
	   
	   variabili[2] = "IDprodotto";
       variabili[3] = IDprodotto;
	          
	   AjaxInviaDatiPost(elemento,url,variabili,"");
	  /* ===== FINE INVIO DATI AJAX ===== */ 
   }
     
};

function mod_quantita_prod_carrello(IDprodotto,nuovaQuantita,indiceVoceCarrello_e_numTotProdotti){  // MODIFICA LA QUANTITA DEL PRODOTTO ACQUISTATO NEL CARRELLO
      var url = "/area_privata/action_carrello.php"; 
	  elemento = "";
      /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
             
	   variabili[0] = "action";
       variabili[1] = "modifica";
	   
	   variabili[2] = "IDprodotto";
       variabili[3] = IDprodotto;
	   
	   variabili[4] = "nuovaQuantita";
       variabili[5] = nuovaQuantita;
	          
	   AjaxInviaDatiPost(elemento,url,variabili,indiceVoceCarrello_e_numTotProdotti);
	  /* ===== FINE INVIO DATI AJAX ===== */ 
  
};

function aggiorna_box_carrello(method){ //AGGIORNA IL VALORE DEL BOX CARRELLO A DX
	  var url = "/area_privata/action_carrello.php"; 
	  elemento = prendiElementoDaId("caricamento_prezzi_carrello");
	  mostraCaricamento(elemento,'70px','7px','small_blue'); //mostra caricamento impostando le posizioni per l'immagine
	  
      /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
             
	   variabili[0] = "action";
       variabili[1] = "aggiorna";
	          
	   AjaxInviaDatiPost(elemento,url,variabili,method);
	  /* ===== FINE INVIO DATI AJAX ===== */ 
};
//=============================================================================================

// ========================================= CASSA ============================================ 
function tipo_pagamento_rad(method){
	switch(method) {
           case 0: 
				  document.forms['frmCassa'].incrementoPagamento.value = 0;
           break;
                  
		   case 1:
				  document.forms['frmCassa'].incrementoPagamento.value = 0;
		   break;
		   
		   case 2:
				  document.forms['frmCassa'].incrementoPagamento.value = 1.00;
		   break;
		   
		   case 3:
				  document.forms['frmCassa'].incrementoPagamento.value = 5.00;
		   break;
	}
	write_prezzo_totale();
};
function tipo_spedizione(method){
   var costo = 0.00;
   switch(method){
	     case  0:
		         costo = 15.30;
				 document.forms['frmCassa'].chkAssicurazione.disabled = false;
		 break;
		 case 1:
		         costo = 9.10;
				 document.forms['frmCassa'].chkAssicurazione.disabled = false;
		 break;
		 case 2:
		         costo = 0.00;
				 document.forms['frmCassa'].chkAssicurazione.checked = false;
				 document.forms['frmCassa'].chkAssicurazione.disabled = true;
		 break;
   }	
   if(document.forms['frmCassa'].chkAssicurazione.checked) costo = costo + 2.80;
   
   if(document.forms['frmCassa'].ordineParziale.value<=500){
      document.forms['frmCassa'].costoSpedizione.value = costo;
      prendiElementoDaId("costo_spedizione").innerHTML = "&euro; " + number_format(costo,2,",",".");
      write_prezzo_totale();
   }
};
function click_spedizione_assicurata(){
	if(document.forms['frmCassa'].ordineParziale.value<=500){
	    var costo = parseFloat(document.forms['frmCassa'].costoSpedizione.value);
	
        if(document.forms['frmCassa'].chkAssicurazione.checked) costo = costo + 2.80;
  	    else costo = costo - 2.80;
	
	   document.forms['frmCassa'].costoSpedizione.value = costo;
       prendiElementoDaId("costo_spedizione").innerHTML = "&euro; " + number_format(costo,2,",",".");
	   write_prezzo_totale();
    }
};

function write_prezzo_totale(){
	var tot = parseFloat(document.forms['frmCassa'].ordineParziale.value) + parseFloat( document.forms['frmCassa'].incrementoPagamento.value);
	if(document.forms['frmCassa'].ordineParziale.value<=500){
		 tot = tot + parseFloat(document.forms['frmCassa'].costoSpedizione.value);
	}

	prendiElementoDaId("ordineTotale").innerHTML = number_format(tot,2,",",".");
};
// ===================================== FINE CASSA ===============================================

//======================================== COMPLETAMENTO ORDINE ====================================

function completa_ordine(){
      var url = "/area_privata/conferma_ordine.php"; 
	  elemento = prendiElementoDaId("acquisto_in_corso");
	  
	  document.forms['frmCassa'].btnAcquista.disabled = true; //disabilita il bottone acquista
	  
	  mostraCaricamento(elemento,'2px','2px','small'); //mostra caricamento impostando le posizioni per l'immagine  
	
      for (var i=0; i < document.forms['frmCassa'].rad_metodo_pagamento.length; i++) { //legge il metodo di pagamento scelto
           if (document.forms['frmCassa'].rad_metodo_pagamento[i].checked) {
             var rad_val = document.forms['frmCassa'].rad_metodo_pagamento[i].value;
           }
      }

      /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
             
	   variabili[0] = "rad_metodo_pagamento";
       variabili[1] = rad_val;
	   
	   for (var i=0; i < document.forms['frmCassa'].radSpedizione.length; i++) { //legge il tipo di spedizione scelto
           if (document.forms['frmCassa'].radSpedizione[i].checked) {
             var rad_spediz = document.forms['frmCassa'].radSpedizione[i].value;
           }
      }
	   
	   variabili[2] = "radSpedizione";
       variabili[3] = rad_spediz;
	   
	   var spedAssic = 0;
	   if(document.forms['frmCassa'].chkAssicurazione.checked) spedAssic = 1;
	   
	   variabili[4] = "chkAssicurazione";
       variabili[5] = spedAssic;
	          
	   AjaxInviaDatiPost(elemento,url,variabili,"");
	  /* ===== FINE INVIO DATI AJAX ===== */ 
};

function goToCarrello(){
	location.href = "/area_privata/carrello.php";
};
//==================================== FINE COMPLETAMENTO ORDINE ===================================

//================================ SEZIONE CONTATTI ===========================================
function inviaSegnalazione(){
      var url = "/invia_segnalazione.php"; 
	  elemento = prendiElementoDaId("resultRichiesta");
	  mostraCaricamento(elemento,'2px','2px','small'); //mostra caricamento impostando le posizioni per l'immagine  
	

      /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
             
	   variabili[0] = "nome";
       variabili[1] = document.forms['frmContatti'].txtNome.value;
	    
	   variabili[2] = "cognome";
       variabili[3] = document.forms['frmContatti'].txtCognome.value;
	   
	   variabili[4] = "email";
       variabili[5] = document.forms['frmContatti'].txtEmail.value;
	   
	   variabili[6] = "tipo";
       variabili[7] = document.forms['frmContatti'].cmbTipoSegnalazione.value;
	   
	   variabili[8] = "messaggio";
       variabili[9] = document.forms['frmContatti'].txtMessaggio.value;
	   
	   AjaxInviaDatiPost(elemento,url,variabili,"");
	  /* ===== FINE INVIO DATI AJAX ===== */ 
	  
};
//============================== FINE SEZIONE CONTATTI ========================================

//================================ SEZIONE RICHIESTA PRODOTTO =================================
function inviaRichiestaProdotto(){
      var url = "/invia_richiesta_prodotto.php"; 
	  elemento = prendiElementoDaId("resultRichiesta");
	  mostraCaricamento(elemento,'2px','2px','small'); //mostra caricamento impostando le posizioni per l'immagine  
	

      /* ======= INVIO DATI AJAX ======= */
       variabili = new Array(); //SE NON SI DEVONO INVIARE VARIABILI DICHIARARE COMUNQUE L'ARRAY
             
	   variabili[0] = "nome";
       variabili[1] = document.forms['frmRichiestaProdotto'].txtNome.value;
	    
	   variabili[2] = "cognome";
       variabili[3] = document.forms['frmRichiestaProdotto'].txtCognome.value;
	   
	   variabili[4] = "email";
       variabili[5] = document.forms['frmRichiestaProdotto'].txtEmail.value;
	   
	   variabili[6] = "marca";
       variabili[7] = document.forms['frmRichiestaProdotto'].txtMarca.value;
	   
	   variabili[8] = "modello";
       variabili[9] = document.forms['frmRichiestaProdotto'].txtModello.value;
	   
	   variabili[10] = "messaggio";
       variabili[11] = document.forms['frmRichiestaProdotto'].txtMessaggio.value;
	   
	   AjaxInviaDatiPost(elemento,url,variabili,"");
	  /* ===== FINE INVIO DATI AJAX ===== */ 
	   
};
//============================== FINE RICHIESTA PRODOTTO ======================================

function MM_preloadImages() { //v3.0  Precarica le immagini in cache del browser
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
};

/* ======================================================== FINE FUNZIONI APPOSITE PER IL SITO WEB ========================================================================*/