PageSourceSearch

https://www.breketshop.ru/js/site/shop-routines.js?556

js breketshop.ru collected 2026-10-04 16:16:19 UTC 9,514 bytes, 275 lines download raw bytes

1/*****************************************************/
2function isBreketInBasket( $elem )
3{
4    var $breket = $elem.data('breket');
5    var $jaw = $elem.data('jaw');
6    var $teeth = $elem.data('teeth');
7    var $tork = $elem.find(':selected').data('tork');
8    var $torque = $elem.val();
9    var $slot = $('#slot').val();
10
11    $('span[id^="'+'qty_' + $slot + '_' + $jaw + '_' + $teeth+'"]').each(function (i, el) {
12        $(this).hide();
13    });
14
15    var $json = JSON.parse(window.localStorage.getItem('basketLines'));
16    $( $json).each(function (i, val)
17    {
18        var re = new RegExp('^([0-9\.\,]+)\/(ts_.+)\/(.+)$', 'ig');
19        var $valMatch = re.exec( val.raw_comment );
20
21        if ($valMatch)
22        {
23            re = new RegExp('ts_([t,b])_([0-9]+)', 'i');
24            var $match = re.exec($valMatch[2]);
25
26            if ($slot==$valMatch[1] && $breket==val.id && $jaw==$match[1] && $teeth==$match[2] && $torque==$valMatch[3]) {
27                var $name = 'qty_' + $slot + '_' + $jaw + '_' + $teeth + '_' + $tork;
28                var $elm = $("#"+$name);
29                $elm.text( val.count ).show();
30            }
31        }
32    });
33
34    return false;
35}
36/*****************************************************/
37function isLockInBasket( $elem )
38{
39    var $lock = $elem.data('lock');
40    var $jaw = $elem.data('jaw');
41    var $teeth = $elem.data('teeth');
42    var $slot = $('#slot').val();
43
44    $('span[id^="'+'qty_' + $slot + '_' + $jaw + '_' + $teeth+'"]').each(function (i, el) {
45        $(this).hide();
46    });
47
48    if ($elem.is(':checked'))
49    {
50        var $json = JSON.parse(window.localStorage.getItem('basketLines'))
51        $($json).each(function (i, val)
52        {
53            var re = new RegExp('^([0-9\.\,]+)\/(.+)\/(ts_.+)$', 'ig');
54            var $valMatch = re.exec(val.raw_comment);
55
56            if ($valMatch) {
57                re = new RegExp('ts_([t,b])_([0-9]+)', 'i');
58                var $match = re.exec($valMatch[3]);
59
60                if ($slot == $valMatch[1] && $lock == val.id && $jaw == $match[1] && $teeth == $match[2]) {
61                    var $name = 'qty_' + $slot + '_' + $jaw + '_' + $teeth;
62                    var $elm = $("#" + $name);
63                    $elm.text(val.count).show();
64                }
65            }
66
67        });
68    }
69    return false;
70}
71/*****************************************************
72function goodsInBasket(  )
73{
74    $('.btn-cart').each(function (i, el) {
75        goodInBasket( $(this) );
76    });
77}
78/*****************************************************
79function goodInBasket( $elem )
80{
81    var $good = $elem.data('good');
82    var $param = $elem.data('param');
83    //var $count = parseInt( $elem.data('count') );
84    var $comm = decodeURI($elem.data('comm'));
85
86    $('span[id^="'+'qty_' + $good + '_' + '"]').each(function (i, el) { $(this).text('0').hide(); });
87
88    var $json = localStorage.getObj('basket') || $basket;
89    $( $json).each(function (i, val)
90    {
91        if ( $good==val.id && $comm==decodeURI(val.param)) showCountHint( $good, $param, val.count);
92    });
93
94    return false;
95}
96/*****************************************************/
97function showCountHint( $good, $param, $count )
98{
99    var $name = 'qty_' + $good + '_' + $param ;
100    var $elm = $('#'+$name);
101
102    $('#basket_btn_' + $good + '_' + $param).attr('data-count', $count).data('count', $count );
103
104    $elm.text( $count ).show();
105}
106/*****************************************************
107function addToBasket( $elm ) {
108
109    var price = parseFloat( $elm.data('cost') );
110    var good_id = $elm.data('good');
111    var oldCount = parseInt( $elm.data('count') );
112
113    var $param = $elm.data('param');
114    var $comm = decodeURIComponent($elm.data('comm'));
115
116    if (good_id && price) {
117
118        $.ajax({
119            type: "POST",
120            url: "/ajax/basket/add_good",
121            data: {'good_id': good_id, 'price': price, 'comment': $comm, '_token': _token()},
122            dataType: 'json',
123            success: function(data) {
124                if (data.success) {
125                    setCart();
126                    showCountHint( good_id, $param, oldCount+1);
127                    basketDialog('Товар добавлен в корзину.<br/>Количество заказываемой продукции Вы можете поменять в корзине');
128                    dataLayer.push({ 'ecommerce': JSON.parse( $('#ecommerce-input-'+good_id).val() )});
129                }else{
130                    showError( data.message);
131                }
132                return false;
133            }
134        });
135    }
136    return false;
137}
138/*****************************************************
139function addToCart(tbl, good_id, comment, token) {
140
141    var pElem = $('form[name="+good_id+"] input[name=pr]');
142    var price = pElem.val().replace(/\,/, '.');
143    price = parseFloat(price);
144
145    if (tbl && good_id && price) {
146
147        $.ajax({
148            type: "POST",
149            url: "/ajax/basket/add_good",
150            headers: {'X-CSRF-TOKEN': _token()},
151            data: {'tbl': tbl, 'good_id': good_id, 'price': price, 'comment': comment, '_token': _token()},
152            dataType: 'json',
153            success: function(data) {
154                if (data.success) {
155                    setCart();
156                    goodsInBasket();
157                    basketDialog('Товар добавлен в корзину.<br/>Количество заказываемой продукции Вы можете поменять в корзине');
158                }else{
159                    showError( data.message);
160                }
161            }
162        });
163    }
164}
165
166/***** Breket Form Routines ********/
167/*****************************************************
168function successBreket()
169{
170    $('#brekets-jaw select option:selected').each(function () {
171        $(this).prop('selected', false).trigger('change');
172    });
173    waiting_close();
174}
175/*****************************************************
176function validBreket() {
177    var flag = false;
178    $("select[name^=ts]").each(function() {
179        if ( $(this).val() ) { flag = true; }
180    });
181    if (!flag) { showError('Ничего не выбрано'); return false; }
182    return true;
183}
184/*****************************************************/
185function validCircle() {
186    var flag = false;
187    $("input[type='checkbox'][name^=ts]").each(function() {
188        if ( $(this).is(':checked') ) { flag = true; }
189    });
190    if (!flag) { showError('Ничего не выбрано'); return false; }
191    return true;
192}
193/*****************************************************/
194function successCircle()  {
195    $('.product-jaw').find('input').each(function () {
196        $(this).prop('checked', false).trigger('change');
197    });
198    waiting_close();
199}
200/*****************************************************/
201function _setSelectorData($btn, $opt, $id, $val)
202{
203    $btn.removeAttr('id').prop('id', $id);
204    $btn.attr('data-param', $opt.data('section')).data('param', $opt.data('section'));
205    $btn.attr('data-comm', $val).data('comm', $val);
206    $btn.attr('data-count', 0).data('count', 0);
207    goodInBasket($('#' + $id));
208}
209
210
211/*****************************************************/
212$().ready(function() {
213/*
214    $("#brakets-jaw").ajaxForm ({
215        target:        null,
216        beforeSubmit:  validBreket,
217        success:       successBreket,
218        url:           "/ajax/basket/breket_order",
219        type:          'post' ,
220        dataType:      'json'
221    });
222
223    $("#circles-jaw").ajaxForm ({
224        target:        null,
225        beforeSubmit:  validBreket,
226        success:       successCircle,
227        url:           "/ajax/basket/circle_order",
228        type:          'post' ,
229        dataType:      'json'
230    });
231*/
232    $('.section-selector').on('change', function()
233    {
234            var $opt = $("option:selected", this);
235            var $btn = $('a.btn-cart');
236            var $id = 'basket_btn_' + $opt.data('good') + '_' + $opt.data('section');
237            _setSelectorData($btn, $opt, $id, $(this).val());
238            return false;
239    });
240
241    $('.section-selectors').each( function()
242    {
243        var $elm = $(this);
244        var $tr = $elm.closest('tr');
245
246        $elm.bind('change', function()
247        {
248            var $opt = $elm.children("option:selected");
249            var $btn = $tr.find('a.btn-cart');
250            var $id = 'basket_btn_' + $opt.data('good') + '_' + $opt.data('section');
251            _setSelectorData($btn, $opt, $id, $(this).val());
252            return false;
253        });
254    });
255
256
257    $(document).on('click', "#breket-nabor-btn", function() {
258        //showWaiter();
259        $('#brekets-jaw select > option:nth-child(2)').each(function () {
260            $(this).prop('selected', true).trigger('change');
261        });
262        //waiting_close();
263        return false
264    });
265
266    //if (/(catalog\/item)/i.test(window.location.href)==true)  goodsInBasket();
267    //if (/(catalog\/arcs)\/(.*?)/i.test(window.location.href)==true)  goodsInBasket();
268    //if (/(catalog\/arcs\/(.*?)\/([0-9]+))/i.test(window.location.href)==true)  goodsInBasket();
269
270    $(document).on('click', '.order-not-available', function(){
271        orderNotAvailable( $(this).data('good') );
272        return false;
273    });
274
275});

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.