PageSourceSearch

https://a-island.ru/template/js/script.js?ver=4

js a-island.ru collected 2026-09-28 08:55:03 UTC 16,214 bytes, 572 lines download raw bytes

1 fancyLang={
2 lang: "ru",
3    i18n: {
4        ru: {
5            CLOSE: "Закрыть",
6            NEXT: "Далее",
7            PREV: "Назад",
8            ERROR: "Не удается загрузить ресурс",
9            PLAY_START: "Запустить слайдшоу",
10            PLAY_STOP: "Пауза",
11            FULL_SCREEN: "На полный экран",
12            THUMBS: "Превью",
13            DOWNLOAD: "Скачать",
14            SHARE: "Поделиться",
15            ZOOM: "Масштаб"
16        }
17    }
18};
19
20$('document').ready(function() {
21    $.mobilePanel({ 'navbar': '.b-nav-top' });
22
23//Кнопка "Наверх"
24
25$(window).scroll(function(){
26	if($(window).scrollTop()>150){
27		$(".b-back-to-top").fadeIn(500);
28	}else{
29		$(".b-back-to-top").fadeOut(500);
30	}
31});
32
33
34$(".b-back-to-top").click(function () {
35	$("body, html").animate({
36		scrollTop: 0
37	}, 800);
38	return false;
39});
40
41if ($('.ymap')){
42    
43    $('.ymap').each(function(i){
44        var id = 'map-' + i;
45        $(this).attr('id', id);
46        renderMap(id, $(this).attr('data-coord'), $(this).attr('data-content'), $(this).attr('data-hint') );
47    });
48}
49
50function renderMap(id, coord, content, hint){
51    ymaps.ready(function () {
52        
53        coordBallun = coord.split(",");
54
55        coordCenter = coord.split(",");
56        coordCenter[1] = parseFloat(coordCenter[1])+0.002;
57
58        var myMap = new ymaps.Map(id, {
59            center: coordCenter,
60                zoom: 15
61            }, {
62                searchControlProvider: 'yandex#search'
63            });
64
65            //Создаём макет содержимого.
66            MyIconContentLayout = ymaps.templateLayoutFactory.createClass(
67                '<div style="color: #FFFFFF; width: 176px; text-align: center; font-size: 14px; font-family: Conv_GothamProRegular; white-space:nowrap"><i class="icon-palma"></i> <span>$[properties.iconContent]</span></div>'
68            );
69
70
71        myPlacemarkWithContent = new ymaps.Placemark(coordBallun, {
72                hintContent: '',
73                balloonContent: hint,
74                iconContent: content
75            }, {
76                iconLayout: 'default#imageWithContent',
77                iconImageHref: '/template/i/point.png',
78                iconImageSize: [206, 50],
79                // Смещение левого верхнего угла иконки относительно
80                // её "ножки" (точки привязки).
81                iconImageOffset: [-27, -50],
82                // Смещение слоя с содержимым относительно слоя с картинкой.
83                iconContentOffset: [8, 8],
84                iconContentLayout: MyIconContentLayout
85                });
86
87        myMap.geoObjects.add(myPlacemarkWithContent);
88   });
89}
90
91
92
93
94    if ($('.partners__list .partners__item').length>2) {
95        $('.partners__list').slick({
96            dots: false,
97            infinite: true,
98            autoplay: true,
99            arrows: true,
100            speed: 1500,
101            autoplaySpeed: 4000,
102            slidesToShow: 8,
103            slidesToScroll: 1,
104            responsive: [
105                {
106                    breakpoint: 1025,
107                    settings: {
108                        slidesToShow: 5,
109                        adaptiveHeight: true
110                    }
111                },
112                {
113                    breakpoint: 568,
114                    settings: {
115                        slidesToShow: 1,
116                        arrows: false,
117                        slidesToScroll: 1,
118                        adaptiveHeight: true
119                    }
120                }
121            ]            
122
123        });
124    }
125
126///////
127
128
129    $(".trigger-file").click(function() {
130        $(this).siblings("[type='file']").trigger("click");
131    });
132
133    $(".jot-form input[type='file'][name='avatar']").change(function() {
134        $(".jot-form input[type='hidden'][name='avatar']").val($(this).val());
135        var filename = $(this).val().split(/(\\|\/)/g).pop();
136        $(".jot-form .filename").html(filename);
137    });
138
139    /*tabs*/
140    $('.b-tabs:not(".searches") .tabs__item:first-child').addClass('active');
141    $('.b-tabs:not(".searchess") .tabs__content:first-child').addClass('active');
142    $('.b-tabs:not(".searches") .tabs__item').on('click', function() {
143        parent = $(this).parents('.b-tabs');
144       
145        $('.tabs__item', parent).removeClass('active');
146        $(this).addClass('active');
147
148        $('.tabs__content', parent).removeClass('active');
149        $('.tabs__content', parent).eq($(this).index()).addClass('active');
150
151    });
152
153
154
155
156    /*MAIN SLIDER*/
157    if ($('.main-slider__list').length) {
158        $('.main-slider__list').slick({
159            lazyLoad: 'ondemand',
160            dots: true,
161            infinite: true,
162            autoplay: true,
163            arrows: true,
164            speed: 1500,
165            autoplaySpeed: 4000,
166            fade: true,
167            cssEase: 'linear',
168            responsive: [
169                {
170                    breakpoint: 1024,
171                    settings: {
172                        arrows: false,
173                    }
174                }
175               
176            ]     
177
178        });
179    }
180
181    /* ex Slider*/
182    if ($('.b-ex-slider').length) {
183        //1. генерируем превью
184        var slider = $('.b-ex-slider');
185        var parent = 'slider-1';
186        var sliderCount = $('.ex-slider__item', slider).length;
187 
188        if ($('.ex-slider__item', slider).length) {
189            //self = this;
190
191            //1. запускаем основной слайдер
192            if (sliderCount > 9){
193                var asNavFor = '#' + parent + ' .ex-slider__thumbs';
194            } else {
195                asNavFor='';
196            }
197
198            $('.ex-slider__list').slick({
199                lazyLoad: 'ondemand',
200                fade: true,
201                cssEase: 'linear',
202                asNavFor: asNavFor,
203                autoplay: true
204            });
205
206            //2. запускаем слайдер превью
207
208            if (sliderCount>9){
209            $('.ex-slider__thumbs').slick({
210                slidesToShow: 9,
211                slidesToScroll: 1,
212                asNavFor: '#' + parent + ' .ex-slider__list',
213                focusOnSelect: true,
214                centerMode: true
215            });
216            } else {
217                $('.ex-slider__thumbs', slider).hide();
218            }
219            //3. вешаем фанси
220           
221            // $('.ex-slider__list a', slider).fancybox({
222            // 'transitionIn'  : 'elastic',
223            // 'transitionOut' : 'elastic',
224            // 'speedIn'   : 600, 
225            // 'speedOut'    : 200, 
226            // 'overlayShow' : false
227            // });
228            
229        }
230
231    } else {
232        $('.b-ex-slider').hide()
233    }
234
235
236    //inputmask
237    $('.phonemask').inputmask("+7 (999) 999-99-99");
238
239    /*Открыть попап формы зазказа звонка */
240    $('.js-callback-btn').on('click', function() {
241        $.fancybox.open($('.popup_callback'), fancyLang);
242        return false;
243    })
244
245
246
247
248
249});
250// document redy
251
252
253
254
255/* common form sender */
256
257/* protect */
258$('.form__protect').val('19X84-lider');
259 
260 $('.js-form-submit').on('submit', function(){
261     var form=$(this);
262     var error=$(this).parent().find('.form__error');
263     var success=$(this).parent().find('.form__success');
264     var url=$(this).attr('action');
265     var submit=$('.form__submit', this);
266 
267     
268     error.hide();
269     success.hide();
270     submit.prop('disable', true);
271 
272     $.ajax({
273         url: url,
274         type: "post",
275         data: $(this).serialize(),
276         dataType: 'json',
277         success: function(response) {
278             if (response.status == 'success') {
279                 error.hide();
280                 submit.prop('disable', false);
281                 form.slideUp(300, function() {
282                     success.slideDown();
283                 });
284                 setTimeout(function() {
285                     $.fancybox.close();
286                     form.slideDown();
287                     success.hide();
288                 }, 10000);
289                 
290             } else {
291                 error.show();
292             }
293             
294         }
295     }).fail(function(response) {
296         error.show();
297         console.log(response);
298     });
299 
300     return false;
301 });
302
303 /* fancybox */
304
305$('.fancybox').fancybox(fancyLang);
306
307
308/* calendar */
309
310try {
311    // search form: calendar calendar
312    flatpickr = flatpickr || { l10ns: {} };
313    flatpickr.l10ns.ru = {};
314
315    flatpickr.l10ns.ru.firstDayOfWeek = 1; // Monday
316
317    flatpickr.l10ns.ru.weekdays = {
318        shorthand: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
319        longhand: ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота']
320    };
321
322    flatpickr.l10ns.ru.months = {
323        shorthand: ['Янв', 'Фев', 'Март', 'Апр', 'Май', 'Июнь', 'Июль', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],
324        longhand: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь']
325    };
326    flatpickr.l10ns.ru.rangeSeparator = ' - ';
327    flatpickr.l10ns.ru.scrollTitle = "Прокрутите колесом для изменения";
328    if (typeof module !== "undefined") {
329        module.exports = flatpickr.l10ns;
330    }
331
332    flatpickr.localize(flatpickr.l10ns.ru);
333
334    $('.js-datepicker').flatpickr({
335
336        dateFormat: "d.m.y",
337        minDate: "today",
338    });
339	$('.js-datepicker-range').flatpickr({
340        dateFormat: "d.m.y",
341        minDate: "today",
342        mode: "range",
343    });
344} catch (e) { }
345
346
347
348/* sticky */
349stickyNav = function (navbar, minWidth) {
350    navbar = document.querySelector(navbar);
351    sticky = navbar.offsetTop;
352    minWidth = minWidth ? minWidth : 768;
353
354    function onScroll() {
355        if (sticky == 0) { sticky = navbar.offsetTop}
356        windowWinth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
357        if ((window.pageYOffset >= sticky) && (windowWinth > minWidth)) {
358           
359            navbar.classList.add("sticky");
360        } else {
361            navbar.classList.remove("sticky");
362        }
363    }
364
365    document.addEventListener('scroll', onScroll);
366}
367stickyNav('.b-nav-top', 769);
368
369
370
371/* nav-top toggle item  */
372
373$('.js-nav-top__toggle-item').on('click', function(){
374    $(this).parent().toggleClass('opened');
375});
376
377
378/* Search */
379
380/*SEARCH*/
381/*
382$('.js-search-form').on('submit', function(){
383	
384	$.ajax({
385		url: $(this).attr('action'),
386		type: 'GET',
387		data: $(this).serialize(),
388	})
389	.done(function(data) {
390		$('.b-search-result, .b-search-result1').html(data);
391		$('.ditto_pages').hide();
392		$('.b-smallfilter+.u-content h2').hide();
393
394		$("body, html").animate({
395			//scrollTo: $('.b-search-result')[0].scrollIntoView(true)
396		}, 800);
397
398
399	}).fail(function(data) {
400		console.log('error');
401	});
402
403	return false;
404});
405*/
406
407checkboxList={
408	closeAll:function(){
409		$('.checkbox-list-wr').hide();
410	},
411	setCount:function(parent){
412        var count = $('input[type="checkbox"]:not(".js-checkbox-list__checkbox--any"):checked', parent).length;
413     
414        
415		if (count){
416			parent.parents('.search__field').find('.js-choiseToggle').text('Выбрано [' + count + ']');
417            $(".js-checkbox-list__checkbox--any").prop('checked', false);
418        } else {
419    
420            parent.parents('.search__field').find('.js-choiseToggle').text(parent.parents('.search__field').find('.js-choiseToggle').attr('data-label'));
421            $(".js-checkbox-list__checkbox--any").prop('checked', 'checked');
422		}
423	},
424	init:function(){
425		
426		$('.js-choiseToggle').on('click', function(){
427			checkboxList.closeAll();
428			$(this).next().slideToggle();
429		});
430
431		$('.checkbox-list__close').on('click', function(){
432			$(this).parent().hide();
433		})
434
435		$('html').click(function(e){
436		   if($(e.target).parents('.search__field').length == 0 ||  $(e.target).parents('.search__submit-wr').length != 0) {
437			 checkboxList.closeAll();
438		   }
439		});
440
441        $('.checkbox-list input[type="checkbox"]').change(function(){
442            var list = $(this).parent().parent();                                                                              
443            if ($(this).val() == 0) {
444                $('input[type="checkbox"]:not(".js-checkbox-list__checkbox--any")', list).prop('checked', false);
445			  } else {
446                $(".js-checkbox-list__checkbox--any", list).prop('checked', false);
447			  }
448			  checkboxList.setCount(list.eq(0));
449		});  
450        
451        $('.checkbox-list').each(function(){
452            checkboxList.setCount($(this));
453        })
454	
455	}
456};
457
458checkboxList.init();
459
460
461try {
462	
463	region = new URL(document.location).searchParams;
464	duration = new URL(document.location).searchParams;
465	dates = new URL(document.location).searchParams;
466	priceTo = new URL(document.location).searchParams;
467	priceFrom = new URL(document.location).searchParams;
468	
469    $('.search__duration--from option').each(function() {
470        if ($(this).attr('value') == duration.get("durationFrom")) {
471            $(this).prop('selected', true);
472        }
473    });
474	
475	$('.search__duration--to option').each(function() {
476        if ($(this).attr('value') == duration.get("durationTo")) {
477            $(this).prop('selected', true);
478
479        }
480    });
481	/*
482    $('.checkbox-list__checkbox:checked:not(.js-checkbox-list__checkbox--any)').each(function () {
483		
484		var count = $('.checkbox-list__checkbox:checked', this).length;
485		
486		if ($(this).attr('checked') == region.get("region[]")) {
487			$(this).attr('checked');
488		}
489		
490		$('.js-choiseToggle').text('Выбрано [' + count + ']');
491	});
492*/
493	
494	$('.search__date').val(dates.get("dates"));
495	
496	$('.search__price--from').val(priceFrom.get("priceFrom"));
497	
498	$('.search__price--to').val(priceTo.get("priceTo"));
499	
500		
501} catch (err) {
502
503}
504
505$(function(){	
506	
507	$('.js-search__date').daterangepicker({
508		autoClose: true,
509		format: 'DD.MM.YYYY',
510		separator: ' - ',
511		startOfWeek: 'monday',
512		minDays: 0,
513		maxDays: 0,
514		autoUpdateInput:false,
515		autoApply: true,
516		"locale":  {
517			"format": "DD.MM.YYYY",
518			"separator": " - ",
519			"applyLabel": "Apply",
520			"cancelLabel": "Cancel",
521			"fromLabel": "From",
522			"toLabel": "To",
523			"customRangeLabel": "Custom",
524			"weekLabel": "W",
525			"daysOfWeek": [
526			"ПН",
527			"ВТ",
528			"СР",
529			"ЧТ",
530			"ПТ",
531			"СБ",
532			"ВС"
533			],
534			"monthNames": [
535			"Январь",
536			"Февраль",
537			"Март",
538			"Апрель",
539			"Май",
540			"Июнь",
541			"Июль",
542			"Август",
543			"Сентябрь",
544			"Октябрь",
545			"Ноябрь",
546			"Декабрь"
547			],
548			"firstDay": 1
549		},
550		"linkedCalendars": false,
551		//"alwaysShowCalendars": true,
552		//startDate: moment(new Date()).add(1,'days').format('DD.MM.YYYY'),
553		//"endDate": moment(new Date()).add(2,'days').format('DD.MM.YYYY')
554	});
555
556	$('.js-search__date').on('apply.daterangepicker', function(ev, picker) {
557		$('.js-search__date').val(picker.startDate.format('DD.MM.YYYY')+' - '+picker.endDate.format('DD.MM.YYYY'));
558	  });
559});
560
561document.addEventListener('DOMContentLoaded', () => {
562  const items = document.querySelectorAll('.faq-new-item');
563	if(items.length>0){
564		items.forEach(item => {
565			const question = item.querySelector('.faq-new-question');
566			question.addEventListener('click', () => {
567			  item.classList.toggle('active');
568			});
569		  });
570	}
571	  
572});

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.