/**
 * Created by Juli on 29.10.2018.
 */

jQuery(document).ready(function () {
    $('#zipProperty').removeAttr('readonly');
    $(document).on('change','#zipProperty', function () {
        $(this).removeAttr('readonly');
    })
    $(function(){
        $('.short-card .btn-fast-buy').on('click', function(){
            $(this).parents('.short-card').toggleClass('hover');
        })
        $('.short-card .btn-back').on('click', function(){
            $(this).parents('.short-card').toggleClass('hover');
        })
    })
    /* placeholder */
   // jQuery('input, textarea').placeholder();

    /* validate the form*/
    try {
        jQuery.validator.addMethod("regx", function (value, element, regexpr) {
            return regexpr.test(value);
        });
        jQuery.validator.addMethod('selectcheck', function (value) {
            return (value != '0');
        });
    }
    catch (e){
        console.log('error addMethod');
    }



    /* Mask phone */
    var phoneInputMask = jQuery('input[name=phone]');
    try {
        phoneInputMask.mask("+7 (999) ?999 - 99 - 99", {placeholder: "*", clearOnLostFocus: true});
        phoneInputMask.on("blur", function () {
            var last = $(this).val().substr($(this).val().indexOf("-") + 1);

            if (last.length == 3) {
                var move = $(this).val().substr($(this).val().indexOf("-") - 1, 1);
                var lastfour = move + last;

                var first = $(this).val().substr(0, 9);

                $(this).val(first + '-' + lastfour);
            }
        });
    }
    catch (e){}


    /* remove redundant notice */
    $('.adm-warning-text:contains(В процессе создания)').remove();

    let warning = getCookie('warning');
    console.log('warning' , warning);
    if(warning === undefined || warning === 'notok'){
        $('.warning__fader, #warning').show();
    }
    $('.warning_eighteen').on('click', function (){
        setCookie('warning', 'ok');
        $('.warning__fader, #warning').hide();
    })

    $('.warning_no_eighteen').on('click', function (){
        setCookie('warning', 'notok');
        location.href=' https://www.google.ru/';
    })
});
function showIntroPopup() {
    $.fancybox.open( {
        src  : '#intro-msg'
    });
    $('.intro-msg').parents('.fancybox-container').find('.fancybox-bg').css({background: 'rgba(255,255,255,0.8)'})
    localStorage.introShown = 1;
}

