/* (c) 2003 Intertech Italia snc */
/* versione 2.01 */
/**/

/*Carrello Ciaoart*/
/* con la gestione della disponibilità (Unico/Magazzino)*/

/*Variabili Globali*/
var carrello = new String;
var vectorProdotti = new Array();

/* Prezzo */
var prezzoEuro = 1.00;
var VettoreEvento = new Array();
var integ = 0;

/*Valori usati come costanti*/
/*Nome della chiave, Aggiungendolo come parametro a tutte le funzioni si crea il multicarrello*/
var NomeCarrello = "carrello=";
var IdLista; 

/*Ore di validità,oltre i quali vengono persi i dati nel cookie*/
var Ore = 4;

/*Impostazioni sul formato della tabella*/
var ColonnaCodice=0;
var ColonnaGenere=1;
var ColonnaQuantita=4;
var ColonnaPrezzo=5;
var ColonnaMoltiplicatore=6;
var ColonnaDisponibilita=7;
var ColonnaQuota=8;

/*Impostazioni label tabella*/
var xPrima="Codice";
var xSeconda="Modello";
var xTerza="Marca";
var xQuarta="Q.ta";
//var xQuinta="Prezzo (&euro;)<br>Sing./Tot.";
var xQuinta="Prezzo Unitario";
var xSesta="Prezzo Totale";

/*Impostazione label alert */
var xSvuotaCarrello="Sei sicuro di voler svuotare il carrello?";
var xNessunProdotto="Nessun prodotto nel carrello";
var xElimina="Elimina";
var xTotale="Totale";
var xAlertQty="La quantita richiesta e superiore alla disponibilita";
var xArticolo="Articolo";
var xQuantita="Quantità";
var xPrezzo="Prezzo";
var xTipologia="Tipologia";
var xCarrelloVuoto="Il carrello e vuoto";
var xConferma="Sei sicuro di voler eliminare l'articolo selezionato?";

var xAlertNumber="Errore, e possibile inserire solo numeri";
var xAlertDecimali="Errore, e possibile inserire al massimo due decimali";
var xAlertNumErr="Numero errato";
var xAlertPunti="Errore, non si possono inserire piu punti all'interno di uno stesso numero";

/* english==0 Italiano
   english==1 Inglese*/
var english=0
var xlocation=new String;
xlocation=location.href

if (xlocation.indexOf('lang2')>0) english=1;

if (english==1) { 
    xPrima="Code";
    xSeconda="Description";
    xTerza="Artist";
    xQuarta="Qty";
    xQuinta="Unit Price";
    xSesta="Total Price";
    xArticolo="Article";
    xQuantita="Quantity";
    xPrezzo="Price";
    xTipologia="Typology";
 
    xSvuotaCarrello="Are you sure you want to delete all of the items?";
    xNessunProdotto="Noone products.";
    xElimina="Delete";
    xTotale="Total";
    xAlertQty="The quantity required is more than the quantity avaiable";
    xNessunProdotto="The basket is empty";
    xCarrelloVuoto="The basket is empty";
    xConferma="Are you sure you want to delete this item?";
    
    xAlertNumber="Error, you can insert only numbers";
    xAlertDecimali="Error, you can't insert more than two decimals";
    xAlertNumErr="Wrong number";
    xAlertPunti="Error, you can't insert more than one full stop";
}

/* Debug =1 SI =0 NO */
var Debug = 0;

function ScriviEuro(Prezzo)
{
    var importo=Converti(Prezzo);
    document.write(""+FormattaValuta(importo));
}

function ScriviDollaro(Prezzo)
{
    var importo=ConvertiDollaro(Prezzo);
    document.write(""+FormattaValuta(importo));
}

function ApriFinestra640(_finestra)
{
    pop=window.open('',_finestra,'toolbar=no,scrollbars=yes,width=470,height=320,top=50,left=50'); 
    pop.focus();
}

function ApriFinestra(_finestra)
{
    pop=window.open('',_finestra,'toolbar=no,scrollbars=yes,width=770,height=675,top=10,left=10'); 
    pop.focus();
}

/* Crea una stringa nella quale vengono aggiunti i prodotti, in seguito verrà utilizzata per generare un vettore tramite il metodo Split(separatore)*/
function AggiungiProdotto(Id,Codice,Genere,Nome,Marca,Quantita,Prezzo,Moltiplicatore,Disponibilita,Quota) {
    /*alert("Codice [" + Codice);
	alert("Genere [" + Genere);   
	alert("Nome [" + Nome);
	alert("Marca [" + Marca);
	alert("Quantita [" + Quantita);
	alert("Prezzo [" + Prezzo);
	alert("Moltiplicatore [" + Moltiplicatore);
	alert("Disponibilita [" + Disponibilita);*/
    carrello = LeggiCarrello();  
    //alert("["+carrello); 
    IdLista = Id;
    //alert(IdLista);
    if (Debug==1)  alert('AggiungiProdotto');
    var today = new Date();
    var expire = new Date();

    /*Controlla l'esistenza*/		
    /*Controllo della dipsonibilit� del prodotto */
    
    
    var _disp=Disponibilita;
    if (Disponibilita=='Unico') {
        _disp=1;
    };

    if (Prezzo=='0.0') {
        alert("Prodotto solo in esposizione. Sarà disponibile al più presto");
        return false;
    }
	
    if (Quantita*Moltiplicatore>_disp) {
        //alert(xAlertQty);
        return false; 		
    }
    else
    {
        if (LeggiProdotto(Codice) ==-1) /*se esiste già*/
        { 
            //CancellaProdotto(Codice);
            expire.setTime(today.getTime() + 60*60*1000*Ore);
            carrello = LeggiCarrello();
            if (carrello== ":" ) carrello = "";
            
            carrello = carrello + Codice + ',' + Genere + ',' + Nome + ',' + Marca + ','+ Quantita + ',' + InvertiFormattazione(Prezzo) + ',' + Moltiplicatore + ',' + _disp + ',' + Quota + ':';
            /*Scrittura del carrello (per implementare il MultiCarrello, NomeCarrello deve essere aggiunto fra i parametri in ingresso*/
     
            document.cookie = IdLista + NomeCarrello +  carrello + "#; expires=" + expire.toGMTString();
            if (Debug==1)  alert("Il prodotto è stato inserito nel carrello");
            //alert("["+carrello);
        }
    }//alert("["+carrello); 
}

