function InsertRigheCarrello(idEProdotto, quantita, prezzo, idVariante1, valore1, idVariante2, valore2) {
    $.get("../js/righeCarrello.php", { ide: idEProdotto, qta: quantita, pre: prezzo, idv1: idVariante1, va1: valore1, idv2: idVariante2, va2: valore2 }, function (tpErrore) {
        if (tpErrore == 1) {
            $("#myPopup").html("<span style='color: red;'><b>Hai già inserito questo prodotto!</b></span>");
        } else {
            if ((quantita > 1) || (quantita == 0)) { prodotto = "prodotti"; } else { prodotto = "prodotto"; }
            $("#myPopup").html("Hai aggiunto " + quantita + " " + prodotto);
        }
    });

}

function InsertRigheCarrello2(idcodificato_p, quantita, prezzo, idx) {
    $.get("../js/righeCarrello.php", {
        idcp: idcodificato_p,
        qta: quantita,
        pre: prezzo
    }, function (tpErrore) {
        var errore = tpErrore.split("||");
        console.log(errore);
        if (errore[0] == 1) {
            $("#myPopup_" + idx).html("<span style='color: red;'><b>Hai già inserito questo prodotto!</b></span>");
        } else {
            if ((quantita > 1) || (quantita == 0)) { prodotto = "prodotti"; } else { prodotto = "prodotto"; }
            $("#myPopup_" + idx).html("Hai aggiunto " + quantita + " " + prodotto);
            $("#NArticoli_carrello").html(errore[1]);
        }
    });
}

function SelVariante(idcodificato, idx) {
    $.get("../js/righeCarrello.php", {
        idcp: idcodificato,
        type: "sel_variante"
    }, function (tpErrore) {

        var contenuto = tpErrore.split("||");

        var id_codificato = contenuto[1];
        var titolo = contenuto[2];
        var codice = contenuto[3];
        var descrizione = contenuto[4];
        var prezzo = contenuto[5];
        var sconto = contenuto[6];
        var flag_non_disponibile = contenuto[7];
        var unita_misura = contenuto[8];
        var altezza = contenuto[9];

        $("#idCodificato_" + idx).val(id_codificato);
        $("#Titolo_" + idx).html(titolo);
        $("#Codice_" + idx).html('cod. ' + codice);
        $("#Descrizione_" + idx).html(descrizione);

        /*let formatta = function (a) {
            return new Intl.NumberFormat('it-IT', { style: 'currency', currency: 'EUR' }).format(a);
        };*/

        let formatta = FunzioneFormattaCarrello();

        var scritta = "";


        if (sconto != 0) {

            $("#Prezzo_" + idx).addClass("prezzo-promo");

            var prezzo_sconto = prezzo - ((prezzo / 100) * sconto);

            if (unita_misura == "Mezzo metro") {
                prezzo_sconto = prezzo_sconto / 2;
                scritta = "cm 50";
                if (altezza != "") scritta += "X" + altezza;
            } else {
                scritta = " al " + unita_misura;
            }
            $("#Prezzo_" + idx).html(formatta(prezzo) + " <span>" + scritta + "</span>");
            $("#prezzo_sconto_" + idx).html(formatta(prezzo_sconto) + " <span>" + scritta + "</span>");
            $("#sconto_" + idx).html("- " + sconto + "%");
            $("#prezzo_input_" + idx).val(prezzo_sconto);

        } else {

            if ($("#Prezzo_" + idx).hasClass("prezzo-promo")) $("#Prezzo_" + idx).removeClass("prezzo-promo");


            if (unita_misura == "Mezzo metro") {
                prezzo = prezzo / 2;
                scritta = "cm 50";
                if (altezza !== undefined && altezza != "" && altezza !== null) scritta += "X" + altezza;
            } else {
                scritta = " al " + unita_misura;
            }

            console.log(scritta);

            $("#Prezzo_" + idx).html(formatta(prezzo) + " <span>" + scritta + "</span>");
            $("#prezzo_input_" + idx).val(prezzo);
            $("#prezzo_sconto_" + idx).html("");
            $("#sconto_" + idx).html("");
        }
        //console.log(flag_non_disponibile);
        if (flag_non_disponibile == 1) {
            $("#AggiungiProd_" + idx).prop("disabled", true);
            $("#AggiungiProd_" + idx).css("cursor", "not-allowed");
            $("#AggiungiProd_" + idx).html("Non disponibile <span class='glyphicon glyphicon-remove-sign' aria-hidden='true'></span >");
        } else {
            $("#AggiungiProd_" + idx).prop("disabled", false);
            $("#AggiungiProd_" + idx).css("cursor", "pointer");
            $("#AggiungiProd_" + idx).html("Aggiungi al Carrello <span class='glyphicon glyphicon-plus-sign' aria-hidden='true'></span>");
        }

        // $("#idCodificato_" + idx).val(id_codificato);

    });

    // showSlides();

}

