PageSourceSearch

https://vizitkiandphoto.ru/t/v1220/images/js/main.js

js vizitkiandphoto.ru collected 2026-10-07 18:17:32 UTC 6,899 bytes, 233 lines download raw bytes

1(function($) {
2
3	$(function() {
4		$('table').wrap('<div class="table-wrapper"></div>');
5
6		var $win = $(window),
7			$doc = $(document),
8			htmlWrap = $('html'),
9			winWidth = $win.width(),
10			isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) || /[\?&]panel_fake_mobile=1(&|$)/.test(document.location.search),
11			$menuWrapper = $('.menu-top-content'),
12			$menu = $('.menu-top'),
13			$menuSubWrap = $('.menu-top .has-child'),
14			$menuButton = $('.menu-top-button'),
15			isDesktop, isTablet,
16			eventType = isMobile ? 'touchstart' : 'click',
17			menuTimeout, formTimeout,
18			menuHoverFlag = false;
19		
20		// ORDER-FORM
21		var orderOpener = $('.order-form-but');
22		var orderWrap = $('.order-form-content');
23		var orderClose = $('.order-form-close');
24
25		orderOpener.on('click', function() {
26			if (orderWrap.hasClass('show-form')) {
27				orderWrap.removeClass('show-form');
28			} else {
29				orderWrap.addClass('show-form');
30			};
31		});
32		orderOpener.closest('.order-form-wrap').hover(function() {
33			if (menuHoverFlag) {
34				return false;
35			};
36			clearTimeout(menuTimeout);
37			clearTimeout(formTimeout);
38			
39			orderWrap.addClass('show-form');
40			
41			$menuWrapper.removeClass('show-menu');
42			subMenuMM.removeClass('show-submenu');
43		}, function() {
44			formTimeout = setTimeout(function(){
45				orderWrap.removeClass('show-form');
46			}, 500);
47		});
48
49		// MENU-TOP
50		$menuButton.closest('.menu-top-wrap').hover(function(e) {
51			menuHoverFlag = true;
52			
53			clearTimeout(menuTimeout);
54			clearTimeout(formTimeout);
55			
56			$menuWrapper.addClass('show-menu');
57			
58			orderWrap.removeClass('show-form');
59		}, function() {
60			menuTimeout = setTimeout(function(e) {
61				$menuWrapper.removeClass('show-menu');
62				subMenuMM.removeClass('show-submenu');
63				menuHoverFlag = false;
64				clearTimeout(menuTimeout);
65			}, 500);
66		});
67		
68		$menuButton.on(eventType, function() {
69			if ($menuWrapper.hasClass('show-menu')) {
70				$menuWrapper.removeClass('show-menu');
71				if (isMobile) {
72					htmlWrap.removeClass('over-hide');
73				};
74			} else {
75				$menuWrapper.addClass('show-menu');
76				if (isMobile) {
77					htmlWrap.addClass('over-hide');
78				};
79			};
80		});
81		var subMenuMM = $('.menu-main');
82		
83		function subMenuOpener(e) {
84			var thisLnk = $(this);
85			var thisLinkParent = thisLnk.parent();
86			var parentId = thisLinkParent.data('item-id');
87			var parentSubMenuUl = subMenuMM.filter('.parent_id_'+parentId);
88			
89			var arrArea = [thisLnk.outerWidth() - 25, thisLnk.outerHeight()];
90			var x = e.offsetX==undefined?e.layerX:e.offsetX;
91			var y = e.offsetY==undefined?e.layerY:e.offsetY;
92			if (x >= arrArea[0] && y <= arrArea[1]) {
93				if (thisLinkParent.hasClass('item-opened')) {
94					thisLinkParent.removeClass('item-opened');
95			
96					subMenuMM.removeClass('show-submenu');
97					parentSubMenuUl.addClass('show-submenu');
98				} else {
99					thisLinkParent.siblings().removeClass('item-opened');
100					thisLinkParent.addClass('item-opened');
101				};
102				return false;
103			};
104		};
105		
106		$menu.find("> li > a").on('mouseenter', function(e){
107			subMenuMM.removeClass('show-submenu');
108		});
109		
110		$menuSubWrap.find("> a").on('mouseenter', function(e){
111			var thisLnk = $(this);
112			var thisLinkParent = thisLnk.parent();
113			var parentId = thisLinkParent.data('item-id');
114			var parentSubMenuUl = subMenuMM.filter('.parent_id_'+parentId);
115			
116			parentSubMenuUl.addClass('show-submenu');
117		});
118		
119		$win.resize(function() {
120			winWidth = $win.width();
121			if (winWidth < 940 && typeof isTablet === 'undefined') {
122				isDesktop = undefined;
123				isTablet = true;
124
125				$menuSubWrap.find("> a").on("click", subMenuOpener);
126
127			} else if (winWidth >= 940 && typeof isDesktop === 'undefined') {
128				isDesktop = true;
129				isTablet = undefined;
130
131				$menuSubWrap.find("> a").off("click", subMenuOpener);
132
133			};
134			
135		}).trigger('resize');
136		// FORM-SEARCH
137		var searchWrap = $('.form-search');
138
139		$doc.on('click', function(e) {
140			var targ = $(e.target);
141			if (targ.closest('.form-search form').length) {
142				searchWrap.addClass('search-open');
143				searchWrap.find('[name="search"]').focus();
144			} else {
145				searchWrap.removeClass('search-open');
146			};
147			if (targ.closest($menuWrapper).length==0 && targ.closest($menuButton).length==0) {
148				$menuWrapper.removeClass('show-menu');
149				subMenuMM.removeClass('show-submenu');
150				if ($('.company-label .label-cell.first-cell').is(':hidden')) {
151					htmlWrap.removeClass('over-hide');
152				};
153			};
154			if ((targ.closest(orderWrap).length==0 && targ.closest(orderOpener).length==0) || targ.closest(orderClose).length) {
155				orderWrap.removeClass('show-form');
156				if ($('.company-label .label-cell.first-cell').is(':hidden')) {
157					htmlWrap.removeClass('overflowHidden');
158				};
159			};
160		});
161		$('.form-search form').on('click mouseover', function(e) {
162			searchWrap.addClass('search-open');
163			//searchWrap.find('[name="search"]').focus();
164		});
165		// SITE-SLIDER-TOP
166		var sliderImageWrap = $('.slider-content');
167
168		sliderImageWrap.each(function() {
169			var thisSlider = $(this);
170			var imagesWrap = thisSlider.find('figure');
171
172			if (imagesWrap.length>1) {
173				thisSlider.owlCarousel({
174					autoplay: true,
175					//animateOut: 'fadeOut',
176					loop: true,
177					items: 1,
178					margin: 0,
179					dots: false,
180					nav: false,
181					responsive: {
182						768: {
183							nav: true
184						}
185					}
186				});
187			};
188		});
189		// TABS
190		var tabsTitles, tabsBody;
191		if ($('.tabs-right').is(':visible')) {
192			tabsTitles = $('.tabs-right .tabs-titles > div');
193			tabsBody = $('.tabs-right .tabs-body > div');
194		} else {
195			tabsTitles = $('.tabs-left .tabs-titles > div');
196			tabsBody = $('.tabs-left .tabs-body > div');
197		};
198
199		tabsTitles.on('click', function() {
200			var thisTabsTit = $(this);
201			var thisIndex = thisTabsTit.index();
202	
203			tabsTitles.removeClass('active').eq(thisIndex).addClass('active');
204			tabsBody.removeClass('active').eq(thisIndex).addClass('active');
205		});
206		
207		tabsTitles.eq(0).trigger('click');
208		// ADDRESS-BLOCK
209		var mapOpener = $('.open-map');
210		var mapWrap = $('.address-block-bot');
211		var mapHeight = mapWrap.find('.site-map').height();
212		mapOpener.click(function() {
213			if (mapWrap.hasClass('map-opened')==false) {
214				var winScrollHeight = $(window).scrollTop();
215				$('html, body').animate({scrollTop: winScrollHeight + mapHeight}, 800);
216			};
217			mapWrap.toggleClass('map-opened');
218		});
219		
220		$doc.on('keyup', function(e) {
221			if (e.keyCode == 27) {
222				htmlWrap.removeClass('overflowHidden');
223				orderWrap.removeClass('show-form');
224				$menuWrapper.removeClass('show-menu');
225				subMenuMM.removeClass('show-submenu');
226			};
227		});
228	});
229
230})(jQuery);
231
232hs.align = 'center';
233hs.dimmingOpacity = 0.75;

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.