PageSourceSearch

https://pravoslavie.ru/static/js/common_v20160930.js?20210709

js pravoslavie.ru collected 2026-10-02 02:44:16 UTC 13,885 bytes, 445 lines download raw bytes

1function mainScrollPick(btn) {
2    if (mainScrollPickFlag)
3        return false;
4    mainScrollPickFlag = true;
5
6    var width = $('.block-editors-pick__item').width();
7    var offset = Number($('.block-editors-pick__items').attr('data-offset'));
8    var timeAnimation = 1000;
9
10    if (!$('.block-editors-pick__items').attr('data-offset')) {
11        first = $('.block-editors-pick__item:first').clone();
12        last = $('.block-editors-pick__item:last').clone();
13        last.prependTo(".block-editors-pick__items");
14        first.appendTo(".block-editors-pick__items");
15        offset = -(width);
16        $('.block-editors-pick__items').css({marginLeft: -(width)});
17    }
18
19    var length = $('.block-editors-pick__item').length - 2;
20
21    if (!btn) {
22        offset -= width; // налево
23    }
24
25    if (btn && btn.className == 'block-editors-pick__button block-editors-pick__button_left') {
26        offset += width; // налево
27        timeAnimation = 500;
28    }
29
30    if (btn && btn.className == 'block-editors-pick__button block-editors-pick__button_right') {
31        offset -= width; // направо
32        timeAnimation = 500;
33    }
34
35    $('.block-editors-pick__items').width((length + 2) * width).animate({
36        marginLeft: offset
37    }, timeAnimation, function () {
38        mainScrollPickFlag = false;
39        if (offset == -((length + 1) * width)) {
40            offset = -(width);
41            $('.block-editors-pick__items').css({marginLeft: offset});
42        }
43        if (offset == 0) {
44            offset = -(length * width);
45            $('.block-editors-pick__items').css({marginLeft: offset});
46        }
47        $('.block-editors-pick__items').attr('data-offset', offset);
48    });
49}
50
51
52
53function fancyboxImage() {
54
55    var ImagesList = new Array();
56
57    $('.content_image img').each(function (e) {
58        var content_image = $(this).closest('.content_image');
59        var url = $(this).attr('src');
60        var image = false;
61        var title = $(this).attr('title');
62        var classlink = "";
63
64        if ($(this).parent().is('a')) {
65            url = $(this).parent().attr('href');
66            if (url.indexOf('jpg') + 1)
67                image = true;
68            if (url.indexOf('png') + 1)
69                image = true;
70            if (url.indexOf('gif') + 1)
71                image = true;
72            $(this).unwrap('a');
73            classlink = "link zoom";
74            $(this).parent().removeAttr('onclick');
75        }
76        content_image
77                .addClass(classlink)
78                .attr('data-id', e)
79                .attr('data-href', url)
80                .attr('title', title);
81
82        ImagesList[e] = {};
83        ImagesList[e].href = url;
84        ImagesList[e].title = title;
85
86        if (!image) {
87            if (url != $(this).attr('src')) {
88                $(this).wrap('<a href="' + url + '" target="_blank"></a>');
89                content_image.removeClass('zoom');
90            }
91        }
92
93
94    });
95
96    $(".content_image.zoom").click(function (e) {
97
98        var ImagesListAct = new Array();
99        var id = Number($(this).attr('data-id'));
100
101        for (i in ImagesList) {
102            j = Number(i) + ImagesList.length;
103
104            if (i >= id) {
105                ImagesListAct[i] = {};
106                ImagesListAct[i].href = $('.content_image[data-id="' + i + '"]').attr('data-href');
107                ImagesListAct[i].title = $('.content_image[data-id="' + i + '"]').attr('title');
108            } else {
109                ImagesListAct[j] = {};
110                ImagesListAct[j].href = $('.content_image[data-id="' + i + '"]').attr('data-href');
111                ImagesListAct[j].title = $('.content_image[data-id="' + i + '"]').attr('title');
112            }
113
114        }
115
116        var ImagesListReady = [];
117
118        for (var k = 0; k < ImagesListAct.length; k++) {
119            if (k in ImagesListAct) {
120                ImagesListReady.push(ImagesListAct[k]);
121            }
122        }
123
124        $.fancybox.open(ImagesListReady, {
125            openEffect: 'none',
126            closeEffect: 'none',
127            prevEffect: 'none',
128            nextEffect: 'none',
129            nextClick: true,
130            padding: 5,
131            margin: [20, 60, 20, 60],
132            overlayShow: true,
133            helpers: {
134                title: {
135                    type: 'inside'
136                }
137            }
138        });
139
140        return false;
141
142
143    });
144}
145
146
147var mainScrollPickFlag = false; // флаг для блока "Выбор редакции" на главной странице
148
149
150function declOfNum(number, titles)
151{
152    cases = [2, 0, 1, 1, 1, 2];
153    return titles[ (number % 100 > 4 && number % 100 < 20) ? 2 : cases[(number % 10 < 5) ? number % 10 : 5] ];
154}
155
156$(document).ready(function () {
157    try {
158        /**
159         * подгрузка статистики для документа
160         */
161        $.ajax({
162            url: "/back/doc/metrica/" + DATA.docs[0] + ".json?hour=" + Math.floor(Date.now() / 1000 / 60 / 60),
163        }).done(function (data) {
164            //eval("var json=" + data);
165            var json=data;
166            var v = json.stats.metrics['ym:s:pageviews'];
167            function numberWithCommas(x) {
168                return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, "&nbsp;");
169            }
170            if (v > 2) {
171                v = numberWithCommas(v);
172                var e = $('li.block-doc-print__item');
173                e.first().html(v + " " + declOfNum(v, ['просмотр', 'просмотра', 'просмотров', ]));
174                e.css('display', 'inline');
175            }
176        });
177    } catch (e) {
178    }
179
180// опрос
181//    try {
182//        if (DATA.handlerId==148) {
183//            $.ajax({
184//                url: "/back/poll/show/",
185//            }).done(function (data) {
186//                var e = $('.block-poll');
187//                e.html(data);
188//                /* Кнопка отправки формы опроса */
189//                $('.block-poll__submit').click(function () {
190//                    var ans = $('input[name=ans]:checked', '.block-poll form ').val();
191//                    if (ans > 0) {
192//                        $.post("/back/poll/save/", {send_ans: ans}, function (data) {
193//                            var e = $('.block-poll');
194//                            e.html(data);
195//                        });
196//                    } else {
197//                        // ничего не выбрано
198//                    }
199//                });
200//
201//            });
202//        }
203//    } catch (e) {
204//    }
205
206    // рейтинг
207    try {
208        if (DATA.isDoc && !DATA['doc']['ratingDisabled']) {
209            $.ajax({
210                url: "/back/rating/show/?id=" + DATA.docs[0],
211            }).done(function (data) {
212                var e = $('.block-rating');
213                e.html(data);
214                /* Кнопка отправки формы опроса */
215                $('.block-rating__number').click(function () {
216                    var rating = (Number)($(this).html());
217                    if (rating > 0) {
218                        $.post("/back/rating/save/", {rating: rating, id: DATA.docs[0]}, function (data) {
219                            var e = $('.block-rating');
220                            if(DATA.site=='English'){
221								e.html(data + "<h3>Thank you, your vote has been received. The rating will be recalculated in a bit.</h3>"); 
222                            } else {
223								e.html(data + "<h3>Спасибо, Ваш голос учтен. Перерасчет рейтинга произойдет чуть позже.</h3>");
224							}
225                        });
226                    } else {
227                        // ничего не выбрано
228                    }
229                });
230
231            });
232        }
233    } catch (e) {
234    }
235
236
237
238    fancyboxImage();
239
240	$('.manual_upload_noresize').fancybox({
241        fitToView: false
242    });
243
244    $('.imagetext').each(function () {
245        if ($(this).text() == 'undefined') {
246            $(this).hide();
247        }
248    });
249
250
251
252    /* Подключаем аудиоплеер */
253    $('audio').audioPlayer();
254
255    /* Переход на комментарии из блока анонса */
256
257    $('.block-publications__hover-comments').click(function () {
258        var href = $(this).closest('a').attr('href');
259        $(this).closest('a').removeAttr('href');
260        location.href = href + '#comments';
261        return false;
262    });
263
264    /* Кнопка Наверх */
265    $('.wrapper').append('<div class="toplink" style="display: none;"></div>');
266	if($('body').width() < 1440) {
267		$('.toplink').css({'right': 40, 'left': 'auto'});
268	} else {
269		$('.toplink').css({'left': ($('.wrapper').width() + $('.wrapper').offset().left) + 40, 'right': 'auto'});
270	}
271		
272    $('.toplink').click(function () {
273        $('body, html').animate({scrollTop: 0}, 400);
274    });
275
276    $(window).resize(function () {
277		if($('body').width() < 1440) {
278			$('.toplink').css({'right': 40, 'left': 'auto'});
279		} else {
280			$('.toplink').css({'left': ($('.wrapper').width() + $('.wrapper').offset().left) + 40, 'right': 'auto'});
281		}
282    });
283
284    $(window).scroll(function () {
285        if ($(this).scrollTop() > $(window).height() / 2) {
286            $('.toplink').fadeIn();
287        } else {
288            $('.toplink').fadeOut();
289        }
290    });
291
292    /* Дата в шапке */
293    $('.header__calendar').each(function () {
294        var today = new Date();
295        var oldstyle = new Date(today);
296        oldstyle.setDate(today.getDate() - 13);
297
298        var day = today.getDate();
299        var month = today.getMonth() + 1;
300        var year = today.getFullYear();
301
302        var oldday = oldstyle.getDate();
303        var oldmonth = oldstyle.getMonth() + 1;
304        var oldyear = oldstyle.getFullYear();
305
306        var dayLink = oldday;
307        if (oldday < 10)
308            dayLink = "0" + oldday;
309
310        var monthLink = oldmonth;
311        if (oldmonth < 10)
312            monthLink = "0" + oldmonth;
313
314        $(this).attr('href', 'http://days.pravoslavie.ru/Days/' + oldyear + '' + monthLink + '' + dayLink + '.html');
315
316        var dayWidth = 40;
317        var dayHeight = 30;
318        var dayLeft = 0;
319        var dayTop = 0;
320
321        if (day < 11) {
322            dayTop = dayHeight * (day - 1);
323        }
324
325        if (day >= 11 && day < 21) {
326            dayTop = dayHeight * (day - 11);
327            dayLeft = dayWidth;
328        }
329
330        if (day >= 21) {
331            dayTop = dayHeight * (day - 21);
332            dayLeft = dayWidth * 2;
333        }
334
335        $('.header__calendar-days').css('background-position', '-' + dayLeft + 'px -' + dayTop + 'px');
336
337        var monthWidth = 60;
338        var monthHeight = 20;
339        var monthLeft = 120;
340        var monthTop = monthHeight * (month - 1);
341
342        $('.header__calendar-months').css('background-position', '-' + monthLeft + 'px -' + monthTop + 'px');
343		
344		$('.header__calendar-days, .header__calendar-months').css('display', 'block');
345    });
346
347    /* Поиск */
348    $('.block-search__input')
349		.focus(function () {
350			if ($(this).val() == "Введите слово или имя автора")
351				$(this).val('');
352			if ($(this).val() == "Enter a word or author's name")
353				$(this).val('');
354		})
355		.blur(function () {
356			if ($(this).val() == '') {
357				if (DATA.site=='English') {
358					$(this).val("Enter a word or author's name");
359				} else {
360					$(this).val('Введите слово или имя автора');
361				}
362			}
363
364		});
365	
366	/* Костыли для мобильных устройств */
367	/*if($('body').width() < 1275) {
368		$('.block-seealso__image').each(function(){  
369		  if($(this).width() < 400) {
370			$(this).find('img').css('width', '100%');
371			$(this).find('img').css('height', 'auto');
372		  }
373		});
374	}*/
375	
376	/* Страница пожжертвований */
377	$('.more._hidden').click(function(){
378		$(this).hide();
379		$('.button.hide').show();
380		
381	});
382	
383	
384	/* Соцсети */
385	
386	// ВКонтакте
387	$.getScript( "//vk.com/js/api/openapi.js?49", function( data, textStatus, jqxhr ) {
388		var apiId = 2008125;
389		
390		if(DATA.docId > 127329) {
391			var apiId = 7132284;
392		}		
393		
394		VK.init({apiId: apiId, onlyWidgets: true});
395		VK.Widgets.Like("vk_like", {type: 'mini', height: 20, pageUrl: $('.block-share-default').attr('data-url')});
396
397	});	
398	
399	// Елицы
400	/*
401	$.getScript( "//elitsy.ru/dev/api.js", function( data, textStatus, jqxhr ) {  
402		$('.block-share-default__item_elitsy').html(EL.Share.button({"style":"button","text":"Поделиться","url":$('.block-share-default').attr('data-url')}));
403	});
404	*/
405	
406	// Facebook
407	/*
408	(function(d, s, id) {
409	var js, fjs = d.getElementsByTagName(s)[0];
410	if (d.getElementById(id)) return;
411	js = d.createElement(s); js.id = id;
412	js.src = "//connect.facebook.net/ru_RU/sdk.js#xfbml=1&version=v2.5";
413	fjs.parentNode.insertBefore(js, fjs);
414	}(document, 'script', 'facebook-jssdk'));
415	*/
416	
417	// Twitter
418	/*!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");*/
419	
420	// Google+
421	/*$.getScript("https://apis.google.com/js/platform.js");*/
422	
423	// OK
424	!function (d, id, did, st) {
425	  var js = d.createElement("script");
426	  js.src = "https://connect.ok.ru/connect.js";
427	  js.onload = js.onreadystatechange = function () {
428	  if (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") {
429		if (!this.executed) {
430		  this.executed = true;
431		  setTimeout(function () {
432			OK.CONNECT.insertShareWidget(id,did,st);
433		  }, 0);
434		}
435	  }};
436	  d.documentElement.appendChild(js);
437	}(document,"ok_shareWidget",$('.block-share-default').attr('data-url'),"{width:100,height:30,st:'rounded',sz:20,nt:1}");
438
439	// Mail.Ru
440	$.getScript("https://cdn.connect.mail.ru/js/loader.js");
441	
442
443	
444
445});

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.