function showRegionPopup() {
    $('#form-clear-basket').hide();
    $('#form-prevent').hide();
    $('#big-form').show();
    $.fancybox.close();
    $.fancybox.open( {
        src  : '#region-form',

       opts : {
           btnTpl : {
               smallBtn : '<div data-fancybox-close class="modal-close"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"\n' +
               'width="24" height="24"\n' +
               'viewBox="0 0 192 192"\n' +
               'style=" fill:#000000;"><g fill="none" fill-rule="nonzero" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode: normal"><path d="M0,192v-192h192v192z" fill="none"></path><g fill="#ffffff"><path d="M37.65625,26.34375l-11.3125,11.3125l58.34375,58.34375l-58.34375,58.34375l11.3125,11.3125l58.34375,-58.34375l58.34375,58.34375l11.3125,-11.3125l-58.34375,-58.34375l58.34375,-58.34375l-11.3125,-11.3125l-58.34375,58.34375z"></path></g></g></svg></div>'
           },
            beforeClose : function( instance, current ) {
               var shouldCloseForm=false;
                $.ajax({
                    method: 'POST',
                    dataType: 'json',
                    async:false,
                    url: '/ajax/ajax_location_detected.php',//'?action=ADD2BASKET&id='+offerId,
                    success: function (result) {
                        if(result.CHECK==false){
                            $('#form-prevent').show();
                            $('#big-form').hide();
                        }
                        else {
                            shouldCloseForm=true;
                        }
                    }
                });
                if(shouldCloseForm){}
                else{ return false; }
            }
        }
    });
    $('.fancybox-bg').hide();
}
function showLocationDetected(){
    $('.detect-location__question').css('animation','1s 1 alternate forwards open')
}
$(function(){

    try
    {
        $('.bx-ui-sls-variants').scrollbar();
    }
    catch (e){
        console.log('error scrollbar');
    }

    /*if($('#is_form_shown').val()) {
        if ($('#cur_location_id').val() === '') {
          //  setTimeout(showRegionPopup(false), 10000);

        }
        else if ($('#cur_location_id').val() === 'msk' || $('#cur_location_id').val() === 'prm') {
            //setTimeout(showRegionPopup(true), 10000);
        }
    }*/
   /* if($('#is_form_shown').val()==='') {
        setTimeout(showRegionPopup(), 10000);
    }*/
    /*if($('*').is('.detect-location__question')) {
         setTimeout(showLocationDetected, 1000);

    }*/

   /*$('.btselect_location_one_more').on('click', function () {
        showRegionPopup();
    });*/
 /**   $(document).on('click','.modal-close', function(){
            console.log('close');
        if($('#cur_location_id').val()==''){
            $('#form-clear-basket').hide();
            $('#form-prevent').show();
            $('#big-form').hide();

            $.fancybox.close();
            $.fancybox.open( {
                src  : '#region-form',
                btnTpl : {
                    smallBtn : '<div data-fancybox-close class="modal-close"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"\n' +
                    'width="24" height="24"\n' +
                    'viewBox="0 0 192 192"\n' +
                    'style=" fill:#000000;"><g fill="none" fill-rule="nonzero" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode: normal"><path d="M0,192v-192h192v192z" fill="none"></path><g fill="#ffffff"><path d="M37.65625,26.34375l-11.3125,11.3125l58.34375,58.34375l-58.34375,58.34375l11.3125,11.3125l58.34375,-58.34375l58.34375,58.34375l11.3125,-11.3125l-58.34375,-58.34375l58.34375,-58.34375l-11.3125,-11.3125l-58.34375,58.34375z"></path></g></g></svg></div>'
                }
            });
            $('.fancybox-bg').hide();
            return false;
        }
    })*/
    $('.btn_choose__location,.location-list__item, .btn_select_location_one_more').on('click', function(){
        var location_id=$(this).data('id');
        var location=$(this);
        $.ajax({
            method: 'POST',
            dataType: 'json',
            url: '/ajax/isBasketNotEmpty.php',
            success: function (result) {
                if(location.hasClass('location-list__item')){
                    $('.select_location').val(location_id);
                }
                if(result.is_not_empty=='Y'){
                    $('#big-form').hide();
                    $('#form-prevent').hide();
                    $('#form-clear-basket').show();

                    return false;
                }
               else{
                    $('#region-form form').submit();
               }
            }
        });




    })
    /*$('.answer-no').on('click',function(){
        $('.detect-location__question').slideUp();
        showRegionPopup();
    });*/

   /* $('.answer-yes').on('click',function(){
        $('.detect-location__question').slideUp();
        $.ajax({
            method: 'POST',
            dataType: 'json',
            url: '/ajax/ajax_location_detected.php',//'?action=ADD2BASKET&id='+offerId,
            success: function (result) {
            }
        });
    });*/
   /* $('.btn_clear_basket__no').on('click', function(){
        $.fancybox.close();
    })
    $('.btn_clear_basket__yes').on('click', function(){
        $('#region-form form').submit();
    })*/

    /*$('.location-list__item').on('click', function () {
        var location_id=$(this).data('id');
        $('#select_location').val(location_id);
        $(this).parents('form').submit();
    })*/

   /* $('#region,#region_mobile').on('click',function(){
        showRegionPopup();
    })*/

    if (false && !localStorage.introShown) setTimeout(showIntroPopup(), 13000);

    $('.menu-item').hover(function () {
        $(this).find('.menu-child').fadeIn(200);
    }, function () {
        $(this).find('.menu-child').fadeOut(0);
    });
    $('.menu-child').hover(function () {
        $(this).fadeIn(200);
    }, function () {
        $(this).fadeOut(0);
    });

    $(document).on('click','.item__fast-order,.btn-back', function () {
         $(this).parents('.card').toggleClass('flipped');
        $(this).parents('.item__container').find('.front').toggle();
        $(this).parents('.item__container').find('.back').toggle();
     })

    $('.item select').on('change',function(){
        $(this).parents('.item__container').css('overflow-y','scroll');
    })
    //событие кнопки "в корзину"
    $(document).on('click','.btn-add',function(){
       gtag_report_conversion();

        var btn=$(this);
        if(!btn.hasClass('disabled')) {
            var select = $(this).parents('.short-card').find('.selection_item select');
            var itemName = $(this).parents('.short-card').find('.name').text();
            var itemsToBasket = [];
            select.each(function (index, elem) {
                var quantity = parseInt($(elem).val());
                if (quantity > 0) {
                    var offerId = parseInt($(elem).data('sku'), 10);

                    itemsToBasket[index] = {'offerId': offerId, 'quantity': quantity};
                }
            });
            if (itemsToBasket.length > 0) {
                $.ajax({
                    method: 'POST',
                    dataType: 'json',
                    async: false,
                    url: '/ajax/add_item_to_basket.php',//'?action=ADD2BASKET&id='+offerId,
                    data: {
                        ajax_basket: 'Y',
                        items: itemsToBasket,
                        name: itemName
                    },
                    success: function (result) {

                        $(result).each(function(i,e) {
                            if( parseInt(result[i].quantity) && result[i].added===false )
                            {
                                showModal('Невозможно добавить товар', "В корзине находится максимально доступное количество товара");

                            }
                            else{
                                btn.addClass('disabled');
                                btn.text('товар добавлен');
                                setTimeout(changeBtnText, 2000, btn, "В корзину");
                                BX.onCustomEvent('OnBasketChange');
                            }
                        });


                    },
                    complete: function (result) {
                        console.log(result);
                        //showPopupAddToBasket(itemName);
                    }
                });
            }
        }
    });

    /*end*/
    $(document).on('click', '.desc-link', function() {
        $('.desc-text').remove();

        $('.full-text').fadeIn(250, function(){
            $(this).show();
        });

        return false;
    })

    $('.item .select-styled').each(function(i,elem){
        if($(this).text()==''){
            $(this).text($(this).prev().find('option:first').val());
        }
    });


    $('.filter_select .select-options li').on('click',function(){

      /* var urlSearch=window.location.search;
        var url='';
        if(urlSearch.length>0)
        {
            url=window.location.href+'&sort='+$(this).attr('rel');
        }
        else{
            url=window.location.href+'?sort='+$(this).attr('rel');
        }
        window.location.href=url;*/
        setAttr('sort',$(this).attr('rel'));
    })

    if($('.item_row .short-card')!==undefined) {
        // if ($('.item_row .short-card ').length === 0) {
        //     $('.filter_select').hide();
        //     $('.filter_box').hide();
        //
        // }
    }
   /* $(document).on('click','.filter_select .select-options li', function(){
        console.log($('#sort_catalog_select').val());
        location.href='?sort='+$('#sort_catalog_select').val();
    });*/

    try {
        $('.big-pic-slider').slick({
            slidesToShow: 1,
            slidesToScroll: 1,
            arrows: false,
            fade: false,
            asNavFor: '.small-pic-slider'
        });
        $('.promo-banners').slick({
            slidesToShow: 1,
            slidesToScroll: 1,
            dots: false,
            infinite: true,
            speed: 500,
            fade: true,
            cssEase: 'linear',
            autoplay:true,
            prevArrow: $('.promo-banners__prev'),
            nextArrow: $('.promo-banners__next'),


        });
        /* $('.slick-simple-products').slick({
             slidesToShow: 4,
             slidesToScroll: 1,
             asNavFor: '.big-pic-slider',
             dots: false,
             centerMode: false,
             focusOnSelect: true,
             arrows: false,
             infinite: true,
         });*/
        $('.small-pic-slider').slick({
            slidesToShow: 4,
            slidesToScroll: 1,
            asNavFor: '.big-pic-slider',
            dots: false,
            centerMode: false,
            focusOnSelect: true,
            arrows: false,
            infinite: true,
            /*speed: 400,
            autoplay: true*/
        });
    }
    catch (e){

    }

    $('.help__item').find('.item_text-header').on('click', function(){
        var desc= $(this).next();
        if(desc.hasClass('opened')){
            desc.removeClass('opened');
            desc.slideUp();
        }
        else{
            desc.addClass('opened');
            desc.slideDown();
        }
    });
    $('.guarantee__text-more-link').on('click', function () {
        if($(this).hasClass('close')){
            $(this).removeClass('close');
            $(this).addClass('open');
            $('.guarantee__text-more').slideDown();
        }
        else{
            $(this).removeClass('open');
            $(this).addClass('close');
            $('.guarantee__text-more').slideUp();
        }
    })

    $('#auth__enter-link, .auth__enter-link').on('click', function () {
        $.fancybox.close();
        $.fancybox.open( {
            src  : '#popup-auth'
        });
        return false;
    })

    $('#register__enter-link, .register__enter-link').on('click', function () {
        $.fancybox.close();
        $.fancybox.open( {
            src  : '#popup-reg'
        });
        return false;
    })

    $('.logout_butt').on('click', function (e) {
        e.preventDefault();
        $('[name=logout_butt]').click();
    })


   /* var inp = $('input, textarea');
   /* var inp = $('input, textarea');
    inp.addClass('placeholder');
    inp.blur(function () {
        $(this).removeClass('placeholder').filter(function(){
            return !$.trim(this.value);
        }).addClass('placeholder');
    });
    $('input[name!=phone]').on('blur', function(){
        if(this.value==''){
            $(this).attr('placeholder',$(this).attr('data-value'));
            $(this).addClass('error');
        }
    }).on('focus', function(){
        if(this.value=='')$(this).attr('placeholder','');
    });*/
    /*$('.sale-order-list-title').on('click', function () {
        var row=$(this).parents('.sale-order-list-container').find('.sale-order-list-inner-container');
        if(row.hasClass('close')){
            row.removeClass('close');
            row.addClass('open');
            row.slideDown();
        }
        else{
            row.removeClass('open');
            row.addClass('close');
            row.slideUp();
        }
    })*/


    $('.auth-form__register').on('click', function () {
        $.fancybox.close();
        $.fancybox.open( {
            src  : '#popup-reg'
        });
        return false;
    })
    $('#to-auth, .to-auth').on('click', function () {
        $.fancybox.close();
        $.fancybox.open( {
            src  : '#popup-auth'
        });
        return false;
    })

    $('.auth-form__forgot-password').on('click', function () {
        $.fancybox.close();
        $.fancybox.open( {
            src  : '#popup-forgotpassword'
        });
        return false;
    })


   /*$(document).click('#to-auth__ajax', function () {
        $.fancybox.open( '#popup-login');
        return false;
    })*/

   $('#submit_auth').on('click', function () {
       authorize($(this));
   });
    $('html').keydown(function(eventObject){
        if (eventObject.keyCode == 13) {
            authorize($('#submit_auth'));
        }

    })

    $('#submit_registration').on('click', function () {
        var login=$('#popup-reg').find('input[name="REGISTER[LOGIN]"]');
        var email=$('#popup-reg').find('input[name="REGISTER[EMAIL]"]');
        var password=$('#popup-reg').find('input[name="REGISTER[PASSWORD]"]');
        var confirm_password=$('#popup-reg').find('input[name="REGISTER[CONFIRM_PASSWORD]"]');
        var form=$('#popup-reg').find('form');
        var pswerr='', errors=0;

        if(password.val()!==confirm_password.val()){
            pswerr = 'Неверное подтверждение пароля.';
        }
        else if(password.val()=='' || confirm_password.val()==''){
            pswerr = 'Введите пароль';
        }
        else if (password.val().length<6) {
            pswerr = 'Введите минимум 6 символов';
        }

        if (pswerr) {
            errors++;
            $('#error_password').text(pswerr);
            $('#error_password').show();
            password.addClass('error');
            confirm_password.addClass('error');
        }
        else {
            password.removeClass('error');
            confirm_password.removeClass('error');
            $('#error_password').text('');
            $('#error_password').hide();
        }

        $.ajax({
            url: '/ajax/check_new_user_already_exists.php',
            type: "POST",
            data: {
                "login":'',//login.val(),
                "email":email.val()
            },
            async:false,
            dataType: 'json',
            success: function (reply) {
                console.log(reply);

                var text=$('#errortext').text();


                // if(reply.login!==undefined){
                //     $('#error_LOGIN').text(reply.login);
                //     $('#error_LOGIN').show();
                //     errors++;
                //     login.addClass('error');
                // }
                // else {
                //     login.removeClass('error');
                //     $('#error_LOGIN').hide();
                //     $('#error_LOGIN').text('');
                // }


                if(reply.email!==undefined){
                    $('#error_EMAIL').html(reply.email);
                    $('#error_EMAIL').show();
                    errors++;
                    email.addClass('error');
                }
                else {
                    email.removeClass('error');
                    $('#error_EMAIL').hide();
                    $('#error_EMAIL').text('');
                }





                if (reply) {
                    //cannado.clearForm(formJq);
                    // showModal('Спасибо', 'Твоё сообщение успешно отправлено!');
                } else {
                    //jQuery('.fancybox-popup-error').click();
                }


            }
        });


        if(errors===0){
            $('<input name="REGISTER[LOGIN]" type="hidden" value="'+email.val()+'">').appendTo(form);
            $(this).attr('type','submit');

            form.submit();
        }

    });


    $('#submit_forgotpassword').on('click', function () {
        var form=$(this).parents('form');
        var email =form.find('input[name="USER_EMAIL"]');
        var errortext=form.find('.errortext');

        if(email.val()==='' || email.val()===undefined){
            errortext.show();
            email.addClass('error');
        }
        else{
            errortext.hide();
            email.removeClass('error');
            $.ajax({
                url: '/ajax/form_forgot_password_send_email.php',
                type: "POST",
                data: {
                    "login": '', //login.val(),
                    "email": email.val()
                },
                async: false,
                dataType: 'json',
                success: function (reply) {
                    console.log(reply);
                    showModal('Восстановление пароля', reply.message);
                }
            });
        }
        return false;
    })

    //product subscribe
    $('.js-product_subscribe_popup').on('click', function(){
        $('#product-subscribe-id').val( $(this).data('product-id'));
        $('#subscribe_popup__header').text( $(this).data('product-name'));
        showProductSubscribePopup();
        $.fancybox.close();
        $.fancybox.open( {
            src  : '#subscribe_popup',
            opts : {
                btnTpl : {
                    smallBtn : ' <div data-fancybox-close title="Close" class="subscribe_popup__close"></div>'
                }
            }
        });
    })



    $('.subscribe_popup__box').on('submit', function(){

        $.ajax({
            url: '/local/components/cannado/can.catalog.product.subscribe/ajax.php',
            type: "POST",
            data: $(this).serialize(),
            async: false,
            dataType: 'json',
            success: function (reply) {
                $('.subscribe_popup__submit-box').hide();
                $('.subscribe_popup__text.no-subscribed').hide();
                if(reply.subscribed){

                    $('.subscribe_popup__text.subscribed').show();
                }
                else{
                    $('.subscribe_popup__text.success').show();

                }

            }
        });
        return false;
    })
    $('.subscribe_popup__box .unsubscribe').on('click', function(){
        $('#product-subscribe-action').val('unsubscribe');
        $.ajax({
            url: '/local/components/cannado/can.catalog.product.subscribe/ajax.php',
            type: "POST",
            data: jQuery('#subscribe_popup').find('form').serialize(),
            async: false,
            dataType: 'json',
            success: function (reply) {
                if(reply.success_unsubscribe){
                    $('.subscribe_popup__submit-box').hide();
                    $('.subscribe_popup__text.subscribed').hide();
                    $('.subscribe_popup__text.no-subscribed').hide();
                    $('.subscribe_popup__text.unsubscribe-success').show();
                }
            }
        });
    })
})

