PageSourceSearch

https://xn--e1aocert2d.xn--p1ai/g/templates/shop2/2.130.2/130-60/js/keys_panel.js

js xn--e1aocert2d.xn--p1ai collected 2026-10-09 23:06:59 UTC 29,326 bytes, 884 lines download raw bytes

1function menuRewind(nav, otherBLock, backBtn){
2
3    let menuWrap = document.querySelector(nav);                     
4
5    let menuBLock = menuWrap.querySelector('.rewind-menu');
6
7    let menuItems = menuWrap.querySelectorAll('.rewind-menu ul');
8
9    if(!menuWrap.querySelector(".visible-sub-menu")){
10        menuWrap.style.height = `${menuBLock.offsetHeight}px`;
11    }
12
13    if(!menuWrap.querySelector(".rewind-back")){
14        let menuBack = document.createElement('div');
15        menuBack.classList.add('rewind-back');                    
16        menuBack.innerHTML = 'Назад';
17
18        for(let i = 0; i < menuItems.length; i++){
19            let btnBack = menuBack.cloneNode(true);
20            menuItems[i].prepend(btnBack);           
21        }
22    }
23
24    menuWrap.addEventListener('click', function(event){
25
26        if(event.target.hasAttribute('href')){
27
28            let link = event.target;
29
30            if(link.nextElementSibling != null){
31                event.preventDefault();
32                let menuParent = link.closest('ul');
33                let subMenu = link.nextElementSibling;
34
35                menuParent.classList.add('parent-menu-hidden');     
36                subMenu.classList.add('visible-sub-menu');
37
38                menuWrap.style.height = `${subMenu.offsetHeight}px`;
39
40                if(otherBLock !== undefined){
41                    document.querySelector(otherBLock).classList.add('hide');                                                                             
42                }
43                
44                menuWrap.scrollIntoView() 
45                
46                menuParent.querySelector('.rewind-back').classList.remove('visible-back');
47                
48                subMenu.querySelector('.rewind-back').classList.add('visible-back');
49                
50                
51                if(backBtn !== undefined){
52                    document.querySelector(backBtn).classList.add('active');
53                }
54
55            }               
56        }                        
57
58        if(event.target.matches('.rewind-back')){
59
60            let menuParent = event.target.closest('ul');
61
62            setTimeout(function(){
63                menuParent.classList.remove('visible-sub-menu');
64            }, 300);      
65            
66            let menuGrandparents = menuParent.parentElement.closest('ul');  
67
68            menuGrandparents.classList.remove('parent-menu-hidden');                            
69
70            menuWrap.style.height = `${menuGrandparents.offsetHeight}px`;
71
72            if(otherBLock !== undefined){
73                if(!menuBLock.classList.contains('parent-menu-hidden')){
74                    document.querySelector(otherBLock).classList.remove('hide');                                                             
75                }
76
77            }
78            
79            /*menuWrap.scrollIntoView()  */
80            
81            menuParent.querySelector('.rewind-back').classList.remove('visible-back');
82            
83            menuGrandparents.querySelector('.rewind-back').classList.add('visible-back');
84            
85            if(!menuBLock.classList.contains('parent-menu-hidden')){
86                if(backBtn !== undefined){
87                    document.querySelector(backBtn).classList.remove('active');
88                }
89            }
90
91        }
92    });    
93    
94    if(backBtn !== undefined){
95        document.querySelector(backBtn).addEventListener('click', function(){
96            
97            menuBLock.querySelector('.rewind-back.visible-back').click();
98        });
99    }
100    
101}
102
103//addEventListener("DOMContentLoaded", (event) => {
104
105	if(document.querySelector("#sheet") !== null){
106	
107	const doc = document.querySelector.bind(document)
108	
109	
110	const sheet = doc("#sheet")
111	const sheetContents = sheet.querySelector(".sheet-contents")
112	const draggableArea = sheet.querySelector(".draggable-area")
113	let siteHtml = document.querySelector('html');
114	
115	let panelItems = document.querySelectorAll('.panel-item');
116	
117	let sheetHeight;
118	
119	let keysPanelIn = document.querySelector('.keys-panel__inner'); //туту замена
120	
121	let keysPanelBtns = document.querySelectorAll('.keys-panel-btn');
122	
123	//let keysPanelIn = document.querySelector('.keys-block');
124	
125	
126	let loginItemContainer = document.querySelector('.login-item-container');
127	let loginContainerInner = document.querySelector('.login-container-inner');
128	
129	let searchItemContainer = document.querySelector('.search-item-container');
130	let searchContainerInner = document.querySelector('.search-container-inner');
131	
132	
133	let searchSiteItemContainer = document.querySelector('.search-site-item-container');
134	/*let siteFormPopupBlock = document.querySelector('.site-form-popup-block');*/
135	let siteFormPopupBlock = document.querySelector('.site-form-inner');
136	
137	let siteFormBlock = document.querySelector('.site-form-block');
138	
139	
140	let contactsItemContainer = document.querySelector('.contacts-item-container');
141	let contactsContainerInner = document.querySelector('.contacts-container-inner');
142	
143	let cartRemodalBody = document.querySelector('.cart-remodal__body');
144	
145	let compareItemContainer = document.querySelector('.compare-item-container'); 
146	let compareRemodalBody = document.querySelector('.compare-remodal__body');
147	
148	
149	let panelMoreInner = document.querySelector('.panel-more-inner');
150	
151	let panelMoreItems = document.querySelector('.panel-more-item');
152	
153	let panelMore = document.querySelector('.panel-more');
154	
155	let sheetBackBtn = document.querySelector('.sheet-back-btn');
156	
157	
158	let siteParamBtnItem = document.querySelector('.site-param-btn-item');
159	let searchItemWrap = document.querySelector('.search-item-wrap');
160	
161	let searchBackBtn = document.querySelector('.search-back-btn');
162	
163	let backButtons = document.querySelectorAll('.back-button');
164	
165	const setSheetHeight = (value) => {
166	    sheetHeight = value; 
167	    sheetContents.style.height = `${sheetHeight}vh`	
168	    
169	}
170	
171	const setIsSheetShown = (value) => {
172	    sheet.setAttribute("aria-hidden", String(!value))
173	}
174	
175	
176	panelMoreInner.addEventListener('click', function(event){
177		
178		if(event.target.hasAttribute('data-catalog')){
179			//setSheetHeight(100);
180			
181			setTimeout(function(){
182        		let catBlockHeight = document.querySelector('.sheet-cat-menu').offsetHeight;
183        		
184        		if(catBlockHeight > window.innerHeight / 2){
185        			setSheetHeight(85);
186        		} else{
187        			setSheetHeight(65);
188        		}
189        	}, 10);
190			
191			panelMore.classList.add('no_vis');
192			sheetBackBtn.classList.add('active');
193	
194	        for(let i = 0; i < panelItems.length; i++){
195	            if(panelItems[i].classList.contains('panel-catalog') || panelItems[i].classList.contains('panel-more')){
196	                panelItems[i].classList.add('active');
197	            } else{
198	                panelItems[i].classList.remove('active');
199	            }
200	        }
201	        
202	        if(document.querySelector('.mobile-panel-cat') === null) {
203	
204		        //if(!$('.mobile-panel-cat').length){
205		            var $catClone = $('.cat-menu').clone().removeClass('cat-menu').addClass('mobile-panel-cat rewind-menu');
206					$catClone.find('[style]').removeAttr('style');
207		            $('.sheet-cat-menu').append($catClone);
208		        //}
209				if($('.mobile-panel-cat .row-menu-btn').length){
210					$('.mobile-panel-cat').append($('.mobile-panel-cat .row-menu-container').html());
211					$('.mobile-panel-cat .row-menu-btn').remove();                    
212				}
213		        
214		        //if($('.mobile-panel-cat').length){
215		        if(document.querySelector('.mobile-panel-cat') !== null) {	
216		        	
217		        	menuRewind('.sheet-cat-menu', undefined, '.catalog-back-btn');
218		        }
219			}
220	        
221	        if(document.querySelector('.mobile-panel-cat').classList.contains('parent-menu-hidden')){
222	        	document.querySelector('.catalog-back-btn').classList.add('active');
223	        }
224		}
225		
226		if(event.target.hasAttribute('data-menu')){	        
227	        //setSheetHeight(100);
228	        
229	        setTimeout(function(){
230        		let menuBlockHeight = document.querySelector('.sheet-site-menu').offsetHeight;
231        		
232        		if(menuBlockHeight > window.innerHeight / 2){
233        			setSheetHeight(85);
234        		} else{
235        			setSheetHeight(65);
236        		}
237        	}, 10);
238	        
239	        panelMore.classList.add('no_vis');
240			sheetBackBtn.classList.add('active');
241	
242	        for(let i = 0; i < panelItems.length; i++){
243	            if(panelItems[i].classList.contains('panel-menu') || panelItems[i].classList.contains('panel-more')){
244	                panelItems[i].classList.add('active');
245	            } else{
246	                panelItems[i].classList.remove('active');
247	            }
248	        }        
249	        
250	        if(document.querySelector('.mobile-panel-menu') === null) {
251	
252		        //if(!$('.mobile-panel-menu').length){
253		            var $menuClone = $('.top-menu').clone().removeClass('top-menu').addClass('mobile-panel-menu rewind-menu')  
254		            $('.sheet-site-menu').append($menuClone);
255		        //}
256		        
257		        if($('.mobile-panel-menu .row-menu-btn').length){
258		            $('.mobile-panel-menu').append($('.mobile-panel-menu .row-menu-container').html());
259		            $('.mobile-panel-menu .row-menu-btn').remove();                    
260		        }
261		        
262		        //if($('.mobile-panel-menu').length){
263		        if(document.querySelector('.mobile-panel-menu') !== null) {	
264		        	menuRewind('.sheet-site-menu', undefined, '.menu-back-btn');
265		        }
266	        }
267	        
268	        if(document.querySelector('.mobile-panel-menu').classList.contains('parent-menu-hidden')){
269	        	document.querySelector('.menu-back-btn').classList.add('active');
270	        }
271	    }
272	    
273	    if(event.target.hasAttribute('data-login')){	        
274	        //setSheetHeight(100);
275	        
276	        setTimeout(function(){
277        		let loginBlockHeight = document.querySelector('.login-container-inner').offsetHeight;
278        		
279        		if(loginBlockHeight > window.innerHeight / 2){
280        			setSheetHeight(85);
281        		} else{
282        			setSheetHeight(65);
283        		}
284        	}, 10);
285	        
286	        panelMore.classList.add('no_vis');
287			sheetBackBtn.classList.add('active');
288	
289	        for(let i = 0; i < panelItems.length; i++){
290	            if(panelItems[i].classList.contains('panel-login') || panelItems[i].classList.contains('panel-more')){
291	                panelItems[i].classList.add('active');
292	            } else{
293	                panelItems[i].classList.remove('active');
294	            }
295	        } 
296	        
297	        loginItemContainer.append(loginContainerInner);
298	    }
299	    
300	    if(event.target.hasAttribute('data-search')){	        
301	        setSheetHeight(65);
302	        
303	        panelMore.classList.add('no_vis');
304			sheetBackBtn.classList.add('active');
305	
306	        for(let i = 0; i < panelItems.length; i++){
307	            if(panelItems[i].classList.contains('panel-search') || panelItems[i].classList.contains('panel-more')){
308	                panelItems[i].classList.add('active');
309	            } else{
310	                panelItems[i].classList.remove('active');
311	            }
312	        }
313	       
314	        searchItemContainer.append(searchContainerInner);
315	        
316	        
317	        searchSiteItemContainer.append(siteFormPopupBlock);
318	    }
319	    
320	    
321	    if(event.target.hasAttribute('data-contacts')){	        
322	        //setSheetHeight(100);
323	        
324	        setTimeout(function(){
325        		let contactsBlockHeight = document.querySelector('.contacts-item-container').offsetHeight;
326        		
327        		if(contactsBlockHeight > window.innerHeight / 2){
328        			setSheetHeight(85);
329        		} else{
330        			setSheetHeight(65);
331        		}
332        	}, 10);
333	        
334	        panelMore.classList.add('no_vis');
335			sheetBackBtn.classList.add('active');
336	
337	        for(let i = 0; i < panelItems.length; i++){
338	            if(panelItems[i].classList.contains('panel-contacts') || panelItems[i].classList.contains('panel-more')){
339	                panelItems[i].classList.add('active');
340	            } else{
341	                panelItems[i].classList.remove('active');
342	            }
343	        }
344	       
345	        contactsItemContainer.append(contactsContainerInner);
346	    }
347	    
348	    if(event.target.hasAttribute('data-cart')){
349	        setSheetHeight(100);
350	        
351	        /*setTimeout(function(){
352        		let contactsBlockHeight = document.querySelector('.cart-item-container').offsetHeight;
353        		
354        		if(contactsBlockHeight > window.innerHeight / 2){
355        			setSheetHeight(85);
356        		} else{
357        			setSheetHeight(65);
358        		}
359        	}, 10);*/
360        	
361        	setSheetHeight(85);
362	        
363	        panelMore.classList.add('no_vis');
364			sheetBackBtn.classList.add('active');
365	        
366	        for(let i = 0; i < panelItems.length; i++){
367	            if(panelItems[i].classList.contains('panel-cart') || panelItems[i].classList.contains('panel-more')){
368	                panelItems[i].classList.add('active');
369	            } else{
370	                panelItems[i].classList.remove('active');
371	            }
372	        }	        
373	        
374	       document.querySelector('.cart-item-container').prepend(cartRemodalBody);        
375	        
376	    }
377	    
378	    if(event.target.hasAttribute('data-compare')){
379	        setSheetHeight(100);
380	        
381	        panelMore.classList.add('no_vis');
382			sheetBackBtn.classList.add('active');
383	        
384	
385	        for(let i = 0; i < panelItems.length; i++){
386	            if(panelItems[i].classList.contains('panel-compare') || panelItems[i].classList.contains('panel-more')){
387	                panelItems[i].classList.add('active');
388	            } else{
389	                panelItems[i].classList.remove('active');
390	            }
391	        }
392	        
393	        compareItemContainer.append(compareRemodalBody);
394	        
395	    }
396	});
397	
398	sheetBackBtn.addEventListener('click', function(){
399		panelMore.classList.remove('no_vis');
400		
401		sheetBackBtn.classList.remove('active');
402		
403		searchItemWrap.classList.remove('active');
404		
405		for(let i = 0; i < panelItems.length; i++){
406            if(panelItems[i].classList.contains('panel-more')){
407                panelItems[i].classList.add('active');
408            } else{
409                panelItems[i].classList.remove('active');
410            }
411        }
412	});
413	
414	
415	
416	siteParamBtnItem.addEventListener('click', function(){
417		searchItemWrap.classList.add('active');
418		searchBackBtn.classList.add('active');
419		
420		setSheetHeight(100);	
421	});
422	
423	searchBackBtn.addEventListener('click', function(){
424		searchItemWrap.classList.remove('active');
425		searchBackBtn.classList.remove('active');
426	});
427	
428	keysPanelIn.addEventListener('click', function(event){
429		
430		panelMore.classList.remove('no_vis');
431		
432		for(let i = 0; i < backButtons.length; i++){
433			backButtons[i].classList.remove('active');
434		}
435		
436		
437	    if(event.target.hasAttribute('data-catalog')){	 
438	    	
439	        //setSheetHeight(100);
440	        
441	        setTimeout(function(){
442        		let catBlockHeight = document.querySelector('.sheet-cat-menu').offsetHeight;
443        		
444        		if(catBlockHeight > window.innerHeight / 2){
445        			setSheetHeight(85);
446        		} else{
447        			setSheetHeight(65);
448        		}
449        	}, 10);
450	        
451	        setIsSheetShown(true);
452	        siteHtml.classList.add('no-scroll');
453			
454			for(let i = 0; i < keysPanelBtns.length; i++){
455				if(keysPanelBtns[i].hasAttribute('data-catalog')){
456					keysPanelBtns[i].classList.add('active');
457				} else{
458					keysPanelBtns[i].classList.remove('active');
459				}
460			}
461	
462	        for(let i = 0; i < panelItems.length; i++){
463	            if(panelItems[i].classList.contains('panel-catalog')){
464	                panelItems[i].classList.add('active');
465	            } else{
466	                panelItems[i].classList.remove('active');
467	            }
468	        }      
469	        
470	        if(document.querySelector('.mobile-panel-cat') === null) {
471		
472		        //if(!$('.mobile-panel-cat').length){
473		            var $catClone = $('.cat-menu').clone().removeClass('cat-menu').addClass('mobile-panel-cat rewind-menu');
474					$catClone.find('[style]').removeAttr('style');
475		            $('.sheet-cat-menu').append($catClone);
476		        //}
477	        
478		        if($('.mobile-panel-cat .row-menu-btn').length){
479		            $('.mobile-panel-cat').append($('.mobile-panel-cat .row-menu-container').html());
480		            $('.mobile-panel-cat .row-menu-btn').remove();                    
481		        }
482				
483	        //if($('.mobile-panel-cat').length){
484		        if(document.querySelector('.mobile-panel-cat') !== null) {
485		        	menuRewind('.sheet-cat-menu', undefined, '.catalog-back-btn');
486		        }
487	        }
488	        
489	        if(document.querySelector('.mobile-panel-cat').classList.contains('parent-menu-hidden')){
490	        	document.querySelector('.catalog-back-btn').classList.add('active');
491	        }
492	    }
493	    
494	    
495	    if(event.target.hasAttribute('data-menu')){	        
496	        //setSheetHeight(100);
497	        
498	        setTimeout(function(){
499        		let menuBlockHeight = document.querySelector('.sheet-site-menu').offsetHeight;
500        		
501        		if(menuBlockHeight > window.innerHeight / 2){
502        			setSheetHeight(85);
503        		} else{
504        			setSheetHeight(65);
505        		}
506        	}, 10);
507	        
508	        
509	        setIsSheetShown(true);
510	        siteHtml.classList.add('no-scroll'); 
511			
512			/*keysPanelHome.classList.remove('main_active');*/
513			
514			for(let i = 0; i < keysPanelBtns.length; i++){
515				if(keysPanelBtns[i].hasAttribute('data-menu')){
516					keysPanelBtns[i].classList.add('active');
517				} else{
518					keysPanelBtns[i].classList.remove('active');
519				}
520			}
521	
522	        for(let i = 0; i < panelItems.length; i++){
523	            if(panelItems[i].classList.contains('panel-menu')){
524	                panelItems[i].classList.add('active');
525	            } else{
526	                panelItems[i].classList.remove('active');
527	            }
528	        }    
529	        
530	        if(document.querySelector('.mobile-panel-menu') === null) {
531	
532		        //if(!$('.mobile-panel-menu').length){
533		            var $menuClone = $('.top-menu').clone().removeClass('top-menu').addClass('mobile-panel-menu rewind-menu')  
534					$menuClone.find('[style]').removeAttr('style');
535		            $('.sheet-site-menu').append($menuClone);
536		        //}
537		        
538		        if($('.mobile-panel-menu .row-menu-btn').length){
539		            $('.mobile-panel-menu').append($('.mobile-panel-menu .row-menu-container').html());
540		            $('.mobile-panel-menu .row-menu-btn').remove();                    
541		        }
542		        
543		        //if($('.mobile-panel-menu').length){
544		        if(document.querySelector('.mobile-panel-menu') !== null) {
545		        	menuRewind('.sheet-site-menu', undefined, '.menu-back-btn');
546		        }
547	        }
548	        
549	        if(document.querySelector('.mobile-panel-menu').classList.contains('parent-menu-hidden')){
550	        	document.querySelector('.menu-back-btn').classList.add('active');
551	        }
552	    }
553	    
554	    if(event.target.hasAttribute('data-login')){	        
555	        //setSheetHeight(100);
556	        
557	        setTimeout(function(){
558        		let loginBlockHeight = document.querySelector('.login-container-inner').offsetHeight;
559        		
560        		if(loginBlockHeight > window.innerHeight / 2){
561        			setSheetHeight(85);
562        		} else{
563        			setSheetHeight(65);
564        		}
565        	}, 10);
566	        
567	        setIsSheetShown(true);
568	        siteHtml.classList.add('no-scroll');
569			
570			for(let i = 0; i < keysPanelBtns.length; i++){
571				if(keysPanelBtns[i].hasAttribute('data-login')){
572					keysPanelBtns[i].classList.add('active');
573				} else{
574					keysPanelBtns[i].classList.remove('active');
575				}
576			}
577	
578	        for(let i = 0; i < panelItems.length; i++){
579	            if(panelItems[i].classList.contains('panel-login')){
580	                panelItems[i].classList.add('active');
581	            } else{
582	                panelItems[i].classList.remove('active');
583	            }
584	        } 
585	        
586	        loginItemContainer.append(loginContainerInner);
587	    }
588	    
589	    
590	    if(event.target.hasAttribute('data-search')){	        
591	    	
592	        setSheetHeight(65);
593	        
594	        setIsSheetShown(true);
595	        siteHtml.classList.add('no-scroll'); 
596			
597			for(let i = 0; i < keysPanelBtns.length; i++){
598				if(keysPanelBtns[i].hasAttribute('data-search')){
599					keysPanelBtns[i].classList.add('active');
600				} else{
601					keysPanelBtns[i].classList.remove('active');
602				}
603			}
604	
605	        for(let i = 0; i < panelItems.length; i++){
606	            if(panelItems[i].classList.contains('panel-search')){
607	                panelItems[i].classList.add('active');
608	            } else{
609	                panelItems[i].classList.remove('active');
610	            }
611	        }
612	       
613	        searchItemContainer.append(searchContainerInner);
614	        
615	        searchSiteItemContainer.append(siteFormPopupBlock);
616	    }
617	    
618	    
619	    if(event.target.hasAttribute('data-contacts')){	        
620	        //setSheetHeight(100);
621	        
622	        setTimeout(function(){
623        		let contactsBlockHeight = document.querySelector('.contacts-item-container').offsetHeight;
624        		
625        		if(contactsBlockHeight > window.innerHeight / 2){
626        			setSheetHeight(85);
627        		} else{
628        			setSheetHeight(65);
629        		}
630        	}, 10);
631	        
632	        setIsSheetShown(true);
633	        siteHtml.classList.add('no-scroll');
634			
635			for(let i = 0; i < keysPanelBtns.length; i++){
636				if(keysPanelBtns[i].hasAttribute('data-contacts')){
637					keysPanelBtns[i].classList.add('active');
638				} else{
639					keysPanelBtns[i].classList.remove('active');
640				}
641			}
642	
643	        for(let i = 0; i < panelItems.length; i++){
644	            if(panelItems[i].classList.contains('panel-contacts')){
645	                panelItems[i].classList.add('active');
646	            } else{
647	                panelItems[i].classList.remove('active');
648	            }
649	        }
650	       
651	        contactsItemContainer.append(contactsContainerInner);
652	    }
653	    
654	    
655	    if(event.target.hasAttribute('data-more')){	        
656	        setSheetHeight(65);
657	        setIsSheetShown(true);
658	        siteHtml.classList.add('no-scroll'); 
659			
660			for(let i = 0; i < keysPanelBtns.length; i++){
661				if(keysPanelBtns[i].hasAttribute('data-more')){
662					keysPanelBtns[i].classList.add('active');
663				} else{
664					keysPanelBtns[i].classList.remove('active');
665				}
666			}
667	
668	        for(let i = 0; i < panelItems.length; i++){
669	            if(panelItems[i].classList.contains('panel-more')){
670	                panelItems[i].classList.add('active');
671	            } else{
672	                panelItems[i].classList.remove('active');
673	            }
674	        }
675	        
676	    }
677	
678	    if(event.target.hasAttribute('data-cart')){
679	    	
680	    	 /*setTimeout(function(){
681        		let contactsBlockHeight = document.querySelector('.cart-item-container').offsetHeight;
682        		
683        		if(contactsBlockHeight > window.innerHeight / 2){
684        			setSheetHeight(85);
685        		} else{
686        			setSheetHeight(65);
687        		}
688        	}, 300);*/
689        	
690        	setSheetHeight(85);
691	    	
692	        //setSheetHeight(100);
693	        setIsSheetShown(true);
694	        siteHtml.classList.add('no-scroll');
695	        
696	        for(let i = 0; i < keysPanelBtns.length; i++){
697				if(keysPanelBtns[i].hasAttribute('data-cart')){
698					keysPanelBtns[i].classList.add('active');
699				} else{
700					keysPanelBtns[i].classList.remove('active');
701				}
702			}
703	
704	        for(let i = 0; i < panelItems.length; i++){
705	            if(panelItems[i].classList.contains('panel-cart')){
706	                panelItems[i].classList.add('active');
707	            } else{
708	                panelItems[i].classList.remove('active');
709	            }
710	        }	        
711	        
712	       document.querySelector('.cart-item-container').prepend(cartRemodalBody);        
713	        
714	    }
715	    
716	    
717	    if(event.target.hasAttribute('data-compare')){
718	        setSheetHeight(100);
719	        setIsSheetShown(true);
720	        siteHtml.classList.add('no-scroll');
721	        
722	        for(let i = 0; i < keysPanelBtns.length; i++){
723				if(keysPanelBtns[i].hasAttribute('data-compare')){
724					keysPanelBtns[i].classList.add('active');
725				} else{
726					keysPanelBtns[i].classList.remove('active');
727				}
728			}
729	
730	        for(let i = 0; i < panelItems.length; i++){
731	            if(panelItems[i].classList.contains('panel-compare')){
732	                panelItems[i].classList.add('active');
733	            } else{
734	                panelItems[i].classList.remove('active');
735	            }
736	        }
737			
738	        compareItemContainer.append(compareRemodalBody);
739	       //document.querySelector('#sheet .panel-cart').prepend(cartRemodalBody);        
740	        
741	    }
742	    
743	});
744	
745	if ( document.querySelector(".keys_main_btn_js") ) {
746	
747		document.querySelector(".keys_main_btn_js").addEventListener("click", () => {
748		    setIsSheetShown(false);
749		
750		    siteHtml.classList.remove('no-scroll');
751			
752			for(let i = 0; i < keysPanelBtns.length; i++){
753				keysPanelBtns[i].classList.remove('active');
754			}
755			
756			panelMore.classList.remove('no_vis');
757			
758			siteFormBlock.append(siteFormPopupBlock);
759		})
760		
761	}
762	
763	sheet.querySelector(".close-sheet").addEventListener("click", () => {
764	    setIsSheetShown(false);
765	
766	    siteHtml.classList.remove('no-scroll');
767		
768		for(let i = 0; i < keysPanelBtns.length; i++){
769			keysPanelBtns[i].classList.remove('active');
770		}
771		
772		panelMore.classList.remove('no_vis');
773		
774		siteFormBlock.append(siteFormPopupBlock);
775	})
776	
777	
778	sheet.querySelector(".sheet-overlay").addEventListener("click", () => {
779	    setIsSheetShown(false);
780	
781	    siteHtml.classList.remove('no-scroll');
782		
783		for(let i = 0; i < keysPanelBtns.length; i++){
784			keysPanelBtns[i].classList.remove('active');
785		}
786		
787		panelMore.classList.remove('no_vis');
788		
789		siteFormBlock.append(siteFormPopupBlock);
790	})
791	
792	const touchPosition = (event) =>
793	    event.touches ? event.touches[0] : event
794	
795	let dragPosition
796	
797	const onDragStart = (event) => {
798	    dragPosition = touchPosition(event).pageY
799	    sheetContents.classList.add("not-selectable")
800	    draggableArea.style.cursor = document.body.style.cursor = "grabbing"
801	}
802	
803	const onDragMove = (event) => {
804	    if (dragPosition === undefined) return
805	
806	    const y = touchPosition(event).pageY
807	    const deltaY = dragPosition - y
808	    const deltaHeight = deltaY / window.innerHeight * 100
809	
810	    setSheetHeight(sheetHeight + deltaHeight)
811	    dragPosition = y
812	}
813	
814	const onDragEnd = () => {
815	    dragPosition = undefined
816	    sheetContents.classList.remove("not-selectable")
817	    draggableArea.style.cursor = document.body.style.cursor = ""
818	
819	    if (sheetHeight < 35) {
820	        setIsSheetShown(false)
821	
822	        siteHtml.classList.remove('no-scroll');
823			
824			for(let i = 0; i < keysPanelBtns.length; i++){
825				keysPanelBtns[i].classList.remove('active');
826			}
827			
828			panelMore.classList.remove('no_vis');
829			
830			siteFormBlock.append(siteFormPopupBlock);
831			
832	    } else if (sheetHeight > 90) {
833	        setSheetHeight(100)
834	    } else if(sheetHeight > 65 && sheetHeight < 90){
835	    	setSheetHeight(85)
836	    } else {
837	        setSheetHeight(65)
838	    }
839	}
840	
841	draggableArea.addEventListener("mousedown", onDragStart)
842	draggableArea.addEventListener("touchstart", onDragStart, {passive: true})
843	
844	window.addEventListener("mousemove", onDragMove)
845	window.addEventListener("touchmove", onDragMove)
846	
847	window.addEventListener("mouseup", onDragEnd)
848	window.addEventListener("touchend", onDragEnd)
849	
850	//sheetContents
851	
852		let eTouch = null;
853		
854		let productTouchArea = document.querySelector('.panel-body');
855		
856		productTouchArea.addEventListener("touchstart", function (e) {
857			eTouch = e;
858		}, {passive: true});
859		
860		productTouchArea.addEventListener("touchmove", function (e) {
861      		if (eTouch) {
862      			if((e.touches[0].pageY - eTouch.touches[0].pageY) > 100){
863      				
864      				
865      				setIsSheetShown(false);
866			        siteHtml.classList.remove('no-scroll');
867					for(let i = 0; i < keysPanelBtns.length; i++){
868						keysPanelBtns[i].classList.remove('active');
869					}
870					panelMore.classList.remove('no_vis');
871      				
872      			}
873      			
874      			
875			}
876		}, {passive: true});
877	
878		productTouchArea.addEventListener("touchend", function (e) {
879			eTouch = null;
880		});
881	
882	}
883
884//});

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.