PageSourceSearch

https://visateka.ru/assets/template/js/script.min.js?v=0.0.0.6

js visateka.ru collected 2026-09-29 14:47:54 UTC 61,139 bytes, 1,068 lines download raw bytes

1// Прелоадер
2$(window).load(function () {
3  $('#preloader').fadeOut(400);
4});
5
6$(document).ready(function () {
7    var city = 'web';
8    var strCity = 'Санкт-Петербург';
9    var dataCity = localStorage.cityData;
10    if( !localStorage.citySelected ) {
11        $.ajax({
12        	async: false,
13            url: "assets/ajax/city.php"
14        }).done(function(data) {
15        	switch(data) {
16        		case "Saint Petersburg":
17        			city = 'web';
18        			strCity = 'Санкт-Петербург';
19        			break;
20        			
21                case "Moscow":
22                    city = 'msk';
23                    strCity = 'Москва';
24                    break;
25                
26                case "Krasnodar":
27                    city = 'krasnodar';
28                    strCity = 'Краснодар';
29                    break;
30            
31                case "Kazan":
32                    city = 'kazan';
33                    strCity = 'Казань';
34                    break;
35            
36                case "Nizhniy Novgorod":
37                    city = 'nn';
38                    strCity = 'Нижний Новгород';
39                    break;
40        
41                case "Yekaterinburg":
42                    city = 'ekb';
43                    strCity = 'Екатеринбург';
44                    break;
45        		
46                case "Novosibirsk":
47                    city = 'novosibirsk';
48                    strCity = 'Новосибирск';
49                    break;
50            
51                case "Krasnoyarsk":
52                    city = 'krasnoyarsk';
53                    strCity = 'Красноярск';
54                    break;
55            
56                case "Chelyabinsk":
57                    city = 'chelyabinsk';
58                    strCity = 'Челябинск';
59                    break;
60            
61                case "Samara":
62                    city = 'samara';
63                    strCity = 'Самара';
64                    break;
65            
66                case "Ufa":
67                    city = 'ufa';
68                    strCity = 'Уфа';
69                    break;
70            
71                case "Rostov-na-Donu":
72                    city = 'rostov-na-donu';
73                    strCity = 'Ростов-на-Дону';
74                    break;
75            
76                case "Omsk":
77                    city = 'omsk';
78                    strCity = 'Омск';
79                    break;
80        
81                case "Voronezh":
82                    city = 'voronezh';
83                    strCity = 'Воронеж';
84                    break;
85        
86                case "Perm":
87                    city = 'perm';
88                    strCity = 'Пермь';
89                    break;
90        
91                case "Volgograd":
92                    city = 'volgograd';
93                    strCity = 'Волгоград';
94                    break;
95        
96                case "Saratov":
97                    city = 'saratov';
98                    strCity = 'Саратов';
99                    break;
100        
101                case "Tyumen":
102                    city = 'tyumen';
103                    strCity = 'Тюмень';
104                    break;
105
106                case "Tolyatti":
107                    city = 'tolyuatti';
108                    strCity = 'Тольятти';
109                    break;
110                
111                case "Barnaul":
112                    city = 'barnaul';
113                    strCity = 'Барнаул';
114                    break;
115                
116                case "Izhevsk":
117                    city = 'izhevsk';
118                    strCity = 'Ижевск';
119                    break;
120                
121                case "Khabarovsk":
122                    city = 'habarovsk';
123                    strCity = 'Хабаровск';
124                    break;
125                
126                case "Kaliningrad":
127                    city = 'kaliningrad';
128                    strCity = 'Калининград';
129                    break;
130                
131                case "Makhachkala":
132                    city = 'mahachkala';
133                    strCity = 'Махачкала';
134                    break;
135
136        		default:
137        			city = 'web';
138        			strCity = 'Санкт-Петербург';
139        	}
140        });
141    }
142    if( localStorage.cityData ) { //Другие города на МСК
143    
144        $('.city-select .dropdown > a').each(function() {
145            let dataC = $(this).attr('data-city');
146            let nameC = $(this).text();
147
148            if( dataCity == dataC )
149                strCity = nameC;
150        });
151    }
152
153    $('.city-choose > span').text(strCity);
154    
155    $('.city-select .dropdown > a').on('click', function() {
156        let city = $(this).attr('data');
157        let dataC = $(this).attr('data-city');
158
159    		localStorage.cityRedirect = true;
160    		localStorage.citySelected = city;
161    		localStorage.cityData     = dataC;
162    		
163    		return true;
164    });
165    
166    $('.city-select').on('click', function() {
167    	if( $(this).hasClass('open') ) {
168    		$('.city-select').removeClass('open')
169    		
170    		return true;
171    	}
172    	else {
173    		$('.city-select').addClass('open')
174    		
175    		return true;
176    	}
177    });
178    
179    //console.log(city+'/'+localStorage.citySelected+'/'+localStorage.cityRedirect)
180    /*
181    if( !localStorage.citySelected && !localStorage.cityRedirect ) 
182    	$('.city-choose').css('display', 'block');
183    else {
184    	if( localStorage.citySelected != city && !localStorage.cityRedirect )
185    		$('.city-choose').css('display', 'block');
186    	else
187    		$('.city-choose').css('display', 'none');
188    }
189    
190    $('.city-choose .btn').on('click', function() {
191    	let btn = $(this).attr('data');
192    	$('.city-choose').css('display', 'none');
193    	
194    	if( btn == 1 ) {
195    		if(!localStorage.citySelected)
196    			$('.city-select').addClass('open');
197    		
198    		if( localStorage.citySelected != city ) {
199    			var cityUrl = "https://visateka.ru/";
200	    	
201		    	switch (city) {
202		    		case "web":
203		    			break;
204		    		case "msk":
205		    			cityUrl += 'msk/';
206		    			break;
207		    	}
208		    	
209		    	localStorage.cityRedirect = true;
210		    	localStorage.citySelected = city
211		    	
212		    	window.location.replace(cityUrl);
213    		}
214    	} else {
215    		$('.city-select').addClass('open');
216    	}
217    });
218    */
219    
220//     var cityLoc = localStorage.citySelected;
221//     var currentCity = $('#citylink').attr('content');
222    
223//     if( cityLoc != currentCity ) {
224// 	    if( !localStorage.cityRedirect ) {
225// 	    	var cityUrl = "https://visateka.ru/";
226	    	
227// 	    	switch (cityLoc) {
228// 	    		case "web":
229// 	    			break;
230// 	    		case "msk":
231// 	    			cityUrl += 'msk/';
232// 	    			break;
233// 	    	}
234	    	
235// 	    	localStorage.cityRedirect = true;
236	    	
237// 	    	window.location.replace(cityUrl);
238// 	    }
239// 		}
240		
241    $('.team-tab-link').on('click', function (event) {
242        event.preventDefault();
243    });
244
245    $('.leaveRequest_open').on('click', function (event) {
246        event.preventDefault();
247        var self = this;
248        $("#leaveRequest").popup({
249            transition: "all 0.3s",
250            scrolllock: !0,
251            scrolllock: !0,
252            onopen: function () {
253                (r = window.scrollY);
254                $("html").addClass("modal-open").css({
255                    marginTop: -r,
256                    overflow: "hidden",
257                    left: 0,
258                    right: 0,
259                    top: 0,
260                    bottom: 0,
261                    position: "fixed"
262                });
263                var $parent = $(self).parents('tr');
264                var fields = [];
265                if ($parent.length > 0) {
266                    // Если вызов из таблицы стоимости
267                    var visaType = $parent.find('.visa__type').text();
268                    var template = '<input type="hidden" name="visa_type">';
269                    var field = $(template).val(visaType.replace(/\n\s+/g, ''));
270                    fields.push(field);
271                } 
272                else if ($(self).hasClass('--interPassportCalc')) {
273									var template = '<input type="hidden">';
274									var field = $(template).attr('name', 'ipc').val('1');
275                  fields.push(field);
276                }
277                else if ($(self).hasClass('--ipg')) {
278									var template = '<input type="hidden">';
279									var field = $(template).attr('name', 'ipg').val('1');
280                  fields.push(field);
281                }
282                else if ($(self).hasClass('--ipi')) {
283									var template = '<input type="hidden">';
284									var field = $(template).attr('name', 'ipi').val('1');
285                  fields.push(field);
286                }
287                else {
288                		if ($(self).hasClass('zagr')) {
289                        $("#leaveRequest .sub-title p").text('и получите бесплатную консультацию специалиста по оформлению заграничного паспорта');
290                        $("#thanksMessage .content-text p").text('Для уточнения деталей мы свяжемся с вами в ближайшее время, пока вы можете ознакомиться с дополнительными услугами, которыми можете воспользоваться, когда получите заграничный паспорт');
291                    }
292                    if ($(self).hasClass('visaa')) {
293                        $("#leaveRequest .sub-title p").text('и получите бесплатную консультацию визового специалиста по оформлению визы');
294                        $("#thanksMessage .content-text p").text('Для уточнения деталей мы свяжемся с вами в ближайшее время, пока вы можете ознакомиться с дополнительными услугами, которыми можете воспользоваться, когда получите визу');
295                    }
296                    // Если вызов из калькулятора
297                    var template = '<input type="hidden">';
298                    // Добавляем селекты
299                    $('#mainForm').find('select').each(function () {
300                        var name = $(this).attr('name');
301                        var value = $(this).val();
302
303                        if (name == 'country') {
304                            name = 'visa_country';
305                        }
306
307                        var field = $(template).attr('name', name).val(value);
308                        fields.push(field);
309                    });
310                    // Добавляем инпуты
311                    var inputs = $('#mainForm').find('input').each(function () {
312                        var name = $(this).attr('name');
313                        var value = $(this).val();
314                        var type = $(this).attr('type');
315                        if (type == 'checkbox' || type == 'radio') {
316                            if (!$(this).prop('checked')) {
317                                return true;
318                            }
319                        }
320                        var field = $(template).attr('name', name).val(value);
321
322                        fields.push(field);
323                    });
324
325                    //Добавляем цену
326                    var price = $('#finalPrice').text();
327                    var field = $(template).attr('name', 'price').val(price);
328                    fields.push(field);
329                    //console.log(inputs);
330                }
331
332                var i;
333                for (i = 0; i < fields.length; i++) {
334                    $(this).find('form .dop__fields').append(fields[i]);
335                }
336                $(this).find('form').attr('data-type', 'calc');
337                var fields = [];
338                //console.log($(this).find('form'));
339            },
340            onclose: function () {
341                $("html").removeClass("modal-open").css({
342                    marginTop: 0,
343                    overflow: "visible",
344                    left: "auto",
345                    right: "auto",
346                    top: "auto",
347                    bottom: "auto",
348                    position: "static"
349                });
350                window.scrollTo(0, r);
351                $(this).find('form .dop__fields').empty();
352            }
353        });
354    });
355
356
357    $('.leaveRequest_openzagran').on('click', function (event) {
358        event.preventDefault();
359        var self = this;
360        $("#leaveRequestzagran").popup({
361            transition: "all 0.3s",
362            scrolllock: !0,
363            scrolllock: !0,
364            onopen: function () {
365                (r = window.scrollY);
366                $("html").addClass("modal-open").css({
367                    marginTop: -r,
368                    overflow: "hidden",
369                    left: 0,
370                    right: 0,
371                    top: 0,
372                    bottom: 0,
373                    position: "fixed"
374                });
375                var $parent = $(self).parents('tr');
376                var fields = [];
377                if ($parent.length > 0) {
378                    // Если вызов из таблицы стоимости
379                    var visaType = $parent.find('.visa__type').text();
380                    var template = '<input type="hidden" name="visa_type">';
381                    var field = $(template).val(visaType.replace(/\n\s+/g, ''));
382                    fields.push(field);
383                } 
384                else if ($(self).hasClass('--interPassportCalc')) {
385									var template = '<input type="hidden">';
386									var field = $(template).attr('name', 'ipc').val('1');
387                  fields.push(field);
388                }
389                else if ($(self).hasClass('--ipg')) {
390									var template = '<input type="hidden">';
391									var field = $(template).attr('name', 'ipg').val('1');
392                  fields.push(field);
393                }
394                else if ($(self).hasClass('--ipi')) {
395									var template = '<input type="hidden">';
396									var field = $(template).attr('name', 'ipi').val('1');
397                  fields.push(field);
398                }
399                else {
400                	  if ($(self).hasClass('zagr')) {
401                        $("#leaveRequest .sub-title p").text('и получите бесплатную консультацию специалиста по оформлению заграничного паспорта');
402                    }
403                    // Если вызов из калькулятора
404                    var template = '<input type="hidden">';
405                    // Добавляем селекты
406                    $('#mainForm').find('select').each(function () {
407                        var name = $(this).attr('name');
408                        var value = $(this).val();
409
410                        if (name == 'country') {
411                            name = 'visa_country';
412                        }
413
414                        var field = $(template).attr('name', name).val(value);
415                        fields.push(field);
416                    });
417                    // Добавляем инпуты
418                    var inputs = $('#mainForm').find('input').each(function () {
419                        var name = $(this).attr('name');
420                        var value = $(this).val();
421                        var type = $(this).attr('type');
422                        if (type == 'checkbox' || type == 'radio') {
423                            if (!$(this).prop('checked')) {
424                                return true;
425                            }
426                        }
427                        var field = $(template).attr('name', name).val(value);
428
429                        fields.push(field);
430                    });
431
432                    //Добавляем цену
433                    var price = $('#finalPrice').text();
434                    var field = $(template).attr('name', 'price').val(price);
435                    fields.push(field);
436                    //
436console.log(inputs);
437                }
438
439                var i;
440                for (i = 0; i < fields.length; i++) {
441                    $(this).find('form .dop__fields').append(fields[i]);
442                }
443                $(this).find('form').attr('data-type', 'calc');
444                var fields = [];
445                //console.log($(this).find('form'));
446            },
447            onclose: function () {
448                $("html").removeClass("modal-open").css({
449                    marginTop: 0,
450                    overflow: "visible",
451                    left: "auto",
452                    right: "auto",
453                    top: "auto",
454                    bottom: "auto",
455                    position: "static"
456                });
457                window.scrollTo(0, r);
458                $(this).find('form .dop__fields').empty();
459            }
460        });
461    });
462    
463    
464    $('.quizModal_open').on('click', function (event) {
465        event.preventDefault();
466    });
467
468    $('.html5lightbox').on('click', function (event) {
469        event.preventDefault();
470    });
471
472    $('article header.banner a.btn').on('click', function (event) {
473        //event.preventDefault();
474    });
475
476    $('.scrollForm').on('click', function (event) {
477        event.preventDefault();
478        $("html, body").animate({
479            scrollTop: $('#start-cooperation').offset().top + "px"
480        }, 1000);
481    });
482
483    $('.watchMore').on('click', function (event) {
484        event.preventDefault();
485        $('.contactHide').slideUp();
486        if (!$(this).hasClass('active')) {
487            $('.watchMore').removeClass('active');
488            $(this).addClass('active');
489            $(this).parent().find('.contactHide').slideDown();
490        }
491    });
492
493    // $(window).scroll(function(){
494    // 	if($(window).scrollTop() >= $('#fixed-sidebar').offset().top)
495    // 		$('#fixed-sidebar').addClass('fixed')
496    // })
497
498    //Получения значений для калькулятора загранпаспорта
499    function interPassportInit() {
500        var data = $('#interPassportForm').serialize();
501        data += "&action=resource/interpassport&city="+city;
502        $.ajax({
503            url: '/assets/components/site/connector.php',
504            dataType: 'json',
505            method: 'POST',
506            data: data,
507            success: function (data) {
508                var result = data.object.result;
509
510                // Список цен
511                var priceList = JSON.parse(result.priceList);
512                $('#priceList').html('');
513                priceList.forEach(function (item) {
514                    $('#priceList').append('<div class="row"><div class="title"><span>' + item.title + '</span><i class="tooltip demo-icon icon-info">&#xe822;</i><div class="tooltip-info">' + item.desc + '</div></div><div class="price">' + item.price + ' ₽</div></div>');
515                });
516
517                // Что входит в стоимость
518                var onList = JSON.parse(result.onList);
519                $('#onList').html('');
520                onList.forEach(function (item) {
521                    $('#onList').append("<li><p>" + item.value + "</p></li>");
522                });
523
524                // Список документов
525                var documentList = JSON.parse(result.documentList);
526                $('#documentList').html('');
527                documentList.forEach(function (item) {
528                    $('#documentList').append("<li><p>" + item.value + "</p></li>");
529                });
530
531                // Гос. пошлина для детей и взрослых
532                $('#priceMan').text(result.priceMan);
533                $('#priceChild').text(result.priceChild);
534            }
535        });
536    }
537
538    // обновляем калькулятор загранпаспорта
539    if ($('#interPassportForm')[0]) {
540        interPassportInit();
541    }
542
543    $('#interPassportForm input').on('change', function () {
544        interPassportInit();
545        return false;
546    })
547
548    var subMenu = $('#submenu'),
549        subMenuHeight = subMenu.outerHeight(),
550        subMenuItems = Array.from($('.submenu-item')).map(function (value) {
551            return $(value).attr('href');
552        });
553
554    if (subMenu[0]) {
555        $(window).scroll(function () {
556            var current = Array(),
557                subMenuOffsetTop = subMenu.offset().top + subMenuHeight + 1;
558
559            subMenuItems.forEach(function (value) {
560                if ($(value).offset().top < subMenuOffsetTop)
561                    current[current.length] = value;
562            });
563
564            current = current.length > 0 ? current[current.length - 1] : subMenuItems[0]
565
566            current = $('.submenu-item').filter("[href='" + current + "']");
567
568            $('#submenu li').removeClass('active')
569            current.parent().addClass('active')
570        })
571    }
572
573    var mainFormSubmit = false;
574    var leaveFormSubmit = false;
575    var result = {};
576
577    function getFormData($form) {
578        var unindexed_array = $form.serializeArray();
579        var indexed_array = {};
580
581        $.map(unindexed_array, function (n, i) {
582            indexed_array[n['name']] = n['value'];
583        });
584
585        return indexed_array;
586    }
587
588    $('#click-mainForm').on('click', function () {
589        mainFormSubmit = true;
590    })
591
592    $('#submitData').on('click', function () {
593        leaveFormSubmit = true;
594        if (mainFormSubmit) {
595            $.ajax({
596                url: '/assets/components/site/connector.php',
597                dataType: 'json',
598                method: 'POST',
599                data: result,
600                success: function () {
601                    mainFormSubmit = false;
602                }
603            });
604        }
605    })
606
607    $('#thanksFormButton').on('click', function () {
608        if (leaveFormSubmit) {
609            result.comment = "";
610            var $form = $("#mainForm");
611            var data = getFormData($form);
612            if (data.visa_type != null)
613                result.comment += data.visa_type + ', ';
614            if (data['status'] != null)
615                result.comment += data['status'] + ', ';
616            if (data.country != null)
617                result.comment += data.country + ', ';
618            if (data.getting != null)
619                result.comment += data.getting + ', ';
620            if (data.registration != null)
621                result.comment += data.registration + ', ';
622            if (data.deadline != null)
623                result.comment += data.deadline + ', ';
624            if (data.stay != null)
625                result.comment += data.stay + ', ';
626            if (data.visa_form != null)
627                result.comment += data.visa_form + ', ';
628            result.price = $('#finalPrice').text();
629            var $leaveForm = $("#leaveRequest_form");
630            var data2 = getFormData($leaveForm);
631            result.name = data2.name;
632            result.phone = data2.phone;
633            var thanksForm = $("#thanksForm");
634            var data3 = getFormData(thanksForm);
635            result.email = data3.email;
636            result.city = city;
637            console.log(result)
638            $.ajax({
639                url: '/assets/components/site/introvert_save.php',
640                method: 'POST',
641                data: result
642            });
643        }
644    })
645
646    $('.thanksMessage_close').on('click', function () {
647        if (leaveFormSubmit) {
648            result += $('#mainForm').serialize() + "&action=resource/submitcalc&price=" + $('#finalPrice').text();
649            result += '&' + $('#leaveRequest_form').serialize();
650            result += '&' + city;
651            console.log(result)
652            $.ajax({
653                url: '/assets/components/site/introvert_save.php',
654                method: 'POST',
655                data: result
656            });
657        }
658    })
659
660    function calculatorPriceGet() {
661        if( $('#promoCode').length>0 )
662            var promoCode = $('#promoCode').find('input[name=promo_code]')[0].value;
663        var result = $('#mainForm').serialize();
664        result += "&action=resource/calculator";
665        //console.log(result);
666        
667        var form = document.querySelector('#mainForm');
668				var formData = new FormData(form);
669				
670				console.log(JSON.stringify(Object.fromEntries(formData.entries()), null, 2));
671        
672        if (promoCode)
673            result += "&promocode=" + promoCode;
674        $.ajax({
675            url: '/assets/components/site/connector.php',
676            dataType: 'json',
677            method: 'POST',
678            data: result,
679            success: function (data) {
680            		
681                var data = data.object;
682                console.log(data);
683                $('#finalPrice').hide().html(data.price).fadeIn(100)
684            }
685        });
686        return false;
687    }
688
689    if ($('#mainForm')[0]) {
690        calculatorPriceGet();
691    }
692
693    $('#mainForm input, #mainForm select').on('change', function () {
694    		//console.log('asd');
695        calculatorPriceGet();
696    });
697
698    $('#promoCode').on('submit', function (event) {
699        calculatorPriceGet();
700        return false;
701    });
702
703    $('.inc_dec_btn').on('click', function () {
704        // minus
705        // if ($(this).hasClass("dec"))
706        //   $(this).siblings()[1].value = $(this).siblings()[1].value > 0 ? $(this).siblings()[1].value - 1 : 0;
707
708        // // plus
709        // if ($(this).hasClass("inc"))
710        //   $(this).siblings()[2].value++;
711
712        calculatorPriceGet();
713    });
714
715    // Китай
716    $('select#visaType').on('change', function () {
717        if (this.value == "1" || this.value == "2" || this.value == "5") {
718            $($('#checkmark-wrap .wrap')[0]).click()
719            $($('#checkmark-wrap .wrap')[1]).addClass('label-off')
720            $($('#checkmark-wrap .wrap')[2]).addClass('label-off')
721        } else {
722            $($('#checkmark-wrap .wrap')[1]).removeClass('label-off')
723            $($('#checkmark-wrap .wrap')[2]).removeClass('label-off')
724        }
725    })
726
727    var option = $('#visaType').html();
728    // Индия
729    $('.indiaVisaForm').on('click', function () {
730        if ($(this).hasClass('val2')) {
731            $('.deadlineDefualt').click();
732            $('.deadlineMain').addClass('label-off');
733
734            Array.from($('#visaType').children()).forEach(function (val) {
735                if (val.value != 2) {
736                    $(val).remove()
737                } else $('.select_blk .jcf-select-text span').text('Двухкратная')
738            })
739        } else {
740            $('#visaType').html(option);
741            $('.deadlineMain').removeClass('label-off');
742            $('.select_blk .jcf-select-text span').text('Однократная')
743        }
744    })
745
746    // Смена города
747    $('.city_select').on('change', function () {
748    	  //let city = '';
749    		let url = 'https://visateka.ru/'+$(this).val();
750    		localStorage.cityRedirect = true;
751    		
752    		if( $(this).val() == '' )
753    			localStorage.citySelected = 'web';
754    		else
755    			localStorage.citySelected = 'msk';
756    		window.location.href = url;
757    });
758		
759    $('select').on('change', function () {
760      calculatorPriceGet();
761    })
762
763    // Фильтр по тегам у стран и блога
764    function TagFilter(data) {
765        this.action = data.action;
766        this.container = data.container;
767        this.buttons = data.buttons;
768        this.blockHide = data.blockHide;
769        this.searchErrorText = data.searchErrorText;
770    }
771
772    // Прячем лишнее
773    TagFilter.prototype.hide = function (value, searchInput) {
774        this.blockHide.slideUp(200);
775        if ($('.pagination')[0])
776            // $('.pagination').hide();
777        if (value === '' || searchInput === '')
778            this.blockHide.slideDown(200).delay(800);
779    }
780
781    // Фильтруем при выборе типа
782    TagFilter.prototype.clickButton = function (value, currentButton, page) {
783        Array.from(this.buttons).forEach(function (btn) {
784            $(btn).removeClass('active')
785        });
786        currentButton.addClass('active');
787        this.query(value, null, page)
788    }
789
790    // Фильтруем по значению из input
791    TagFilter.prototype.searchInput = function (inputValue) {
792        Array.from(this.buttons).forEach(function (btn, index) {
793            $(btn).removeClass('active');
794            if (index === 0) $(btn).addClass('active');
795        });
796        this.query(null, inputValue, page);
797    }
798    var idxn = $('.filter-btns-item.active').data('idx');
799    $('.filter-btns-item').on('click', function (event) {
800        idxn = this.dataset.idx;
801        event.preventDefault();
802        var region = this.dataset.region;
803        countryFilter.clickButton(region, $(this));
804    });
805    
806    // Передаем параметры в процессор
807    var city = $('#cityLocation').attr('content');
808    TagFilter.prototype.query = function (value, searchInput, page) {
809        console.log(idxn);
810        this.hide(value, searchInput);
811        var data = {
812            action: this.action,
813            value,
814            searchInput,
815            page: page,
816            idx: idxn,
817            ctx: city
818        }
819        var Filter = this;
820        $.ajax({
821            url: '/assets/components/site/connector.php',
822            dataType: 'json',
823            method: 'POST',
824            data: data,
825            success: function (data) {
826                Filter.init(data.object.html);
827                // console.log(data.object.receivedIdx);
828                // console.log(data.object.parents);
829                // console.log(data.object.processorFile);
830            }
831        });
832    }
833
834    // Обрабатываем полученные данные и выводим результат
835    TagFilter.prototype.init = function (result) {
836        // Если стран не найдено
837        if (!result)
838            return this.container.hide().html('<h2 style="margin-top: 30px; text-align: center">' + this.searchErrorText + '</h2>').fadeIn();
839        // Выводим результат с анимацией
840        this.container.hide().html(result).fadeIn();
841    }
842
843    var countryFilterData = {
844        action: 'resource/getlistcountry',
845        container: $('#countryList'),
846        buttons: $('.filter-btns-item'),
847        blockHide: $('#filterHide'),
848        searchErrorText: 'Стран не найдено',
849        moreBlock: $('#blogList .more')
850    };
851
852    $('#searchRegion').on('submit', function (event) {
853        event.preventDefault();
854        countryFilter.searchInput(event.target.article.value);
855    });
856
857    var blogFilterData = {
858        action: 'resource/getlistarticle',
859        container: $('#searchPage'),
860        buttons: $('.blogSorting'),
861        blockHide: $('#filterHide'),
862        searchErrorText: 'Статей не найдено'
863    };
864    var blogFilter = new TagFilter(blogFilterData);
865
866    $('#searchArticle').on('submit', function (event) {
867        event.preventDefault();
868        blogFilter.searchInput(event.target.article.value);
869    });
870
871    $('.blogSorting').on('click', function (event) {
872        event.preventDefault();
873        var articleType = this.dataset.blog;
874
875        blogFilter.clickButton(articleType, $(this));
876    });
877
878    $(blogFilterData.moreBlock).on('click', '.more__btn', function (e) {
879        e.preventDefault();
880        var page = $(this).data('page') + 1;
881    });
882
883    var countryFilter = new TagFilter(countryFilterData);
884
885    if ($('.blogSortingMain').length) {
886        var strGET = window.location.search.replace('?', '');
887        strGET = strGET.match(new RegExp('type=([^&=]+)'));
888        var page = blogFilterData.moreBlock.find('.more__btn').data('page');
889        console.log(page);
890        if (strGET !== null) {
891            strGET[1] = decodeURIComponent(strGET[1].replace("+", " "));
892            blogFilter.clickButton(strGET[1], $('blogSortingMain'), page);
893        } else {
894            blogFilter.clickButton('', $('blogSortingMain'), page);
895        }
896    }
897  
898    $('.blog-content-link-item').on('click', function(e){
899        e.preventDefault();
900        $("html, body").animate({
901            //scrollTop: $('[name=' + $(this).attr("href") + ']').offset().top + "px"
902            //scrollTop: $('[id=' + $(this).attr("href").substr(1) + ']').offset().top + "px"
903            scrollTop: $('[name=' + $(this).attr("href").substr(1) + ']').offset().top + "px"
904        });
905    });
906	
907    // Подгрузка изображений
908    $("img.lazy").lazyload({
909        effect: "fadeIn"
910    });
911
912    // Событие после отправки формы через AjaxForm
913    $(document).on('af_complete', function(event, response) {
914    	if (response.success == false) {
915    		return;
916    	}
917        var form = response.form;
918        console.log('form-send');
919        // Если у формы определённый id
920        if (form.attr('id') == 'leaveRequest_form' || form.attr('id') == 'leaveBannerPhone_form') {
921        	
922            /*$("#leaveRequest").popup('hide');*/
923            /*$("#thanksMessage").popup('show');*/
924            location="/thanks";  
925            if (form.attr('data-type').length > 0) {
926                // yaCounter49171924.reachGoal('goal13');
927            }
928            else if (form.find('input[name="ipc"]').length > 0) {
929            	// yaCounter49171924.reachGoal('goal4');
930            }
931            else if (form.find('input[name="ipg"]').length > 0) {
932            	// yaCounter49171924.reachGoal('goal5');
933            }
934            else if (form.find('input[name="ipi"]').length > 0) {
935            	// yaCounter49171924.reachGoal('goal8');
936            }
937            else if (form.find('input[name="site"]').val() == 'https://visateka.ru/zagranpasport') {
938            	// yaCounter49171924.reachGoal('goal6');
939            }
940            else {
941            	// yaCounter49171924.reachGoal('goal2');
942            }
943            
944            if( form.hasClass('or-popup-request')) {
945        			ym(49171924,'reachGoal','or-popup-request');
946            }
947        }
948        else if (form.hasClass('af_formEmail')) {
949        	console.log('or-subscribe');
950        	ym(49171924,'reachGoal','or-subscribe');
951            // yaCounter49171924.reachGoal('goal9');
952        }
953        else if (form.attr('id') == 'thanksForm') {
954            // yaCounter49171924.reachGoal('goal12');
955        }
956        else if (form.hasClass('callback-phone')) {
957        	console.log('da');
958            ym(49171924,'reachGoal','or-callback-phone');
959            location="/thanks";  
960            /*$("#thanksMessage").popup('show');*/
961        }
962        else if (form.hasClass('turagentam')) {
963        	ym(49171924,'reachGoal','or-turagentam');
964        }
965        else if (form.hasClass('or-art-free-consult')) {
966        	ym(49171924,'reachGoal','or-art-free-consult');
967        }
968        else if (form.hasClass('or-art-consult-phone')) {
969        	ym(49171924,'reachGoal','or-art-consult-phone');
970        }
971        else if ( form.hasClass('payform') ) {
972        	var data  = $(form).serialize();
973        	
974        	location="/paykeeper.php?"+data
975        }
976         
977        // Иначе печатаем в консоль весь ответ
978        else {
979            console.log(response)
980        }
981        
982        return true;
983    });
984    
985    $('form.payform').on('submit', function(){ $(this).addClass('active')})
986
987    // Событие клика в содержимое блога
988    $(document).on('click', '.blog-titles a[href^="#section_"]', function(e) {
989        e.preventDefault();
990
991        var elID = $(this).attr('href');
992        if ($(elID).length > 0) {
993            var elPosTop = $(elID).offset().top;
994            $('html,body').animate({scrollTop:elPosTop}, 1000);
995        }
996
997    });
998    
999    // document.querySelectorAll('.text-page h2').forEach(function (e) {
1000    // 	let i = 0;
1001    // 	i++;
1002    // 	e.id = i;
1003    // })
1004
1005    // $("#firstTouchModal").popup('show');
1006});
1007
1008
vendor: 23,459 bytes, lines 1009-1015
1009/*!
1010* CookieConsent 3.1.0
1011* https://github.com/orestbida/cookieconsent
1012* Author Orest Bida
1013* Released under the MIT License
1014*/
1015var e,t;e=this,t=function(e){'use strict';const t='opt-in',o='opt-out',n='show--consent',s='show--preferences',a='disable--interaction',c='data-category',r='div',i='button',l='aria-hidden',d='btn-group',f='click',_='data-role',u='consentModal',p='preferencesModal';class g{constructor(){this.t={mode:t,revision:0,autoShow:!0,lazyHtmlGeneration:!0,autoClearCookies:!0,manageScriptTags:!0,hideFromBots:!0,cookie:{name:'cc_cookie',expiresAfterDays:182,domain:'',path:'/',secure:!0,sameSite:'Lax'}},this.o={i:{},l:'',_:{},u:{},p:{},m:[],v:!1,h:null,C:null,S:null,M:'',T:!0,D:!1,k:!1,A:!1,N:!1,H:[],V:!1,j:!0,I:[],L:!1,F:'',P:!1,O:[],R:[],B:[],$:[],G:!1,J:!1,U:!1,q:[],K:[],W:[],X:{},Y:{},Z:{},ee:{},te:{},oe:[]},this.ne={se:{},ae:{}},this.ce={},this.re={ie:'cc:onFirstConsent',le:'cc:onConsent',de:'cc:onChange',fe:'cc:onModalShow',_e:'cc:onModalHide',ue:'cc:onModalReady'}}}const m=new g,b=(e,t)=>e.indexOf(t),v=(e,t)=>-1!==b(e,t),y=e=>Array.isArray(e),h=e=>'string'==typeof e,C=e=>!!e&&'object'==typeof e&&!y(e),w=e=>'function'==typeof e,S=e=>Object.keys(e),x=e=>Array.from(new Set(e)),M=()=>document.activeElement,T=e=>e.preventDefault(),D=(e,t)=>e.querySelectorAll(t),k=e=>e.dispatchEvent(new Event('change')),E=e=>{const t=document.createElement(e);return e===i&&(t.type=e),t},A=(e,t,o)=>e.setAttribute(t,o),N=(e,t,o)=>{e.removeAttribute(o?'data-'+t:t)},H=(e,t,o)=>e.getAttribute(o?'data-'+t:t),V=(e,t)=>e.appendChild(t),j=(e,t)=>e.classList.add(t),I=(e,t)=>j(e,'cm__'+t),L=(e,t)=>j(e,'pm__'+t),F=(e,t)=>e.classList.remove(t),P=e=>{if('object'!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());let t=Array.isArray(e)?[]:{};for(let o in e){let n=e[o];t[o]=P(n)}return t},O=()=>{const e={},{O:t,X:o,Y:n}=m.o;for(const s of t)e[s]=G(n[s],S(o[s]));return e},R=(e,t)=>dispatchEvent(new CustomEvent(e,{detail:t})),B=(e,t,o,n)=>{e.addEventListener(t,o),n&&m.o.m.push({pe:e,ge:t,me:o})},$=()=>{const e=m.t.cookie.expiresAfterDays;return w(e)?e(m.o.F):e},G=(e,t)=>{const o=e||[],n=t||[];return o.filter((e=>!v(n,e))).concat(n.filter((e=>!v(o,e))))},J=e=>{m.o.R=x(e),m.o.F=(()=>{let e='custom';const{R:t,O:o,B:n}=m.o,s=t.length;return s===o.length?e='all':s===n.length&&(e='necessary'),e})()},U=(e,t,o,n)=>{const s='accept-',{show:a,showPreferences:c,hide:r,hidePreferences:i,acceptCategory:l}=t,d=e||document,_=e=>D(d,`[data-cc="${e}"]`),u=(e,t)=>{T(e),l(t),i(),r()},p=_('show-preferencesModal'),g=_('show-consentModal'),b=_(s+'all'),v=_(s+'necessary'),y=_(s+'custom'),h=m.t.lazyHtmlGeneration;for(const e of p)A(e,'aria-haspopup','dialog'),B(e,f,(e=>{T(e),c()})),h&&(B(e,'mouseenter',(e=>{T(e),m.o.N||o(t,n)}),!0),B(e,'focus',(()=>{m.o.N||o(t,n)})));for(let e of g)A(e,'aria-haspopup','dialog'),B(e,f,(e=>{T(e),a(!0)}),!0);for(let e of b)B(e,f,(e=>{u(e,'all')}),!0);for(let e of y)B(e,f,(e=>{u(e)}),!0);for(let e of v)B(e,f,(e=>{u(e,[])}),!0)},z=(e,t)=>{e&&(t&&(e.tabIndex=-1),e.focus(),t&&e.removeAttribute('tabindex'))},q=(e,t)=>{const o=n=>{n.target.removeEventListener('transitionend',o),'opacity'===n.propertyName&&'1'===getComputedStyle(e).opacity&&z((e=>1===e?m.ne.be:m.ne.ve)(t))};B(e,'transitionend',o)};let K;const Q=e=>{clearTimeout(K),e?j(m.ne.ye,a):K=setTimeout((()=>{F(m.ne.ye,a)}),500)},W=['M 19.5 4.5 L 4.5 19.5 M 4.5 4.501 L 19.5 19.5','M 3.572 13.406 L 8.281 18.115 L 20.428 5.885','M 21.999 6.94 L 11.639 17.18 L 2.001 6.82 '],X=(e=0,t=1.5)=>`<svg viewBox="0 0 24 24" stroke-width="${t}"><path d="${W[e]}"/></svg>`,Y=e=>{const t=m.ne,o=m.o;(e=>{const n=e===t.he,s=o.i.disablePageInteraction?t.ye:n?t.Ce:t.ye;B(s,'keydown',(t=>{if('Tab'!==t.key||!(n?o.k&&!o.A:o.A))return;const s=M(),a=n?o.q:o.K;0!==a.length&&(t.shiftKey?s!==a[0]&&e.contains(s)||(T(t),z(a[1])):s!==a[1]&&e.contains(s)||(T(t),z(a[0])))}),!0)})(e)},Z=['[href]',i,'input','details','[tabindex]'].map((e=>e+':not([tabindex="-1"])')).join(','),ee=e=>{const{o:t,ne:o}=m,n=(e,t)=>{const o=D(e,Z);t[0]=o[0],t[1]=o[o.length-1]};1===e&&t.D&&n(o.he,t.q),2===e&&t.N&&n(o.we,t.K)},te=(e,t,o)=>{const{de:n,le:s,ie:a,_e:c,ue:r,fe:i}=m.ce,l=m.re;if(t){const n={modalName:t};return e===l.fe?w(i)&&i(n):e===l._e?w(c)&&c(n):(n.modal=o,w(r)&&r(n)),R(e,n)}const d={cookie:m.o.p};e===l.ie?w(a)&&a(P(d)):e===l.le?w(s)&&s(P(d)):(d.changedCategories=m.o.I,d.changedServices=m.o.ee,w(n)&&n(P(d))),R(e,P(d))},oe=(e,t)=>{try{return e()}catch(e){return!t&&console.warn('CookieConsent:',e),!1}},ne=e=>{const{Y:t,ee:o,O:n,X:s,oe:a,p:r,I:i}=m.o;for(const e of n){const n=o[e]||t[e]||[];for(const o of n){const n=s[e][o];if(!n)continue;const{onAccept:a,onReject:c}=n;!n.Se&&v(t[e],o)?(n.Se=!0,w(a)&&a()):n.Se&&!v(t[e],o)&&(n.Se=!1,w(c)&&c())}}if(!m.t.manageScriptTags)return;const l=a,d=e||r.categories||[],f=(e,n)=>{if(n>=e.length)return;const s=a[n];if(s.xe)return f(e,n+1);const r=s.Me,l=s.Te,_=s.De,u=v(d,l),p=!!_&&v(t[l],_);if(!_&&!s.ke&&u||!_&&s.ke&&!u&&v(i,l)||_&&!s.ke&&p||_&&s.ke&&!p&&v(o[l]||[],_)){s.xe=!0;const t=H(r,'type',!0);N(r,'type',!!t),N(r,c);let o=H(r,'src',!0);o&&N(r,'src',!0);const a=E('script');a.textContent=r.innerHTML;for(const{nodeName:e}of r.attributes)A(a,e,r[e]||H(r,e));t&&(a.type=t),o?a.src=o:o=r.src;const i=!!o&&(!t||['text/javascript','module'].includes(t));if(i&&(a.onload=a.onerror=()=>{f(e,++n)}),r.replaceWith(a),i)return}f(e,++n)};f(l,0)},se='bottom',ae='left',ce='center',re='right',ie='inline',le='wide',de='pm--',fe=['middle','top',se],_e=[ae,ce,re],ue={box:{Ee:[le,ie],Ae:fe,Ne:_e,He:se,Ve:re},cloud:{Ee:[ie],Ae:fe,Ne:_e,He:se,Ve:ce},bar:{Ee:[ie],Ae:fe.slice(1),Ne:[],He:se,Ve:''}},pe={box:{Ee:[],Ae:[],Ne:[],He:'',Ve:''},bar:{Ee:[le],Ae:[],Ne:[ae,re],He:'',Ve:ae}},ge=e=>{const t=m.o.i.guiOptions,o=t&&t.consentModal,n=t&&t.preferencesModal;0===e&&me(m.ne.he,ue,o,'cm--','box','cm'),1===e&&me(m.ne.we,pe,n,de,'box','pm')},me=(e,t,o,n,s,a)=>{e.className=a;const c=o&&o.layout,r=o&&o.position,i=o&&o.flipButtons,l=!o||!1!==o.equalWeightButtons,d=c&&c.split(' ')||[],f=d[0],_=d[1],u=f in t?f:s,p=t[u],g=v(p.Ee,_)&&_,b=r&&r.split(' ')||[],y=b[0],h=n===de?b[0]:b[1],C=v(p.Ae,y)?y:p.He,w=v(p.Ne,h)?h:p.Ve,S=t=>{t&&j(e,n+t)};S(u),S(g),S(C),S(w),i&&S('flip');const x=a+'__btn--secondary';if('cm'===a){const{je:e,Ie:t}=m.ne;e&&(l?F(e,x):j(e,x)),t&&(l?F(t,x):j(t,x))}else{const{Le:e}=m.ne;e&&(l?F(e,x):j(e,x))}},be=(e,t)=>{const o=m.o,n=m.ne,{hide:s,hidePreferences:a,acceptCategory:c}=e,u=e=>{c(e),a(),s()},g=o.u&&o.u.preferencesModal;if(!g)return;const b=g.title,v=g.closeIconLabel,y=g.acceptAllBtn,w=g.acceptNecessaryBtn,x=g.savePreferencesBtn,M=g.sections||[],T=y||w||x;if(n.Fe)n.Pe=E(r),L(n.Pe,'body');else{n.Fe=E(r),j(n.Fe,'pm-wrapper');const e=E('div');j(e,'pm-overlay'),V(n.Fe,e),B(e,f,a),n.we=E(r),j(n.we,'pm'),A(n.we,'role','dialog'),A(n.we,l,!0),A(n.we,'aria-modal',!0),A(n.we,'aria-labelledby','pm__title'),B(n.ye,'keydown',(e=>{27===e.keyCode&&a()}),!0),n.Oe=E(r),L(n.Oe,'header'),n.Re=E('h2'),L(n.Re,'title'),n.Re.id='pm__title',n.Be=E(i),L(n.Be,'close-btn'),A(n.Be,'aria-label',g.closeIconLabel||''),B(n.Be,f,a),n.$e=E('span'),n.$e.innerHTML=X(),V(n.Be,n.$e),n.Ge=E(r),L(n.Ge,'body'),n.Je=E(r),L(n.Je,'footer');var D=E(r);j(D,'btns');var k=E(r),N=E(r);L(k,d),L(N,d),V(n.Je,k),V(n.Je,N),V(n.Oe,n.Re),V(n.Oe,n.Be),n.ve=E(r),A(n.ve,'tabIndex',-1),V(n.we,n.ve),V(n.we,n.Oe),V(n.we,n.Ge),T&&V(n.we,n.Je),V(n.Fe,n.we)}let H;b&&(n.Re.innerHTML=b,v&&A(n.Be,'aria-label',v)),M.forEach(((e,t)=>{const s=e.title,a=e.description,c=e.linkedCategory,d=c&&o.P[c],_=e.cookieTable,u=_&&_.body,p=_&&_.caption,m=u&&u.length>0,b=!!d,v=b&&o.X[c],y=C(v)&&S(v)||[],w=b&&(!!a||!!m||S(v).length>0);var x=E(r);if(L(x,'section'),w||a){var M=E(r);L(M,'section-desc-wrapper')}let T=y.length;if(w&&T>0){const e=E(r);L(e,'section-services');for(const t of y){const o=v[t],n=o&&o.label||t,s=E(r),a=E(r),i=E(r),l=E(r);L(s,'service'),L(l,'service-title'),L(a,'service-header'),L(i,'service-icon');const f=ve(n,t,d,!0,c);l.innerHTML=n,V(a,i),V(a,l),V(s,a),V(s,f),V(e,s)}V(M,e)}if(s){var D=E(r),k=E(b?i:r);if(L(D,'section-title-wrapper'),L(k,'section-title'),k.innerHTML=s,V(D,k),b){const e=E('span');e.innerHTML=X(2,3.5),L(e,'section-arrow'),V(D,e),x.className+='--toggle';const t=ve(s,c,d);let o=g.serviceCounterLabel;if(T>0&&h(o)){let e=E('span');L(e,'badge'),L(e,'service-counter'),A(e,l,!0),A(e,'data-servicecounter',T),o&&(o=o.split('|'),o=o.length>1&&T>1?o[1]:o[0],A(e,'data-counterlabel',o)),e.innerHTML=T+(o?' '+o:''),V(k,e)}if(w){L(x,'section--expandable');var N=c+'-desc';A(k,'aria-expanded',!1),A(k,'aria-controls',N)}V(D,t)}else A(k,'role','heading'),A(k,'aria-level','3');V(x,D)}if(a){var I=E('p');L(I,'section-desc'),I.innerHTML=a,V(M,I)}if(w&&(A(M,l,'true'),M.id=N,((e,t,o)=>{B(k,f,(()=>{t.classList.contains('is-expanded')?(F(t,'is-expanded'),A(o,'aria-expanded','false'),A(e,l,'true')):(j(t,'is-expanded'),A(o,'aria-expanded','true'),A(e,l,'false'))}))})(M,x,k),m)){const e=E('table'),o=E('thead'),s=E('tbody');if(p){const t=E('caption');L(t,'table-caption'),t.innerHTML=p,e.appendChild(t)}L(e,'section-table'),L(o,'table-head'),L(s,'table-body');const a=_.headers,c=S(a),i=n.Ue.createDocumentFragment(),l=E('tr');for(const e of c){const o=a[e],n=E('th');n.id='cc__row-'+o+t,A(n,'scope','col'),L(n,'table-th'),n.innerHTML=o,V(i,n)}V(l,i),V(o,l);const d=n.Ue.createDocumentFragment();for(const e of u){const o=E('tr');L(o,'table-tr');for(const n of c){const s=a[n],c=e[n],i=E('td'),l=E(r);L(i,'table-td'),A(i,'data-column',s),A(i,'headers','cc__row-'+s+t),l.insertAdjacentHTML('beforeend',c),V(i,l),V(o,i)}V(d,o)}V(s,d),V(e,o),V(e,s),V(M,e)}(w||a)&&V(x,M);const P=n.Pe||n.Ge;b?(H||(H=E(r),L(H,'section-toggles')),H.appendChild(x)):H=null,V(P,H||x)})),y&&(n.ze||(n.ze=E(i),L(n.ze,'btn'),A(n.ze,_,'all'),V(k,n.ze),B(n.ze,f,(()=>u('all')))),n.ze.innerHTML=y),w&&(n.Le||(n.Le=E(i),L(n.Le,'btn'),A(n.Le,_,'necessary'),V(k,n.Le),B(n.Le,f,(()=>u([])))),n.Le.innerHTML=w),x&&(n.qe||(n.qe=E(i),L(n.qe,'btn'),L(n.qe,'btn--secondary'),A(n.qe,_,'save'),V(N,n.qe),B(n.qe,f,(()=>u()))),n.qe.innerHTML=x),n.Pe&&(n.we.replaceChild(n.Pe,n.Ge),n.Ge=n.Pe),ge(1),o.N||(o.N=!0,te(m.re.ue,p,n.we),t(e),V(n.Ce,n.Fe),Y(n.we),setTimeout((()=>j(n.Fe,'cc--anim')),100)),ee(2)};function ve(e,t,o,n,s){const a=m.o,r=m.ne,i=E('label'),d=E('input'),_=E('span'),u=E('span'),p=E('span'),g=E('span'),b=E('span');if(g.innerHTML=X(1,3),b.innerHTML=X(0,3),d.type='checkbox',j(i,'section__toggle-wrapper'),j(d,'section__toggle'),j(g,'toggle__icon-on'),j(b,'toggle__icon-off'),j(_,'toggle__icon'),j(u,'toggle__icon-circle'),j(p,'toggle__label'),A(_,l,'true'),n?(j(i,'toggle-service'),A(d,c,s),r.ae[s][t]=d):r.se[t]=d,n?(e=>{B(d,'change',(()=>{const t=r.ae[e],o=r.se[e];a.Z[e]=[];for(let o in t){const n=t[o];n.checked&&a.Z[e].push(n.value)}o.checked=a.Z[e].length>0}))})(s):(e=>{B(d,f,(()=>{const t=r.ae[e],o=d.checked;a.Z[e]=[];for(let n in t)t[n].checked=o,o&&a.Z[e].push(n)}))})(t),d.value=t,p.textContent=e.replace(/<.*>.*<\/.*>/gm,''),V(u,b),V(u,g),V(_,u),a.T)(o.readOnly||o.enabled)&&(d.checked=!0);else if(n){const e=a.Y[s];d.checked=o.readOnly||v(e,t)}else v(a.R,t)&&(d.checked=!0);return o.readOnly&&(d.disabled=!0),V(i,d),V(i,_),V(i,p),i}const ye=()=>{const e=E('span');return m.ne.Ke||(m.ne.Ke=e),e},he=(e,t)=>{const o=m.o,n=m.ne,{hide:s,showPreferences:a,acceptCategory:c}=e,p=o.u&&o.u.consentModal;if(!p)return;const g=p.acceptAllBtn,b=p.acceptNecessaryBtn,v=p.showPreferencesBtn,y=p.closeIconLabel,h=p.footer,C=p.label,w=p.title,S=e=>{s(),c(e)};if(!n.Qe){n.Qe=E(r),n.he=E(r),n.We=E(r),n.Xe=E(r),n.Ye=E(r),j(n.Qe,'cm-wrapper'),j(n.he,'cm'),I(n.We,'body'),I(n.Xe,'texts'),I(n.Ye,'btns'),A(n.he,'role','dialog'),A(n.he,'aria-modal','true'),A(n.he,l,'false'),A(n.he,'aria-describedby','cm__desc'),C?A(n.he,'aria-label',C):w&&A(n.he,'aria-labelledby','cm__title');const e='box',t=o.i.guiOptions,s=t&&t.consentModal,a=(s&&s.layout||e).split(' ')[0]===e;w&&y&&a&&(n.Ie||(n.Ie=E(i),n.Ie.innerHTML=X(),I(n.Ie,'btn'),I(n.Ie,'btn--close'),B(n.Ie,f,(()=>{S([])})),V(n.We,n.Ie)),A(n.Ie,'aria-label',y)),V(n.We,n.Xe),(g||b||v)&&V(n.We,n.Ye),n.be=E(r),A(n.be,'tabIndex',-1),V(n.he,n.be),V(n.he,n.We),V(n.Qe,n.he)}w&&(n.Ze||(n.Ze=E('h2'),n.Ze.className=n.Ze.id='cm__title',V(n.Xe,n.Ze)),n.Ze.innerHTML=w);let x=p.description;if(x&&(o.V&&(x=x.replace('{{revisionMessage}}',o.j?'':p.revisionMessage||'')),n.et||(n.et=E('p'),n.et.className=n.et.id='cm__desc',V(n.Xe,n.et)),n.et.innerHTML=x),g&&(n.tt||(n.tt=E(i),V(n.tt,ye()),I(n.tt,'btn'),A(n.tt,_,'all'),B(n.tt,f,(()=>{S('all')}))),n.tt.firstElementChild.innerHTML=g),b&&(n.je||(n.je=E(i),V(n.je,ye()),I(n.je,'btn'),A(n.je,_,'necessary'),B(n.je,f,(()=>{S([])}))),n.je.firstElementChild.innerHTML=b),v&&(n.ot||(n.ot=E(i),V(n.ot,ye()),I(n.ot,'btn'),I(n.ot,'btn--secondary'),A(n.ot,_,'show'),B(n.ot,'mouseenter',(()=>{o.N||be(e,t)})),B(n.ot,f,a)),n.ot.firstElementChild.innerHTML=v),n.nt||(n.nt=E(r),I(n.nt,d),g&&V(n.nt,n.tt),b&&V(n.nt,n.je),(g||b)&&V(n.We,n.nt),V(n.Ye,n.nt)),n.ot&&!n.st&&(n.st=E(r),n.je&&n.tt?(I(n.st,d),V(n.st,n.ot),V(n.Ye,n.st)):(V(n.nt,n.ot),I(n.nt,d+'--uneven'))),h){if(!n.ct){let e=E(r),t=E(r);n.ct=E(r),I(e,'footer'),I(t,'links'),I(n.ct,'link-group'),V(t,n.ct),V(e,t),V(n.he,e)}n.ct.innerHTML=h}ge(0),o.D||(o.D=!0,te(m.re.ue,u,n.he),t(e),V(n.Ce,n.Qe),Y(n.he),setTimeout((()=>j(n.Qe,'cc--anim')),100)),ee(1),U(n.We,e,be,t)},Ce=e=>{if(!h(e))return null;if(e in m.o._)return e;let t=e.slice(0,2);return t in m.o._?t:null},we=()=>m.o.l||m.o.i.language.default,Se=e=>{e&&(m.o.l=e)},xe=async e=>{const t=m.o;let o=Ce(e)?e:we(),n=t._[o];if(h(n)?n=await(async e=>{try{const t=await fetch(e);return await t.json()}catch(e){return console.error(e),!1}})(n):w(n)&&(n=await n()),!n)throw`Could not load translation for the '${o}' language`;return t.u=n,Se(o),!0},Me=()=>{let e=m.o.i.language.rtl,t=m.ne.Ce;e&&t&&(y(e)||(e=[e]),v(e,m.o.l)?j(t,'cc--rtl'):F(t,'cc--rtl'))},Te=()=>{const e=m.ne;if(e.Ce)return;e.Ce=E(r),e.Ce.id='cc-main',e.Ce.setAttribute('data-nosnippet',''),Me();let t=m.o.i.root;t&&h(t)&&(t=document.querySelector(t)),(t||e.Ue.body).appendChild(e.Ce)},De=e=>oe((()=>localStorage.removeItem(e))),ke=(e,t)=>{if(t instanceof RegExp)return e.filter((e=>t.test(e)));{const o=b(e,t);return o>-1?[e[o]]:[]}},Ee=e=>{const{hostname:t,protocol:o}=location,{name:n,path:s,domain:a,sameSite:c,useLocalStorage:r,secure:i}=m.t.cookie,l=e?(()=>{const e=m.o.S,t=e?new Date-e:0;return 864e5*$()-t})():864e5*$(),d=new Date;d.setTime(d.getTime()+l),m.o.p.expirationTime=d.getTime();const f=JSON.stringify(m.o.p);let _=n+'='+encodeURIComponent(f)+(0!==l?'; expires='+d.toUTCString():'')+'; Path='+s+'; SameSite='+c;v(t,'.')&&(_+='; Domain='+a),i&&'https:'===o&&(_+='; Secure'),r?((e,t)=>{oe((()=>localStorage.setItem(e,t)))})(n,f):document.cookie=_,m.o.p},Ae=(e,t,o)=>{if(0===e.length)return;const n=o||m.t.cookie.domain,s=t||m.t.cookie.path,a='www.'===n.slice(0,4),c=a&&n.substring(4),r=(e,t)=>{t&&'.'!==t.slice(0,1)&&(t='.'+t),document.cookie=e+'=; path='+s+(t?'; domain='+t:'')+'; expires=Thu, 01 Jan 1970 00:00:01 GMT;'};for(const t of e)r(t,o),o||r(t,n),a&&r(t,c)},Ne=e=>{const t=e||m.t.cookie.name,o=m.t.cookie.useLocalStorage;return((e,t)=>{let o;return o=oe((()=>JSON.parse(t?e:decodeURIComponent(e))),!0)||{},o})(o?(n=t,oe((()=>localStorage.getItem(n)))||''):He(t,!0),o);var n},He=(e,t)=>{const o=document.cookie.match('(^|;)\\s*'+e+'\\s*=\\s*([^;]+)');return o?t?o.pop():e:''},Ve=e=>{const t=document.cookie.split(/;\s*/),o=[];for(const n of t){let t=n.split('=')[0];e?oe((()=>{e.test(t)&&o.push(t)})):o.push(t)}return o},je=(e,n=[])=>{((e,t)=>{const{O:o,R:n,B:s,N:a,Z:c,$:r,X:i}=m.o;let l=[];if(e){y(e)?l.push(...e):h(e)&&(l='all'===e?o:[e]);for(const e of o)c[e]=v(l,e)?S(i[e]):[]}else l=[...n,...r],a&&(l=(()=>{const e=m.ne.se;if(!e)return[];let t=[];for(let o in e)e[o].checked&&t.push(o);return t})());l=l.filter((e=>!v(o,e)||!v(t,e))),l.push(...s),J(l)})(e,n),(()=>{const e=m.o,{Z:t,B:o,Y:n,X:s,O:a}=e,c=a;e.te=P(n);for(const a of c){const c=s[a],r=S(c),i=t[a]&&t[a].length>0,l=v(o,a);if(0!==r.length){if(n[a]=[],l)n[a].push(...r);else if(i){const e=t[a];n[a].push(...e)}else n[a]=e.Z[a];n[a]=x(n[a])}}})(),(()=>{const e=m.o;e.I=m.t.mode===o&&e.T?G(e.$,e.R):G(e.R,e.p.categories);let n=e.I.length>0,s=!1;for(const t of e.O)e.ee[t]=G(e.Y[t],e.te[t]),e.ee[t].length>0&&(s=!0);const a=m.ne.se;for(const t in a)a[t].checked=v(e.R,t);for(const t of e.O){const o=m.ne.ae[t],n=e.Y[t];for(const e in o)o[e].checked=v(n,e)}e.C||(e.C=new Date),e.M||(e.M=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)))),e.p={categories:P(e.R),revision:m.t.revision,data:e.h,consentTimestamp:e.C.toISOString(),consentId:e.M,services:P(e.Y),languageCode:m.o.l},e.S&&(e.p.lastConsentTimestamp=e.S.toISOString());let c=!1;const r=n||s;(e.T||r)&&(e.T&&(e.T=!1,c=!0),e.S=e.S?new Date:e.C,e.p.lastConsentTimestamp=e.S.toISOString(),Ee(),m.t.autoClearCookies&&(c||r)&&(e=>{const t=m.o,o=Ve(),n=(e=>{const t=m.o;return(e?t.O:t.I).filter((e=>{const o=t.P[e];return!!o&&!o.readOnly&&!!o.autoClear}))})(e);for(const e in t.ee)for(const n of t.ee[e]){const s=t.X[e][n].cookies;if(!v(t.Y[e],n)&&s)for(const e of s){const t=ke(o,e.name);Ae(t,e.path,e.domain)}}for(const s of n){const n=t.P[s].autoClear,a=n&&n.cookies||[],c=v(t.I,s),r=!v(t.R,s),i=c&&r;if(e?r:i){n.reloadPage&&i&&(t.L=!0);for(const e of a){const t=ke(o,e.name);Ae(t,e.path,e.domain)}}}})(c),ne()),c&&(te(m.re.ie),te(m.re.le),m.t.mode===t)||(r&&te(m.re.de),e.L&&(e.L=!1,location.reload()))})()},Ie=e=>{const t=m.o.T?[]:m.o.R;return v(t,e)},Le=(e,t)=>{const o=m.o.T?[]:m.o.Y[t]||[];return v(o,e)},Fe=(e,t,o)=>{let n=[];const s=e=>{if(h(e)){let t=He(e);''!==t&&n.push(t)}else n.push(...Ve(e))};if(y(e))for(let t of e)s(t);else s(e);Ae(n,t,o)},Pe=e=>{const{ne:t,o:o}=m;if(!o.k){if(!o.D){if(!e)return;he($e,Te)}o.k=!0,o.J=M(),o.v&&Q(!0),q(t.he,1),j(t.ye,n),A(t.he,l,'false'),setTimeout((()=>{z(m.ne.be)}),100),te(m.re.fe,u)}},Oe=()=>{const{ne:e,o:t,re:o}=m;t.k&&(t.k=!1,t.v&&Q(),z(e.Ke,!0),F(e.ye,n),A(e.he,l,'true'),z(t.J),t.J=null,te(o._e,u))},Re=()=>{const e=m.o;e.A||(e.N||be($e,Te),e.A=!0,e.k?e.U=M():e.J=M(),q(m.ne.we,2),j(m.ne.ye,s),A(m.ne.we,l,'false'),setTimeout((()=>{z(m.ne.ve)}),100),te(m.re.fe,p))},Be=()=>{const e=m.o;e.A&&(e.A=!1,(()=>{const e=Je(),t=m.o.P,o=m.ne.se,n=m.ne.ae,s=e=>v(m.o.$,e);for(const a in o){const c=!!t[a].readOnly;o[a].checked=c||(e?Ie(a):s(a));for(const t in n[a])n[a][t].checked=c||(e?Le(t,a):s(a))}})(),z(m.ne.$e,!0),F(m.ne.ye,s),A(m.ne.we,l,'true'),e.k?(z(e.U),e.U=null):(z(e.J),e.J=null),te(m.re._e,p))};var $e={show:Pe,hide:Oe,showPreferences:Re,hidePreferences:Be,acceptCategory:je};const Ge=(e,t)=>{const o=Ne(t);return e?o[e]:o},Je=()=>!m.o.T;e.acceptCategory=je,e.acceptService=(e,t)=>{const{O:o,X:n}=m.o;if(!(e&&t&&h(t)&&v(o,t)&&0!==S(n[t]).length))return!1;((e,t)=>{const o=m.o,{X:n,Z:s,N:a}=o,c=m.ne.ae[t]||{},r=m.ne.se[t]||{},i=S(n[t]);if(s[t]=[],h(e)){if('all'===e){if(s[t].push(...i),a)for(let e in c)c[e].checked=!0,k(c[e])}else if(v(i,e)&&s[t].push(e),a)for(let t in c)c[t].checked=e===t,k(c[t])}else if(y(e))for(let o of i){const n=v(e,o);n&&s[t].push(o),a&&(c[o].checked=n,k(c[o]))}const l=0===s[t].length;o.R=l?o.R.filter((e=>e!==t)):x([...o.R,t]),a&&(r.checked=!l,k(r))})(e,t),je()},e.acceptedCategory=Ie,e.acceptedService=Le,e.eraseCookies=Fe,e.getConfig=e=>{const t=m.t,o=m.o.i;return e?t[e]||o[e]:{...t,...o,cookie:{...t.cookie}}},e.getCookie=Ge,e.getUserPreferences=()=>{const{F:e,Y:t}=m.o,{accepted:o,rejected:n}=(()=>{const{T:e,R:t,O:o}=m.o;return{accepted:t,rejected:e?[]:o.filter((e=>!v(t,e)))}})();return P({acceptType:e,acceptedCategories:o,rejectedCategories:n,acceptedServices:t,rejectedServices:O()})},e.hide=Oe,e.hidePreferences=Be,e.loadScript=(e,t)=>{let o=document.querySelector('script[src="'+e+'"]');return new Promise((n=>{if(o)return n(!0);if(o=E('script'),C(t))for(const e in t)A(o,e,t[e]);o.onload=()=>n(!0),o.onerror=()=>{o.remove(),n(!1)},o.src=e,V(document.head,o)}))},e.reset=e=>{const{Ce:t,ye:o}=m.ne,{name:c,path:r,domain:i,useLocalStorage:l}=m.t.cookie;e&&(l?De(c):Fe(c,r,i));for(const{pe:e,ge:t,me:o}of m.o.m)e.removeEventListener(t,o);t&&t.remove(),o&&o.classList.remove(a,s,n);const d=new g;for(const e in m)m[e]=d[e];window._ccRun=!1},e.run=async e=>{const{o:t,t:n,re:s}=m,a=window;if(!a._ccRun){if(a._ccRun=!0,(e=>{const{ne:t,t:n,o:s}=m,a=n,r=s,{cookie:i}=a,l=m.ce,d=e.cookie,f=e.categories,_=S(f)||[],u=navigator,p=document;t.Ue=p,t.ye=p.documentElement,i.domain=location.hostname,r.i=e,r.P=f,r.O=_,r._=e.language.translations,r.v=!!e.disablePageInteraction,l.ie=e.onFirstConsent,l.le=e.onConsent,l.de=e.onChange,l._e=e.onModalHide,l.fe=e.onModalShow,l.ue=e.onModalReady;const{mode:g,autoShow:b,lazyHtmlGeneration:y,autoClearCookies:h,revision:w,manageScriptTags:x,hideFromBots:M}=e;g===o&&(a.mode=g),'boolean'==typeof h&&(a.autoClearCookies=h),'boolean'==typeof x&&(a.manageScriptTags=x),'number'==typeof w&&w>=0&&(a.revision=w,r.V=!0),'boolean'==typeof b&&(a.autoShow=b),'boolean'==typeof y&&(a.lazyHtmlGeneration=y),!1===M&&(a.hideFromBots=!1),!0===a.hideFromBots&&u&&(r.G=u.userAgent&&/bot|crawl|spider|slurp|teoma/i.test(u.userAgent)||u.webdriver),C(d)&&(a.cookie={...i,...d}),a.autoClearCookies,r.V,a.manageScriptTags,(e=>{const{P:t,X:o,Y:n,Z:s,B:a}=m.o;for(let c of e){const e=t[c],r=e.services||{},i=C(r)&&S(r)||[];o[c]={},n[c]=[],s[c]=[],e.readOnly&&(a.push(c),n[c]=i),m.ne.ae[c]={};for(let e of i){const t=r[e];t.Se=!1,o[c][e]=t}}})(_),(()=>{if(!m.t.manageScriptTags)return;const e=m.o,t=D(document,'script['+c+']');for(const o of t){let t=H(o,c),n=o.dataset.service||'',s=!1;if(t&&'!'===t.charAt(0)&&(t=t.slice(1),s=!0),'!'===n.charAt(0)&&(n=n.slice(1),s=!0),v(e.O,t)&&(e.oe.push({Me:o,xe:!1,ke:s,Te:t,De:n}),n)){const o=e.X[t];o[n]||(o[n]={Se:!1})}}})(),Se((()=>{const e=m.o.i.language.autoDetect;if(e){const t={browser:navigator.language,document:document.documentElement.lang},o=Ce(t[e]);if(o)return o}return we()})())})(e),t.G)return;(()=>{const e=m.o,t=m.t,n=Ne(),{categories:s,services:a,consentId:c,consentTimestamp:r,lastConsentTimestamp:i,data:l,revision:d}=n,f=y(s);e.p=n,e.M=c;const _=!!c&&h(c);e.C=r,e.C&&(e.C=new Date(r)),e.S=i,e.S&&(e.S=new Date(i)),e.h=void 0!==l?l:null,e.V&&_&&d!==t.revision&&(e.j=!1),e.T=!(_&&e.j&&e.C&&e.S&&f),t.cookie.useLocalStorage&&!e.T&&(e.T=(new Date).getTime()>(n.expirationTime||0),e.T&&De(t.cookie.name)),e.T,(()=>{const e=m.o;for(const t of e.O){const n=e.P[t];if(n.readOnly||n.enabled){e.$.push(t);const n=e.X[t]||{};for(let s in n)e.Z[t].push(s),e.i.mode===o&&e.Y[t].push(s)}}})(),e.T?t.mode===o&&(e.R=[...e.$]):(e.Y={...e.Y,...a},e.Z={...e.Y},J([...e.B,...s]))})();const i=Je();if(!await xe())return!1;if(U(null,r=$e,be,Te),m.o.T&&he(r,Te),m.t.lazyHtmlGeneration||be(r,Te),n.autoShow&&!i&&Pe(!0),i)return ne(),te(s.le);n.mode===o&&ne(t.$)}var r},e.setCookieData=e=>{let t,o=e.value,n=e.mode,s=!1;const a=m.o;if('update'===n){a.h=t=Ge('data');const e=typeof t==typeof o;if(e&&'object'==typeof t){!t&&(t={});for(let e in o)t[e]!==o[e]&&(t[e]=o[e],s=!0)}else!e&&t||t===o||(t=o,s=!0)}else t=o,s=!0;return s&&(a.h=t,a.p.data=t,Ee(!0)),s},e.setLanguage=async(e,t)=>{if(!Ce(e))return!1;const o=m.o;return!(e===we()&&!0!==t||!await xe(e)||(Se(e),o.D&&he($e,Te),o.N&&be($e,Te),Me(),0))},e.show=Pe,e.showPreferences=Re,e.validConsent=Je,e.validCookie=e=>''!==He(e,!0)},'object'==typeof exports&&'undefined'!=typeof module?t(exports):'function'==typeof define&&define.amd?define(['exports'],t):t((e='undefined'!=typeof globalThis?globalThis:e||self).CookieConsent={});
1016
1017
1018window.addEventListener('load', function(){
1019
1020			  
1021	CookieConsent.run({
1022		guiOptions: {
1023			consentModal: {
1024				layout: "cloud inline",
1025				position: "bottom center",
1026				equalWeightButtons: true,
1027				flipButtons: false
1028			},
1029			preferencesModal: {
1030				layout: "box",
1031				position: "right",
1032				equalWeightButtons: true,
1033				flipButtons: false
1034			}
1035		},
1036		categories: {
1037			necessary: {
1038				readOnly: true
1039			}
1040		},
1041		language: {
1042			default: "en",
1043			translations: {
1044				en: {
1045					consentModal: {
1046						title: "",
1047						description: 'Мы используем файлы cookie <br>Это необходимо для повышения удобства работы сайта. Оставаясь с нами, вы даете <a href="https://visateka.ru/soglasie-na-obrabotku" target="_blank">согласие на сбор и обработку данных</a>. <a href="https://visateka.ru/policy" target="_blank">Читать полностью</a>.',
1048						closeIconLabel: "",
1049						acceptAllBtn: "Согласен",
1050						acceptNecessaryBtn: "",
1051						showPreferencesBtn: "",
1052						footer: ""
1053					},
1054					preferencesModal: {
1055						title: "",
1056						closeIconLabel: "",
1057						acceptAllBtn: "",
1058						acceptNecessaryBtn: "",
1059						savePreferencesBtn: "",
1060						serviceCounterLabel: "",
1061						sections: []
1062					}
1063				}
1064			}
1065		}
1066	});
1067
1068});

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.