/* Modifica il valore di una colonna di un prodotto*/
function ModificaColonna(Codice,Colonna,NuovoValore) /*ESTERNA*/
{
    if (Debug==1)  alert('ModificaColonna');
    var VectorCaratteristiche = new Array();
    var VectorProdottiLocale = new Array();
    var i=0;
    var j=0;
	
    carrello=LeggiCarrello();
    carrello=carrello+";";
    if (carrello.length >1) /*Il carrello non � vuoto*/
    {   
        /*Scompone tutto il carrello in singoli prodotti*/
        VectorProdottiLocale = carrello.substring(0, carrello.indexOf(';')).split(':');	
        
        carrello="";
        for (i=0; i < VectorProdottiLocale.length-1; i++)
        {
            VectorProdottiLocale[i] = VectorProdottiLocale[i] + ":" ;
            /*Scompone il prodotto in caratteristiche*/
            VectorCaratteristiche = VectorProdottiLocale[i].substring(0, VectorProdottiLocale[i].indexOf(':')).split(',');
            if (VectorCaratteristiche[ColonnaCodice] == Codice) /*Trova il prodotto*/
            {
                VectorCaratteristiche[Colonna] = NuovoValore;
            }
            for (j=0; j < VectorCaratteristiche.length ; j++)
            {
                carrello=carrello+VectorCaratteristiche[j] +",";
            }			
            carrello=carrello.substring(0,carrello.length-1); /* Toglie l'ultima virgola */
            carrello=carrello+":";
        }
        AggiungiTuttoCarrello (carrello);
    }
}

/*Elimina i prodotti che hanno valori NULLI o zero nella colonna passata come parametro*/
function NoNulliColonna(Colonna) /*ESTERNA*/
{
    if (Debug==1)  alert('NoNulliColonna');
    var VectorCaratteristiche = new Array();
    var VectorProdottiLocale = new Array();
    var i=0;
    var j=0;
	
    carrello=LeggiCarrello();
    if (carrello.length >1) /*Il carrello non è vuoto*/
    {
        carrello=carrello+";";
        VectorProdottiLocale = carrello.substring(0, carrello.indexOf(';')).split(':');	
        carrello="";
        for (i=0; i < VectorProdotti.length; i++)
        {
            VectorProdottiLocale[i] = VectorProdottiLocale[i] + ":" ;
            VectorCaratteristiche = VectorProdottiLocale[i].substring(0, VectorProdottiLocale[i].indexOf(':')).split(',');
            if (VectorCaratteristiche[Colonna] == "0" || VectorCaratteristiche[Colonna] == "") /*Trova il prodotto con la colonna nulla*/
            {
                CancellaProdotto(VectorCaratteristiche[ColonnaCodice]);
            }
        }
    }
}

/*Ritorna la stringa del carrello*/
function LeggiCarrello()
/*INTERNA*/
{
    if (Debug==1)  alert('LeggiCarrello');
    /* Se c'e un cookie */
    if (document.cookie.length > 0 )
    { 
        /* offset della chiave (adesso � unica ed � "Carrello=") */
        /* imposto il valore della fine della stringa da leggere*/
	//alert(IdLista);
        
        var begin =  document.cookie.indexOf(IdLista + NomeCarrello);
        var end = document.cookie.indexOf("#", begin);
        /* Se indexOf restituisce -1 il nostro cookie e' l'ultimo */
        if( end == -1 ) return ""; 

        //alert(IdLista);
        /*Restituisco il valore del cookie*/
        if (begin>=0)
            return unescape(document.cookie.substring(begin + IdLista.length + NomeCarrello.length, end));				
        else return "";
    } 
    else return ":";
	
} 

/*Ritorna la stringa del carrello ridotta per ordine*/
function LeggiCarrelloShort()
/*INTERNA*/
{
    var VectorCaratteristiche = new Array();
    var Appoggio = new Array();
    var i=0;
    var j=-1;
    var carrelloshort="";
    var carrellotemp="";
	
    if (Debug==1) alert('LeggiCarrelloShort'); 
    carrellotemp= LeggiCarrello();
    carrellotemp=carrellotemp+";";
    VectorProdotti = carrellotemp.substring(0, carrellotemp.indexOf(';')).split(':');

    carrelloshort="";
    for (i=0; i < VectorProdotti.length-1; i++) 
    {
        VectorProdotti[i] = VectorProdotti[i] + ":" ;
        VectorCaratteristiche = VectorProdotti[i].substring(0, VectorProdotti[i].indexOf(':')).split(',');
        carrelloshort=carrelloshort + VectorCaratteristiche[ColonnaCodice]+','+VectorCaratteristiche[ColonnaQuantita]+',';
    }
    /*ritorna solo codice e qta*/
    return carrelloshort;
}

/* Funzione che aggiunge tutta la sequenza dei prodotti in formato stringa*/
function AggiungiTuttoCarrello(name) /*INTERNA*/
{
    if (Debug==1)  alert('AggiungiTuttoCarrello');
    var today = new Date();
    var expire = new Date();
    //	alert(IdLista);		
    expire.setTime(today.getTime() + 60*60*24*1000);
    document.cookie = IdLista + NomeCarrello +  name + "#; expires=" + expire.toGMTString();
}

/* Legge tutto il prodotto dato il codice */
function LeggiProdotto(codice) /*INTERNA*/
{	
    if (Debug==1)  alert('LeggiProdotto');
    var VectorCaratteristiche = new Array();
    var i=0;
	
    carrello= LeggiCarrello();
    carrello=carrello+";";
    VectorProdotti = carrello.substring(0, carrello.indexOf(';')).split(':');	
    // alert("[" + carrello + "]");
    for (i=0; i < VectorProdotti.length; i++)
    {
        VectorProdotti[i] = VectorProdotti[i] + ":" ;
        VectorCaratteristiche = VectorProdotti[i].substring(0, VectorProdotti[i].indexOf(':')).split(',');
        if (VectorCaratteristiche[ColonnaCodice] == codice)  return VectorProdotti[i];
    }
    return -1;
}

