/home/bdqbpbxa/demo-subdomains/smt.goodface.com.ua/wp-content/themes/smt/js/script.js
$(function() {
	$(document).on('wpcf7mailsent', function() {
		$('.wpcf7-form.sent').find('.form-block').removeClass('form-focus');
		$('.before-sent').addClass('sent-hide').delay(250).queue(function() {
			$('.after-sent').removeClass('sent-hide');
			$('.before-sent').parent().css('height', $('.after-sent').outerHeight() + 'px');
			$('.before-sent').dequeue();
        });
	});

	$(document).on('wpcf7submit', function() {
		if ($('.name-block').find('input').hasClass('wpcf7-not-valid')) {
			$('.name-block').addClass('invalid-block');
		} else {
			$('.name-block').removeClass('invalid-block');
		}

		if ($('.tel-block').find('input').hasClass('wpcf7-not-valid')) {
			$('.tel-block').addClass('invalid-block tel-invalid');
		} else {
			$('.tel-block').removeClass('invalid-block tel-invalid');
		}
  	});

	$('.more').on('click', function() {
		let $this = $(this),
			$editor = $this.siblings('.text-more');

	    $editor.css('max-height', $editor.attr('data-height') + 'px')
	    $this.addClass('more-hide').delay(250).queue(function() {
	    	$this.remove();
	    	$this.dequeue();
	    });
	});

	$('.file').find('input').on('change', function() {
	    let fileValue = $(this).val().replace(/.*(\/|\\)/, '');

	    $(this).closest('.file').find('.file-info').addClass('file-show');
	    $(this).closest('.file').find('.file-info').children('.text1').text(fileValue);
	});

	$('.file').find('.remove').on('click', function() {
	    $(this).closest('.file').find('.file-info').removeClass('file-show');
	    $(this).closest('.file').find('.file-info').children('.text1').text('');
	});

	$('.form').find('input').not(':input[type="file"], :input[type="submit"]').on('focusin', function() {
    	if (!$(this).val()) {
      		$(this).closest('.form-block').addClass('form-focus');
      	}
	});

	$('.form').find('input').not(':input[type="file"], :input[type="submit"]').on('focusout', function() {
		if (!$(this).val()) {
      		$(this).closest('.form-block').removeClass('form-focus');
		}
	});

	$('.anchor').on('click', function(event) {
		event.preventDefault();

	    let anchor = $(this).attr('href');

	    $('html, body').scrollTop($(anchor).offset().top - $('.header').outerHeight());
	});

	$('.toggle-label').on('click', function() {
		let $toggle = $(this).closest('.toggle');

		$toggle.siblings().removeClass('toggle-open');
		$toggle.siblings().find('.toggle-content').css('max-height', '');
		$toggle.addClass('toggle-open');
		$toggle.find('.toggle-content').css('max-height', $(this).closest('.toggle').find('.toggle-content').attr('data-height') + 'px');
	});

	$(document).on('click', '.model-slider .slick-next', function() {
		if (window.matchMedia('screen and (min-width: 1280px)').matches) {
	    	$('html, body').scrollTop(modelOffset - ($('.header').outerHeight()/2));
	    }
	});

	$('.model-slider').on('init', function(event, slick) {
	    if (slick.slideCount > 1) {
	    	let currentSlideSeparator = (slick.currentSlide + 1 < 10) ? '0' : '';
	    	let slideCountSeparator = (slick.slideCount < 10) ? '0' : '';
	      	$('.models').find('.slider-counter').removeClass('slider-counter-hide');
	      	$('.models').find('.current-number').text(currentSlideSeparator + (slick.currentSlide + 1));
	      	$('.models').find('.total-number').text(slideCountSeparator + slick.slideCount);
	    } else {
	      	$('.models').find('.slider-counter').addClass('slider-counter-hide');
	    }
	});

	$('.model-slider').slick({
		speed: 1000,
	    prevArrow: '',
	    nextArrow: '<div class="slick-next"></div>',
	    dots: false,
	    draggable: false,
    	touchMove: false,
    	swipe: false,
    	centerMode: true,
    	centerPadding: ($(window).width() - $('.container').width())/2 + ($('.container').width() - $('.model-viewer').width())/2 + 'px',
    	responsive: [
	    	{
		    	breakpoint: 1025,
		    	settings: {
		        	centerPadding: '32px'
		    	}
			},
			{
		    	breakpoint: 768,
		    	settings: {
		    		centerPadding: '10px',
		        	prevArrow: '<div class="slick-prev"></div>',
		        	draggable: true,
			    	touchMove: true,
			    	swipe: true
		    	}
			}
		]
  	});

  	$('.model-slider').on('beforeChange', function(event, slick, currentSlide, nextSlide) {
  		if (window.matchMedia('screen and (min-width: 1280px)').matches) {
	    	$(slick.$slides).find('.model-viewer').removeAttr('camera-orbit').attr('camera-orbit', '45deg 75deg 105%');
	    	$(slick.$slides.get(nextSlide)).find('.model-viewer').removeAttr('camera-orbit').attr('camera-orbit', '45deg 75deg 105%');
	    	
	    	$('.slider-content').find('.slide-content').slideUp(500, function() {
	    		$('.slider-content').find('.slide-content').html($(slick.$slides.get(nextSlide)).find('.slide-content').html());
	    		$('.slider-content').find('.slide-content').children().each(function() {
	    			$(this).removeClass('effect effect-bottom');
	    		});
	    		$('.slider-content').find('.slide-content').slideDown(500);
	    	});
	    }
	    
    	let nextSlideSeparator = (nextSlide + 1 < 10) ? '0' : '';
    	$('.models').find('.current-number').text(nextSlideSeparator + (nextSlide + 1));
	});

	$('.model-slider').on('afterChange', function(event, slick, currentSlide) {
		if (window.matchMedia('screen and (min-width: 1280px)').matches) {
			$(slick.$slides).find('.slide').css('height', '');
			$(slick.$slides).filter('.slick-center').find('.slide').css('height', $('.intro').outerHeight() + $('.models').outerHeight() + $('.header').outerHeight()/2 + 'px');
		}
	});

	$('.photo-slider').on('init', function(event, slick) {
	    if (slick.slideCount > 1) {
	    	let currentSlideSeparator = (slick.currentSlide + 1 < 10) ? '0' : '';
	    	let slideCountSeparator = (slick.slideCount < 10) ? '0' : '';
	      	$('.photos').find('.slider-counter').removeClass('slider-counter-hide');
	      	$('.photos').find('.current-number').text(currentSlideSeparator + (slick.currentSlide + 1));
	      	$('.photos').find('.total-number').text(slideCountSeparator + slick.slideCount);
	    } else {
	      	$('.photos').find('.slider-counter').addClass('slider-counter-hide');
	    }
	});

	$('.photo-slider').slick({
		speed: 1000,
		autoplay: true,
		autoplaySpeed: 5000,
	    prevArrow: '',
	    nextArrow: '<div class="slick-next"></div>',
	    dots: false,
	    draggable: false,
    	touchMove: false,
    	swipe: false,
    	centerMode: true,
    	centerPadding: ($(window).width() - $('.container').width())/2 + 'px',
    	responsive: [
	    	{
		    	breakpoint: 1025,
		    	settings: {
		        	centerPadding: '16px'
		    	}
			},
			{
		    	breakpoint: 768,
		    	settings: {
		    		centerPadding: '15px',
		        	prevArrow: '<div class="slick-prev"></div>',
		        	draggable: true,
			    	touchMove: true,
			    	swipe: true
		    	}
			}
		]
  	});

  	$('.photo-slider').on('beforeChange', function(event, slick, currentSlide, nextSlide) {
  		let nextSlideSeparator = (nextSlide + 1 < 10) ? '0' : '';
    	$('.photos').find('.current-number').text(nextSlideSeparator + (nextSlide + 1));
	});

	$('.form').find('input[type="tel"]').inputmask({
	    'mask': '+380 (99) 999 99 99',
	    showMaskOnHover: false
	});
});

