$('[data-toggle="popover"]').popover(); calculateFirmTotal(); calculateFirmRemain(); var $order = $('#order'); var $preorder = $('#preorder'); var delOrderItem = function (item_id) { $.ajax({ url: '/basket/delete_item', data: { 'item_id': item_id }, type: "POST", dataType: 'json', success: function () { }, error: function (e) { console.error(e); } }); }; var delPreOrderItem = function (item_id) { $.ajax({ url: '/dealer/delete_preorder_item', data: { 'item_id': item_id }, type: "POST", dataType: 'json', success: function () { }, error: function (e) { console.error(e); } }); }; var addOrderItem = function (item_id, count_items) { $.ajax({ url: '/basket/add_item', data: { 'item_id': item_id, 'count_items': count_items }, type: "POST", success: function () { }, error: function (e) { console.error(e); } }); }; $('body, .popup_window').on('click', '.delete_but', function (e) { e.preventDefault(); var $table_parent = $(this).parent().parent().parent(); var $item = $(this).parent().parent(); if ($item.attr('data-status') == 'order') delOrderItem($item.attr('data-id')); else delPreOrderItem($item.attr('data-id')); $item.remove(); calculateTotalPrice($table_parent); calculateFirmTotal(); calculateFirmRemain(); }); $('body, .popup_window').on('click', ".minus_button", function (e) { e.preventDefault(); var $item = $(this).parents('.table_line'); var $item_num = $(this).parent().find(".item_num"); var a = $item_num.val(); if (a != 1) { $item_num.val(--a); change_count_basket($item.data('id'), a); calculateSumPrice($item_num); calculateFirmTotal(); calculateFirmRemain(); } }); $('body, .popup_window').on('click', ".plus_button", function (e) { e.preventDefault(); var $item = $(this).parents('.table_line'); var $item_num = $(this).parent().find(".item_num"); var a = $item_num.val(); $item_num.val(++a); change_count_basket($item.data('id'), a); calculateSumPrice($item_num); calculateFirmTotal(); calculateFirmRemain(); }); $('body, .popup_window').on('change', '.item_num', function (e) { e.preventDefault(); var $item = $(this).parents('.table_line'); var a = $(this).val(); change_count_basket($item.data('id'), a); calculateSumPrice($(this)); calculateFirmTotal(); calculateFirmRemain(); }); $(".last_order").click(function () { if ($(this).find("span").hasClass("arrow_down")) { $(this).find("span").removeClass("arrow_down").addClass("arrow_up"); $(".last_order_block").removeClass("hidden"); } else { $(this).find("span").removeClass("arrow_up").addClass("arrow_down"); $(".last_order_block").addClass("hidden"); } }); $("#checkbox_all").change(function () { if ($(this).prop('checked')) { $('.single_checkbox').prop('checked', true); } else { $('.single_checkbox').prop('checked', false); } }); $('.product_price').click(function (e) { e.preventDefault(); $('.product_price').removeClass('activepr'); $(this).addClass('activepr'); var action_id = $(this).attr('data-id'); getActionDiscount(action_id); calculateFirmRemain(); }); $('#add_to_order').click(function (e) { e.preventDefault(); $('input[name]:checked').each(function () { var $item = $(this).parent().parent().detach(); delPreOrderItem($item.attr('data-id')); addOrderItem($item.attr('data-id'), $item.find('.item_num').val()); $item.find('.nopdrgt').removeClass('nopdrgt pdglt15'); $item.find('input[type=checkbox]').parent().remove(); $item.find('.count1').removeClass('count1'); $item.attr('data-status', 'order'); var $last = $('.table_line').last(); $last.before($item); }); calculateTotalPrice($order); calculateTotalPrice($preorder); calculateFirmTotal(); calculateFirmRemain(); }); function getActionDiscount(action_id) { $.ajax({ url: '/ajax/action_discount/' + action_id, dataType: 'html', success: function (data) { $('.actions').empty(); $('.actions').html(data); }, error: function (e) { console.error(e.data); } }); } function calculateSumPrice($item_num) { var $table_line = $item_num.parents(".table_line"); var price_per_unit = $table_line.find('.price_per_unit span').text(); var sum = parseFloat(price_per_unit * $item_num.val()).toFixed(2); $table_line.find('.sum_price span').text(sum); calculateTotalPrice($table_line.parent()); } function calculateTotalPrice($parent) { var sums = $parent.find('.sum_price span').get(); var total = 0; $.each(sums, function (k, v) { total += +v.textContent; }); //for reusability var $total_price = $parent.find('#total_price span').length ? $parent.find('#total_price span') : $('#total_price span'); $total_price.text(total.toFixed(2)); } function calculateFirmTotal() { var $table_lines = $('#order .table_line'); var firm_sum = 0; $.each($table_lines, function (index, val) { if ($(val).attr('data-firm') == 'true') { firm_sum += +$(val).find('.sum_price span').text(); } }); $('#firm_total').find('span').text(firm_sum.toFixed(2)); } function calculateFirmRemain() { var total = +$('#firm_total').find('span').text(); var activepr = $('.activepr').find('span').text(); var remain = activepr - total; if (remain < 0) remain = 0; $('#firm_remain').find('span').text(remain); } $('.popup_window').on('click', '.basket_element_prepack .group_sizes', function(event){ event.preventDefault(); if(!$(this).hasClass('active')) { var $packing_block = $(this).parent(); var $element = $packing_block.parent(); var $prev = $packing_block.find('.group_sizes.active'); $prev.removeClass('active'); $(this).addClass('active'); var item_id = $(this).data('item_id'); $.ajax({ url: '/change_with_size', dataType: 'json', method: 'POST', data : { 'item_id' : item_id }, success: function(data){ var $item_num = $element.find('.item_num'); delOrderItem($prev.data('item_id')); add_to_basket(item_id, $item_num.val()); $element.find('.price_per_unit span').text(data['price']); calculateSumPrice($item_num); }, error: function(e){ console.error(e); } }); } }); //popup window var getCartItems = function() { $.ajax({ url: '/basket/get_cart_items', dataType: 'json', success: function (data) { var html = ''; for (var i = 0; i < data['items'].length; i++) { var cover = data['items'][i].cover; html += '