/* Legge una caratteristica dato il codice e la caratteristica*/
function LeggiCaratteristicaProdotto(codice,caratteristica) /*ESTERNA*/
{	
    if (Debug==1)  alert('LeggiCaratteristicaProdotto');
    var VectorCaratteristiche = new Array();
    var i=0;
	
    carrello= LeggiCarrello();
    carrello=carrello+";";
    VectorProdotti = carrello.substring(0, carrello.indexOf(';')).split(':');	
	
    for (i=0; i < VectorProdotti.length; i++)
    {
        VectorProdotti[i] = VectorProdotti[i] + ":" ;
        VectorCaratteristiche = VectorProdotti[i].substring(0, VectorProdotti[i].indexOf(':')).split(',');
        if (VectorCaratteristiche[ColonnaCodice] == codice)  return VectorCaratteristiche[caratteristica];
    }
    return -1;
}

/* Elimina il codice specificato*/
function Elimina(codice) /*ESTERNA*/
{
    /* richiede la conferma per l'eliminazione dell'articolo */
    if(window.confirm(xConferma)){
      CancellaProdotto(codice);
      window.location.reload();	
      return true;
    } else {
      return false;
    }
}
	
/* Cancella il prodotto*/	
function CancellaProdotto(codice) /*INTERNA*/
{	
    var VectorCaratteristiche = new Array();
    var Appoggio = new Array();
    var i=0;
    var j=-1;

    if (Debug==1) alert('CancellaProdotto'); 
    carrello= LeggiCarrello();
    carrello=carrello+";";
    SvuotaCarrello();
    VectorProdotti = carrello.substring(0, carrello.indexOf(';')).split(':');

    carrello="";
    /*Ricrea il carrello aggiungendo tutti i prodotti tranne quello da cancellare*/
    for (i=0; i < VectorProdotti.length-1; i++) 
    {

        VectorProdotti[i] = VectorProdotti[i] + ":" ;
        VectorCaratteristiche = VectorProdotti[i].substring(0, VectorProdotti[i].indexOf(':')).split(',');
        if (VectorCaratteristiche[ColonnaCodice] != codice)
            carrello=carrello + VectorProdotti[i];
    }
    if (carrello != "")
    {
        AggiungiTuttoCarrello (carrello);		
    }
}


/* Svuota il carrello */
function Svuota()/*ESTERNA*/
{
    if (confirm(xSvuotaCarrello))
    {
	SvuotaCarrello();
        window.location.reload();
    };
    return true;
}

/* Svuota il carrello da tutto*/
function SvuotaCarrello()/*INTERNA*/
{
    var today = new Date();
    var expire = new Date();
    //	alert(IdLista);		
    expire.setTime(today.getTime() + 60*60*24*1000);
    document.cookie = IdLista + NomeCarrello +"; expires= " + expire.toGMTString();
    /*ricarico la pagina del carrello per visualizzare i */
    /*dati aggiornati*/
}

var arrayTot = new Array();
var iTot = 0;

var arrayPrezzi = new Array();
var iPrezzi = 0;