function selImmagine(idcodificato) {
    $.get("../js/righeCarrello.php", {
        idcp: idcodificato,
        type: "sel_immagine"
    }, function (tpErrore) {
        var lista = tpErrore.split("||");

        // console.log(lista);

        $("#immagini").html(lista[0]);
        $("#galleria-immagini").html(lista[1]);
    });
}

function selImmagini_Cat(idcodificato, idx) {
    $.get("../js/righeCarrello.php", {
        idcp: idcodificato,
        type: "sel_immagine_cat"
    }, function (tpErrore) {
        $("#immagine_" + idx).html(tpErrore);
    });
}

function UpdateQtaRigheCarrello(idRiga,quantita) {
    var time = new Date().getTime();

    const pa = document.getElementById("localita").value;
    const tipo_spedizione = document.getElementById('tipo_spedizione').value;
    const tipo_pagamento = document.getElementById('tipo_pagamento').value;
    $.get("../js/righeCarrello.php", {
        idr:idRiga ,
        qta:quantita ,
        t:time ,
        pa: pa,
        type: "aggiorna_quantita_carrello"
    }, function(tpErrore) {

        let formatta_car = FunzioneFormattaCarrello();
        var pagamento = (tipo_pagamento == "contrassegno") ? 3 : 0;

        var arrayRis = tpErrore.split('||');
        var qta =  arrayRis[1];
        var totaleRiga = arrayRis[2];
        var totaleOrdine = arrayRis[3];
        var speseSped = arrayRis[4];
        var limite = arrayRis[5];
        var prezzo_promo = arrayRis[6];

        var importo_nuovo_con_sconto = arrayRis[7];
        var importo_sconto = arrayRis[8];

        $("#quantita_" + idRiga).val(qta);
        $("#PrezzoTotale_" + idRiga).html(formatta_car(totaleRiga.replace(",", ".")));
        $("#TotaleCarrello").html(formatta_car(totaleOrdine.replace(",", ".")));

        // In caso di sconto va preso quello scontato (qualora non ci fosse viene comunque assegnato il prezzo normale)..
        totaleOrdine = importo_nuovo_con_sconto;
        
        // Verifico ed aggiorno eventuali importi layout..
        aggiorna_totale_carrello();
    });
}

