/*
* Gestione del carrello.
*
*/
$(window).ready(function (){
/*
* Tabella listaProdotti gestita da DataTable()
*/
var tableProdottiArticolo;
/*
* Numero massimo confronto prezzi
*/
var numeroMassimoConfrontoPrezzi = 4;
/*
* Data ed ora della valutazione prodotti
*/
$("#dataOraValutazioneProdotti").text($("#DATVAL_CAL").val());
/*
* Dimensionamento del dettaglio
*/
$(".dettaglio-tab").width("980");
$(".contenitore-dettaglio").width($(".dettaglio-tab").width());
/*
* Caricamento drop down con il numero massimo di migliori prezzi
*/
_popolaNumeroMiglioriPrezzi();
/*
* Caricamento lista delle imprese per il carrello di confronto.
*/
_popolaImprese($("#MERIC_ID").val());
$("#imprese").width(124);
/*
* Gestione drop down imprese
*/
if ($("#MODOAPERTURA").val() == "VISUALIZZA") {
$.cookie($("#MERIC_ID").val() + "_codimp", null);
} else {
var codimp = $.cookie($("#MERIC_ID").val() + "_codimp");
if (codimp != null) {
$("#imprese").val(codimp).attr("selected", "selected");
}
}
/*
* Caricamento del carrello per la ricerca di mercato
*/
_wait();
var numeroMiglioriPrezzi = $('#numeroMiglioriPrezzi :selected').val();
_popolaCarrello($("#MERIC_ID").val(), numeroMiglioriPrezzi);
/*
* Attivazione del messaggio di attesa.
*/
function _wait() {
document.getElementById('bloccaScreen').style.visibility='visible';
document.getElementById('wait').style.visibility='visible';
$("#wait").offset({ top: $(window).height() / 2, left: ($(window).width() / 2) - 200});
}
/*
* Disattivazione del messaggio di attesa
*/
function _nowait() {
document.getElementById('bloccaScreen').style.visibility='hidden';
document.getElementById('wait').style.visibility='hidden';
}
/*
* Gestione drop down per la definizione del numero massimo di migliori prezzi
* visualizzabili nella lista principale.
*/
function _popolaNumeroMiglioriPrezzi() {
var selectMiglioriPrezzi = $('',{id: "numeroMiglioriPrezzi"});
for ( var i = 1; i < 9; i++) {
selectMiglioriPrezzi.append($("", {value: i, text: i }));
}
$("#numeroMiglioriPrezziContainer").append(selectMiglioriPrezzi);
// Lettura del cookie ed eventuale salvataggio del valore di default 1
if ($.cookie('numeroMiglioriPrezzi') != "" && $.cookie('numeroMiglioriPrezzi') != "undefined" && $.cookie('numeroMiglioriPrezzi') != null) {
var numeroMiglioriPrezzi = $.cookie('numeroMiglioriPrezzi');
$("#numeroMiglioriPrezzi option[value='" + numeroMiglioriPrezzi + "']").attr('selected', 'selected');
} else {
var numeroMiglioriPrezzi = 1;
$.cookie('numeroMiglioriPrezzi', numeroMiglioriPrezzi);
$("#numeroMiglioriPrezzi option[value='" + numeroMiglioriPrezzi + "']").attr('selected', 'selected');
}
if ($("#MODOAPERTURA").val() != "VISUALIZZA") {
$("#numeroMiglioriPrezzi").attr('readonly','readonly');
$("#numeroMiglioriPrezzi").prop("disabled", true);
$("#numeroMiglioriPrezzi").css('background-color','#EFEFEF');
}
}
/*
* Formattazione dell'importo
*/
function _formattaImporto(importo) {
var importoFormattato = "";
if (importo != null) {
var field = $('
',{text: importo});
field.formatCurrency({decimalSymbol: ",", digitGroupSymbol : ".", symbol: "", roundToDecimalPlace: "5"});
var numero = field.text();
if (numero.substring(numero.length - 1) == '0') {
numero = numero.substring(0, numero.length - 1);
}
if (numero.substring(numero.length - 1) == '0') {
numero = numero.substring(0, numero.length - 1);
}
if (numero.substring(numero.length - 1) == '0') {
numero = numero.substring(0, numero.length - 1);
}
importoFormattato = numero + " \u20AC";
}
return importoFormattato;
}
/*
* Formattazione dell'importo
*/
function _formattaQuantita(quantita) {
var quantitaFormattata = "";
if (quantita != null) {
var field = $('',{text: quantita});
var numberOfDecimals = 0;
if(Math.floor(quantita) === quantita) {
numberOfDecimals = 0;
} else {
numberOfDecimals = quantita.toString().split(".")[1].length || 0;
}
var roundToDecimalPlace = 0;
if (numberOfDecimals > 0) {
roundToDecimalPlace = numberOfDecimals;
}
if (roundToDecimalPlace > 5) {
roundToDecimalPlace = 5;
}
field.formatCurrency({decimalSymbol: ",", digitGroupSymbol : ".", symbol: "", roundToDecimalPlace: roundToDecimalPlace});
quantitaFormattata = field.text();
}
return quantitaFormattata;
}
/*
* Popola la tabella con la lista degli articoli e dei prodotti
* (carica anche il carrello in bozza gia' inserito precedentemente).
*/
function _popolaCarrello(meric_id, numeroMiglioriPrezzi) {
$.ajax({
type: "GET",
dataType: "json",
async: true,
beforeSend: function(x) {
if(x && x.overrideMimeType) {
x.overrideMimeType("application/json;charset=UTF-8");
}
},
url: "pg/GetRicercaMercatoProdottiValutazione.do",
data: "meric_id=" + meric_id,
success: function(data) {
if (data && data.length > 0) {
// Ciclo sulla struttura principale degli articoli
$.map( data, function( articolo, iart ) {
var prodotti = articolo[4];
var _rowspan = prodotti.length;
if (_rowspan > numeroMiglioriPrezzi) _rowspan = numeroMiglioriPrezzi;
// Ciclo sulla struttura annidata dei prodotti associati all'articolo
$.map (prodotti, function (prodotto, iprod) {
// Limitazione del numero di migliori prezzi visualizzati
if (iprod < numeroMiglioriPrezzi) {
var _riga = $('
');
// Descrizione e colore dell'articolo
if (iprod == 0) {
var _colonna_id = "A_" + articolo[0] + "_descrizione";
var _descrizione = articolo[2];
if (articolo[3] != null) _descrizione += " (" + articolo[3] + ")";
var _colonna = $("
", {"class": "coloreA","id": _colonna_id, "rowspan": _rowspan, "text": _descrizione});
var _img = ($("", {"class": "img_variazione_articolo", title: "Variazione", alt: "Variazione", src: "img/attenzione.gif"}));
_colonna.append(_img);
_colonna.find('img').hide();
_riga.append(_colonna);
}
// Carrello di paragone
// In questa fase la cella viene preparata vuota.
// Sara' popolata successivamente dalla funzione _popolaProdottiImpresa
if (iprod == 0) {
var _colonna_id = "A_" + articolo[0] + "_prodotto_paragone";
var _colonna = $("
", {id: _colonna_id, rowspan: _rowspan, "class": "coloreA importo"});
var _input_id = "A_" + articolo[0] + "_id_prodotto_paragone";
_colonna.append($("", {id: _input_id, type: "hidden"}));
var _input_id = "A_" + articolo[0] + "_importo_prodotto_paragone_input";
_colonna.append($("", {id: _input_id, type: "hidden"}));
var _span_id = "A_" + articolo[0] + "_importo_prodotto_paragone";
_colonna.append($("", {id: _span_id}));
var _img = ($("", {"class": "img_aggiungi_prodotto_paragone", title: "Aggiungi il prodotto al carrello", alt: "Aggiungi il prodotto al carrello", src: "img/carrello_aggiungi.png"}));
_colonna.append(_img);
_colonna.find('img').hide();
_riga.append(_colonna);
}
// Prodotto offerto, prezzo
var _colonna_id = "A_" + articolo[0] + "_P_" + prodotto[0] + "_prodotto_offerto";
var _colonna = $("
", {id: _colonna_id, "class": "coloreB importo"});
var _input_id = "A_" + articolo[0] + "_P_" + prodotto[0] + "_id_articolo";
_colonna.append($("", {id: _input_id, type: "hidden", value: articolo[0]}));
var _input_id = "A_" + articolo[0] + "_P_" + prodotto[0] + "_id_prodotto_offerto";
_colonna.append($("", {id: _input_id, type: "hidden", value: prodotto[0]}));
var _span_id = "A_" + articolo[0] + "_P_" + prodotto[0] + "_importo_prodotto_offerto";
_colonna.append($("", {id: _span_id, text: _formattaImporto(prodotto[5])}));
var _img = $("", {"class": "img_aggiungi_prodotto_offerto", title: "Aggiungi il prodotto al carrello", alt: "Aggiungi il prodotto al carrello", src: "img/carrello_aggiungi.png"});
if ($("#MODOAPERTURA").val() == "VISUALIZZA" || articolo[12] != null) _img.hide();
_colonna.append(_img);
_riga.append(_colonna);
// Prodotto offerto, impresa offerente
var _colonna_id = "A_" + articolo[0] + "_P_" + prodotto[0] + "_impresa_offerente";
var _colonna = $("
", {id: _colonna_id, "class": "coloreB impresa", text: prodotto[4]});
_riga.append(_colonna);
// Cella per la visualizzazione dell'icona di accesso alla lista di
// comparazione di tutti i prodotti offerti
if (iprod == 0) {
var _colonna_id = "A_" + articolo[0] + "_altriprodotti";
var _colonna = $("
", {id: _colonna_id, "class": "coloreB altriprodotti", rowspan: _rowspan});
var _img_title = "Apri la lista con il dettaglio di tutti i prodotti";
var _img = $("", {"class": "img_altriprodotti", title: _img_title, alt: _img_title, src: "img/altriprodotti.png"});
_colonna.append(_img);
_riga.append(_colonna);
}
// Bozza ordine, prezzo del prodotto nel carrello
if (iprod == 0) {
var _colonna_id = "A_" + articolo[0] + "_prodotto_acquistato";
var _colonna = $("
", {id: _colonna_id, "class": "coloreC importo", rowspan: _rowspan});
var _input_id = "A_" + articolo[0] + "_id_prodotto_acquistato";
_colonna.append($("", {id: _input_id, name: _input_id, type: "hidden", value: articolo[5]}));
var _input_id = "A_" + articolo[0] + "_ngara_prodotto_ordinato";
_colonna.append($("", {id: _input_id, name: _input_id, type: "hidden", value: articolo[12]}));
var _input_id = "A_" + articolo[0] + "_importo_prodotto_acquistato_input";
_colonna.append($("", {id: _input_id, type: "hidden", value: articolo[8]}));
var _span_id = "A_" + articolo[0] + "_importo_prodotto_acquistato";
_colonna.append($("", {id: _span_id, text: _formattaImporto(articolo[8])}));
var _img = $("", {"class": "img_elimina_prodotto_acquistato", title:"Elimina il prodotto dal carrello", alt: "Elimina il prodotto dal carrello", src: "img/carrello_elimina.png"});
_colonna.append(_img);
if ($("#MODOAPERTURA").val() == "VISUALIZZA" || articolo[5] == null || articolo[12] != null) _colonna.find('img').hide();
_riga.append(_colonna);
}
// Aliquota IVA
if (iprod == 0) {
var _colonna_id = "A_" + articolo[0] + "_aliquota_iva";
var aliquota_iva = "";
if (articolo[11] != null) aliquota_iva = articolo[11];
var _colonna = $("
", {id: _colonna_id, rowspan: _rowspan, "class": "coloreC iva", text: aliquota_iva});
_riga.append(_colonna);
}
// Bozza ordine, impresa fornitrice
if (iprod == 0) {
var _colonna_id = "A_" + articolo[0] + "_impresa_fornitrice";
var impresa_fornitrice = "";
if (articolo[7] != null) impresa_fornitrice = articolo[7];
var _colonna = $("
", {id: _colonna_id, rowspan: _rowspan, "class": "coloreC impresa", text: impresa_fornitrice});
_riga.append(_colonna);
}
// Differenza tra l'importo selezionato nella bozza ordine
// ed il miglior prezzo disponibile
if (iprod == 0) {
var _colonna_id = "A_" + articolo[0] + "_differenza";
var _colonna = $("
", {id: "importo_totale_differenza", "class": "coloreDI importo"}));
$('#carrello > tbody:last').append(_riga);
}
// Importi totali
_calcolaTotaleCarrello();
_calcolaTotaleDifferenza();
// Numero di prodotto inseriti nel carrello
_numeroProdottiAcquistati();
// Popolamento del carrello di confronto per la prima impresa
var codimp = $('#imprese :selected').val();
_popolaProdottiImpresa(meric_id, codimp);
},
error: function(e){
alert("Errore durante la lettura del carrello.");
},
complete: function() {
_nowait();
}
});
}
/*
* Popolamento della lista delle imprese per il carrello di confronto
*/
function _popolaImprese(meric_id) {
$.ajax({
type: "GET",
dataType: "json",
async: false,
beforeSend: function(x) {
if(x && x.overrideMimeType) {
x.overrideMimeType("application/json;charset=UTF-8");
}
},
url: "pg/GetRicercaMercatoListaImprese.do",
data: "meric_id=" + meric_id,
success: function(data) {
if (data && data.length > 0) {
var selectImprese = $('',{id: "imprese"});
$.map( data, function( item ) {
if (item[0] != null && item[1] != null) {
var _nomest = item[1].substr(0,100);
selectImprese.append($("", {value: item[0], text: _nomest + " [" + item[2] + "]" }));
}
});
$("#impreseContainer").append(selectImprese);
}
},
error: function(e){
alert("Errore durante la lettura della lista delle imprese");
}
});
}
/*
* Popola la lista dei prodotti dell'impresa selezionata
* per il carrello di confronto.
*/
function _popolaProdottiImpresa(meric_id, codimp) {
$('[id*="_prodotto_paragone"]').find('span').text("");
$('[id*="_prodotto_paragone"]').find('input').val("");
$('[id*="_prodotto_paragone"]').find('img').hide();
$.ajax({
type: "GET",
dataType: "json",
async: false,
beforeSend: function(x) {
if(x && x.overrideMimeType) {
x.overrideMimeType("application/json;charset=UTF-8");
}
},
url: "pg/GetListaProdottiImpresa.do",
data: "meric_id=" + meric_id + "&codimp=" + codimp,
success: function(data) {
if (data && data.length > 0) {
$.map( data, function( item ) {
$("#A_" + item[0] + "_id_prodotto_paragone").val(item[2]);
$("#A_" + item[0] + "_importo_prodotto_paragone_input").val(item[3]);
$("#A_" + item[0] + "_importo_prodotto_paragone").text(_formattaImporto(item[3],18.2));
if ($("#MODOAPERTURA").val() != "VISUALIZZA" && $("#A_" + item[0] + "_ngara_prodotto_ordinato").val() == "") {
$("#A_" + item[0] + "_prodotto_paragone").find('img').show();
}
});
}
},
error: function(e){
alert("Errore durante la lettura della lista dei prodotti offerti da una impresa");
}
});
_calcolaTotaleParagone();
}
/*
* Calcolo importo totale del carrello di paragone
*/
function _calcolaTotaleParagone() {
var importi = $('input[id*="_importo_prodotto_paragone_input"]');
var importo_totale = 0;
importi.each(function(i) {
if ($(this).val() != "") {
importo_totale += parseFloat($(this).val());
}
});
$("#importo_totale_paragone").text(_formattaImporto(importo_totale,18.2));
}
/*
* Calcolo importo totale del carrello
*/
function _calcolaTotaleCarrello() {
var importi = $('input[id*="_importo_prodotto_acquistato_input"]');
var importo_totale = 0;
importi.each(function(i) {
if ($(this).val() != "") {
importo_totale += parseFloat($(this).val());
}
});
$("#importo_totale_carrello").text(_formattaImporto(importo_totale,18.2));
}
/*
* Calcolo importo totale differenza
*/
function _calcolaTotaleDifferenza() {
var importi = $('input[id*="_importo_differenza_input"]');
var importo_totale = 0;
importi.each(function(i) {
if ($(this).val() != "") {
importo_totale += parseFloat($(this).val());
}
});
$("#importo_totale_differenza").text(_formattaImporto(importo_totale,18.2));
}
/*
* Rimozione righe del carrello.
* Utilizzato, per esempio, quando si vuole ricaricare il carrello
* perche' è variato il numero di migliori prezzi offerti
* da visualizzare.
*
*/
function _removeCarrello() {
$('#carrello tr:not(.intestazione)').remove();
}
/*
* Evento modifica dell'impresa nel carrello di confronto
* si devono ricaricare i prezzi offerti in funzione dell'impresa selezionata.
*/
$('#imprese').change(
function() {
var codimp = $(this).val();
_popolaProdottiImpresa($("#MERIC_ID").val(), codimp);
$.cookie($("#MERIC_ID").val() + "_codimp", codimp);
}
);
/*
* Evento modifica numero massimo di migliori offerte.
* Si deve ricaricare il carrello.
*/
$('#numeroMiglioriPrezzi').change(
function() {
_wait();
_removeCarrello();
var numeroMiglioriPrezzi = $(this).val();
$.cookie('numeroMiglioriPrezzi', numeroMiglioriPrezzi);
_popolaCarrello($("#MERIC_ID").val(), numeroMiglioriPrezzi);
}
);
/*
* Evento click per l'apertura della lista degli altri prezzi/prodotti.
* L'evento e' associato mediante "delegate" perche' l'oggetto
* chiamante e' creato dinamicamente dalla funzione _popolaCarrello
*/
$("body").delegate( ".img_altriprodotti", "click",
function() {
var _id = $(this).parent().attr('id');
var mericart_id = _id.substring(2,_id.indexOf("_altriprodotti"));
$(".ui-dialog-titlebar").hide();
$("#mascheraListaProdottiArticolo").dialog( "option", { mericart_id: mericart_id } );
_popolaListaProdottiArticolo(mericart_id);
$("#mascheraListaProdottiArticolo").dialog("open");
$("#mascheraListaProdottiArticolo").height(550);
}
);
/*
* Evento click per l'aggiunta, al carrello, del prodotto dal carrello di paragone.
*/
$("body").delegate( ".img_aggiungi_prodotto_paragone", "click",
function() {
var _id = $(this).parent().attr('id');
var mericart_id = _id.substring(2,_id.indexOf("_prodotto_paragone"));
var mericprod_id = $("#A_" + mericart_id + "_id_prodotto_paragone").val();
_popolaProdottoAcquistato(mericart_id,mericprod_id);
}
);
/*
* Evento click per l'aggiunta, al carrello, del prodotto offerto.
*/
$("body").delegate( ".img_aggiungi_prodotto_offerto", "click",
function() {
var _id = $(this).parent().attr('id');
var _id_part = _id.substring(0,_id.indexOf("_prodotto_offerto"));
var mericart_id = $("#" + _id_part + "_id_articolo").val();
var mericprod_id = $("#" + _id_part + "_id_prodotto_offerto").val();
_popolaProdottoAcquistato(mericart_id,mericprod_id);
}
);
/*
* Evento click per l'aggiunta, al carrello, del prodotto offerto
* dalla lista complessiva dei prodotti.
*/
$("body").delegate( ".img_aggiungi_prodotto_da_lista", "click",
function() {
var options = $("#mascheraListaProdottiArticolo").dialog("option");
var mericart_id = options.mericart_id;
var _id = $(this).parent().parent().attr('id');
var mericprod_id = _id.substring(2);
_popolaProdottoAcquistato(mericart_id,mericprod_id);
$("#mascheraListaProdottiArticolo").dialog( "close" );
}
);
/*
* Evento click per l'aggiunta, al carello, del prodotto offerto
* dalla lista complessiva dei prodotti
*/
$("body").delegate( ".img_aggiungi_prodotto_da_scheda", "click",
function() {
var options = $("#mascheraListaProdottiArticolo").dialog("option");
var mericart_id = options.mericart_id;
var mericprod_id = $(this).parent().find('input').val();
_popolaProdottoAcquistato(mericart_id,mericprod_id);
$("#mascheraListaProdottiArticolo").dialog( "close" );
}
);
/*
* Evento click per l'eliminazione, dal carrello, del prodotto acquistato.
*/
$("body").delegate( ".img_elimina_prodotto_acquistato", "click",
function() {
var _id = $(this).parent().attr('id');
var mericart_id = _id.substring(2,_id.indexOf("_prodotto_acquistato"));
_eliminaProdottoAcquistato(mericart_id);
_calcolaTotaleCarrello();
_calcolaTotaleDifferenza();
$(this).hide();
}
);
/*
* Eliminazione del prodotto acquistaot dal carrello in bozza.
*/
function _eliminaProdottoAcquistato(mericart_id) {
$("#A_" + mericart_id + "_id_prodotto_acquistato").val("").change();
$("#A_" + mericart_id + "_importo_prodotto_acquistato_input").val("");
$("#A_" + mericart_id + "_importo_prodotto_acquistato").text("");
$("#A_" + mericart_id + "_impresa_fornitrice").text("");
$("#A_" + mericart_id + "_importo_differenza_input").val("");
$("#A_" + mericart_id + "_importo_differenza").text("");
$("#A_" + mericart_id + "_aliquota_iva").text("");
}
/*
* Evento change sull'identificativo del prodotto acquistato.
* Utilizzato per monitorare la variazione del numero di prodotti
* acquistati (inseriti nella bozza ordine).
*/
$("body").delegate( "[id*=_id_prodotto_acquistato]", "change",
function() {
_numeroProdottiAcquistati();
}
);
/*
* Conteggio del numero totale di prodotti acquistati.
*/
function _numeroProdottiAcquistati() {
var ids = $('input[id*="_id_prodotto_acquistato"]');
var numero_prodotti_acquistati = 0;
ids.each(function(i) {
if ($(this).val() != "") {
numero_prodotti_acquistati++;
}
});
$("#numero_prodotti_acquistati").text(numero_prodotti_acquistati);
}
/*
* Aggiunta del prodotto selezionato al carrello in bozza.
*/
function _popolaProdottoAcquistato(mericart_id, mericprod_id) {
$.ajax({
type: "GET",
dataType: "json",
async: false,
beforeSend: function(x) {
if(x && x.overrideMimeType) {
x.overrideMimeType("application/json;charset=UTF-8");
}
},
url: "pg/GetRicercaMercatoProdotto.do",
data: "mericprod_id=" + mericprod_id,
success: function(data) {
if (data && data.length > 0) {
$.map( data, function( item ) {
var _popolaProdotto = true;
// Verifica se esiste gia' un prodotto acquistato
var _id_prodotto_gia_acquistato = $("#A_" + mericart_id + "_id_prodotto_acquistato").val();
if (_id_prodotto_gia_acquistato != "" && _id_prodotto_gia_acquistato != mericprod_id) {
var r = confirm("Esiste gia' un prodotto selezionato nella bozza ordine. Sostituire il prodotto ?");
if (r == false) {
_popolaProdotto = false;
}
}
if (_popolaProdotto == true) {
// Eliminazione preliminare del prodotto acquistato
_eliminaProdottoAcquistato(mericart_id);
// Aggiunta del nuovo prodotto acquistato
$("#A_" + mericart_id + "_id_prodotto_acquistato").val(mericprod_id).change();
var importo_prezzo_migliore = $("#A_" + mericart_id + "_importo_miglior_prezzo").val();
$("#A_" + mericart_id + "_importo_prodotto_acquistato_input").val(item[2].value);
$("#A_" + mericart_id + "_importo_prodotto_acquistato").text(_formattaImporto(item[2].value,18.2));
$("#A_" + mericart_id + "_impresa_fornitrice").text(item[1].value);
$("#A_" + mericart_id + "_importo_differenza_input").val(item[2].value - importo_prezzo_migliore);
$("#A_" + mericart_id + "_importo_differenza").text(_formattaImporto(item[2].value - importo_prezzo_migliore,18.2));
$("#A_" + mericart_id + "_prodotto_acquistato").find('img').show();
$("#A_" + mericart_id + "_aliquota_iva").text(item[4].value);
}
});
}
},
error: function(e){
alert("Errore durante la lettura della lista dei prodotti offerti da una impresa");
}
});
_calcolaTotaleCarrello();
_calcolaTotaleDifferenza();
}
/*
* Definizione proprieta' della maschera a lista di tutti i prodotti per l'articolo indicato.
*/
$( "#mascheraListaProdottiArticolo" ).dialog({
autoOpen: false,
width: 1000,
show: {
effect: "blind",
duration: 500
},
hide: {
effect: "blind",
duration: 500
},
position: {
my: "left top",
at: "left top",
of: ".arealavoro"
},
modal: true,
resizable: true,
focusCleanup: true,
cache: false,
buttons: {
"Chiudi" : function() {
$(this).dialog( "close" );
}
}
});
/*
* Evento dialogclose,indipendentemente dal tipo di chiusura
* (Chiudi o selezione di un prodotto da aggiungere al carrello)
* devono essere svuotate la lista di tutti i prodotti e la tabella di confronto.
*/
$( "#mascheraListaProdottiArticolo" ).on( "dialogclose", function( event, ui ) {
_removeSchedaArticolo();
_removeListaProdotti();
_removeConfrontaProdotti();
});
/*
* Popola la lista di tutti i prodotti per l'articolo indicato.
*/
function _popolaListaProdottiArticolo(mericart_id) {
var meartcat_przunitper;
var meartcat_unimistempocons;
var mearcat_tipo;
/*
* Dati generali dell'articolo.
*/
$.ajax({
type: "GET",
dataType: "json",
async: false,
beforeSend: function(x) {
if(x && x.overrideMimeType) {
x.overrideMimeType("application/json;charset=UTF-8");
}
},
url: "pg/GetRicercaMercatoArticolo.do",
data: "mericart_id=" + mericart_id,
success: function(data) {
if (data && data.length > 0) {
$.map( data, function( item ) {
// 5 - Modalita' di acquisto (valore numerico)
meartcat_przunitper = (item[5].value != null) ? item[5].value : "";
// 14 - Unita' di misura del tempo di consegna (descrizione)
meartcat_unimistempocons = (item[14].value != null) ? item[14].value : "";
// 12 - Tipo (descrizione)
mearcat_tipo = (item[12].value != null) ? item[12].value : ""
$("#schedaArticoloTipo").text(mearcat_tipo);
// 2 - Descrizione
$("#schedaArticoloDescrizione").text((item[2].value != null) ? item[2].value : "");
// 3 - Descrizione tecnica
$("#schedaArticoloDescrizioneEstesa").text((item[3].value != null) ? item[3].value : "");
// 4 - Colore
$("#schedaArticoloColore").text((item[4].value != null) ? item[4].value : "");
// 13 - Modalita' di acquisto (descrizione)
$("#schedaArticoloModalitaAcquisto").text((item[13].value != null) ? item[13].value : "");
// 6 - Quantita' in carrello
if(meartcat_przunitper == 4){
var descDett1 = item[8].value;
var descDett2 = item[9].value;
var quadet1;
var quadet2;
if (item[10].value!=null && item[10].value!="")
quadet1 = _formattaQuantita(item[10].value);
if (item[11].value!=null && item[11].value!="")
quadet2 = _formattaQuantita(item[11].value);
var dettaglio = " (" + descDett1 + " " + quadet1 + ", " + descDett2 + " " + quadet2 + ")";
$("#schedaArticoloQuantita").text((item[6].value != null) ? _formattaQuantita(item[6].value) + dettaglio: "");
}else{
$("#schedaArticoloQuantita").text((item[6].value != null) ? _formattaQuantita(item[6].value) : "");
}
if(mearcat_tipo!="Bene"){
$("#searchMarca").hide();
$("#etichettaMarca").hide();
}else{
$("#searchMarca").show();
$("#etichettaMarca").show();
}
});
}
},
error: function(e){
alert("Errore durante la lettura dell'articolo");
}
});
// Tabella ed intestazione lista dei prodotti.
var _table = $('
', {"class": "carrello", id: "listaProdottiArticolo", "width": "950px"});
var _thead = $('');
// Titolo della tabella
var _tr = $("
", {"class": "titolo"});
var _img = ($("", {"class": "img_titolo", "src": "img/Content-43.png" }));
var _th = $("
", {"colspan": "15", "text": "Lista dei prodotti"});
_th.prepend(_img);
// Titolo a messaggio variabile per l'accesso alla sezione con il dettaglio
// del prodotto o del confronto prodotti
var _span = $("", {"id": "confrontaprodotti", "class": "floatright"});
var _spantext = $("", {"id": "confrontaprodottitext", "text": "Confronta i prodotti selezionati"});
var _img = ($("", {"class": "img_titolo", "src": "img/squared-big-2-01.png" }));
_span.append(_spantext);
_span.append(_img);
_span.hide();
_th.append(_span);
_tr.append(_th);
_thead.append(_tr);
// Intestazioni di colonna
var _tr = $('
", {"class": "centrato", text: (item[15].value != null) ? item[15].value : ""}));
// Colonna aggiuntiva per memorizzare il prezzo totale offerto privo di
// formattazione (serve per la ricerca)
var _colonna = $("
", {"colspan": _colspan, "text": "Quantita' e prezzi"}));
var _tr8 = $("
");
_tr8.append($("
", {"class": "etichettacfr", "text": "Modalita' di acquisto"}));
var _tr9 = $("
");
_tr9.append($("
", {"class": "etichettacfr", "text": "Unita' di misura su cui e' espresso il prezzo"}));
var _tr10 = $("
");
_tr10.append($("
", {"class": "etichettacfr", "text": "Prezzo"}));
var _tr11 = $("
");
_tr11.append($("
", {"class": "etichettacfr", "text": "Num. unita' su cui e' espresso il prezzo componenti l'unita' di misura a cui e' riferito l'acquisto"}));
var _tr12 = $("
");
_tr12.append($("
", {"class": "etichettacfr", "text": "Unita' di misura a cui e' riferito l'acquisto"}));
var _tr13 = $("
");
_tr13.append($("
", {"class": "etichettacfr", "text": "Prezzo del prodotto"}));
var _tr14 = $("
");
_tr14.append($("
", {"class": "etichettacfr", "text": "Aliquota IVA"}));
var _tr15 = $("
");
_tr15.append($("
", {"class": "etichettacfr", "text": "Lotto minimo per unita' di misura"}));
var _tr16 = $("
");
_tr16.append($("
", {"class": "etichettacfr", "text": "Lotto minimo per unita' di misura"}));
var _trtempiconsegna = $("
", {"width": _tdwidth, text: _formattaImporto(item[14])});
var _input = ($("", {type: "text", type: "hidden", value: mericprod_id}));
var _img = $("", {"class": "img_aggiungi_prodotto_da_scheda", title: "Aggiungi il prodotto al carrello", alt: "Aggiungi il prodotto al carrello", src: "img/carrello_aggiungi.png"});
_img.hide();
_tdprezzo.append(_img);
_tdprezzo.append(_input);
_tr13.append(_tdprezzo);
_tr14.append($("