/* Stampa il carrello*/
function StampaCarrello()/*ESTERNA*/
{	
    var VectorCaratteristiche = new Array();
	
    var TotaleLire=new String;
    var TotaleEuro=new String;

    var TotaleDollari=new String;	

    var PrezzoTotale=0;
    var PrezzoTotaleLire=0;
    var PrezzoTotaleDollari=0;
		
    var i=0;
    var j=0;
    var str_onclick;
    
    var quantitaProvvisoria = 0;
    var quantitaTotale = 0;
			
    carrello= LeggiCarrello();
    carrello=carrello+";";
//    alert(carrello);
    VectorProdotti = carrello.substring(0, carrello.indexOf(';')).split(':');	

    if (VectorProdotti.length-1 == 0) /*Non ci sono prodotti*/ {
        
        document.write("<table border=0 width='950' align=center><tr><td align='center'>"+xNessunProdotto+"</td></tr></table>");
        
    } else {
        
        document.write("<form name='carrello' id='carrello'>");
        document.write("<table width='952' cellpadding='0' cellspacing='0'><tr><td style='font-size: 12px'>");
        document.write("<table cellpadding='0' cellspacing='0' width='952' style='font-size: 12px;'><tr><th colspan=1 class='disponibile_titolo'></th><td width='2' valign='bottom' class='disponibile_titolo'></td><th colspan=1 style='text-align: left;' class='disponibile_titolo'>"+xArticolo+"</th><td width='2' valign='bottom' class='disponibile_titolo'></td><th class='disponibile_titolo' style='text-align: right;'><b class='disponibile_prezzo'>"+xQuarta+"</b></th><td width='2' valign='bottom' class='disponibile_titolo'></td><th colspan=1 align='right' class='disponibile_titolo' style='text-align: right;'><b class='disponibile_prezzo' style='text-align: '>"+xQuinta+"</b></th><td width='2' valign='bottom' class='disponibile_titolo'></td><th colspan=1 class='disponibile_titolo' style='text-align: right;'><b class='disponibile_prezzo'>"+xSesta+"</b></th><th colspan=2 class='disponibile_titolo'>"+xElimina+"</th></tr>");
        document.write("<tr><td style='background: url(images/lista_nozze_riga_tabelle.gif) repeat-x; height: 1px;' colspan='13'></td> </tr>");	
        
        for (i=0; i < VectorProdotti.length-1; i++) /* VectorProdotti.length-1 perchè prende anche il vuoto fra :;*/
        {
            VectorProdotti[i]=VectorProdotti[i]+ ":";
            document.write("<tr>");
            VectorCaratteristiche = VectorProdotti[i].substring(0, VectorProdotti[i].indexOf(':')).split(',');
            
//            if(VectorCaratteristiche[ColonnaQuota] == 1){
//              tot[i]=VectorCaratteristiche[ColonnaQuantita];
//            } else {
//              tot[i]=VectorCaratteristiche[ColonnaQuantita]*VectorCaratteristiche[ColonnaPrezzo];
//            }
            /* inserisco il -1 perchè ho la stringa con la quota */
            for (j=0; j < VectorCaratteristiche.length -1 ; j++)
            {				
                switch(j)
                {
                    /*ColonnaQuantita*/
                    case 4:
                        /* se il dato è inserito in quote inserisce un input type per l'inserimento manuale della quantità */
                        
                        arrayTot[iTot] = "quantita"+i;
                        arrayPrezzi[iPrezzi] = "totale"+i;
                        if(VectorCaratteristiche[8] == '1'){
                          document.write("<td align='right' class='disponibile_prezzo'><input type='text' size='5' value='"+VectorCaratteristiche[ColonnaQuantita]+"' id='"+arrayTot[iTot]+"' name='quantita"+i+"' onChange='Aggiorna()' onkeyup='ControlloNumeri(event.keyCode, this.value,"+i+","+VectorCaratteristiche[ColonnaDisponibilita]+","+VectorCaratteristiche[ColonnaPrezzo]+");' alt='Premi Invio o Aggiorna per confermare le modifiche'>");
                          //alert(VectorCaratteristiche[ColonnaQuantita]);
                          document.write("</td><td></td>");
                        }
                        
                        else{ 
                          document.write("<td align='right' class='disponibile_prezzo'><select id='"+arrayTot[iTot]+"' name='quantita"+i+"' onChange='Aggiorna();' onkeydown='if (event.keyCode==13) Aggiorna();' alt='Premi Invio o Aggiorna per confermare le modifiche'>");
                                               
                          for (var k=1; k <= VectorCaratteristiche[ColonnaDisponibilita]; k++) {
                            if ((VectorCaratteristiche[ColonnaQuantita]) ==  k) {
                                document.write("<option value='" + (k) + "' selected='selected'>"+ (k) +"</option>");
                            } else {
                                document.write("<option value='" + (k) + "'>"+ (k) +"</option>");
                            }
                          }
                          document.write("</select></td><td></td>");
                        }
                        
                        break;
					
                    /*ColonnaGenere
			case 1:
			break;
                    */
                    /*ColonnaCodice*/
                    case 0:
                        break;					

                    /*ColonnaMoltiplicatore*/
                    case 6:
                        break;

                    /*ColonnaDisponibilita*/
                    case 7:
                        break;

                    /*ColonnaPrezzo*/
                    case 5:
                        
                    //*VectorCaratteristiche[ColonnaMoltiplicatore]*VectorCaratteristiche[ColonnaQuantita]
                    //if (VectorCaratteristiche[8] == 1) {
                        
                        /* stampa colonna prezzo unitario */
                    //    document.write("<td  align='right'><div style='text-align: right;'> &euro; 1,00</div></td>");
                        
                        /* se la quantità è pari a zero, la pongo comunque uguale a 1 */
                   //     if(VectorCaratteristiche[ColonnaQuantita] == 0 || VectorCaratteristiche[ColonnaQuantita] == "") {
                    //        quantitaProvvisoria = 1;
                    //    } else {
                     //       quantitaProvvisoria = VectorCaratteristiche[ColonnaQuantita];
                            
                   //     }
                        
                        /* stampa colonna prezzo totale */
                    //    document.write("<td></td><td style='text-align: right;'><div class='disponibile_prezzo_carrello' style='display:inline; text-align: right;' id='"+arrayPrezzi[iPrezzi]+"'>&euro; "+FormattaValuta(quantitaProvvisoria)+"</div></td>");
                        
                        
                   // } else {
                        
                        /* stampa colonna prezzo unitario */
                        document.write("<td  align='right' class='disponibile_prezzo_carrello' style='text-align: right;'>&euro; " + FormattaValuta(VectorCaratteristiche[j])+"</td>");
                        
                        var prezzoTotale;
                        
                        prezzoTotale = FormattaValuta(VectorCaratteristiche[j]*VectorCaratteristiche[ColonnaQuantita]);
                        
                        /* se il prezzoTotale non contiene tutte e due le cifre decimali, le aggiunge */
                        var posVirgola;
                        posVirgola = prezzoTotale.indexOf(",");
                        
                        if (prezzoTotale.charAt(posVirgola + 1) == "") {
                        }
                        
                        if (prezzoTotale.charAt(posVirgola + 2) == "") {
                            prezzoTotale = prezzoTotale.concat("0");
                        }
                        
                        /* stampa colonna prezzo totale */
                        document.write("<td></td><td style='text-align: right;'><div class='disponibile_prezzo_carrello' style='display:inline; text-align: right;' id='"+arrayPrezzi[iPrezzi]+"'>&euro; "+prezzoTotale+"</div></td><td></td>");
                          
                          
                   // }
                    
                    break;
                    
                    case 1:
                        document.write("<td class='disponibile_descrizione'>" + VectorCaratteristiche[j] + "</td>");
                    break;
                    
                    case 3:
                        document.write("<td class='disponibile_descrizione'>" + VectorCaratteristiche[j] + "</td><td></td>");
                    break;
                    
                    default:
                    document.write("<td class='disponibile_descrizione'>" + VectorCaratteristiche[2] + "</td>");
                }			
							
            }		
            str_onclick='"'+"AggiornaCarrello();Elimina('" + VectorCaratteristiche[ColonnaCodice] + "');"+'"'; 
            
                        
            /* colonna elimina */
            document.write("<td align='center'><a href='#' onclick="+str_onclick+"><img src='images/icona_elimina.gif'></a></td>");
            document.write("</tr><tr><td style='background: url(images/lista_nozze_riga_tabelle.gif) repeat-x; height: 1px;' colspan='12'></td></tr>");
            
            
           /* se il prodotto è in quota calcola il prezzo in modo diverso */ 
           /*if(VectorCaratteristiche[8] == 1){
               if(VectorCaratteristiche[ColonnaQuantita] == 0 || VectorCaratteristiche[ColonnaQuantita] == ""){
                   quantitaTotale = 1;
               } else {
                    quantitaTotale = VectorCaratteristiche[ColonnaQuantita];
               }
               
               PrezzoTotale=PrezzoTotale + quantitaTotale*1;
               
           } else {*/
               PrezzoTotale=PrezzoTotale + VectorCaratteristiche[ColonnaPrezzo]*VectorCaratteristiche[ColonnaQuantita]*VectorCaratteristiche[ColonnaMoltiplicatore];
           /*/}*/
           iTot++;
           iPrezzi++;
          }
          /*converto il totale da Lire ad Euro*/
          PrezzoTotaleLire=Converti(PrezzoTotale);

          /*converto il totale da Lire ad Dollari*/
          PrezzoTotaleDollari=ConvertiDollaro(PrezzoTotale);

          /*formatto il totale in Lire*/
          TotaleLire=FormattaValuta(PrezzoTotaleLire,'Lire');

          /*formatto il Totale in Euro*/
          TotaleEuro=FormattaValuta(PrezzoTotale,'Euro');

          /*formatto il Totale in Dollari*/
          TotaleDollari=FormattaValuta(PrezzoTotaleDollari);


          document.write("</table></td></tr><tr><td height=2 background='images/linea_blu.gif'></td></tr></table><br>");

          /* procedura per il calcolo del prezzo finale e l'aggiunta della cifra decimale mancante */
          var prezzoTotaleFinale;
          var prezzoTotaleFinaleEng;
                        
          prezzoTotaleFinale = TotaleEuro;
          prezzoTotaleFinaleEng = TotaleDollari;

          /* se il prezzoTotale non contiene tutte e due le cifre decimali, le aggiunge */
          var posVirgolaFinale;
          var posVirgolaFinaleEng;
          posVirgolaFinale = prezzoTotaleFinale.indexOf(",");
          posVirgolaFinaleEng = prezzoTotaleFinaleEng.indexOf(",");

          /* ita */
          if (prezzoTotaleFinale.charAt(posVirgolaFinale + 1) == "") {
              prezzoTotaleFinale = prezzoTotaleFinale.concat("00");
          }

          if (prezzoTotaleFinale.charAt(posVirgolaFinale + 2) == "") {
              prezzoTotaleFinale = prezzoTotaleFinale.concat("0");
          }
          
          /* eng */
          if (prezzoTotaleFinaleEng.charAt(posVirgolaFinaleEng + 1) == "") {
              prezzoTotaleFinaleEng = prezzoTotaleFinaleEng.concat("00");
          }

          if (prezzoTotaleFinaleEng.charAt(posVirgolaFinaleEng + 2) == "") {
              prezzoTotaleFinaleEng = prezzoTotaleFinaleEng.concat("0");
          }

          if (english==0){
            document.write("<table border=0 width=950><tr><td with=100 align='right'><b><div id='totaleFinale' class='articolo_quota'>"+ prezzoTotaleFinale +"</div></b></td><td width=50><b class='articolo_quota'>Euro</b></td><th class='disponibile_quota_carrello' rowspan='2' align='center' width=60 class='carrello'><b class='articolo_quota' valign='top'>"+xSesta+"</b></th>");
          } else {
              
            document.write("<table border=0 width=950><tr><td with=100 align='right'><b class='articolo_quota'>"+ prezzoTotaleFinaleEng +"</b></td><td width=50><b class='articolo_quota'>Dollari</b></td><th class='disponibile_quota_carrello' rowspan='2' align='center' width=60 class='carrello'><b class='articolo_quota' valign='top'>"+xSesta+"</b></th></tr><tr><td align='right'><b class='articolo_quota'>"+ prezzoTotaleFinale +"</b></td><td><b class='articolo_quota'>Euro</b></td>");
          }
            document.write("</tr><tr><td colspan=3 height=2 background='images/linea_blu.gif'></td></tr></table>");
            document.write("</form>");
            
          }

      }