function aggiorna_totale_carrello() {

    var time = new Date().getTime();

    const pa = document.getElementById("localita").value;
    const tipo_spedizione = document.getElementById('tipo_spedizione').value;
    const tipo_pagamento = document.getElementById('tipo_pagamento').value;

    $.get("../js/righeCarrello.php", {
        t: time,
        pa: pa,
        type: "get_dati_carrello"
    }, function (tpErrore) {

        let formatta_car = FunzioneFormattaCarrello();
        var pagamento = (tipo_pagamento == "contrassegno") ? 3 : 0;

        var arrayRis = tpErrore.split('||');
        var totaleOrdine = arrayRis[1];
        var importo_sconto = arrayRis[2];
        var importo_nuovo_con_sconto = arrayRis[3];
        var speseSped = arrayRis[4];
        var limite = arrayRis[5];
        var prezzo_promo = arrayRis[6];
        var idBuonosconto = arrayRis[7];
        var ValoreBuonosconto = arrayRis[8];
        var idRigaBuono = arrayRis[9];

        // In caso di sconto va preso quello scontato (qualora non ci fosse viene comunque assegnato il prezzo normale)..
        totaleOrdine = parseFloat(importo_nuovo_con_sconto.replace(",", "."));

        try {
            $("#PrezzoTotale_" + idRigaBuono).html(formatta_car(ValoreBuonosconto.replace(",", ".")));
            $("#PrezzoUnitario_" + idRigaBuono).html(formatta_car(ValoreBuonosconto.replace(",", ".")));
        } catch (error) {
            console.log(error);
		}

        if (totaleOrdine >= 18) {
            if ($('#bottoneProcedi').css('display') == 'none') {
                $('#bottoneProcedi').css('display', 'block');
                $('#MessaggioMinimoOrdine').css('display', 'none');
            }
        } else {
            if ($('#bottoneProcedi').css('display') == 'block') {
                $('#bottoneProcedi').css('display', 'none');
                $('#MessaggioMinimoOrdine').css('display', 'block');
            }
        }

        if (pa != "") {

            if (isNaN(prezzo_promo))
                $("#messaggio_spesespedizione").html("");
            else if (prezzo_promo == 0)
                $("#messaggio_spesespedizione").html("Spese di Spedizione GRATUITE per ordini superiori a " + formatta_car(limite));
            else if (prezzo_promo > 0 && limite != "")
                $("#messaggio_spesespedizione").html("Spese di Spedizione di " + prezzo_promo + " per ordini superiori a " + formatta_car(limite));

            if (totaleOrdine > parseFloat(limite.replace(",", ".")) && limite != "") {

                if (prezzo_promo == 0)
                    $("#SpeseSpedizione").html("Gratuito");
                else
                    $("#SpeseSpedizione").html(formatta_car(prezzo_promo));

                $("#spedizionePaccoCelere").val(`Spedizione_${prezzo_promo}`);

            } else {

                if (limite == "")
                    $("#messaggio_spesespedizione").html("");

                $("#SpeseSpedizione").html(formatta_car(speseSped));
                $("#spedizionePaccoCelere").val(`Spedizione_${speseSped}`);

            }

            var totaleCarrello = totaleOrdine + parseFloat(pagamento);

            if (totaleOrdine < parseFloat(limite.replace(",", ".")) || limite == "") {
                if (tipo_spedizione == 'spedizione')
                    totaleCarrello += parseFloat(speseSped.replace(",", "."));
            }

            if (ValoreBuonosconto != "")
                totaleCarrello += parseFloat(ValoreBuonosconto.replace(",", "."))

            if ($("#sconto_complessivo").length > 0)
                $("#sconto_complessivo").html(importo_sconto.replace(",", "."));
            if ($("#nuovo_subtotale").length > 0)
                $("#nuovo_subtotale").html(importo_nuovo_con_sconto.replace(",", "."));

            $("#totaleCarrelloAll").html(formatta_car(totaleCarrello));

        }
    });
}

function salvaPagamento(pagamento) {
    $.get("../js/righeCarrello.php", {
        pag: pagamento,
        type: "salva_pagamento"
    });

    // Aggiorno metedo di pagamento..
    document.getElementById('tipo_pagamento').value = pagamento.split('_')[0].toLowerCase();

    // Calcolo il totale dei prezzi..
    aggiorna_totale_carrello();
}

function salvaSpedizione(spedizione) {
	
    $.get("../js/righeCarrello.php", {
        spe: spedizione,
        type: "salva_spedizione"
    });

    // Aggiorno tipo di spedizione..
    document.getElementById('tipo_spedizione').value = spedizione.split('_')[0].toLowerCase();
	
	if (spedizione=="Ritiro_0")  {
		document.getElementById('divPagamentoInSede').style.display = 'block';
	} else  {
		document.getElementById('divPagamentoInSede').style.display = 'none';
		if (document.getElementById('pagamentoInSede').checked==true){
			document.getElementById('pagamentoInSede').checked=false;
			salvaPagamento("PayPal_0");
			document.getElementById('pagamentoPayPal').checked=true;
		} 
	} 
		
    // Calcolo il totale dei prezzi..
    aggiorna_totale_carrello();
}

