function isJson(str) {
    try {
        JSON.parse(str);
    } catch (e) {
        return false;
    }
    return true;
}
function showTotalQuantity() {
    if (!$('.total-quantity').length) {
    $.ajax({
  url: '/sales/shop/basket',

  method: 'post',
  contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
 
}).done(function(response) {
   if (isJson(response)) {
         let data = JSON.parse(response)['data'];
       if (data.basket&&data.basket['total_quantity']&&
          !$('.total-quantity').length
          ) {
           $('.lt-basket')
               .append(`<span class="total-quantity">${data.basket['total_quantity']}</span>`)
       }
       }
});
    }
}
$(()=>{
$.gc.liteBasket.prototype.updateBasketData = function( basket ) {
this.table.empty();
        var self = this;

        if ( response.data.basket.is_empty ) {
            this.element.hide();
            return;
        }
        else {
            this.element.show();
        }

        this.collapsedEl.find('.positions-count-str').html( basket.total_quantity_str );
    showTotalQuantity();
    $('.total-quantity').html(basket.total_quantity)
        this.collapsedEl.find('.total-cost-str').html( basket.cost_str );
        this.collapsedEl.find('.old-total-cost-str').html( basket.old_cost_str );

        for ( var key in basket.positions ) {
            var position = basket.positions[key];
            var offerId = key;

            var $tr = $('<tr> <td><span class="fa btn-delete-position fa-trash"></span></td> <td class="offer-title"></td> <td class="offer-count-td"><input type="text" size=5 style="width: 60px; text-align: center" class="text-center form-control offer-count"/></td><td style="width: 20px">×</td> <td><div class="old-offer-price"></div><div class="offer-price"></div></td>  </tr>')
            $tr.data('offer-id', offerId)

            $tr.find('.offer-title').html( position.offer.title )
            $tr.find('.offer-count').val( position.quantity )
            $tr.find('.offer-price').html( position.price_str )
            if( position.old_price_str ) {
                $tr.find('.old-offer-price').html( position.old_price_str )
            }
            $tr.appendTo( self.table )

            $tr.find('.offer-count').change( function() {
                var offerId = $(this).parents('tr').data('offer-id')
                var value = $(this).val()
                ajaxCall( "/sales/shop/basketChangeOfferQuantity", { offerId: offerId, quantity: value }, {}, function( response ) {
                    self.updateBasketData( response.data.basket );
                } )
            })

            $tr.find('.btn-delete-position').click( function() {
                var offerId = $(this).parents('tr').data('offer-id')
                ajaxCall( "/sales/shop/basketDeleteOffer", { offerId: offerId }, {}, function( response ) {
                    self.updateBasketData( response.data.basket );
                } )
            })
        }

        label = window.language == 'en' ? 'Total cost' : Yii.t('common', 'Сумма заказа');

        var $tr = $('<tr class="total-row"> <td colspan="2" class="offer-title">' + label + '</td> <td colspan="3" align="right"><span class="old-total-price"></span> <span class="total-price"></span></td> </tr>')
        $tr.find('.total-price').html( basket.cost_str );
        if ( basket.old_cost_str ) {
            $tr.find('.old-total-price').html(basket.old_cost_str);
        }


        $tr.appendTo( self.table )
    
}

showTotalQuantity();

})
