jQuery(document).ready(function ($) {
	'use strict';

	( function($) {

		let app = {

			body: $('body'),

			header: $('.header > .container'),

			loader: $('.loader'),

			scrollbar_width: 0,

			all_scrolls_obj: [],

			init: function () {

				app.scrollbar_width = app.scrollbarWidth();

			},

			//scrollbar width

			scrollbarWidth: function () {

				var block = $('<div>').css({

						'height': '50px',

						'width': '50px'

					}),

					indicator = $('<div>').css({

						'height': '200px'

					});

				$('body').append(block.append(indicator));

				var w1 = $('div', block).innerWidth();

				block.css('overflow-y', 'scroll');

				var w2 = $('div', block).innerWidth();

				$(block).remove();

				return (w1 - w2);

			},

			fillScrollWidth: function (status, obj) {

				var container = $(obj),

					body = app.body;

				if (status == 'hide') {

					if (!body.hasClass('hide-scroll')) {

						body.addClass('hide-scroll');

						if (document.documentElement.clientWidth != window.innerWidth) {

							body.css({

								'overflow': 'hidden',

								'padding-right': app.scrollbar_width

							});

							app.header.css({'position': 'relative', 'right': app.scrollbar_width / 2});



						} else {

							body.css('overflow', 'hidden');

						}

						//iOS fix

						app.scroll_position = $(document).scrollTop();

						body.css({

							'position': 'fixed',

							'top': '-' + app.scroll_position + 'px',

							'height': '100%'

						});

					}

				} else {

					body.removeClass('hide-scroll');

					body.css({

						'overflow': '',

						'padding-right': '',

						'position': '',

						'top': '',

						'height': ''

					});

					app.header.css({'position': '', 'right': ''});

					$(document).scrollTop(app.scroll_position);

				}

			},

		};

		app.init();


		/**
		 * Страница опроса.
		 */

		$('body').on('click', '[data-modal]', function (e) {

			e.preventDefault();

			let $that_attr = $(this).attr('href'),

				base_class = $($that_attr).attr('data-base-class');

			if (base_class === undefined) base_class = '';


			//	$.fancybox.close();

			$.fancybox.open({

				touch: false,

				src: $that_attr,

				type: 'inline',

				smallBtn: true,

				animationEffect: "fade",

				backFocus: false,

				autoFocus: false,

				baseClass: base_class,

				beforeShow: function (instance, current) {

					app.fillScrollWidth('hide', 'body');

				},

				afterClose: function (instance, current) {

					setTimeout(function () {

						if (!app.body.hasClass('fancybox-active')) {

							app.fillScrollWidth('show', 'body');

						}

					}, 10);

				}

			});

		});

		let quiz = $('body').hasClass('page-template-page-quiz-php');
		console.log("quiz: ", quiz);

		if ( quiz ) {

			const ContDate = document.getElementById('cont-date');
			console.log("ContDate: ", ContDate);

			document.addEventListener('click', e => {
				let click = e.composedPath().includes(ContDate);

				if (!click) {
					let date = $(ContDate).find('input').prop('valueAsDate');

					if ( date instanceof Date ) {

						$(ContDate).find('.item__block.span').remove();

					}
				}
			});

			$('.interview__buttons .interview__button').on('click', function (e) {

				e.preventDefault();

				let $this = $(this);

				let name  = $this.data('stage-name').trim();
				let code  = $this.data('stage-code').trim();
				let url  = $this.data('stage-url').trim();

				$this.closest('.interview__buttons').find('.interview__stage-name--input').val(name + '. ' + code);
				$this.closest('.interview__buttons').find('.interview__stage-url--input').val(url);
			});

			$('.interview__choice .interview__button').on('click', function (e) {

				e.preventDefault();

				let $this = $(this);

				let choice = $this.html().trim();

				$this.closest('.interview__choice--buttons').find('.interview__you-know--input').val(choice);
			});


			$('#questionnaire__form').submit(function (e) {

				e.preventDefault();

				let $this = $(this);

				let validation = true;

				let date_container     = $this.find('.interview__date--container');
				let date_input         = $this.find('.interview__date--input');
				let stage_name_buttons = $this.find(' > .interview__buttons');
				let stage_name_input   = $this.find('.interview__stage-name--input').val();
				let you_know_buttons   = $this.find('.interview__choice--buttons');
				let you_know_input     = $this.find('.interview__you-know--input').val();
				console.log("you_know_input: ", you_know_input);

				let date_val = date_input.val();

				if ( date_val == '' || date_val == undefined ) {

					validation = false;

					date_container.find('.item__block').addClass('validation-error');

					date_input.trigger('focus');

					date_container.find('.interview__date--placeholder').hide();

				}

				if ( stage_name_input == '' || stage_name_input == undefined ) {

					validation = false;

					let offset_top = stage_name_buttons.offset().top;

					stage_name_buttons.find('.interview__button').addClass('validation-error');

					if ( date_val != '' && date_val != undefined ) {

						$('html').animate({
							scrollTop: offset_top - 150
						}, {
							duration: 300,
							easing: "swing"
						});

					}

				}

				if ( you_know_input == '' || you_know_input == undefined ) {

					validation = false;

					you_know_buttons.find('.interview__button').addClass('validation-error');
					console.log("you_know_buttons.find('.interview__button'): ", you_know_buttons.find('.interview__button'));

				}

				if ( validation ) {

					$.ajax({

						url : '/vremya_proveritsya/wp-admin/admin-ajax.php?action=stat',
						type : 'POST',
						data : $this.serializeArray(),
						success : function(data) {

							location = $('input[name="stage_url"]').val();

						}

					});

				}

			});

			$('#questionnaire__form .interview__date--input').on('change', function () {
				$(this).removeClass('validation-error');
			});

			$('#questionnaire__form > .interview__buttons .interview__button').on('click', function () {
				$('#questionnaire__form > .interview__buttons .interview__button').removeClass('validation-error');
			});

			$('#questionnaire__form .interview__choice--buttons .interview__button').on('click', function () {
				$('#questionnaire__form .interview__choice--buttons .interview__button').removeClass('validation-error');
			});

		}


		/**
		 * Страница стадии.
		 */

		$('.blockTabs__card').on('click', function (e) {

			e.preventDefault();

			let link = $(this).attr('href');

			$.ajax({

				url : '/vremya_proveritsya/wp-admin/admin-ajax.php',
				type : 'POST',
				data: {
					action: 'link_count',
					link: link,
				},
				success : function(data) {

					location = link;

				}

			});


		});


		$(document).on('click', '.video-modal', function (e) {

			e.preventDefault();

			var $that_attr = $(this).siblings('.vd-modal');

			$.fancybox.close();

			$.fancybox.open({

				touch: false,

				src: $that_attr,

				smallBtn: true,

				animationEffect: "fade",

				backFocus: false,

				type: 'inline',

				video: {

					autoStart: false

				},

				beforeShow: function (instance, current) {

					app.fillScrollWidth('hide', 'body');

					app.site_modals_open = true;

				},



				afterClose: function (instance, current) {

					setTimeout(function () {

						if (!app.body.hasClass('fancybox-active')) {

							app.fillScrollWidth('show', 'body');

							app.site_modals_open = false;

						}

					}, 10);

				}

			});

		});


		$('.blockRow__item:not(.empty)').on('click', function (e) {

			e.preventDefault();

			let $this = $(this);

			let offset_top = $('.blockPopular').offset().top;

			let link  = $this.attr('href');

			let date     = $this.data('date');
			let duration = $this.data('duration');
			let likes    = $this.data('likes');

			let image = $this.find('img').attr('src');
			let title = $this.find('.blockRow__item--text').html();
			let desc  = $this.data('description');

			$('.blockPopular__item--listen').attr('href', link);

			$('.blockPopular__item--row--date span').html(date);
			$('.blockPopular__item--row--time span').html(duration);
			$('.blockPopular__item--row--like .number-likes').html(likes);

			$('.blockPopular__item--box img').attr('src', image);
			$('.blockPopular__descr--title').html(title);
			$('.blockPopular__descr--text').html(desc);

			$('html').animate({
				scrollTop: offset_top - 150
			}, {
				duration: 300,
				easing: "swing"
			});

		});

		$('.blockRow__item.empty, .blockPopular__item--listen.empty').on('click', function (e) {

			e.preventDefault();

		});




	} )( jQuery );


});