/* Aggiorno il carrello in base ai valori immessi*/
function Aggiorna(){
  
  AggiornaCarrello();
  window.location.reload();
  return true;
}


/* Aggiorno il carrello in base ai valori immessi*/
function AggiornaCarrello(NoNulli)
{
var VectorCaratteristiche = new Array();
var i=0;
if (Debug==1)  alert('AggiornaCarrello');
carrello=LeggiCarrello();
carrello=carrello+";";
VectorProdotti = carrello.substring(0, carrello.indexOf(';')).split(':');

for (i=0;i< VectorProdotti.length-1; i++) {
  VectorProdotti[i]=VectorProdotti[i]+":"
  VectorCaratteristiche = VectorProdotti[i].substring(0,VectorProdotti[i].indexOf(':')).split(',');
  
  //alert(VectorCaratteristiche[ColonnaDisponibilita]);
  //alert(document.carrello.elements[i].value);
  //alert(VectorCaratteristiche[ColonnaMoltiplicatore]);
  //alert(VectorCaratteristiche[5]*VectorCaratteristiche[7]);
  
  if ((document.carrello.elements[i].value)*VectorCaratteristiche[ColonnaMoltiplicatore] <= VectorCaratteristiche[5]*VectorCaratteristiche[7])
  {ModificaColonna(VectorCaratteristiche[ColonnaCodice],ColonnaQuantita,document.carrello.elements[i].value);
    }else{ /*alert(xAlertQty);*/} }

  
  if (NoNulli=='1') {
  NoNulliColonna(ColonnaQuantita);
  }
}

function SpedisciOrdine() {
  var URL = new String;	
  var VectorCaratteristiche = new Array();
  var i=0;
  var PrezzoTotale=0;

  URL="http://www.intertechitalia.it/cgi-bin/intertechitalia.pl";
  URL=URL+"?X-URL_OK=http://www.intertechitalia.it/italian/thanks.html";
  URL=URL+"&X-URL_ERR=http://www.intertechitalia.it/italian/error.html" ;
  URL=URL+"&Email=info@intertechitalia.it";
  //	alert(IdLista);
  carrello=LeggiCarrello(IdLista + NomeCarrello);
  carrello=carrello+";";
  VectorProdotti = carrello.substring(0, carrello.indexOf(';')).split(':');
  for (i=1;i< VectorProdotti.length; i++) {
    URL=URL+"&P"+i+"="+ VectorProdotti[i-1];
    VectorProdotti[i-1]=VectorProdotti[i-1]+":"
    VectorCaratteristiche = VectorProdotti[i-1].substring(0, VectorProdotti[i-1].indexOf(':')).split(',');
    PrezzoTotale=PrezzoTotale+VectorCaratteristiche[ColonnaPrezzo]*VectorCaratteristiche[ColonnaQuantita];
  }
  URL=URL+"&Totale= "+ PrezzoTotale;		
}

