PageSourceSearch

https://balzamkaravaeva.ru/wp-content/plugins/boxberry/js/boxberry.js?ver=2.30

js balzamkaravaeva.ru collected 2026-10-04 01:23:46 UTC 7,074 bytes, 172 lines download raw bytes

1let boxberrySelectedPointAddress = false;
2let boxberryPointCode = false;
3let boxberryPointName = false;
4
5jQuery(document).on('click', function (e) {
6    if (e.target && (e.target instanceof HTMLElement) && e.target.getAttribute('data-boxberry-open') === 'true') {
7        e.preventDefault();
8
9        let selectPointLink = e.target;
10
11        (function (selectedPointLink) {
12            let city = selectPointLink.getAttribute('data-boxberry-city') || undefined;
13            let method = selectPointLink.getAttribute('data-method');
14            let token = selectPointLink.getAttribute('data-boxberry-token');
15            let targetStart = selectedPointLink.getAttribute('data-boxberry-target-start');
16            let weight = selectPointLink.getAttribute('data-boxberry-weight');
17            let surch = selectedPointLink.getAttribute('data-surch');
18            let paymentSum = selectPointLink.getAttribute('data-paymentsum');
19            let orderSum = selectPointLink.getAttribute('data-ordersum');
20            let height = selectPointLink.getAttribute('data-height');
21            let width = selectPointLink.getAttribute('data-width');
22            let depth = selectPointLink.getAttribute('data-depth');
23            let api = selectPointLink.getAttribute('data-api-url');
24            let boxberryPointSelectedHandler = function (result) {
25                if (typeof result !== undefined) {
26                    boxberryPointCode = result.id;
27                    boxberryPointName = result.name.replace('Алма-Ата', 'Алматы');
28                    boxberrySelectedPointAddress = boxberryPointName + ' (' + result.address + ')';
29
30                    let addressSplit = result.address.split(',');
31                    let insertAddress;
32                    if (addressSplit.length > 3 && addressSplit[2]) {
33                        insertAddress = 'ПВЗ: ' + addressSplit[2].trim() + (addressSplit[3] ? addressSplit[3] : '');
34                    } else {
35                        insertAddress = 'ПВЗ: ' + result.address;
36                    }
37
38                    if (document.getElementById('shipping_address_1')) {
39                        document.getElementById('shipping_address_1').value = insertAddress;
40                        if (document.getElementById('billing_address_1')) {
41                            document.getElementById('billing_address_1').value = insertAddress;
42                        }
43                    } else {
44                        if (document.getElementById('billing_address_1')) {
45                            document.getElementById('billing_address_1').value = insertAddress;
46                        }
47                    }
48
49                    // Новый чекаут
50                    if (window.updateBoxberryAddress) {
51                        window.updateBoxberryAddress(boxberrySelectedPointAddress);
52                    }
53
54                    let formData = new FormData();
55                    formData.append('action', 'boxberry_update');
56                    formData.append('method', method);
57                    formData.append('code', boxberryPointCode);
58                    formData.append('address', boxberrySelectedPointAddress);
59                    bxbAjaxPost(formData).then(function (){
60                        jQuery(document.body).trigger('update_checkout');
61                    })
62                }
63            };
64            boxberry.versionAPI(api);
65            boxberry.checkLocation(1);
66            boxberry.sucrh(surch);
67            boxberry.open(boxberryPointSelectedHandler, token, city, targetStart, orderSum, weight, paymentSum, height, width, depth);
68        })
69        (selectPointLink)
70    }
71});
72
73async function bxbAjaxPost(data) {
74    await fetch(window.wp_data.ajax_url,
75        {
76            method: 'POST',
77            body: data
78        });
79}
80
81function getCityField(){
82    if (jQuery('#billing_city').length && !jQuery('#ship-to-different-address-checkbox').prop('checked')){
83        return jQuery('#billing_city');
84    }
85
86    if (jQuery('#shipping_city').length){
87        return jQuery('#shipping_city');
88    }
89
90    // Новый чекаут
91    if (jQuery('#billing-city').length && !jQuery('.wc-block-checkout__use-a
91ddress-for-billing #checkbox-control-1').prop('checked')){
92        return jQuery('#billing-city');
93    }
94
95    if (jQuery('#shipping-city').length){
96        return jQuery('#shipping-city');
97    }
98
99    return false;
100}
101
102jQuery(document).ajaxComplete(function () {
103    let elements = jQuery('a[data-boxberry-open="true"]');
104
105    if (elements.length) {
106        for (let i = 0; i < elements.length; i++) {
107            if (boxberrySelectedPointAddress) {
108                jQuery(elements[i]).text(boxberrySelectedPointAddress);
109            }
110        }
111    }
112
113    if (boxberryPointName && getCityField()) {
114        if (getCityField().val().trim().toLowerCase().replace('ё','е').indexOf(boxberryPointName.toLowerCase().replace('ё','е')) === -1) {
115            bxbDeleteCookie('bxb_code');
116            boxberryPointCode = false;
117            boxberrySelectedPointAddress = false;
118            boxberryPointName = false;
119            jQuery(document.body).trigger('update_checkout');
120        }
121    }
122});
123
124jQuery(document).on('change', 'input[name="payment_method"]', function () {
125    jQuery(document.body).trigger('update_checkout');
126});
127
128function bxbDeleteCookie(name) {
129    let d = new Date();
130    d.setDate(d.getDate() - 1);
131    let expires = ";expires=" + d;
132    let value = "";
133    document.cookie = name + "=" + value + expires + "; path=/";
134}
135
136jQuery(document).ready(function () {
137    bxbDeleteCookie('bxb_code');
138    let upd = 0;
139    if (location.pathname === '/checkout/' && upd === 0) {
140        upd = 1;
141        if (getCityField() && getCityField().val().length) {
142            jQuery(document.body).trigger('update_checkout');
143        }
144    } else {
145        upd = 0;
146    }
147
148    jQuery('#billing_postcode').on('blur',function(){
149        if (!jQuery('#ship-to-different-address-checkbox').prop('checked')){
150            jQuery( document.body ).trigger( 'update_checkout' );
151        }
152    });
153    jQuery('#billing_state').on('blur',function(){
154        if (!jQuery('#ship-to-different-address-checkbox').prop('checked')){
155            jQuery( document.body ).trigger( 'update_checkout' );
156        }
157    });
158    jQuery('#billing_city').on('blur',function(){
159        if (!jQuery('#ship-to-different-address-checkbox').prop('checked')){
160            jQuery( document.body ).trigger( 'update_checkout' );
161        }
162    });
163    jQuery('#shipping_city').on('focusout',function(){
164        jQuery( document.body ).trigger( 'update_checkout' );
165    });
166    jQuery('#shipping_state').on('focusout',function(){
167        jQuery( document.body ).trigger( 'update_checkout' );
168    });
169    jQuery('#shipping_postcode').on('focusout',function(){
170        jQuery( document.body ).trigger( 'update_checkout' );
171    });
172});

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.