$(document).ready(function () {
	 /**
	 * attachFormValidator
	 * @description  attach form validation to elements
	 */
	function attachFormValidator(elements) {
		// Custom validator - phone number
		regula.custom({
			name: 'PhoneNumber',
			defaultMessage: 'Неверный формат номера телефона',
			validator: function() {
				if ( this.value === '' ) return true;
				else return /^(\+\d)?[0-9\-\(\) ]{5,}$/i.test( this.value );
			}
		});

		for (var i = 0; i < elements.length; i++) {
			var o = $(elements[i]), v;
			o.addClass("form-control-has-validation").after("<span class='form-validation'></span>");
			v = o.parent().find(".form-validation");
			if (v.is(":last-child")) {
				o.addClass("form-control-last-child");
			}
		}

		elements
			.on('input change propertychange blur', function (e) {
				var $this = $(this), results;

				if (e.type !== "blur") {
					if (!$this.parent().hasClass("has-error")) {
						return;
					}
				}

				if ($this.parents('.rd-mailform').hasClass('success')) {
					$(".tab-finish .catalog .item").each(function() {
						$(this).children('a').removeClass('disabled');

//                            gtag('event', 'form_submit', {'sending_data':'data_submit'});
//						ym(74608789,'reachGoal','form_sending');
					});

					return;
				}

				if ((results = $this.regula('validate')).length) {
					for (i = 0; i < results.length; i++) {
						$this.siblings(".form-validation").text(results[i].message).parent().addClass("has-error")
					}
				} else {
					$this.siblings(".form-validation").text("").parent().removeClass("has-error")
				}
			})
			.regula('bind');

		var regularConstraintsMessages = [
			{
				type: regula.Constraint.Required,
				newMessage: "Поле обязательно для заполнения"
			},
			{
				type: regula.Constraint.Email,
				newMessage: "Укажите корректный email"
			},
			{
				type: regula.Constraint.Numeric,
				newMessage: "Only numbers are required"
			},
			{
				type: regula.Constraint.Selected,
				newMessage: "Please choose an option."
			}
		];


		for (var i = 0; i < regularConstraintsMessages.length; i++) {
			var regularConstraint = regularConstraintsMessages[i];

			regula.override({
				constraintType: regularConstraint.type,
				defaultMessage: regularConstraint.newMessage
			});
		}
	}
	 /**
	 * isValidated
	 * @description  check if all elemnts pass validation
	 */
	function isValidated(elements) {
		var results, errors = 0;

		if (elements.length) {
			for (var j = 0; j < elements.length; j++) {

				var $input = $(elements[j]);
				console.log($input);
				if ((results = $input.regula('validate')).length) {
					for (k = 0; k < results.length; k++) {
						errors++;
						$input.siblings(".form-validation").text(results[k].message).parent().addClass("has-error");
					}
				} else {
					$input.siblings(".form-validation").text("").parent().removeClass("has-error")
				}
			}

			return errors === 0;
		}
		return true;
	}

	
	
    var userAgent = navigator.userAgent.toLowerCase(),
        initialDate = new Date(),

        $document = $(document),
        $window = $(window),
        $html = $("html"),
        $body = $("body"),

        isDesktop = $html.hasClass("desktop"),
        isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1,
        isIE = userAgent.indexOf("msie") != -1 ? parseInt(userAgent.split("msie")[1]) : userAgent.indexOf("trident") != -1 ? 11 : userAgent.indexOf("edge") != -1 ? 12 : false,
        isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
    
		plugins = {
				rdMailForm: $(".rd-mailform"),
				rdInputLabel: $(".form-label"),
				regula: $("[data-constraints]"),
			};
	
	
	if (isIE) {
		location = 'https://turkov.ru/pritochno-vytyazhnye-unstanovki-s-rekuperaciej-tepla/';
	}
	
	
	$window.on( 'load', function () {
		
		// ------- Кваизы ------- 
        var currentTab = new Map([
            ['tab', 0],
            ['tab1', 0],
            ['tab2', 0],
            ['tab3', 0],
            ['tab4', 0],
            ['tab5', 0],
            ['tab6', 0],
            ['tab7', 0],
            ['tab8', 0],
            ['tab9', 0],
            ['tab10', 0]
        ]);  
        
        jQuery('.quaises .start').on('click','.btn', function() {
            $(this).parents(".block-tab").parent().hide();
            nextPrev(0,'tab1');
        });
		
        jQuery('.quaises .start-over').on('click', function() {
            location.reload();
        });
        
//        jQuery('.quaises .show-more').on('click','a', function() {
//            $('.quaises-warning').remove();
//
//            var tab = $(this).parents(".block-tab").parent();
//
//            if (tab.attr('class') != 'tab' && tab.find('input:checked')[0] === undefined) {
//                $('.quaises-warning').remove();
//                var warning_btn = '<div class="alert-warning quaises-warning"><img src="/wp-content/themes/sdent/assets/images/warning.svg">Пожалуйста, выберите один из вариантов</div>' ;
//                $(this).parents(".block-tab").prepend(warning_btn);
//                return false;
//            }
//            
//            nextPrev(1,tab.attr('class'));
//        });

        $('.quaises input[type="radio"]').click(function(e) {
            $('.quaises-warning').remove();
            var tab = $(this).parents(".block-tab").parent();

//            if (tab.attr('class') != 'tab' && tab.find('input:checked')[0] === undefined) {
//                $('.quaises-warning').remove();
//                var warning_btn = '<div class="alert-warning quaises-warning"><img src="/wp-content/themes/sdent/assets/images/warning.svg">Пожалуйста, выберите один из вариантов</div>' ;
//                $(this).parents(".block-tab").prepend(warning_btn);
//                return false;
//            }
            setTimeout(nextPrev, 350, 1, tab.attr('class'));
        });
		
		$('.quaises input[type="checkbox"]').click(function(e) {
			
			let ln = $(this).parents(".ln-radio");
			let step = jQuery('.quaises .step');
			let next_step = step.children('.next-step');
			
			$.each(ln.children(), function(i, item) {
				let checkbox = $(item).children('input');
				
				console.log(checkbox.is(':checked'));
				
				if (checkbox.is(':checked')) {
					next_step.prop("disabled",false); 
					return false;
				} else
					next_step.prop("disabled",true);
			});
		});
		
        jQuery('.quaises .tab-2').on('click','label', function() {
            $(this).children('input').prop('checked', true);
            $(this).parents(".block-tab").parent().hide();
            nextPrev(0,$(this).attr('data'));

            return false;
        });

        jQuery('.quaises .step').on('click','.bar', function() {
            nextPrev(-1,getActivTab());
        });
        
        jQuery('.quaises .step').on('click','.show-more, .next-step', function() {
            nextPrev(1,getActivTab());
        });
        
        var getActivTab = function() {
            var tab = $('.quaises > form > div[style="display: block;"]:not(div.step)');
            var activ_tav = '';

            if (tab.attr('class') == 'tab-finish') {
                activ_tav = tab.attr('data');
                tab.hide();
            } else {
                activ_tav = tab.attr('class');
            }
            return activ_tav;
        }
        
        var showTab = function(n,tab) {
            if (jQuery('.quaises .' + tab).length == n) {
             /*   
                let form = $('.rd-quaisesform');
                let mailform = $('form[data-form-type="quaises_us"]');
                
                mailform.find('input[name="quaises"]').val(form.serialize());
                
                $.ajax({
                    method: form.attr('method'),
                    url: form.attr('action'),
                    data: form.serializeArray(),
                    async: false
                })
                .done(function (responce) {
                    if (responce.airexchange) alert(responce.airexchange);
                    $('.tab-finish .catalog').empty();
                    $.each(responce.output, function(i, item) {
                        let newElemshref = $("<a href='https://turkov.ru/catalog/pritochno_vytyazhnye_ustanovki_s_rekuperatsiey_tepla_i_vlagi/" + item.ID + "/' class='disabled' target='_blank'></a>")
                            .append("<img src='https://turkov.ru/upload/" + item.SUBDIR + '/' + item.FILE_NAME + "'/>")
                            .append("<strong>" + item.NAME + "</strong>");
                        let newElems = $("<div class='item'></div>").append(newElemshref);
                        
                        $('.tab-finish .catalog').append(newElems);
                    });
                });

//                console.log($('.container.quaises').parents("form").serializeArray());
                
               */ 
				jQuery('.quaises .tab-finish').attr('data',tab).show();
            } else {
                jQuery('.quaises .' + tab).eq(n).show();
            }

            if (tab != 'tab') fixStepIndicator(n,tab);
        }
        var nextPrev = function(n,tab) {
            jQuery('.quaises .' + tab).eq(currentTab.get(tab)).hide();

            if (n == -1 && currentTab.get(tab) == 0) {
//                $('.modal.quiz').modal('toggle');
                showTab(0,'tab1');
//                jQuery('.quaises .step').hide();
//                showTab(1,'tab');
            } else {
                currentTab.set(tab,currentTab.get(tab) + n);
                showTab(currentTab.get(tab),tab);
            }
        }
        var fixStepIndicator = function(n,tab) {
            n = n+1;
            var step = jQuery('.quaises .step');
            var progress_bar = step.children('.progress').children('.progress-bar');
            var tabs_length = jQuery('.' + tab).length + 1;
            var progress = (100 / tabs_length) * n;
            progress_bar.css('width', progress + '%');
            progress_bar.attr('aria-valuenow', progress);
            step.children('.bar').text('Шаг ' + n + ' из ' + tabs_length);
            
            let curent_tab = jQuery('.quaises .' + tab).eq(n-1);
            let show_more = step.children('.show-more');
            let next_step = step.children('.next-step');
            
            if (curent_tab.data('validate'))
                show_more.show();
            else
                show_more.hide();
            
			if (curent_tab.data('multiple')) {
				let h2 = curent_tab.find('.semi-h2');
				let message = '<div class="message">выберите один или несколько вариантов</div>';
				
				curent_tab.find('.message').remove();
				
				h2.after(message);
//				console.log(curent_tab);
				next_step.show();
			} else
                next_step.hide();
			
            if (tabs_length == n)
                step.hide();
            else    
                step.show();
        }
        
        $('.quaises').each(function() {
            showTab(0,'tab1');
        });
        /*
        $('.quaises-in-page').each(function() {
            let id = $(this).data('quaises-id');
            
            $(this).append( $('#' + id) );
            $('#' + id).removeClass('modal');
            $('#' + id).removeClass('fade');
        });
		*/
        // ------- Кваизы ------- 
	}); 
	
	
	$(".project-slide ul").lightSlider({
        item:1,
        thumbItem: 0,
        thumbMargin: 0,
        slideMove: 1,
        slideMargin: 0
    });
	
    $(".gallery-902").lightSlider({
        item:1,
        thumbItem: 0,
        thumbMargin: 0,
        slideMove: 1,
		controls: true
    }); 
	
    $window.on('load resize', function () {
		if ($(this).width() < 481) {
			if (typeof dealerProducts !== 'undefined') {
				dealerProducts.destroy();
			}
			dealerProducts = $(".dealer-products").lightSlider({
				item:1,
				thumbItem: 0,
				thumbMargin: 0,
				slideMove: 1,
				slideMargin: 0,
				controls: false
			});
		} else {
			if (typeof dealerProducts !== 'undefined') {
				dealerProducts.destroy();
			}
		}
    });
	
    
//    $window.on('load resize', function () {
//            if ($(this).width() < 681) {
//                $("#project").lightSlider({
//                    item:1,
//                    thumbItem: 0,
//                    thumbMargin: 0,
//                    slideMove: 1,
//                });
//            }
//    });
    
    $('.asked-questions-block .question').click(function () {
            $('.asked-questions-block .answer').not($(this).next()).slideUp(333);
            $(this).toggleClass('opened').next().slideToggle(333);

            $('.asked-questions-block .question.opened').not($(this)).each(function () {
                $(this).removeClass('opened');
            });
    });
    
    $('.accessories .slide-block').click(function () {
        if ($window.width() < 993) {
            $('.asked-questions-block .answer, .accessories .recruit p').not($(this).next()).slideUp(333);
            $(this).toggleClass('opened').next().slideToggle(333);

            $('.accessories .slide-block.opened').not($(this)).each(function () {
                $(this).removeClass('opened');
            });
        }
    });
    
    
    $(".video-block .frame").on("click", function() {
		var videoBlock = $(this).parent();
        var id = videoBlock.attr("video_id");
        var frame = $(this);
		
		frame.addClass('play');
		
        if (id) {
            frame.html('<div class="video-responsive"><iframe src="//www.youtube.com/embed/' + id + '?autoplay=1&mute=1&enablejsapi=1" allowfullscreen="" height="' + frame.height() + '" width="100%" frameborder="0" allow="autoplay"></iframe></div>');
        }
    });
    
    $('.rd-mailform .form-wrap_checkbox').on('click', function() {
        var form = $(this).parent();
        var checkbox = $(this).find("input[type='checkbox']");
        var button = $(form).find('.btn');

        if (!$(checkbox).is(':checked')) {
            $(button).prop('disabled', true);
        } else {
            $(button).prop('disabled', false);
        } 
    });
    
    $('.form-input, .form-textarea').on('input', function() {
        var label = $(this).siblings('.form-label');
        
        if ($(this).focus()) {
            $(label).hide();
        }

        if ($(this).val().length == 0) {
            $(label).show();
        }
    });
    
    
    $('.nav.nav-pills').on('click', '.nav-link:not(.active)', function() {
        $(this)
            .addClass('active').parent().siblings().children().removeClass('active')
            .closest('.nav.nav-pills').siblings('.tab-content').find('.tab-pane').removeClass('active').eq($(this).parent().index()).addClass('active');
    });
	
	$('.tab-content .nav-accordion-item').on('click', function () {
		$(this).parent().toggleClass('active');
		
		$('.tab-content .tab-pane.active').not($(this).parent()).each(function () {
			$(this).removeClass('active');
		});
    });
	
    
    $('.modal.open').on('click', function() {
        var popup_id = $('#' + $(this).attr("rel"));
		$("body").css("overflow", "hidden");
        $(popup_id).addClass('visible').fadeIn();
        
		
		var dataTitle = $(this).data('title');

		if (dataTitle) {
			var title = $(popup_id).find('div.title');
			var defaultTitle = title.data('default-title');
			var order = $(popup_id).find("input[name='order']");
			var formTitle = $(popup_id).find("input[name='form_title']");
			
			if (defaultTitle) {
				title.text(defaultTitle + ' ' + dataTitle);
				formTitle.val(defaultTitle + ' ' + dataTitle);
			}

			if (order) {
				var btn = $(popup_id).find('.btn'); 
				
				order.val(dataTitle);
				
				if (btn) {
					btn.attr('id', 'order-' + dataTitle.replace(/ /g, '-').toLowerCase())
				}
			}
		}
		
        setTimeout(function() {
            $(popup_id).children().addClass('visible').fadeIn('fast','swing'); 
        }, 100);
    });
    var hide_modal = function(e) {
		$("body").css("overflow", "auto");
        $(e).children().removeClass('visible').fadeOut('fast','swing');
            
        setTimeout(function() {
             $(e).removeClass('visible').fadeOut('fast');
        }, 100);
    }
	//Закртытие модалки по клику по области во круг неё
   $('.modal.fade').click(function(e) {
		if ($(e.target).closest('.modal-dialog__inner').length == 0) {
           hide_modal(e.target);
		}
	});
    $('.modal-dialog__inner').on('click', '.close', function() {
        var modal = $(this).closest('.modal.fade');
        hide_modal(modal);
    });
	
	 /**
	 * Regula
	 * @description Enables Regula plugin
	 */
	if (plugins.regula.length) {
		attachFormValidator(plugins.regula);
	}
	
	$('.rd-mailform').on("submit", function(e){
		e.preventDefault();
		
		var inputs = $(this).find("[data-constraints]");
		
		if (isValidated(inputs)) {
			$.ajax({
				url: $(this).attr('action'),
//				url: '/form',
				method: 'post',
				dataType: 'html',
				data: $(this).serialize(),
				success: function(data){
					setTimeout( 'location="/thank-you";', 50 );
//					window.open('/thank-you');
				}
			});
		}
	});
	
	
	$(document).on("click", ".toggle-block", function(e) {
        e.preventDefault();
		$(".mobile_menu_container").toggleClass("loaded");
    });
	
    $(document).on("click", ".mobile_menu_content .close", function(e) {
        $(".mobile_menu_container").removeClass("loaded");
    });
	
/*
    $("input[type='tel']").mask("+7 (999) 999-99-99", {selectOnFocus: true});

    $("input[type='tel']").on('click', function() {
        let pos = 4;
        if ($(this).get(0).setSelectionRange) {
            $(this).get(0).setSelectionRange(pos, pos);
        } else if ($(this).get(0).createTextRange) {
            var range = $(this).get(0).createTextRange();
            range.collapse(true);
            range.moveEnd('character', pos);
            range.moveStart('character', pos);
            range.select();
        }
    });
*/

	$('.cookie__btn').on('click',  function (){
		document.cookie = "ApproveCookie=true; path=/; max-age=31556926";
		$('.cookie').remove();
	})
	
});