function CalcolaTotale() {
  var VectorCaratteristiche = new Array();
  var VectorProdottiLocale = new Array();	
  var PrezzoTotale=0;
  var i=0;
  var c=0;

  carrello= LeggiCarrello();
  carrello=carrello+";";

  VectorProdottiLocale = carrello.substring(0, carrello.indexOf(';')).split(':');	
  if (VectorProdottiLocale.length-1!=0) /*Non ci sono prodotti*/{	
    for (i=0; i < VectorProdottiLocale.length-1; i++) /* VectorProdottiLocale.length-1 perch� prende anche il vuoto fra :;*/{
      VectorProdottiLocale[i]=VectorProdottiLocale[i]+ ":";
      VectorCaratteristiche = VectorProdottiLocale[i].substring(0, VectorProdottiLocale[i].indexOf(':')).split(',');
      PrezzoTotale=PrezzoTotale+VectorCaratteristiche[ColonnaPrezzo]*VectorCaratteristiche[ColonnaQuantita];
    }
  }
  if (PrezzoTotale==0) document.write ("Nessun prodotto odinato");
  else document.write (PrezzoTotale);
}


/*visualizzazione di messaggi*/
function Messaggio() {
  alert("Il sito dimostrativo non permette di effettuare ordini");
}

/*stampa il valore della valuta nel formato corretto*/
function FormattaValuta(Intero,Valuta) {
  var punto=0;
  var resto=0;
  var i=0;

  var Buff1= new String;
  var ParteIntera=new String;
  var ParteDecimale=new String;

  /*converto la cifra da numero a stringa*/
  Buff1=Intero.toString();

  /*controllo se il numero � decimale oppure intero*/
  punto=Buff1.indexOf(".");
  if(punto>=0 ) {
    /*isolo la parte intera della cifra da quella decimale*/
    /*attenzione la parte decimale � preceduta dalla virgola*/
    ParteIntera=Buff1.substr(0,punto);
    /*inserisco la virgola al posto del punto*/
    ParteDecimale= "," + Buff1.substr(punto+1,Buff1.length);
    if (ParteDecimale.length>3) ParteDecimale = ParteDecimale.substr(0,3);
  } else {
    /* se il numero non ha cifre decimali la parte intera*/
    /*� il numero stesso.*/
    ParteIntera=Buff1;
    ParteDecimale= ",00"
  }

  /* ogni 3 cifre deve mettere il punto di separazione delle migliaia*/
  /* quindi:*/
  /* controllo se il numero di cifre � un multiplo del tre*/
  resto=(ParteIntera.length)%3;

  if(resto!=0) {
    /*se non � un multiplo del tre isolo le prime "resto" cifre*/
    Buff1=ParteIntera.substr(0,resto);
  } else {
    /*se � multiplo isolo le prime tre cifre*/
    Buff1=ParteIntera.substr(0,3);
    resto=3; 
  }
  i=resto;		
  while(i<ParteIntera.length) {
    /*concateno i gruppi di tre cifre con il punto*/
    Buff1=Buff1 + ".";
    Buff1=Buff1 + ParteIntera.substr(i,3);
    i=i+3;
  }
  //	if(punto!=0)

  /*concateno alla parte intera corretta la parte decimale*/
  if(Valuta!='Lire') {	
    Buff1=Buff1 + ParteDecimale;	
  }	
  /*restituisco la stringa formattata*/
  return Buff1;
}

// trasforma il punto di separazione dei decimali in virgola
function InvertiFormattazione(valore) {
  var str= new String;		
  str = valore.toString();

  if (str.indexOf(",")>=0) {
    temp1=str.substr(0,str.indexOf(","));
    temp2=str.substr(str.indexOf(",")+1,20);
    str=temp1+"."+temp2;
  }		
  return str;
}

/*funzione che converte un prezzo da Euro a Lire*/
function Converti(Prezzo) {
  var buff1=0;
  /*converto in Euro*/
  buff1=Prezzo*1936.27;

  /*eseguo l'arrotondamento al centesimo*/	
  buff1=Math.round(buff1);	
  /*restituisco il valore convertito*/
  return buff1;
}

/*funzione che converte un prezzo da Lire ad Euro*/
function ConvertiDollaro(Prezzo) {
  var buff1=0;
  /*converto in Euro*/
  buff1=Prezzo * 1.3394;

  /*eseguo l'arrotondamento al centesimo*/
  buff1=buff1*100;
  buff1=Math.round(buff1);
  buff1=buff1/100;
  /*restituisco il valore convertito*/
  return buff1;
}


function ScriviCarrello() /*ESTERNA*/ {
  carrello=LeggiCarrelloShort();
  document.frm_invio.carordine.value=carrello;
}

function SetLista(_idlista) {	
  IdLista = _idlista;
}