function showProductSubscribePopup(){
   // $('.subscribe_popup__fader').show();
    var formJq = jQuery('#subscribe_popup').find('form');
    formJq.find('input').each(function(i, v){
        var name = $(v).attr('name');
        if(name != 'sessid' && name != 'product-id'){
            $(v).val('');
            $(v).attr('placeholder',$(v).attr('data-value'));
        }
    });
    $('.subscribe_popup__box').show();
    $('.subscribe_popup__submit-box').show();
    $('.subscribe_popup__text.no-subscribed').show();
    $('.subscribe_popup__text.subscribed').hide();
    $('.subscribe_popup__text.success').hide();
    $('.subscribe_popup__text.unsubscribe-success').hide();
 //   $('#subscribe_popup').show();

}

function showModal(header, content){
    var modal=$('#modal');
    modal.find('.m-header').html(header);
    modal.find('.m-content').html(content);
    $.fancybox.close();
    $.fancybox.open( {
        src  : '#modal'
    });
}
function changeBtnText(btn,text){
    btn.text(text);
    btn.removeClass('disabled');
}

function setAttr(prmName,val){
    var res = '';
    var d = location.href.split("#")[0].split("?");
    var base = d[0];
    var query = d[1];
    if(query) {
        var params = query.split("&");
        for(var i = 0; i < params.length; i++) {
            var keyval = params[i].split("=");
            if(keyval[0] != prmName) {
                res += params[i] + '&';
            }
        }
    }
    res += prmName + '=' + val;
    window.location.href = base + '?' + res;
    //return false;
}


function authorize(btn) {
    var form=btn.parents('form');
    var login =form.find('input[name="USER_LOGIN"]');
    var password =form.find('input[name="USER_PASSWORD"]');
    var remember=$('#USER_REMEMBER_frm').is(":checked");
    var errors=0;
    if(password.val()===''){
        $('#error_AUTH_LOGIN').show();
        password.addClass('error');
        errors++;
    }
    else{
        $('#error_AUTH_LOGIN').hide();
        password.removeClass('error');
    }
    if(login.val()===''){
        $('#error_AUTH_PASSWORD').show();
        login.addClass('error');
        errors++;
    }
    else{
        $('#error_AUTH_PASSWORD').hide();
        login.removeClass('error');
    }
    if(errors===0){

        $.ajax({
            url: '/ajax/form_auth.php',
            type: "POST",
            data: {
                "login": login.val(),
                "password": password.val(),
                "remeber":remember
            },
            async: false,
            dataType: 'json',
            success: function (reply) {
                if(reply.result===true){
                    $('#error_auth').hide();
                    location.reload();
                }
                else{
                    $('#error_auth').show();
                }
            }
        });
    }
    return false;
}