PageSourceSearch

https://informpskov.ru/themes/2013/js/new/main.js?179067034016962

js informpskov.ru collected 2026-10-02 04:33:20 UTC 16,962 bytes, 711 lines download raw bytes

1"use strict";
2
3var isPlayerPlaying = false;
4var radio;
5var src;
6
7
8
9function showRandomBlocks(quantity, max){
10	const set = new Set();
11	while(set.size < quantity) {
12		//set.add(Math.floor(Math.random() * max) + 1);
13		set.add(Math.floor(Math.random() * max));
14	}
15	return set;
16}
17
18$(document).ready(function () {
19
20  // Show menu
21	if ($(window).width() < 1200) {
22		$('.navbar-toggle').click(function() {
23			$(this).toggleClass('active');
24			$('.nav').slideToggle(200);
25		});
26
27
28		// закрытие при клике вне меню
29		$(document).click(function(event) {
30			var $target = $(event.target);
31
32			// Если клик был НЕ по меню И НЕ по кнопке "гамбургера"
33			if(!$target.closest('.nav').length && !$target.closest('.navbar-toggle').length) {
34
35				// Проверяем, открыто ли меню сейчас (чтобы не дергать анимацию зря)
36				if($('.nav').is(':visible')) {
37					$('.nav').slideUp(200);
38					$('.navbar-toggle').removeClass('active');
39				}
40			}
41		});
42	}
43
44  // Nav drop mobile
45	if ($(window).width() < 576) {
46		$('.nav__item_drop .nav__link').on('click', function(e) {
47			e.preventDefault();
48			e.stopPropagation();
49
50			const $currentMenu = $(this).next('.nav__drop__box_single, .nav__drop__box');
51
52			// Закрываем все, кроме текущего
53			$('.nav__drop__box_single, .nav__drop__box')
54				.not($currentMenu)
55				.slideUp(300);
56
57			$currentMenu.slideToggle(300);
58		});
59
60		$(document).on('click', function(e) {
61			if (!$(e.target).closest('.nav__item_drop').length) {
62				$('.nav__drop__box_single, .nav__drop__box').slideUp(300);
63			}
64		});
65	}
66
67  // Header add class
68  $(window).scroll(function() {
69    var top = $(document).scrollTop();
70    if (top > 0) {
71      $('.header').addClass('scroll-page');
72    }
73    else {
74      $('.header').removeClass('scroll-page');
75    }
76  });
77
78	$(document).ready(function(){
79		function animateSlider($el) {
80			const container = $('#tmpSliderContainer');
81			container.html($el.html());
82			const length = container.width() - $el.width() + 15;
83
84			if (length > 0) {
85				$el.find('.running__item-wrapper').css({ 'right': '0px', 'left': '' }).animate({
86					'right': length + 'px'
87				}, 3000);
88			}
89		}
90
91	var $mainSlider;
92    var $marqueeSlider;
93
94    function configureMainSlider() {
95      var config = {
96        autoControls: false,
97        controls: false,
98        pager: false,
99        auto: true,
100        touchable: false,
101        onSlideAfter: function ($el) {
102          animateSlider($el);
103        },
104        onSliderLoad: function () {
105          var $el = $(this).find('li[aria-hidden="false"]');
106          animateSlider($el);
107        },
108      };
109
110      if ($mainSlider && $mainSlider.reloadSlider) {
111        $mainSlider.reloadSlider(config);
112      } else {
113        $mainSlider = $(".bxslider").bxSlider(config);
114      }
115    }
116
117    function configureMarqueeSlider() {
118      var width = $(window).width();
119      var config = {
120        autoControls: false,
121        controls: width > 1200,
122        pager: false,
123        auto: true,
124        touchable: false,
125        slideWidth: width,
126      };
127
128      if ($marqueeSlider && $marqueeSlider.reloadSlider) {
129        $marqueeSlider.reloadSlider(config);
130      } else {
131        $marqueeSlider = $(".marquee-bxslider").bxSlider(config);
132      }
133    }
134
135    var $bannerSlider;
136
137    function configureBannerSlider() {
138      var container = $("#test__block");
139      var totalCount = container.data("count");
140      var width = $(document).width();
141      var count =
142        width <= 768 ? 1
143          : width <= 1200 ? Math.min(totalCount, 2)
144            : Math.min(totalCount, 3);
145      var percent = 100 / count;
146
147      var bannerWidth = Math.round(
148        container.parent().innerWidth() * (percent / 100),
149      );
150
151      var controls = width > 1200;
152
153      var config = {
154        pause: 6000,
155        autoControls: false,
156        controls,
157        pager: false,
158        auto: true,
159        maxSlides: count,
160        minSlides: count,
161        autoHeight: true,
162        //responsive: false,
163        moveSlides: 1,
164        slideWidth: bannerWidth,
165        slideMargin: "10px",
166      };
167
168      if ($bannerSlider && $bannerSlider.reloadSlider) {
169        $bannerSlider.reloadSlider(config);
170      } else {
171        $bannerSlider = container.bxSlider(config);
172      }
173    }
174
175    let sliderResizeTimer;
176
177	$(window).on("orientationchange resize", function () {
178      clearTimeout(sliderResizeTimer);
179      sliderResizeTimer = setTimeout(function () {
180        configureMainSlider();
181        configureMarqueeSlider();
182        configureBannerSlider();
183      }, 200);
184    });
185
186    configureMainSlider();
187    configureMarqueeSlider();
188		configureBannerSlider();
189	});
190
191  // Footer
192  var mywindow = $(window);
193  var mypos = mywindow.scrollTop();
194  var scrollHeight = $(document).height();
195  var scrollPosition = $(window).height() + $(window).scrollTop();
196  mywindow.scroll(function() {
197    if(mywindow.scrollTop() > mypos) {
198       $('.footer').removeClass('footer-show');
199    } else {
200      $('.footer').addClass('footer-show');
201    }
202    mypos = mywindow.scrollTop();
203
204	if ($(window).height() + $(window).scrollTop() > $(document).height() - 200) {
205		$('.footer').addClass('footer-show');
206	}
207  });
208
209  $(window).scroll(function() {
210    if  ($(window).scrollTop() == $(document).height() - $(window).height()) {
211      $('.footer').addClass('footer-show');
212    }
213  });
214
215  $('.footer__menu').click(function() {
216    $('.footer__top').slideToggle();
217    $('.footer').toggleClass('open');
218  });
219
220  // Comments hide
221  $('.comments__title').on('click', function() {
222    $(this).toggleClass('active');
223    $('.comments__list').slideToggle();
224  });
225
226  // Video
227  $('.p-video__btn').click(function() {
228
229	  var publicationId = $(this).data('publication-id');
230
231	var xhr = new XMLHttpRequest();
232
233	xhr.open('GET', '/ajax/getGalleryVideos.php?publicationId='+ publicationId, true);
234
235	xhr.onreadystatechange = function()
236	{
237		if(xhr.status == 200 && xhr.readyState == 4)
238		{
239			var parsedResponse = JSON.parse(xhr.responseText);
240
241			var videos = '';
242
243			for(var i = 0;i < parsedResponse.length;i++)
244			{
245				var videoDesc = parsedResponse[i].media_desc == null ? '' : '<br />' + parsedResponse[i].media_desc + '<br /><br />';
246				videos += '<div class="modal__video video-js"><figure><video controls=""> <source src="'+ parsedResponse[i].media_url +'" type="video/mp4"> </video> <figcaption>'+ videoDesc +'</figcaption></figure></div>';
247			}
248
249			document.querySelector('.modal__box').innerHTML = videos;
250
251			if ($('.modal__box').hasClass('slick-initialized'))
252			{
253				$('.modal__box').slick('slickRemove', null, null, true);
254				$('.modal__box').slick('destroy');
255			}
256
257			$('.modal__box').slick({
258				arrows: true,
259				autoplay: false,
260				slidesToShow: 1,
261				autoplaySpeed: 5000,
262				dots: false,
263				responsive: [{
264					breakpoint: 480,
265					settings: {
266						arrows: false,
267					}
268				}]
269			});
270
271			$('.modal__gallery').fadeIn();
272		}
273	}
274
275	xhr.send();
276
277
278
279	  // var dataYoutube = $(this).parents('.p-video__item').attr('data-youtube');
280    // $('.video-js').html('<iframe src="https://www.youtube.com/embed/'+ dataYoutube +'?autoplay=1" frameborder="0" allowfullscreen></iframe>');
281    // $('.modal_video').fadeIn();
282  });
283
284  // Modal
285  $('.open-modal-login').on('click', function(e) {
286    $('.modal_login').fadeIn();
287  });
288  $('.gallery__item').on('click', function(e) {
289    e.preventDefault();
290
291	var publicationId = $(this).data('publication-id');
292
293	var xhr = new XMLHttpRequest();
294
295	xhr.open('GET', '/ajax/getGalleryImages.php?publicationId='+ publicationId, true);
296
297	xhr.onreadystatechange = function()
298	{
299		if(xhr.status == 200 && xhr.readyState == 4)
300		{
301			var parsedResponse = JSON.parse(xhr.responseText);
302
303			var photos = '';
304
305			for(var i = 0;i < parsedResponse.length;i++)
306			{
307				var mediaAuthor = '';
308
309				if(parsedResponse[i].media_desc != null)
310				{
311					mediaAuthor = '<p>Фото '+ parsedResponse[i].media_desc +'</p>';
312				}
313
314				photos += '<div class="modal__gallery__item"> <img src="'+ parsedResponse[i].media_url +'" alt="Фото"> <div class="modal__gallery__desc"> <span class="modal__gallery__title">'+ parsedResponse[i].name +'</span> <div class="modal__gallery__info"> '+ mediaAuthor +' <p>'+ parsedResponse[i].upload_date +'</p> </div> </div> </div>'
315			}
316
317			document.querySelector('.modal__gallery__sl').innerHTML = photos;
318
319			if ($('.modal__gallery__sl').hasClass('slick-initialized'))
320			{
321				$('.modal__gallery__sl').slick('slickRemove', null, null, true);
322				$('.modal__gallery__sl').slick('destroy');
323			}
324
325			$('.modal__gallery__sl').slick({
326				arrows: true,
327				autoplay: false,
328				slidesToShow: 1,
329				autoplaySpeed: 5000,
330				dots: false,
331				responsive: [{
332					breakpoint: 480,
333					settings: {
334						arrows: false,
335					}
336				}]
337			});
338
339			$('.modal__gallery').fadeIn();
340		}
341	}
342
343	xhr.send();
344
345  });
346
347  // Hidden modal
348  $('.modal__close').on('click', function() {
349    $('.modal').fadeOut();
350	$('.video-js').html('');
351  });
352  $(document).click(function(event) {
353    if ($(event.target).closest('.gallery__item').length
354      || $(event.target).closest('.modal__gallery__box').length
355      || $(event.target).closest('.open-modal-login').length
356      || $(event.target).closest('.p-video__btn').length
357      || $(event.target).closest('.modal__box').length ) return;
358      $('.modal').fadeOut();
359      $('.video-js').html('');
360      event.stopPropagation();
361  });
362
363  // Maskedinput
364  // $(function($){
365  //   $('.phone-mask').mask(('+7 ') + '(999) 999-99-99');
366  // });
367
368  // Num slider gallery
369  var pages = $('.pagingInfo');
370  var slider = $('.modal__gallery__sl');
371  slider.on('init reInit afterChange', function(event, slick, currentSlide, nextSlide){
372   var i = (currentSlide ? currentSlide : 0) + 1;
373    pages.text(i + '/' + slick.slideCount);
374  });
375
376  // Article sl
377  $('.article__sl').slick({
378    arrows: true,
379    autoplay: true,
380    slidesToShow: 1,
381    autoplaySpeed: 5000,
382    dots: false
383  });
384
385  // News sl mob
386  if( $(window).width() < 767) {
387    $('.news__sl__mob').slick({
388      arrows: false,
389      autoplay: true,
390      slidesToShow: 2,
391      autoplaySpeed: 5000,
392      dots: true,
393      responsive: [
394        {
395          breakpoint: 350,
396          settings: {
397            slidesToShow: 1,
398          }
399        }
400      ]
401    });
402  }
403
404  radio = document.querySelector("#music source");
405  src = document.querySelector("#music source").getAttribute("src");
406  //console.log(isPlayerPlaying, radio, src);
407
408  $('.yiiLog').hide(0);
409
410});
411
412function doAuth(e)
413{
414	var email = document.getElementById('authEmail');
415	var pass = document.getElementById('authPass');
416
417	if(email.value == '')
418	{
419		return email.focus();
420	}
421
422	if(pass.value == '')
423	{
424		return pass.focus();
425	}
426
427	var xhr = new XMLHttpRequest();
428
429	xhr.open('POST', '/ajax/auth.php', true);
430
431	xhr.onreadystatechange = function()
432	{
433		if(xhr.status == 200 && xhr.readyState == 4)
434		{
435			if(xhr.responseText == '0')
436			{
437				email.value = '';
438				pass.value = '';
439				email.focus();
440
441				return alert('Неверный E-mail или пароль.');
442			}
443			else
444			{
445				window.location.reload();
446			}
447		}
448	}
449
450	var data = new FormData();
451		data.append('email', email.value);
452		data.append('password', pass.value);
453
454	xhr.send(data);
455
456	return false;
457}
458
459function doReg()
460{
461	var email = document.getElementById('regEmail');
462	var pass = document.getElementById('regPassword');
463	var passRep = document.getElementById('regPasswordConfirm');
464	var recaptchaResponse = grecaptcha.getResponse();
465
466	if(email.value == '')
467	{
468		return email.focus();
469	}
470
471	if(pass.value == '')
472	{
473		return pass.focus();
474	}
475
476	if(passRep.value == '')
477	{
478		return passRep.focus();
479	}
480
481	if(passRep.value != pass.value)
482	{
483		return alert('Введеные пароли не совпадают.');
484	}
485
486	if(pass.value.length < 6)
487	{
488		alert('Пароль не может быть короче 6 символов.');
489		return pass.focus();
490	}
491
492	if(recaptchaResponse == '')
493	{
494		return alert('Подтвердите что вы - человек.');
495	}
496
497	var data = new FormData();
498		data.append('email', email.value);
499		data.append('password', pass.value);
500		data.append('passwordConfirm', passRep.value);
501		data.append('recaptchaResponse', recaptchaResponse);
502
503	var xhr = new XMLHttpRequest();
504
505	xhr.open('POST', '/ajax/register.php', true);
506
507	xhr.onreadystatechange = function()
508	{
509		if(xhr.status == 200 && xhr.readyState == 4)
510		{
511			if(xhr.responseText == '1')
512			{
513				grecaptcha.reset();
514				return alert('Пользователь с таким E-mail уже зарегистрирован.');
515			}
516			else if(xhr.responseText == '2')
517			{
518				window.location.reload();
519			}
520			else
521			{
522				grecaptcha.reset();
523				return alert('Произошла неизвестная ошибка.');
524			}
525		}
526	}
527
528	xhr.send(data);
529}
530
531function showLogin()
532{
533	return $('.modal_login').fadeIn();
534}
535
536var commentToResponseId = null;
537
538function setCommentToResponse(commentId)
539{
540	commentToResponseId = commentId;
541	document.querySelector('.comments__input input').focus();
542}
543
544function addComment(DOM, publicationId)
545{
546	var commentText = DOM.querySelector('input');
547
548	if(commentText.value == '')
549	{
550		return commentText.focus();
551	}
552
553	var data = new FormData();
554		data.append('publicationId', publicationId);
555		data.append('text', commentText.value);
556
557		if(commentToResponseId != null)
558		{
559			data.append('responseTo', commentToResponseId);
560		}
561
562	var xhr = new XMLHttpRequest();
563
564	xhr.open('POST', '/ajax/addComment.php', true);
565
566	xhr.onreadystatechange = function()
567	{
568		if(xhr.status == 200 && xhr.readyState == 4)
569		{
570			window.location.reload();
571		}
572	}
573
574	xhr.send(data);
575}
576
577//var isPlayerPlaying = false;
578//var radio = document.querySelector("#music source");
579//var src = document.querySelector("#music source").getAttribute("src");
580//console.log(isPlayerPlaying, radio, src);
581
582function toggleRadio()
583{
584	let player = document.getElementById('music');
585	let playerIcon = document.querySelector('.radio i');
586
587	if(!isPlayerPlaying)
588	{
589		if(!radio.getAttribute('src'))
590		{
591			radio.setAttribute('src', src);
592			player.load();
593		}
594
595		player.play();
596
597		playerIcon.setAttribute('class', 'radio__pause');
598
599		isPlayerPlaying = true;
600	}
601	else
602	{
603		radio.getAttribute('src', '');
604		radio.getAttribute('src');
605		player.pause();
606
607		setTimeout(function()
608		{
609			player.load();
610		});
611
612		playerIcon.setAttribute('class', 'radio__play');
613
614		isPlayerPlaying = false;
615	}
616}
617
618/* function addPollVote(pollId, pollChoice)
619{
620	var data = new FormData();
621		data.append('pollId', pollId);
622		data.append('pollChoice', pollChoice);
623
624	var xhr = new XMLHttpRequest();
625
626	xhr.open('POST', '/ajax/addPollVote.php', true);
627
628	xhr.onreadystatechange = function()
629	{
630		if(xhr.status == 200 && xhr.readyState == 4)
631		{
632			var stats = JSON.parse(xhr.responseText);
633			document.querySelector('.interview__box').remove();
634
635			var container = document.querySelector('.interview__result');
636
637			container.removeAttribute('style');
638
639			var totalVotes = 0;
640
641			for(var i = 0;i < stats.length;i++)
642			{
643				totalVotes = parseInt(totalVotes) + parseInt(stats[i].votes);
644			}
645
646			for(var i = 0;i < stats.length;i++)
647			{
648				var percentage = stats[i].votes / totalVotes * 100;
649
650				container.innerHTML += '<div class="interview__result__item d-flex align-items-center"> <span class="interview__result__name">'+ stats[i].label +'</span> <span class="interview__result__progressbar" style="width: '+ percentage +'%"></span> <span class="interview__result__sum">
650'+ stats[i].votes +' голоса</span> </div>';
651			}
652		}
653	}
654
655	xhr.send(data);
656} */
657
658/* function subscribe()
659{
660	const messaging = firebase.messaging();
661
662	messaging.getToken().then((currentToken) =>
663	{
664		if(currentToken)
665		{
666			var data = new FormData();
667				data.append('token', currentToken);
668
669			var xhr = new XMLHttpRequest();
670
671			xhr.open('POST', '/ajax/saveFirebasePushToken.php', true);
672
673			xhr.send(data);
674		}
675	}).catch((err) => { });
676} */
677/*
678function loadMoreNews(dom)
679{
680	var id = dom.getAttribute('last-id');
681
682	var xhr = new XMLHttpRequest(),
683		data = new FormData();
684		data.append('id', id);
685
686	xhr.open('POST', '/ajax/loadMoreNews.php', true);
687
688	xhr.onreadystatechange = function()
689	{
690		if(xhr.status == 200 && xhr.readyState == 4)
691		{
692			var publications = JSON.parse(xhr.responseText),
693				container = document.querySelector('.latest-news');
694
695			for(var i = 0;i < publications.publications.length;i++)
696			{
697				var el = document.createElement('li');
698					el.className = 'latest-news__item';
699					el.innerHTML = '<span class="latest-news__time">'+ publications.publications[i].create_time +'</span> <span class="latest-news__name"><a href="https://cuba-web.ru/news/'+ publications.publications[i].id +'.html">'+ publications.publications[i].name +'</a></span>';
700
701				container.appendChild(el);
702
703				var lastId = publications.publications[i].id;
704			}
705
706			dom.setAttribute("last-id", lastId);
707		}
708	}
709
710	xhr.send(data);
711} */

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.