/* Stampa il carrello*/
function StampaConferma()/*ESTERNA*/ {	
  var VectorCaratteristiche = new Array();

  var TotaleLire=new String;
  var TotaleEuro=new String;

  var TotaleDollari=new String;	

  var PrezzoTotale=0;
  var PrezzoTotaleLire=0;
  var PrezzoTotaleDollari=0;

  var i=0;
  var j=0;
  var str_onclick;

  carrello= LeggiCarrello();
  carrello=carrello+";";
  VectorProdotti = carrello.substring(0, carrello.indexOf(';')).split(':');	

  if (VectorProdotti.length-1==0) /*Non ci sono prodotti*/ {
    document.write("<td align='center'>"+xNessunProdotto+"</td>");
  } else {

  for (i=0; i < VectorProdotti.length-1; i++) /* VectorProdotti.length-1 perchè prende anche il vuoto fra :;*/ {
    VectorProdotti[i]=VectorProdotti[i]+ ":";
    //document.write("<tr>");
    VectorCaratteristiche = VectorProdotti[i].substring(0, VectorProdotti[i].indexOf(':')).split(',');
    for (j=0; j < VectorCaratteristiche.length ; j++) {				
      switch(j) {
        /* ColonnaQuantita */
        case 4:
            if(VectorCaratteristiche[ColonnaQuantita] == 0 || VectorCaratteristiche[ColonnaQuantita] == ""){
                VectorCaratteristiche[j] = 1;
            }
            
            document.write("<td style='text-align: right;'>"+VectorCaratteristiche[j]+"</td>");
            document.write("<td style='text-align: right;'><input type='hidden' size='5' name='Quantita_" + i + "' value='" + VectorCaratteristiche[j] + "' size='2'>");
            document.write("<input type='hidden' name='Prezzo_" + i + "' value='" + FormattaValuta(VectorCaratteristiche[5]) + "'>");
            document.write("<input type='hidden' name='Articolo_" + i + "' value='" + VectorCaratteristiche[j-3] +" - "+ VectorCaratteristiche[j-1] + "'></td>");
            document.write("<td style='text-align: right;'>&euro; "+FormattaValuta(VectorCaratteristiche[j+1])+"</td>");
            break;


        /* ColonnaMoltilicatore */
        case 6:
        break;

        /* ColonnaGenere */
        case 1:
            document.write("<td>&nbsp;&nbsp;&nbsp;"+VectorCaratteristiche[j]);
        break;


        /* ColonnaGenere */
        case 0:
        break;

        /* ColonnaGenere */
        case 2:
        // document.write(spaziatore(15,VectorCaratteristiche[j]) + " ");
        break;

        case 3:
            document.write(" - "+VectorCaratteristiche[j]+"</td>");
        break;

        /* ColonnaDisponibilita */
        case 7:
        break;

        /* ColonnaPrezzo */
        case 5:
        // VectorCaratteristiche[ColonnaMoltiplicatore]*VectorCaratteristiche[ColonnaQuantita]
        //if(VectorCaratteristiche[8] == 1){
        //    document.writeln(/*FormattaValuta(VectorCaratteristiche[j],'Euro') + " | " +*/"<td style='text-align: right; padding-right: 50px;'>&euro; "+FormattaValuta((VectorCaratteristiche[4]),'Euro')+"</td></tr><tr>");
        //} else {
            var prezzoTotale;
                   
            prezzoTotale = FormattaValuta(VectorCaratteristiche[j]*VectorCaratteristiche[ColonnaQuantita]);

            prezzoTotale = prezzoTotale + "";
            /* se il prezzoTotale non contiene tutte e due le cifre decimali, le aggiunge */
            var posVirg;
            
            posVirg = prezzoTotale.indexOf(".");
            
            prezzoTotale = prezzoTotale.replace(".", ",");

            if (prezzoTotale.charAt(posVirg + 1) == "") {
                prezzoTotale = prezzoTotale.concat("00");
            }
            
            if (prezzoTotale.charAt(posVirg + 2) == "") {
                prezzoTotale = prezzoTotale.concat("0");
            }
            document.write("<input type='hidden' name='PrezzoTotale_" + i + "' value='" + prezzoTotale + "'>");
            document.writeln(/* FormattaValuta(VectorCaratteristiche[j],'Euro') + " | " + */"<td style='text-align: right; padding-right: 50px;'>&euro; "+ prezzoTotale +"</td></tr><tr>");
        //}
        
        break;

        default:
        document.write(/* "<td nowrap>" + VectorCaratteristiche[j] */);
      }			
    }
    //if(VectorCaratteristiche[8] == 1){
        
    //    PrezzoTotale=PrezzoTotale+VectorCaratteristiche[ColonnaQuantita]*VectorCaratteristiche[ColonnaMoltiplicatore];
        
    //} else {
        PrezzoTotale=PrezzoTotale+VectorCaratteristiche[ColonnaPrezzo]*VectorCaratteristiche[ColonnaQuantita]*VectorCaratteristiche[ColonnaMoltiplicatore];
    //}
    
  }
  /*converto il totale da Lire ad Euro*/
  PrezzoTotaleLire=Converti(PrezzoTotale);

  /*converto il totale da Lire ad Dollari*/
  PrezzoTotaleDollari=ConvertiDollaro(PrezzoTotale);

  /*formatto il totale in Lire*/
  TotaleLire=FormattaValuta(PrezzoTotaleLire,'Lire');

  /*formatto il Totale in Euro*/
  TotaleEuro=FormattaValuta(PrezzoTotale,'&euro;');

  /*formatto il Totale in Dollari*/
  TotaleDollari=FormattaValuta(PrezzoTotaleDollari);

  document.writeln(" ");
  if (english==0)
    document.writeln("<td></td></tr><tr><td height='10'></td></tr><tr><td>&nbsp;&nbsp;&nbsp;<b>"+xSesta+"</b>: </td><td></td><td></td><td></td><td style='text-align: right; padding-right: 50px;'><input type='hidden' name='Totale' value='" + TotaleEuro + "'>&nbsp;&nbsp;&nbsp;&euro; "+ TotaleEuro +"<br /><!--( Lire: "+ TotaleLire +")-->");
  else
     document.writeln("<td></td></tr><tr><td height='10'></td></tr><tr><td>&nbsp;&nbsp;&nbsp;<b>"+xSesta+"</b>: </td><td></td><td></td><td></td><td style='text-align: right; padding-right: 50px;'><input type='hidden' name='Totale' value='" + TotaleEuro + "'>&nbsp;&nbsp;&nbsp;&euro; "+ TotaleEuro);
 }
    document.write("</td></tr>"); 

}

function spaziatore(_quanti, _chi) {
  var temp = _quanti - _chi.length;
  var i=0;
  if (temp > 0) {
    if (_chi.indexOf(",") != -1) {
      for (i=0; i < temp; i++)
        _chi = " " + _chi;
      }
    else  {
      for (i=0; i < temp; i++)
      _chi = _chi + " ";
    }
  }
  return _chi;
}

function Controlla() {
//  alert(2);
  AggiornaCarrello();
  carrello=LeggiCarrello();
  if (carrello.length <= 1) {
  alert(xCarrelloVuoto);
  //pop=window.open('carrello.jsp','CART','toolbar=no,scrollbars=yes,width=740,height=500,top=10,left=10'); 
  //pop=window.open('carrello.jsp','CART','toolbar=no,scrollbars=yes,width=740,height=500,top=10,left=10'); 

  } else {
//    alert(1);
    pop=window.location.href='Viewer?cmd=conferma&id='+IdLista; 
  }
  pop.focus();	
}


function ListaProdotti(_form) {
_form.action = 'wrapper.jsp';
carrello= LeggiCarrello();
//carrello=carrello+";";
//VectorProdotti = carrello.substring(0, carrello.indexOf(';')).split(':');
//alert(carrello);
        
_form.data.value = carrello;
_form.submit();
}

