
$(document).ready(function(){
	
	/* ====================== BUILDING ====================== */

	var append = `
	<div class="overlay"></div>
	<div class="mobile-menu">
		<div class="mobile-menu__header d-flex ai-center">
			<button class="mobile-menu__btn-close btn-nobg btn-square fal fa-times" aria-label="Закрыть мобильное меню"></button>
		</div>
		<div class="mobile-menu__content"></div>
	</div>
	<button id="scrolltop" class="scrolltop fal fa-arrow-up" aria-label="Наверх"></button>
	`;
	$('body').append(append);
	

	/* ====================== HEADER  ====================== */

    var scrollTop = $(window).scrollTop(), hdr = $('#header'), hdrPos = hdr.offset().top + 140;
    $(window).scroll(function(){
        if ($(window).scrollTop() > scrollTop && scrollTop > hdrPos) {
            $('body').addClass('header-is-sticky');
        } else {
            $('body').removeClass('header-is-sticky');
        }
        scrollTop = $(window).scrollTop();
    });

	$('.js-theme-toggle').click(function(){
		var ls = JSON.parse(localStorage.getItem('settlf'));
		var d = ls[0] == 'lt' ? 'dt' : 'lt';
		ls[0] = d;
		localStorage.setItem('settlf',JSON.stringify(ls));
		$('body').removeClass('lt dt');
		switchTheme();
	});
	$(document).on('click','.js-show-login',function(){
		$('.overlay, .lgn').fadeIn(200);
		$('.gst').fadeOut(200);
		$('body').addClass('modal-is-opened');
		$('.mobile-menu').removeClass('is-active');
		return false;
	})
	.on('click','.header__search',function(){ 
		$('.search-block__input').focus();
		setTimeout(()=>{
			var searchWidth = $('.search-block__input').outerWidth();
			$('body').css({'--searchWidth':searchWidth+'px'});

		},500);
	});
	
	/* ====================== TABS  ====================== */

	$(".sect__tabs").on("click", "[data-id]:not(.is-active)", function(){
		var id = '#' + $(this).data('id'), page = '/' + $(this).parent().data('trg') + '.html',
			items = $(this).closest('.sect').find('.sect__content');
		$.ajax({
			url: page,
			beforeSend: function() {ShowLoading('');},			 
			success: function(data) {
			   items.html($(id, data).html());
				HideLoading('');
			},
			error: function() {HideLoading(''); alert('что-то пошло не так, прочитайте инструкцию'); }
		});
		$(this).addClass('is-active').siblings().removeClass('is-active');
	});

	/* ====================== SHORT STORY  ====================== */

	$(document).on('click','[data-href]',function(){
		var trg = $(this).data('href');
		window.location.href = trg;
	});
	
	$(document).on('click','.js-show-trailer',function(){
		let iUrl = $(this).data('trg');
		if ($(window).width() > 1220) {	 removeThtext(); };
		$.ajax({
			url: iUrl,
			beforeSend: function() {ShowLoading('');},			 
			success: function(data) {
			   $('body').append('<div class="trl d-none" id="trl"><div class="trl__inner"><div class="trl__video video-inside video-responsive"></div><div class="trl__content"></div></div><button class="trl__close btn-nobg btn-square fal fa-times"></button></div>');
			   let trl = $('#trl');
			   $('body').addClass('trl-is-opened').removeClass('sinfo-is-opened');
			   trl.find('.trl__video').append($('#trailer-block iframe', data));
			   trl.find('.trl__content').append('<a href="'+iUrl+'" class="trl__btn btn fal fa-play">Смотреть онлайн</a>');
			   trl.find('.trl__content').append($('.page__text .full-text', data));
			   trl.fadeIn(200);
			   trl.find('[data-src]').each(function(){
				   var trg = $(this).data('src');
				   $(this).attr('src',trg).removeAttr('data-src');
			   });
				HideLoading('');
			},
			  error: function() {HideLoading(''); alert('что-то пошло не так'); }
		});
	})
	.on('click','.trl__close',function(){
		$('.trl').fadeOut(200,function(){ $(this).remove(); });
		$('body').removeClass('trl-is-opened');
	});

	if ($(window).width() > 1220) {	
	
		function removeThtext() {
			timerId = setTimeout(function () {
				$('body').removeClass('pop-left').children('.th-text').remove();
			}, 100);
		};
		
		var timerId;
		
		$('body').on({
			mouseenter: function () {
				clearTimeout(timerId);
				var inf = $(this), iUrl = inf.closest('.item').find('.item__title').attr('href'),
					winWidth = window.innerWidth, iPosLeft = inf.offset().left + 37, iPosTop = inf.offset().top;
					if (iPosLeft > winWidth/2 + 200) { 
						$('body').addClass('pop-left'); iPosLeft = inf.offset().left - 457;
					};
					if( $('.th-text').length < 1 ) {
						$.ajax({
							url: iUrl,
							beforeSend: function() {
								$('body').append('<div class="th-text"><div class="th-text-loader">Загрузка</div></div>')
								$('body').children('.th-text').css({'left':iPosLeft,'top':iPosTop}).fadeIn(200);
							},			 
							success: function(data) {
								var iText = $('body').children('.th-text'); iText.empty();
								iText.append($('.page__header h1', data)); 
								iText.append($('.page__text .full-text', data)); 
								iText.append($('.page__list', data)); 
								if ($('#trailer-block', data).length > 0) {
									iText.append('<button class="page__btn-trailer js-show-trailer" data-trg="'+iUrl+'">Смотреть трейлер</button>');
								};
							},
							  error: function() { console.log('error ajax popup'); }
						});
					};
				},
			mouseleave: function () {
				removeThtext();
			}
		},'.item__btn-info');
		
		$('body').on({
			mouseenter: function () { clearTimeout(timerId); },
			mouseleave: function () { removeThtext(); }
		},'.th-text');
	
	};

	/* ====================== PAGINATION ====================== */

	$(document).on('click','.pagination__btn-loader a',function(){
		var urlNext = $(this).attr('href'), scrollNext = $(this).offset().top, 
		trg = $(this).closest('[id]').parent('[id]').attr('id');
		$.ajax({
			url: urlNext,
			beforeSend: function() { ShowLoading('<p class="bolder">Загрузка</p>Пожалуйста, подождите...','right','top'); },			 
			success: function(data) {
				$('#pagination').remove(); $('#'+trg+'').append($('#'+trg+'', data).html());
				window.history.pushState("", "", urlNext);
				$('html, body').animate({scrollTop:scrollNext}, 800);	
				$('.pagination__btn-loader span:not(.fal)').text('Больше нет новостей');
				HideLoading('');
			},
			error: function() { HideLoading(''); alert('что-то пошло не так'); }
		});
		return false;
	});

	/* ====================== FILTER BLOCK  ====================== */

	$('.filter-block__title, .js-show-filter').click(function(){
		if ($(window).width() < 760) {
			$('.filter-block').toggleClass('is-active');
			$(this).toggleClass('fa-times fa-sliders-h');
		};
	});

	/* ====================== TABS, SCROLL TO PLAYER, TEXT HIDE, LIGHT BUTTON, FRANCHISE ====================== */

	$('.tabs-block').each(function(){
		$(this).find('.tabs-block__select button:first').addClass('is-active');
		$(this).find('.tabs-block__content:first').removeClass('d-none');
		$(this).removeClass('nl');
	});
	$('.tabs-block__select').on('click', 'button:not(.is-active)', function() {
		$(this).addClass('is-active').siblings().removeClass('is-active')
		.parents('.tabs-block').find('.tabs-block__content').hide().eq($(this).index()).fadeIn(0);
		$('.tabs-block').find('[data-src]').each(function(){
			var trg = $(this).data('src');
			$(this).attr('src',trg).removeAttr('data-src');
		});
	});	
	
	$(".js-scroll-to").click(function(){
		$('html, body').animate({scrollTop:$('.page__player').offset().top - 10}, 800);
	});

	$('.js-hide-text').each(function(){
		var h = $(this).children('.full-text').outerHeight(), hHide = 160;
		if (h > hHide) {$(this).css({'overflow':'visible','max-height':'2000px'})
			.children('.full-text').css({'overflow':'hidden','height':hHide+'px'})
			.after('<div class="show-text btn">Развернуть описание</div>');
		};
	});	
	$('body').on('click','.show-text',function(){
		$(this).prev('.full-text').removeAttr('style'); 
		$(this).parent('.page__text').removeClass('js-hide-text'); 
		$(this).remove();
	});

	$('.page__light-button').click(function () {
		if ($('.dark-overlay').length === 0 ) {
			$('#page__player').before('<div class="dark-overlay d-none"></div>');
		};
		if ($(this).find('input').is(':checked')) {
			$('body').removeClass('light-off');
			$('.dark-overlay').fadeOut(200);
		} else {
			$('body').addClass('light-off');
			$('.dark-overlay').fadeIn(200);
		}
	});

	$('[data-fnid]').each(function(){
		var fnid = $(this).data('fnid');
		$('[data-nid='+fnid+']').addClass('is-active');
	});		

	/* ====================== POPUP WIDGET, MOBILE MENU, OVERLAY CLOSE ====================== */

	$(document).on('click','.wctrl__btn',function(){
		var pwidgetHtml = `
		<div class="pwidget d-none">
			<button class="pwidget__btn btn-fade w-100">Закрыть</button>
		</div>`;
		$('body').append(pwidgetHtml);
		var pwidgetContent = $(this).next('.wctrl__content');
		pwidgetContent.prependTo('.pwidget');
		$('.overlay, .pwidget').fadeIn(200);
		return false;
	})
	.on('click','.wctrl__content li',function(){
		$('.overlay').trigger('click');
	});

	$(".js-show-mobile-menu").click(function(){
		if ($('.mobile-menu--is-generated').length === 0) {
			$('.header__logo').clone().addClass('mr-auto').prependTo('.mobile-menu__header');
			$('.js-this-in-mobile-menu').each(function() {
				$(this).clone().prependTo('.mobile-menu__content');
			});	
		};
		$('.overlay').fadeIn(200);
		$('.mobile-menu').addClass('is-active mobile-menu--is-generated');
		$('body').addClass('mobile-menu-is-opened');
		$('.mobile-menu__content').find('.search-block__input').removeAttr('id');
	});
	$(document).on('click','.overlay, .lgn__btn-close, .mobile-menu__btn-close, .js-close-guest, .pwidget__btn',function(){
		$('.overlay, .lgn, .gst, pwidget').fadeOut(200,function(){ 
			var pwidget = $('.pwidget'), pwidgetContent = pwidget.find('.wctrl__content'), pwidgetId = pwidgetContent.data('id'); 
			pwidgetContent.appendTo('.wctrl[data-id="'+pwidgetId+'"]');
			pwidget.remove();
		});
		$('.mobile-menu').removeClass('is-active');
		$('body').removeClass('modal-is-opened mobile-menu-is-opened trl-is-opened');
	});
	
	/* ====================== DLE SCRIPTS ====================== */

	$(document).on('click','.ac-form__editor textarea, .fr-wrapper, .ac-form',function(){
		$('.ac-form').addClass('is-active').find('.message-info').show();
		$('.ac-toggle').removeClass('ac-toggle');
	})
	.on('click','.login__social a, .serv__social a',function(){
	   	var href = $(this).attr('href'), width  = 820, height = 420, 
	   		left   = (screen.width  - width)/2, top   = (screen.height - height)/2-100;   
		auth_window = window.open(href, 'auth_window', "width="+width+",height="+height+",top="+top+",left="+left+"menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no");
       	return false;
	}); 
	$('.js-comm-author > span').each(function(){
        var a = $(this), b = a.closest('.js-comm'), c = a.text().substr(0,1), 
            f = b.find('.js-comm-avatar'), e = f.children('img').attr('src'),
			d = ["#c57c3b","#753bc5","#79c53b","#eb3b5a","#45aaf2","#2bcbba","#778ca3"], rand = Math.floor(Math.random() * d.length);
		if (e == '/templates/'+dle_skin+'/dleimages/noavatar.png') {
            f.append('<div class="comm__letter d-flex jc-center ai-center" style="background-color:'+d[rand]+'">'+c+'</div>');
		};
    });	
	var gotop = $('#scrolltop'); 
	$(window).scroll (function () {
		if ( $(this).scrollTop () > 300 ) { gotop.addClass('is-active'); } 
		else { gotop.removeClass('is-active'); }
	});	
	gotop.click(function(){
		$('html, body').animate({ scrollTop : 0 }, 'slow');
	});

});


/* END */