var modelOffset;

$(window).on('load', function() {
	modelOffset = $('.model-slider').find('.slick-slide').filter('.slick-center').find('.model').offset().top;
	setTextHeight();
	setToggleHeight();
	if (window.matchMedia('screen and (min-width: 1280px)').matches) {
		$('.model-slider').find('.slick-slide').filter('.slick-center').find('.slide').css('height', $('.intro').outerHeight() + $('.models').height() + 'px');
	}
	scrollEffect();
	increaseNumbers();
});

$(window).on('resize', function() {
	setTextHeight();
	setToggleHeight();
});

$(window).on('scroll', function() {
	if (window.matchMedia('screen and (min-width: 1280px)').matches) {
		$('.model-slider').find('.slick-slide').filter('.slick-center').find('.model-viewer').removeAttr('camera-orbit').attr('camera-orbit', '45deg 75deg 105%');

		if ($(window).scrollTop() > modelOffset - ($('.header').outerHeight()/2)) {
			$('.model-slider').find('.slick-slide').filter('.slick-center').find('.model-viewer').attr('interaction-prompt', 'none');
		} else {
			$('.model-slider').find('.slick-slide').filter('.slick-center').find('.model-viewer').attr('interaction-prompt', 'auto');
		}
	}

	if (window.matchMedia('screen and (max-width: 767px)').matches) {
		$('.intro').find('.model-viewer').removeAttr('camera-orbit').attr('camera-orbit', '45deg 75deg 105%');

		if ($(window).scrollTop() > 0) {
			$('.header').addClass('header-scroll');
		} else {
			$('.header').removeClass('header-scroll');
		}
	}

	scrollEffect();
	increaseNumbers();
});