/* cambia il prezzo totale */
function CambiaPrezzo(cifra, riga, quantita_passata, prezzo){
    var quantita;
    //var prezzoCambio = document.getElementById("prezzoCambioId");
    var prezzoTotale = document.getElementById(("totale"+riga));
    var prezzoFinale = document.getElementById(("totaleFinale"));
    var lire = document.getElementById(("totaleLire"));
    
    if(cifra == "" || cifra == 0) {
        cifra = 1;
        prezzoEuro = cifra;
    } else {
        prezzoEuro = cifra;
    }
    //prezzoCambio.innerHTML = prezzoEuro;
    
    /* se la quantità supera la disponibilità, mi dà errore, altrimenti lo stampa */
    if (cifra > quantita_passata) {
        quantita = document.getElementById("quantita"+riga);
        quantita = quantita.value + "p";
        //alert(quantita.indexOf("p"));
        var prima = quantita.indexOf("p") - 1;
        //alert(prima);
        quantita = quantita.substring(0, prima);
        // alert(quantita);
        document.getElementById("quantita"+riga).value = quantita;
        alert(xAlertQty);
        return false; 		
    }
    
    
    /* prezzo totale sulla riga */
    prezzoTotale.innerHTML = "&euro; " + FormattaValuta(prezzoEuro*prezzo); 
    /* prezzo totale finale in euro */
    prezzoFinale.innerHTML = "<b style='color: #b28503;'>" + FormattaValuta(CalcolaTotale(prezzoEuro*prezzo, riga, "euro"), "Euro")+"</b>";
    /* prezzo totale finale in lire */
    lire.innerHTML = "<b style='color: #b28503;'>" + FormattaValuta(CalcolaTotale(prezzoEuro*prezzo, riga , "lira"), "Lire")+"</b>";
    
}


function ControlloNumeri(evento, cifra, riga, disponibilita, prezzo) {
    var quantita;
    var totale;
    /* quantita precedente */
    quantita = document.getElementById("quantita"+riga);
    totale = document.getElementById("totale"+riga).innerHTML;
    totale = totale.replace(",",".");
    
    /* se il totale contiene il simbolo dell'euro lo toglie dal numero */
    if (totale.indexOf(" ") != -1) {
        totale = totale.substring(2);
        //alert(totale);
    }
    //var posizione;
    /* imposta la posizione massima dei decimali */
    //var posizioneMax = 0;
//    if(evento == 188){
//        alert("Per l'inserimento di cifre decimali, inserire il punto al posto della virgola");
//        document.getElementById("quantita"+riga).value = totale;
//    }
    /* se l'utente inserisce un numero procede */
    if ((evento >= 48) && (evento <= 57) || (evento >= 96) && (evento <= 105) || (evento == 8) || (evento == 46) || (evento == 13)) {
          /* memorizza la posizione in cui trova il primo punto */
//          posizione = cifra.indexOf(".");
          /* se la posizione del punto è già stata individuata, controlla che non siano stati inseriti altri punti */
//          if (posizione != -1) {
//              if((cifra.indexOf(".",posizione + 1)) != -1) {
//                alert(xAlertPunti);
//                document.getElementById("quantita"+riga).value = totale;
//                return false;
//              }
//          }
          /* se il punto si trova nella prima posizione */
//          if (posizione == 0) {
//              alert(xAlertNumErr);
//              document.getElementById("quantita"+riga).value = totale;
//          }
          /* memorizza la prima posizione in cui non è possibile inserire piu decimali */
          //posizioneMax = posizione + 3;
          //alert(cifra.charAt(posizioneMax));
          /* se l'utente inserisce più di due decimali, viene visualizzato un messaggio d'errore e non cambia il totale */
//          if (cifra.charAt(posizioneMax) != "") {
//              alert(xAlertDecimali);
//              document.getElementById("quantita"+riga).value = totale;
//          } else { 
            /* altrimenti lo inserisce in memoria */
            CambiaPrezzo(cifra, riga, disponibilita, prezzo);  //}
    } else { /* altrimenti dà un messaggio di errore */
        //alert(xAlertNumber);
        quantita = quantita.value + "p";
        //alert(quantita.indexOf("p"));
        var prima = quantita.indexOf("p") - 1;
        //alert(prima);
        quantita = quantita.substring(0, prima);
        // alert(quantita);
        document.getElementById("quantita"+riga).value = quantita;
    }
}

/* calcola il totale momentaneo del carrello */
function CalcolaTotale(cifra, riga, moneta){	
  var VectorCaratteristiche = new Array();
  var PrezzoTotale=0;
  var i=0;
  var j=0;
  var quantita = 0;

  carrello= LeggiCarrello();
  carrello=carrello+";";
  VectorProdotti = carrello.substring(0, carrello.indexOf(';')).split(':');	
  
  for (i=0; i < VectorProdotti.length-1; i++) /* VectorProdotti.length-1 perchè prende anche il vuoto fra :;*/ {
    if (i==riga) continue;
    VectorProdotti[i]=VectorProdotti[i]+ ":";
    //document.write("<tr>");
    VectorCaratteristiche = VectorProdotti[i].substring(0, VectorProdotti[i].indexOf(':')).split(',');
  
    //if (VectorCaratteristiche[8] == 1){
    //    if(VectorCaratteristiche[ColonnaQuantita] == "" || VectorCaratteristiche[ColonnaQuantita] == 0){
    //        quantita = 1;
    //    } else {
    //        quantita = VectorCaratteristiche[ColonnaQuantita];
    //    }
    //    PrezzoTotale=PrezzoTotale+parseInt(quantita);
    //} else {
        PrezzoTotale=PrezzoTotale+VectorCaratteristiche[ColonnaPrezzo]*VectorCaratteristiche[ColonnaQuantita]*VectorCaratteristiche[ColonnaMoltiplicatore];
       
    //}    
  }
  PrezzoTotale = PrezzoTotale + parseFloat(cifra);
  
  if(moneta == "lira"){
      PrezzoTotale = PrezzoTotale * 1936,27; 
      PrezzoTotale = Math.floor(PrezzoTotale);
      
  }
  
  return PrezzoTotale;
}

