PageSourceSearch

https://www.store71rus.com/catalog/view/javascript/boxberry.js

js store71rus.com collected 2026-10-06 06:54:57 UTC 6,533 bytes, 128 lines download raw bytes

1document.addEventListener('DOMContentLoaded', function() {
2    $(document).on('click', 'a[data-boxberry-open=true]', function (e) {
3        e.preventDefault();
4        let selectPointLink = e.target;
5        selectPointFnc(selectPointLink);
6    });
7
8    $(document).ajaxComplete(function () {
9        let checkedShippingMethod = $("input[name=shipping_method]:checked").val();
10        if (checkedShippingMethod !== undefined) {
11            if (checkedShippingMethod.includes('boxberry.pickup')) {
12                renderBlocks();
13                setReadonly();
14            } else {
15                renderBlocks();
16            }
17        }
18    });
19
20    $(document).on('click', "input[name=shipping_method]", function () {
21        let checkedShippingMethod = $("input[name=shipping_method]:checked").val();
22        if (checkedShippingMethod === 'boxberry.pickup') {
23            selectPointFnc($('#boxberry-issue_point-link')[0])
24        } else if (checkedShippingMethod === 'boxberry.pickup_prepaid') {
25            selectPointFnc($('#boxberry-issue_point-link-prepaid')[0])
26        }
27        renderBlocks();
28    });
29
30    function setReadonly (address) {
31        if (address !== undefined) {
32            if ($('.simplecheckout-block-content').length) {
33                $('#shipping_address_address_1').val(address).attr('readonly', true);
34            } else if ($('#onepcheckout').length) {
35                $("#input-payment-address-1").val(address).attr('readonly', true);
36            } else {
37                if($('#input-shipping-address-1').length) {
38                    $('#input-shipping-address-1').val(address);
39                }
40                if ($('#input-payment-address-1').length) {
41                    $('#input-payment-address-1').val(address);
42                }
43            }
44        } else {
45            if ($('.simplecheckout-block-content').length) {
46                $('#shipping_address_address_1').attr('readonly', true);
47            }
48            if ($('#onepcheckout').length) {
49                $("#input-payment-address-1").attr('readonly', true);
50            }
51        }
52    }
53
54    function renderBlocks () {
55        let bbPickupDiv = $("input[name='shipping_method'][value='boxberry.pickup']")
56        let bbPickupPrepaidDiv = $("input[name='shipping_method'][value='boxberry.pickup_prepaid']");
57
58        if (!bbPickupDiv.prop("checked")) {
59            $('#boxberry-issue_point-block').hide();
60        }
61        if (!bbPickupPrepaidDiv.prop("checked")) {
62            $('#boxberry-issue_point-prepaid-block').hide()
63        }
64        if (bbPickupDiv.prop("checked")) {
65            $('#boxberry-issue_point-link').show();
66        }
67        if (bbPickupPrepaidDiv.prop("checked")) {
68            $('#boxberry-issue_point-link-prepaid').show()
69        }
70        if (!bbPickupDiv.prop("checked")) {
71            $('#boxberry-issue_point-link').hide();
72        }
73        if (!bbPickupPrepaidDiv.prop("checked")) {
74            $('#boxberry-issue_point-link-prepaid').hide()
75        }
76    }
77
78    function selectPointFnc (selectPointLink) {
79        let classname  = selectPointLink.getAttribute('data-type');
80        let city       = selectPointLink.getAttribute('data-boxberry-city').replace('ё', 'е');
81        let token      = selectPointLink.getAttribute('data-boxberry-token');
82        // let targetStart = selectPointLink.getAttribute('data-boxberry-target-start');
83        let order_id   = selectPointLink.getAttribute('data-order-id');
84        let weight     = selectPointLink.getAttribute('data-boxberry-weight');
85        let width      = selectPointLink.getAttribute('data-boxberry-width');
86        let height     = selectPointLink.getAttribute('data-boxberry-height');
87        let depth      = selectPointLink.getAttribute('data-boxberry-length');
88        let paymentSum = selectPointLink.getAttribute('data-paymentsum');
89        let orderSum   = selectPointLink.getAttribute('data-ordersum');
90        let sucrh      = selectPointLink.getAttribute('data-sucrh');
91        let api        = selectPointLink.getAttribute('data-api-url');
92        if (selectPointLink.getAttribute('data-class') === 'boxberryDeliverySelf') {
93            paymentSum = orderSum;
94        } else {
95            paymentSum = "0";
96        }
97        let boxberryPointSelectedHandler = function (result) {
98            let addressSplit = result.address.split(',');
99            let insertAddress = '# ' + result.id + ' ' + addressSplit[2].trim() + (addressSplit[3] !== undefined ? addressSplit[3] : '');
100            let prepaid = paymentSum === '0' ? '-prepaid' : '';
101
102            $.ajax({
103                url: "index.php?route=extension/shipping/boxberry/selectIssuePoint&issue_point_id=" + encodeURIComponent(result.id) + "&prepaid=" + (paymentSum !== "0" ? "0" : "1"),
104                success: function () {
105                    $('#boxberry-issue_point' + prepaid + '-block').show();
106                    $('#boxberry-issue_point'+ prepaid + '-name').text(result.name);
107                    if (result.id.indexOf('ПП-') >= 0 && $('#boxberry-issue_point' + prepaid + '-addr-short a').length) {
108                        $('#boxberry-issue_point' + prepaid + '-addr-short').remove('a').text(addressSplit.slice(2))
109                    } else if (!$('#boxberry-issue_point' + prepaid + '-addr-short a').length) {
110                        $('#boxberry-issue_point' + prepaid + '-addr-short').html('<a href="https://boxberry.ru/find_an_office/' + result.id + '" target="_blank">' + addressSplit.slice(2) + '</a>');
111                    } else {
112                        $('#boxberry-issue_point' + prepaid + '-addr-short a').attr('href', 'https://boxberry.ru/find_an_office/' + result.id).text(addressSplit.slice(2));
113                    }
114                    $('#boxberry-issue_point' + prepaid + '-phone').text('Телефон: ' + result.phone + ', ');
115                    $('#boxberry-issue_point' + prepaid + '-work').text('часы работы: ' + result.workschedule);
116                    $('#boxberry-issue_point-link' + prepaid).text('Выбрать другой пункт выдачи');
117
118                    setReadonly(insertAddress)
119                }
120            })
121        };
122
123        boxberry.versionAPI(api);
124        boxberry.checkLocation(1);
125        boxberry.sucrh(sucrh);
126        boxberry.open(boxberryPointSelectedHandler, token, city, 0, orderSum, weight, paymentSum, height, width, depth);
127    }
128});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.