function setToggleHeight() {
	$('.toggle').each(function() {
		$(this).find('.toggle-content').attr('data-height', $(this).find('.toggle-content').children().outerHeight());
		$(this).filter('.toggle-open').find('.toggle-content').css('max-height', $(this).filter('.toggle-open').find('.toggle-content').attr('data-height') + 'px');
	});
}

function setTextHeight() {
	if ($('.more').is(':visible')) {
		let totalHeight = 0;
		
		$('.text-more').children().each(function() {
		    totalHeight += $(this).outerHeight(true);
		});

		$('.text-more').attr('data-height', totalHeight);
	}
}

function scrollEffect() {
	let scroll = $(window).scrollTop();
  	
  	$('.block').each(function() {
		if (scroll > $(this).offset().top + $(this).outerHeight()) {
			$(this).addClass('done-block');
		}
	});
	$('.done-block').find('.effect').filter(':visible').addClass('visible-effect done');
  	$('.block').not('.done-block').find('.effect').filter(':visible').each(function() {
    	if (scroll > $(this).offset().top - $(window).height()) {
    		$(this).addClass('visible-effect');

      		let effects = $('.visible-effect').not('.done'),
        		index = 0;

      		let delay = setInterval(function() {
        		if (index < effects.length) {
          			$(effects[index]).addClass('done');
          			index++;
        		} else {
          			clearInterval(delay);
          			$(effects).addClass('done');
        		}
      		}, 250);
    	}
  	});
}

function increaseNumbers() {
	let scroll = $(window).scrollTop();
  	
  	$('.numbers').find('.number').each(function() {
    	let $this = $(this),
        	number = $(this).find('.character').children('span').attr('data-character');

    	if (!$(this).hasClass('complete') && $('.numbers').offset().top - $(window).height() <= scroll) {
      		$({counter: 0}).delay(250).animate({counter: number}, {
        		duration: 2500,
        		easing: 'linear',
        		step: function() {
        			$this.addClass('complete');
          			$this.find('.character').children('span').html(Math.floor(this.counter));
        		}, complete: function() {
          			$this.find('.character').children('span').html(this.counter);
        		}
      		});
    	}
  	});
}