PageSourceSearch

https://krasaderevni.ru/bitrix/templates/kdn/js/script.js

js krasaderevni.ru collected 2026-09-24 22:51:26 UTC 19,788 bytes, 680 lines download raw bytes

1var setSEOLinks=function(a){
2	var c=a?$('i.a-href',a):$('i.a-href');
3	c.each(function(i){
4		var thisO=$(this);
5		var cl=thisO.get(0).className.replace('a-href','');
6		var target=thisO.attr('target')?(' target="'+thisO.attr('target')+'"'):'';
7		if(thisO.attr('title')) target+=' title="'+thisO.attr('title')+'"';
8		if(thisO.data('gaevent')) target+=' data-gaevent="'+thisO.data('gaevent')+'"';
9		thisO.after('<a href="'+thisO.data('href')+'"'+(cl.length>0?' class="'+cl+'"':'')+target+'>'+thisO.html()+'</a>');
10		thisO.remove();
11	});
12	var intervalChImg=false;
13	$('.wrap .img-bl img').load(function(){
14		$(this).addClass('loaded');
15	});
16	var checimgS=function(){
17		$('.wrap .img-bl').not('.checked').each(function(){
18			var thisO=$(this);
19			if(!thisO.find('img').hasClass('loaded')) return;
20			var w=thisO.width();
21			w=parseInt((w-thisO.find('img').width())/2);
22			thisO.css({'padding-left':w,'padding-right':w}).addClass('checked');
23		});
24		if($('.wrap .img-bl').not('.checked').length==0) clearInterval(intervalChImg);
25	}
26	intervalChImg=setInterval(checimgS,300);
27	checimgS();
28}
29var checkCustomRadioChecbox=function(par){
30	if(!par) par=$('body');
31	$('a.fancybox-img',par).fancybox({helpers:{title:{type:'inside'}},autoWidth:false,maxWidth:'85%'});
32	$('.fancybox-ajax',par).fancybox({type:'ajax'});
33	var arMid=[];
34	$('.ajax-comments').each(function(){
35		arMid.push(parseInt($(this).data('mid')));
36	});
37	if(arMid.length>0)
38		$.ajax({
39			url:'/system/get-comments.php',
40			data:{'mid':arMid},
41			dataType:'json',
42			success:function(data){
43				$('.ajax-comments').each(function(){
44					var thisO=$(this);
45					thisO.html(data[parseInt(thisO.data('mid'))]);
46				});
47			}
48		});
49	setSEOLinks(par);
50};
51function getRandomInt(min, max){
52	if(!min) min=0;
53	if(!max) max=100;
54	return Math.floor(Math.random() * (max - min + 1)) + min;
55}
56
57$(function(){
58	$.ajaxSetup({headers  : { 'X-fancyBox': true }});
59	$('a.fancybox-img').fancybox({helpers:{title:{type:'inside'}},autoWidth:false,maxWidth:'85%'});
60	$('.fancybox-ajax').fancybox({type:'ajax'});
61	$('.fancybox-video').fancybox({
62		openEffect  : 'none',
63		closeEffect : 'none',
64		helpers : {
65			media : {}
66		}
67	});
68	$('body').on('click','*[data-href]',function(){
69		if(classOverlowChack===false){
70			document.location=$(this).data('href');
71			return false;
72		}
73	});
74	/*var closeSearchHeader=function(){
75		$('body').off('click',handelClickBodySearch);
76		$('.wrapper-gn .header-dv .search form input[type=text]').stop();
77		$('.wrapper-gn .header-dv .search form input[type=text]').animate({width:0},300,function(){
78			$('.wrapper-gn .header-dv .search form').removeClass('active');
79		});
80	}
81	var handelClickBodySearch=function(e){
82		var d=$(e.target);
83		if(!(d.hasClass('js-form-header-search') || d.parents('.js-form-header-search').length)){
84			closeSearchHeader();
85			return false;
86		}else{
87			return true;
88		}
89	}
90	$('.wrapper-gn .header-dv .search form').submit(function(){
91		var th=$(this);
92		if(th.hasClass('active')){
93			if(th.find('input[type=text]').val().length==0){
94				th.find('input[type=text]').focus();
95				return false;
96			}
97			return true;
98		}else{
99			var w=$('.wrapper-gn .header-dv .menu').width()+60;
100			if(w<230){
101				w=$('.wrapper').width()-50;
102			}
103			$('.wrapper-gn .header-dv .search form').addClass('active');
104			$('.wrapper-gn .header-dv .search form input[type=text]').stop().focus();
105			$('.wrapper-gn .header-dv .search form input[type=text]').width(0).animate({width:w},300,function(){
106
107			});
108			$('body').on('click',handelClickBodySearch);
109			return false;
110		}
111	});*/
112	//if($('.sidebar-right').length) $('.sidebar-right').hcSticky();
113	var resizeWindowCust=function(){
114		if($('.wrapper-gn .header-dv .menu .mobile-menu').css('display')=='none'){
115			$('.wrapper-gn .header-dv .menu .header-menu').show();
116			$('.wrapper-gn .header-dv .menu .mobile-menu').removeClass('open');
117		}else{
118			$('.wrapper-gn .header-dv .menu .header-menu').hide();
119		}
120		/*if($(window).width()>800){
121			$('.sidebar-right').hcSticky('on');
122			//$('.sidebar-right').hcSticky('reinit');
123		}else{
124			$('.sidebar-right').hcSticky('off');
125			//$('.sidebar-right').hcSticky('reinit');
126		}*/
127	}
128	resizeWindowCust();
129	$(window).resize(resizeWindowCust);
130	$('body').on('submit','.fancybox-inner form',function(){
131		var thisO=$(this);
132		if(thisO.hasClass('no-ajax-form')) return;
133		var bt=thisO.find('input[type=submit]');
134		$.fancybox.showLoading();
135		$.ajax({
136			type: thisO.attr('method')?thisO.attr('method'):'POST',
137			url: thisO.attr('action')?thisO.attr('action'):'POST',
138			data: thisO.serialize()+(bt.length?('&'+bt.attr('name')+'='+bt.val()):''),
139			dataType: 'html',
140			success: function(data){
141				$('.fancybox-inner').html(data);
142				$.fancybox.hideLoading();
143			}
144		});
145		return false;
146	});
147	checkCustomRadioChecbox();
148	$('body').on('submit','.right-subscribe form, form.subscribe-site',function(){
149		var fr=$(this);
150		if(fr.find('input[name="name"]').val().length==0){
151			fr.find('input[name="name"]').focus();
152			return false;
153		}
154		if(fr.find('input[name="email"]').val().length==0){
155			fr.find('input[name="email"]').focus();
156			return false;
157		}
158		$.fancybox.showLoading();
159		$.ajax({
160			url:fr.prop('action'),
161			type:'get',
162			dataType:'json',
163			data:fr.serialize(),
164			success:function(res){
165				$.fancybox.hideLoading();
166				if(!fr.hasClass('subscribe-site')){
167					if(res['error']) $('.right-subscribe .desc').html('<span style="color:red;">'+res['error']+'</span>');
168					else{
169						$('.right-subscribe .form').remove();
170						$('.right-subscribe').append('<div class="note">'+res['note']+'</div>');
171						yaCounter29259780.reachGoal('subscribeDoneRight');
172					}
173				}else{
174					if(res['error']) fr.parent().find('.error').html(res['error']).show();
175					else{
176						fr.before('<div class="note">'+res['note']+'</div>');
177						fr.remove();
178						yaCounter29259780.reachGoal('subscribeDone');
179					}
180				}
181			}
182		});
183		return false;
184	});
185	if($('.village-index').length){
186		$('.village-index .slider').addClass('owl-carousel').show().owlCarousel({
187			loop:true,
188			margin:0,
189			nav:true,
190			responsive:{
191				0:{
192					items:1
193				},
194				640:{
195					items:2
196				}
197			},
198			navText:['','']
199		}).on('changed.owl.carousel', function(event) {
200			$('.village-index .slider .vill').removeClass('vis');
201			$('.village-index .slider .vill:eq('+event.item.index+')').addClass('vis');
202		});
203	}
204	var whatNeedDoOverflow=function(){};
205	var classOverlowChack=false;
206	var overfowFuncClick=function(e){
207		var tt=$(e.target);
208		if(tt.parents('.'+classOverlowChack).length==0 && !tt.hasClass(classOverlowChack)){
209			e.stopPropagation();
210			$('body').off('click',overfowFuncClick);
211			classOverlowChack=false;
212			whatNeedDoOverflow();
213			return false;
214		}
215	}
216	$('.wrapper-gn .header-dv .menu .mobile-menu').click(function(){
217		var th=$(this);
218		if(th.hasClass('open')){
219			th.removeClass('open');
220			$('.wrapper-gn .header-dv .menu .header-menu').slideUp(300);
221			$('body').off('click',overfowFuncClick);
222		}else{
223			th.addClass('open');
224			$('.wrapper-gn .header-dv .menu .header-menu').slideDown(300);
225			$('body').on('click',overfowFuncClick);
226			whatNeedDoOverflow=function(){
227				th.trigger('click');
228			}
229			classOverlowChack='header-menu';
230		}
231		return false;
232	});
233	$('.wrapper-gn .header-dv .menu .header-menu .submenu-btn').click(function(){
234		$(this).parent().toggleClass('open');
235		return false;
236	});
237	if($('.wrapper-gn .news-index').length){
238		$(window).resize(function(){
239			if($('.wrapper-gn .news-index .news:eq(1)').width()<$('.wrapper-gn .news-index .news:eq(1)').parent().width()*0.7){
240				$('.wrapper-gn .news-index .news').height($('.wrapper-gn .news-index .news:eq(1)').width()*1.1333333);
241			}else{
242				$('.wrapper-gn .news-index .news').height('auto');
243			}
244		}).trigger('resize');
245	}
246	if($('.banners-slider').length){
247		$('.banners-slider').addClass('owl-carousel').owlCarousel({
248			loop:false,
249			margin:20,
250			nav:false,
251			autoplay:true,
252			autoplayTimeout:3500,
253			responsive:{
254				0:{
255					items:1
256				},
257				640:{
258					items:2
259				}
260			}
261		});
262	}
263	if($('.instagram-slider'.length)){
264		var checkWISlider=function(){
265			setTimeout(function(){
266				$('.wrapper-gn .instagram-slider .item').height($('.wrapper-gn .instagram-slider .item').width());
267			},500)
268		}
269		$(window).resize(checkWISlider);
270		checkWISlider();
271		$('.instagram-slider .slider').addClass('owl-carousel').owlCarousel({
272			loop:true,
273			margin:25,
274			nav:true,
275			navText:['',''],
276			autoplay:true,
277			autoplayTimeout:3500,
278			responsive:{
279				0:{
280					items:2
281				},
282				620:{
283					items:3
284				},
285				960:{
286					items:4
287				},
288				1000:{
289					items:5
290				}
291			}
292		});
293	}
294	if($('.video-index').length){
295		var rnd=getRandomInt(0,$('.video-index .video').length-1);
296		var d=$('.video-index .video:eq('+rnd+')');
297		d.addClass('first');
298		if(rnd>0){
299			$('.video-index .video:first').before(d);
300		}
301		var resizeVideoHeight=function(){
302			var d=$('.video-index').parents('.block-50:first').parent()
303			var h=0;
304			d.find('.block-50').height('auto');
305			if(d.find('.block-50').width()<=d.width()*0.6){
306				d.find('.block-50').each(function(){
307					var th=$(this);
308					if(h<th.height()) h=th.height();
309				}).height(h);
310			}
311		}
312		$(window).resize(resizeVideoHeight);
313		d.imagesLoaded(function(){
314			setTimeout(resizeVideoHeight,500);
315		});
316	}
317	$('.social-likes').each(function(){
318		var prD=$(this);
319		var vk=prD.find('.ico-vk');
320		if(vk.length){
321			var url='https://vk.com/share.php?act=count&index=1&url='+prD.data('link');+'&format=json';
322			if(!window.VK) window.VK={};
323			window.VK['Share']={
324				count:function(index, cn){
325					cn='<span>'+cn+'</span>'
326					vk.find('.cnt').show().html(cn);
327				}
328			};
329			$.ajax({
330				url: url,
331				dataType: "script",
332				success: function(d){
333					//alert(d);
334				}
335			});
336		}
337		var ok=prD.find('.ico-ok');
338		if(ok.length){
339			var url='https://connect.ok.ru/dk?st.cmd=extLike&uid=okKrasaderevni&ref='+prD.data('link');
340			if(!window.ODKL) window.ODKL={};
341			window.ODKL['updateCount']=function(index, cn){
342				cn='<span>'+cn+'</span>'
343				ok.find('.cnt').show().html(cn);
344			};
345			$.ajax({
346				url: url,
347				dataType: "script",
348				success: function(d){
349					//alert(d);
350				}
351			});
352		}
353		var fb=prD.find('.ico-fb');
354		if(fb.length){
355			var url='https://graph.facebook.com/?id='+prD.data('link');
356			$.ajax({
357				url: url,
358				dataType: "json",
359				success: function(d){
360					fb.find('.cnt').show().html('<span>'+d['share']['share_count']+'</span>');
361				}
362			});
363		}
364	});
365	if($('.slider-gazeta').length){
366		$('.slider-gazeta').addClass('owl-carousel').owlCarousel({
367			loop:true,
368			margin:0,
369			nav:false,
370			dots:true,
371			items:1,
372			navText:['','']
373		});
374		$('.slider-gazeta a').fancybox({helpers:{title:{type:'inside'}},maxWidth:'80%',fitToView:false});
375	}
376	$('body').on('click','.social-likes .soc', sharingLink);
377	if($('.village-detail').length){
378		if($('.village-detail .pics-slider .img').length>1){
379			$('.village-detail .pics-slider').addClass('owl-carousel').owlCarousel({
380				loop:true,
381				margin:0,
382				nav:true,
383				dots:true,
384				items:1,
385				navText:['','']
386			});
387		}
388		var resizeWVill=function(){
389			var w=$('.village-detail .js-video-div-frame').width();
390			$('.village-detail .js-video-div-frame iframe').width(w).height(parseInt(w/1.8));
391		}
392		resizeWVill();
393		$(window).resize(resizeWVill);
394		$('.village-detail .video-slider').addClass('owl-carousel').owlCarousel({
395			loop:false,
396			margin:15,
397			nav:true,
398			dots:false,
399			responsive:{
400				0:{
401					items:2
402				},
403				960:{
404					items:3
405				}
406			},
407			navText:['','']
408		});
409		$('.wrapper-gn .village-detail .video-slider .video').click(function(){
410			var th=$(this);
411			if(th.data('frame')){
412				$('.js-video-div-frame').html('<iframe width="800" height="445" autoplay=0 src="'+th.data('frame')+'" frameborder="0" allowfullscreen></iframe>');
413				resizeWVill();
414			}
415		})
416	}
417	$('.wrapper-gn .header-dv .search a').click(function(){
418		$('.search-big-div').fadeIn(500);
419		$('body').addClass('overflow');
420		$('.search-big-div .fr-div .txt').focus();
421		return false;
422	});
423	var closeSearchDiv=function(){
424		$('body').removeClass('overflow');
425		$('.search-big-div').fadeOut(300);
426		return false;
427	}
428	$('.search-big-div .close').click(closeSearchDiv);
429	$('.search-big-div').click(function(e){
430		if(e.target==this) closeSearchDiv();
431	});
432	$('.wrapper-gn .village-detail .sharing .add-review').click(function(){
433		var d=$('.add-review-form textarea[name="text"]');
434		$(window).scrollTop(d.offset().top-150);
435		d.focus();
436		return false;
437	});
438});
439
440
441
442
443
444var initVillegeMap=function(){
445	var map = new google.maps.Map(document.getElementById('mapY'), {
446		zoom: 3,
447		scrollwheel: false,
448		mapTypeControl: false,
449		panControlOptions: {
450			position: google.maps.ControlPosition.RIGHT_CENTER
451		},
452		zoomControlOptions: {
453			position: google.maps.ControlPosition.LEFT_CENTER
454		},
455		//draggable: false,
456		styles:[
457			{
458				"featureType": "administrative",
459				"elementType": "geometry.stroke",
460				"stylers": [
461					{
462						"color": "#477467"
463					}
464				]
465			},
466			{
467				"featureType": "landscape.natural.terrain",
468				"elementType": "geometry.fill",
469				"stylers": [
470					{
471						"color": "#d7d7d7"
472					}
473				]
474			},
475			{
476				"featureType": "poi",
477				"stylers": [
478					{
479						"visibility": "off"
480					}
481				]
482			},
483			{
484				"featureType": "poi.attraction",
485				"elementType": "geometry",
486				"stylers": [
487					{
488						"visibility": "off"
489					}
490				]
491			},
492			{
493				"featureType": "poi.business",
494				"stylers": [
495					{
496						"visibility": "off"
497					}
498				]
499			},
500			{
501				"featureType": "water",
502				"elementType": "geometry.fill",
503				"stylers": [
504					{
505						"color": "#d3e8e9"
506					}
507				]
508			},
509			{
510				"featureType": "water",
511				"elementType": "labels.text",
512				"stylers": [
513					{
514						"color": "#202020"
515					},
516					{
517						"weight": 2.5
518					}
519				]
520			}
521		],
522		center: {lat: 62.32814524574974, lng: 99.00133494335932}
523	});
524	var openPointVar=false;
525	var openMarkerVar=false;
526	var messOpen={'ru':'Открыть','en':'Detail'};
527	var setPointToMap=function(pnt,map){
528		var contentString='';
529		var image=false;
530		if(pnt['active']){
531			contentString = '<div id="map-detail">'+
532				'<div class="photo"><a href="'+pnt['url']+'"><img src="'+pnt['img']+'" /></a></div>'+
533				'<div class="desc"><div class="type">'+pnt['type']+(pnt['type_ch']?'  ('+pnt['type_ch']+')':'')+'</div><div class="name"><a href="'+pnt['url']+'">'+pnt['name']+'</a></div><a href="'+pnt['url']+'" class="btn-opn">'+messOpen[langOfSite]+'</a></div>';
534			if(pnt['open']){
535				image = {
536					url: mapPath+'/images/ico-map-cur.png',
537					size: new google.maps.Size(27, 35),
538					origin: new google.maps.Point(0, 0),
539					anchor: new google.maps.Point(0, 21)
540				};
541			}else if(pnt['icom']){
542				image = {
543					url: mapPath+'/images/ico-map-small.png',
544					size: new google.maps.Size(10, 10),
545					origin: new google.maps.Point(0, 0),
546					anchor: new google.maps.Point(0, 10)
547				};
548			}else{
549				image = {
550					url: mapPath+'/images/ico-map-open.png',
551					size: new google.maps.Size(27, 35),
552					origin: new google.maps.Point(0, 0),
553					anchor: new google.maps.Point(0, 21)
554				};
555			}
556		}else{
557			contentString = '<div id="map-detail" class="'+(pnt['img']?'':'noph')+'">'+
558				(pnt['img']?'<div class="photo"><img src="'+pnt['img']+'" /></div>':'')+
559				'<div class="desc"><div class="type">'+pnt['type']+(pnt['type_ch']?'  ('+pnt['type_ch']+')':'')+'</div><div class="name">'+pnt['name']+'</div></div></div>';
560			if(pnt['open']){
561				image = {
562					url: mapPath+'/images/ico-map-cur.png',
563					size: new google.maps.Size(27, 35),
564					origin: new google.maps.Point(0, 0),
565					anchor: new google.maps.Point(0, 21)
566				};
567			}else{
568				image = {
569					url: mapPath+'/images/ico-map-small.png',
570					size: new google.maps.Size(10, 10),
571					origin: new google.maps.Point(0, 0),
572					anchor: new google.maps.Point(0, 10)
573				};
574			}
575		}
576
577		var infowindow=new InfoBubble({
578			map: map,
579			content: contentString,
580			position: new google.maps.LatLng(-pnt['coords'][0], pnt['coords'][1]),
581			shadowStyle: 0,
582			padding: 0,
583			backgroundColor: 'rgba(89,179,139,0.8)',
584			borderRadius: 4,
585			arrowSize: 0,
586			maxWidth:pnt['active'] || pnt['img']?318:240,
587			minWidth:pnt['active'] || pnt['img']?318:240,
588			minHeight:pnt['active'] || pnt['img']?118:70,
589			borderWidth: 1,
590			borderColor: '#ffffff',
591			disableAutoPan: true,
592			hideCloseButton: false,
593			arrowPosition: 7,
594			closeSrc:mapPath+'/images/ico-map-close.png',
595			closeTop:6,
596			backgroundClassName: 'phoney',
597			arrowStyle: 2
598		});
599		var marker = new google.maps.Marker({
600			position: {lat:pnt['coords'][0],lng:pnt['coords'][1]},
601			//map: map,
602			icon: image,
603			zIndex:3,
604			title: pnt['name']
605		});
606		marker.addListener('click', function() {
607			map.setCenter(new google.maps.LatLng(pnt['coords'][0], pnt['coords'][1]));
608			infowindow.open(map, marker);
609		});
610
611		if(pnt['open']){
612			openPointVar=pnt
613			openMarkerVar=marker;
614			setTimeout(function(){
615				map.setCenter(new google.maps.LatLng(openPointVar['coords'][0], openPointVar['coords'][1]));
616				map.setZoom(12);
617				infowindow.open(map, openMarkerVar);
618			},3000);
619		}
620		return marker;
621	}
622	var markers=[];
623	var options = {
624		//imagePath: mapPath+'/images/ico-map-coll',
625		styles:[
626			{
627				url: mapPath+'/images/ico-map-coll.png?123',
628				width: 26,
629				height: 72,
630				anchor: [5, 0],
631				textColor: '#333333',
632				textSize: 12
633			}
634		],
635		maxZoom:7,
636		gridSize: 20
637	};
638	for(var i in arMapVillages){
639		markers.push(setPointToMap(arMapVillages[i],map));
640	}
641	var markerCluster = new MarkerClusterer(map, markers, options);
642}
643var openAjaxWindow=function(url){
644	$.fancybox(url,{
645		padding: 0,
646		type:'ajax',
647		wrapCSS: 'wrapper-gn'
648	});
649}
650var openHtmlWindow=function(html){
651	$.fancybox(html,{
652		padding: 0,
653		type:'html',
654		wrapCSS: 'wrapper-gn'
655	});
656}
657var sharingLink=function(){
658	var thisO=$(this);
659	var th=$(this).parent();
660	var url=th.data('link');
661	var shareUrl='';
662	var title=th.data('title');
663	if(!title) title=$('title').text();
664	title=encodeURIComponent(title);
665	var description=encodeURIComponent(th.data('descr'));
666	var image=th.data('img');
667	if (thisO.hasClass('ico-share')){
668		var bg=th.find('.bgs');
669		if(!bg.data('width')) bg.data('width',bg.width());
670		bg.animate({width:bg.width()?0:bg.data('width')},300);
671	}else{
672		if (thisO.hasClass('ico-fb')){shareUrl = 'https://www.facebook.com/sharer/sharer.php?u=' + url +'&description=' + description+'&title=' + title +'&image=' + image;}
673		if (thisO.hasClass('ico-vk')){shareUrl = 'http://vk.com/share.php?url=' + url +'&description=' + description+'&title=' + title +'&image=' + image;}
674		if (thisO.hasClass('ico-tw')){shareUrl = 'https://twitter.com/intent/tweet?url=' + url+'&text=' + (description?description:title)+'&title=' + title +'&image=' + image;}
675		if (thisO.hasClass('ico-ok')){shareUrl = 'http://www.ok.ru/dk?st.cmd=addShare&st.s=1&st._surl=' + url +'&st.comments=' + description;}
676
677		window.open(shareUrl, 'FrameInn Share', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' + 600 + ', height=' + 350 + ', top=' 
677+ top);
678	}
679	return false;
680}

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.