PageSourceSearch

https://tentery.ru/local/templates/tentery-frontpage/js/scripts.js?177825072412156

js tentery.ru collected 2026-10-07 18:13:15 UTC 12,156 bytes, 405 lines download raw bytes

1document.addEventListener('DOMContentLoaded', function () {
2	if (document.querySelector('#opportunities')){
3    var cardBlock = document.querySelector('#opportunities'),
4    c1 = document.querySelector('.card1'),
5	c2 = document.querySelector('.card2'),
6	c3 = document.querySelector('.card3'),
7	c4 = document.querySelector('.card4'),
8	c5 = document.querySelector('.card5'),
9	c6 = document.querySelector('.card6');
10
11    c1.addEventListener('mouseenter', function (e) {
12        cardBlock.classList.add('c1-active');
13    });
14    c1.addEventListener('mouseleave', function () {
15        cardBlock.classList.remove('c1-active');
16    });
17    c2.addEventListener('mouseenter', function (e) {
18        cardBlock.classList.add('c2-active');
19    });
20    c2.addEventListener('mouseleave', function () {
21        cardBlock.classList.remove('c2-active');
22    });
23    c3.addEventListener('mouseenter', function (e) {
24        cardBlock.classList.add('c3-active');
25    });
26    c3.addEventListener('mouseleave', function () {
27        cardBlock.classList.remove('c3-active');
28    });
29    c4.addEventListener('mouseenter', function (e) {
30        cardBlock.classList.add('c4-active');
31    });
32    c4.addEventListener('mouseleave', function () {
33        cardBlock.classList.remove('c4-active');
34    });
35    c5.addEventListener('mouseenter', function (e) {
36        cardBlock.classList.add('c5-active');
37    });
38    c5.addEventListener('mouseleave', function () {
39        cardBlock.classList.remove('c5-active');
40    });
41    c6.addEventListener('mouseenter', function (e) {
42        cardBlock.classList.add('c6-active');
43    });
44    c6.addEventListener('mouseleave', function () {
45        cardBlock.classList.remove('c6-active');
46    });
47	}
48});
49
50
51function maskPhone(selector, masked = '+7 (___) ___-__-__') {
52            const elems = document.querySelectorAll(selector);
53
54            function mask(event) {
55                const keyCode = event.keyCode;
56                const template = masked,
57                    def = template.replace(/\D/g, ""),
58                    val = this.value.replace(/\D/g, "");
59                console.log(template);
60                let i = 0,
61                    newValue = template.replace(/[_\d]/g, function (a) {
62                        return i < val.length ? val.charAt(i++) || def.charAt(i) : a;
63                    });
64                i = newValue.indexOf("_");
65                if (i !== -1) {
66                    newValue = newValue.slice(0, i);
67                }
68                let reg = template.substr(0, this.value.length).replace(/_+/g,
69                    function (a) {
70                        return "\\d{1," + a.length + "}";
71                    }).replace(/[+()]/g, "\\$&");
72                reg = new RegExp("^" + reg + "$");
73                if (!reg.test(this.value) || this.value.length < 5 || keyCode > 47 && keyCode < 58) {
74                    this.value = newValue;
75                }
76                if (event.type === "blur" && this.value.length < 5) {
77                    this.value = "";
78                }
79            }
80            for (const elem of elems) {
81                elem.addEventListener("input", mask);
82                elem.addEventListener("focus", mask);
83                elem.addEventListener("blur", mask);
84            }
85        }
86        maskPhone('.phone_mask');
87
88
89
90        var swiper = new Swiper(".mainSwiper", {
91            effect: "fade",
92            pagination: {
93                el: "#firstBlock .swiper-pagination",
94                type: "fraction",
95            },
96            navigation: {
97                nextEl: "#firstBlock .arrow-next",
98                prevEl: "#firstBlock .arrow-prev",
99            },
100        });
101
102if( document.documentElement.clientWidth > 767 ){
103      var swiperWorks = new Swiper(".worksSwiper", {
104            spaceBetween: 30,
105            navigation: {
106                nextEl: "#ourWorks .arrow-next",
107                prevEl: "#ourWorks .arrow-prev",
108            },
109        });
110        var swiperOffer = new Swiper(".offerSwiper", {
111            spaceBetween: 30,
112            slidesPerView: "auto",
113            navigation: {
114                nextEl: ".offers-wrapper .arrow-next",
115                prevEl: ".offers-wrapper .arrow-prev",
116            },
117        });
118			var swiperHystory = new Swiper(".historySwiper", {
119            spaceBetween: 30,
120            slidesPerView: "auto",
121            navigation: {
122                nextEl: ".company-history .arrow-next",
123                prevEl: ".company-history .arrow-prev",
124            },
125        });
126            const panel = document.querySelector('#sideMenu');
127			window.addEventListener('scroll', function() {
128                //panel['fade' + (window.scrollTop() > 100 ? 'In' : 'Out')](500);
129            });
130
131
132
133//const onScrollHeader = () => {
134//    const panel = document.querySelector('#sideMenu');
135//    let prevScroll = window.pageYOffset
136//    let currentScroll
137//    window.addEventListener('scroll', () => {
138//      currentScroll = window.pageYOffset;
139//      const headerHidden = () => panel.classList.contains('show');
140//      if (currentScroll > 100){
141//        panel.classList.add('show');
142//      }
143//      if (currentScroll < 100){
144//        panel.classList.remove('show');
145//      }
146//      prevScroll = currentScroll;
147//
148//    })
149//  }
150//
151//  onScrollHeader();
152
153 } 
154
155if(document.querySelector('#proSpecifications ul') != null){
156var props0 = document.querySelector('#proSpecifications ul').innerHTML;
157
158}
159
160
161
162document.addEventListener('DOMContentLoaded', clickTabs());
163function clickTabs() {
164	var tabs = document.querySelector('.downloads__tab-selectors');
165	var item = document.querySelectorAll('[data-tab]');
166	var itemContent = document.querySelectorAll('.downloads__tab-content');
167	if(tabs){
168	tabs.addEventListener("click", function (event) {
169		if (event.target.classList == 'item'){
170			for ( let i = 0; i < item.length; i++ ){
171				item[i].classList.remove('current');
172				itemContent[i].classList.remove('active');
173			}
174			event.target.classList.add('active');
175			let idItemContent = event.target.dataset.tab;
176			console.log(idItemContent);
177			let iC = document.getElementById(idItemContent);
178			iC.classList.add('active');
179		}
180	});
181}
182}
183
184
185
186function searchToggle() {
187	const sWrap = document.querySelector(".search-wrap");
188    sWrap.classList.toggle('active');
189}
190document.querySelector('.buttons-left .search-button').addEventListener('click', searchToggle);
191document.querySelector('.buttons-left .search-button').addEventListener('touchend', searchToggle);
192document.querySelector('#searchOpen').addEventListener('click', searchToggle);
193document.querySelector('#searchOpen1').addEventListener('click', searchToggle);
194document.querySelector('#search-close').addEventListener('click', searchToggle);
195document.querySelector('#searchOpen').addEventListener('touchend', searchToggle);
196document.querySelector('#searchOpen1').addEventListener('touchend', searchToggle);
197document.querySelector('#search-close').addEventListener('touchend', searchToggle);
198
199	Fancybox.bind("[data-fancybox]", {
200		l10n:{
201  CLOSE: "Закрыть",
202  NEXT: "Вперёд",
203  PREV: "Назад",
204  MODAL: "Чтобы закрыть нажмите ESC",
205  ERROR: "Ошибка",
206  IMAGE_ERROR: "Изображение не найдено",
207  ELEMENT_NOT_FOUND: "Не найдено",
208  AJAX_NOT_FOUND: "Error Loading AJAX : Not Found",
209  AJAX_FORBIDDEN: "Error Loading AJAX : Forbidden",
210  IFRAME_ERROR: "Error Loading Page",
211}
212});
213
214
215
216
217
218
219
220
221function searchSubmit(e) {
222	e.preventDefault();
223	const sLink = '/search-page/?q=' + document.querySelector('#search .search-input').value;
224	document.location.href = sLink;
225}
226document.querySelector('#search-submit').addEventListener('click', searchSubmit);
227document.querySelector('#search-submit').addEventListener('touchend', searchSubmit);
228document.querySelector('#search').addEventListener('submit', searchSubmit);
229
230
231
232
233
234
235
236
237/*accordion script*/
238var accToggle = document.getElementsByClassName('mob-accordion');
239    for (i = 0; i < accToggle.length; i++) {
240        accToggle[i].addEventListener('click', toggleItem, false);
241    }
242    function toggleItem() {
243        var itemClass = this.className;
244        for (i = 0; i < accToggle.length; i++) {
245            accToggle[i].className = 'mob-accordion';
246        }
247        if (itemClass == 'mob-accordion') {
248            this.className = 'mob-accordion active';
249        }
250    }
251
252
253
254const btnUp = {
255  el: document.querySelector('.btn-up-mob'),
256  show() {
257    this.el.classList.remove('btn-up_hide');
258  },
259  hide() {
260    this.el.classList.add('btn-up_hide');
261  },
262  addEventListener() {
263    window.addEventListener('scroll', () => {
264      const scrollY = window.scrollY || document.documentElement.scrollTop;
265      scrollY > 700 ? this.show() : this.hide();
266    });
267    document.querySelector('.btn-up-mob').onclick = () => {
268      window.scrollTo({
269        top: 0,
270        left: 0,
271        behavior: 'smooth'
272      });
273    }
274  }
275}
276
277btnUp.addEventListener();
278
279
280
281
282$('input.search-input').keydown(function(){
283	var _self = $(this)
284document.querySelector('#search').classList.add("ins");
285	setTimeout(function() {
286		if( _self.val().length > 2 ){
287			$('#search .tips').fadeIn(300)
288 
289			var text=_self.val();
290			var url="/ajax/search.php?text="+text;
291 
292			$.ajax({
293				type: "GET",
294				dataType: "html",
295				url: url,
296				success: function(data){
297					$('#search .tips .scroll').html(data);
298				}
299			}); 
300		} else {
301			$('#search .tips').fadeOut(200)
302		}
303	}, 10)
304});
305
306
307
308
309
310		$(document).on('click', '.menu-button, .mobile__top-panel .close-btn, .side-close', function () {
311            if ($(this).hasClass('active')) {
312$('.side-close').removeClass('active');
313                $('.menu-button').removeClass('active');
314                $('.side-menu__wrapper').removeClass('open');
315            } else {
316$('.side-close').addClass('active');
317                $('.menu-button').addClass('active');
318                $('.side-menu__wrapper').addClass('open');
319            }
320        });
321
322
323
324
325        $(document).on('click', '.menu-open-arrow', function (){
326            $(this).parent('.has-submenu').toggleClass('open');
327        });
328
329
330
331
332
333		$(document).on('click', '.download__mobile-toggle', function (){
334            $(this).parent('.downloads__menu-wrapper').toggleClass('open');
335        });
336
337
338		$(document).on('click', '.downloads__selector', function (){
339			$('.downloads__selector').removeClass('current');
340			$(this).addClass('current');
341			$('.download__mobile-toggle').html($(this).text());
342 			$('.downloads__menu-wrapper').toggleClass('open');
343        });
344
345
346
347
348
349$(document).ready(function(){
350$('.lenght .val span').html($('.dsht-item .selected').data('lt'));
351});
352
353$('.lenght .up').on('click',function(){
354
355		if ($('.dsht-item .selected').next('li').data('onevalue') == 0){
356console.log($('.dsht-item .selected').next('li').data('onevalue'));
357		} else {
358console.log($('.dsht-item .selected').next('li').data('onevalue'));
359$('.lenght .val span').html($('.dsht-item .selected').next('li').data('lt'));
360			$('.dsht-item .selected').next('li').click();
361		}
362	});
363
364
365$('.lenght .down').on('click',function(){
366	if ($('.dsht-item .selected').prev('li').leight == 0){
367	} else {
368$('.lenght .val span').html($('.dsht-item .selected').prev('li').data('lt'));
369		$('.dsht-item .selected').prev('li').click();
370	}
371});
372
373
374
375
376$(function(){
377	$('.arrow-down').click(function(){
378		if($(this).hasClass('to-top')){
379			$('html, body').animate({scrollTop: 0}, 600);
380			$(this).removeClass('to-top');
381	} else {
382			$('html, body').animate({scrollTop: $(document).height() - $(window).height()}, 600);
383			$(this).addClass('to-top');
384		}
385		return false;
386	});
387});
388
389let scrollpos = window.scrollY
390const arrw = document.querySelector(".arrow-down")
391
392var body = document.body,
393    html = document.documentElement;
394
395var height = body.scrollHeight;
396
397const scrollChange = Number(height)/10;
398const add_class_on_scroll = () => arrw.classList.add("to-top")
399const remove_class_on_scroll = () => arrw.classList.remove("to-top")
400window.addEventListener('scroll', function() { 
401  scrollpos = window.scrollY;
402
403if (scrollpos >= scrollChange) { add_class_on_scroll()}
404if (scrollpos < scrollChange) { remove_class_on_scroll()}
405})

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.