function FunzioneFormattaCarrello() {
    return function(a) {
        a = parseFloat(a);

        var str = new Intl.NumberFormat('it-IT', { style: 'currency', currency: 'EUR' }).format(a);
        var result = (str.substr(str.length - 1) + " " + str.substr(0, str.length - 1)).trim();

        return result;
    };
}

function CodiceFiscale(codicefiscale){
    $.get("../js/verificaregistrazione.php", { cf:codicefiscale } , function(tpErrore) {
        if (tpErrore == 1) {
            $("div[id='divCodice']").html("<span style='color: red;'><b>Questo codice fiscale è già in uso.</b></span>");
        }
        if(tpErrore == 0){
            $("div[id='divCodice']").html("<span style='color: green;'><b>Codice fiscale valido.</b></span>");
        }
        $("input[id='FlagCFEsistente']").val(tpErrore); //Flag = 0 se non è corretto e non è presente a DB.
    });
}
function checkPassword(lapassword, idutente) {
    $("input[id='FlagPasswordValida']").val("0");
    $.post("../js/verificaregistrazione.php", {
        pwd : lapassword,
        idu : idutente
    }, function(tpErrore) {
        var arrayRis = tpErrore.split('||');
        var tpErrore =  arrayRis[1];
        var ilTesto =   arrayRis[2];
        var smsErrore = arrayRis[3];
        $("input[id='FlagPasswordValida']").val(tpErrore);
        if (tpErrore == 0) {
            $("div[id='criteriPsw']").html("<span style='color: green;'></span>");
            $("div[id='TestoConfigurazionePassword']").html("");
        } else if (tpErrore == 1) {
            $("div[id='criteriPsw']").html("<span style='color: red;'><b>La password non soddisfa i criteri di sicurezza.</b></span><br><b>" + smsErrore + "</b><br><br>");
            $("div[id='TestoConfigurazionePassword']").html(ilTesto);
        }
    });
}
function SelSpedizione(paese) {

    const tipo_pagamento = document.getElementById('tipo_pagamento').value;
    const tipo_spedizione = document.getElementById('tipo_spedizione').value;

    $.get("../js/righeCarrello.php", {
        pa : paese,
        type: "sel_pagamento"
    }, function(tpErrore) {

        var errore = tpErrore.split("||");

        let formatta_pre = function (a){
            a = parseFloat(a);
            return new Intl.NumberFormat('it-IT',{ style: 'currency', currency: 'EUR' }).format(a);
        };


        let totaleOrdine = parseFloat(errore[0]);
        let speseSped    = parseFloat(errore[1]);
        let limite       = parseFloat(errore[2]);
        let prezzo_promo = parseFloat(errore[3]);

        var pagamento = (tipo_pagamento == "contrassegno") ? 3 : 0;
        var totaleCarrello = totaleOrdine + parseFloat(pagamento)

        if(isNaN(prezzo_promo))                    $("#messaggio_spesespedizione").html("");
        else if(prezzo_promo == 0)                 $("#messaggio_spesespedizione").html("Spese di Spedizione GRATUITE per ordini superiori a " + formatta_pre(limite));
        else if (prezzo_promo > 0 && limite != "") $("#messaggio_spesespedizione").html("Spese di Spedizione di " + prezzo_promo + " per ordini superiori a " + formatta_pre(limite));

        if (totaleOrdine > limite && limite != "") {

            if(prezzo_promo == 0) $("#SpeseSpedizione").html("Gratuito");
            else                  $("#SpeseSpedizione").html(formatta_pre(prezzo_promo));

            $("#spedizionePaccoCelere").val(`Spedizione_${prezzo_promo}`);

        } else {

            if(limite == "") $("#messaggio_spesespedizione").html("");

            $("#SpeseSpedizione").html(formatta_pre(speseSped));
            $("#spedizionePaccoCelere").val(`Spedizione_${speseSped}`);

            if (tipo_spedizione == 'spedizione')
                totaleCarrello += speseSped
                
            $("#totaleCarrelloAll").html(formatta_pre(totaleCarrello))
        }

        // Calcolo il totale dei prezzi..
        aggiorna_totale_carrello();

    });
}
