script.js 11.5 KB
$(document).ready(function() {

    footerBottom();
    modalForms();
    openMobMenuNew();
    closeMobMenu();
    canvasFunction();
    scrollToForm();
    cardHideDesk();
    inputNumber();
    phoneMask();
    accountCabinet();


    function footerBottom(){
        var heightHeader = document.getElementById('header_').offsetHeight
        var heightFooter = document.getElementById('footer_').offsetHeight
        var windowHeight = window.innerHeight
        document.getElementById('content_').style.minHeight = windowHeight-heightHeader-heightFooter-60+'px';
    }

    function mobOverlayAdd() {
        if($('body').find('.mob-overlay').length > 0) {
        } else {
            $('body').append('<div class="mob-overlay"></div>')
        }
        $('.mob-overlay').fadeIn(300);
    }

    function mobOverlayRemove() {
        $('.mob-overlay').fadeOut(300);
        $('body').removeClass('show-block-mobile');
        setTimeout(function () {
            $('body').removeClass('body-fixed');
        },510)

    }

    function openMobMenuNew() {
        $('.menu_mob').click(function () {
            mobOverlayAdd()
            $('body').addClass('body-fixed show-block-mobile');


        })
    }

    function closeCallMobileHide() {
        $('.call-mobile-wr').removeClass('visible')
        setTimeout(function () {
            $('.call-mobile-wr').removeClass('open')
        },200)
    }

    function closeMobMenu() {
        $('body').on('click','.mob-overlay',function () {
            mobOverlayRemove();
        })

        $('.close-mobile-menu').click(function () {
            mobOverlayRemove();
        })
    }


    function canvasFunction() {
        var percentBl = $(".percent-bl");
        for (i=0; i < percentBl.length; i++){
            var width = (typeof $(percentBl[i]).attr("data-width") != 'undefined') ? Math.round($(percentBl[i]).attr("data-width")) : 80;
            var procent = (Number($(percentBl[i]).html()) > 0 && Number($(percentBl[i]).html()) < 100) ? Math.round(Number($(percentBl[i]).html()) * 10)/10 : 0;
            var lineWidth = (typeof $(percentBl[i]).attr("data-lineWidth") != 'undefined') ? Number($(percentBl[i]).attr("data-lineWidth")) : width / 10;
            var size = width+lineWidth;
            var lineRound = (typeof $(percentBl[i]).attr("data-lineRound") != 'undefined') ? true : false;
            var borderColor = "#ccc"
            var color = $(percentBl[i]).css("color");
            $(percentBl[i]).css({"width": size + 'px', "height": size + 'px', "font-size": Math.floor((width-lineWidth) / 4) + 'px'});
            $(percentBl[i]).html('<canvas id="dial' + i + '" width="' + size + '" height="' + size + '"></canvas><p>' + procent + '%</p>');
            $("p", percentBl[i]).css({"line-height": size + 'px'});
            var canvas = document.getElementById("dial" + i);
            var context = canvas.getContext("2d");
            var radian = 2*Math.PI*procent/100;
            context.arc(width/2+lineWidth/2, width/2+lineWidth/2, width/2, 0, 2*Math.PI, false);
            context.lineWidth = lineWidth;
            context.strokeStyle = borderColor;
            context.stroke();
            context.beginPath();
            context.arc(width/2+lineWidth/2, width/2+lineWidth/2, width/2, 1.5 * Math.PI, radian+1.5 * Math.PI, false);
            context.strokeStyle = color;
            if (lineRound == true && lineWidth < width) context.lineCap = "round";
            context.stroke();
        }
    }

    function scrollToForm() {
        $('body').on('click','.answers-wr span', function () {
            $("#answer-form").find('.field-comment-parent_id').find("#comment-parent_id").val($(this).data('id'));
            var block = $('.hidden-comments-form-card');
            block.addClass('vis_');
            $('body, html').animate({scrollTop:block.offset().top - 36},500)

        });
//        $('body').on('click','.hidden-comments-form-card button', function () {
//            $('.hidden-comments-form-card').removeClass('vis_');
//
//            alert('thiiiis')
//        })

    }
    
    function cardHideDesk() {
        $('body').on('click','.mob-card-desk-btn span', function () {
            var hideText = $(this).parent().data('hide');
            var showText = $(this).parent().data('show');
            if($('.card-desk-text').hasClass('show_')){
                $('.card-desk-text').removeClass('show_');
                $(this).html(showText);

            } else {
                $('.card-desk-text').addClass('show_');
                $(this).html(hideText);
            }
        })
    }


    function inputNumber() {
        $(document).on('keypress', '.price-input input', function (e) {
            if (!(e.which == 8 || (e.which > 47 && e.which < 58))) {
                return false;
            }
        });
    }

    function phoneMask() {
        var phoneInput = '.phones_mask input';

        if($('body').find('.phones_mask').find('input').length>0){
            $(phoneInput).mask('(000) 000-00-00');
            $(phoneInput).focus(function () {

                var text = $(this).val();
                $(this).val(text);
                if(($(this).val())== '') {$(this).val('(0')}
            });
            $(phoneInput).focusout(function () {
                var phoneVal = $(this).val();
                if(phoneVal.length <15) {$(this).val('')}
            })
        }
    }

    function accountCabinet() {
        $('.tabs-account ul li').click(function () {
            var index = $(this).index();
            var tabs = $('.tabs-account-forms');
            $('.tabs-account ul li').removeClass('active');
            $(this).addClass('active');
            $('.tabs-account-forms').removeClass('active')
            $(tabs[index]).addClass('active')
        })
    }

    $(window).resize(function () {
        // heightSliderCol();
        footerBottom();
        if(window.innerWidth>=992){
            mobOverlayRemove()
            $('#menu-mob-hidden').removeClass('visible')
            setTimeout(function () {
                $('#menu-mob-hidden').removeClass('opens')
            },200)
            $('body').removeClass('off-scroll')
            $('body').removeClass('hidden_scroll-y')
            $('.mob_filters_wr').attr('style','')
        }
    })

    function modalForms() {
        $('body').on('click','.modal-link', function (e) {

            e.preventDefault();
            e.stopPropagation();


            mobOverlayRemove()
            $('#menu-mob-hidden').removeClass('visible')
            setTimeout(function () {
                $('#menu-mob-hidden').removeClass('opens')
            },200)
            $('body').removeClass('off-scroll')

            mobOverlayRemove()
            closeCallMobileHide()
            $('.btn_call').removeClass('close')
            $('.call-mobile-wr').removeClass('open')
            $('body').removeClass('off-scroll')


            var idForm = $(this).data('form');


            var pos = ($(window).scrollTop()) + 30;
            if($(this).hasClass('fixed-modal')){
                pos = 30;
                $('#'+idForm).css({position:'fixed'})
            }
            if($(this).hasClass('pos-top')){
                pos = 30;
            }
            $('#overlay').removeClass('overlay_cloned');
            $('#overlay').fadeIn(400,
                function(){
                    $('#'+idForm)
                        .css('display', 'block')
                        .animate({opacity: 1, top: pos}, 200);
                });
        })
    }

    closeForms();
    function closeForms() {
        $('#modal_close, #overlay').click( function(){
            $('.forms_').animate({opacity: 0, top: '0'}, 200,function(){
                $(this).css('display', 'none');
                $(this).prev("#overlay").css('display', 'none');
                $('#overlay').fadeOut(400);
            });
            $('#success_form').animate({opacity: 0, top: '0'}, 200,function(){
                $(this).css('display', 'none');
                $(this).prev("#overlay").css('display', 'none');
                $(this).css({top:'50%'});
            });
        });
    }
    //после удачной отправки формы запускать success()
    // success()
//    function success(message) {
//        var pos = ($(window).scrollTop()) + 30;
//        $('.forms_').animate({opacity: 0, top: '0'}, 200,function(){
//            $(this).css('display', 'none');
//        });
//        setTimeout(function () {
//            $('#overlay').fadeIn(400);
//            $('#success_form').find('.txt-success').html(message);
//            $('#success_form').css('display', 'block').animate({opacity: 1, top: pos}, 700);
//        },400)
//    }

    $(document).on('beforeSubmit', '#search-form', function(e) {
        if ($("#next").data('id') != ''){
            console.log('ololo');
            window.location.replace('/support/index?book_id='+$("#next").data('id'));
            return false;
        }
    });

    $(document).on('click', '.change-password-link span', function(e) {
        e.preventDefault();
        var password = $('#changepassword-password');
        var passwordConfirm = $('#changepassword-confirmpassword');
        if (password.parent().hasClass('has-error') || passwordConfirm.parent().hasClass('has-error')){
            return false;
        }
        if (password.val() == '' || passwordConfirm.val() == ''){
            return false;
        }

        $.ajax(
            {
                url: '/author/change-password',
                type: "POST",
                data: {
                    'password': password.val(),
                    'passwordConfirm': passwordConfirm.val()
                },
                success: function(data) {
                    if (data){
                        password.val('');
                        passwordConfirm.val('');
                        passwordConfirm.parent().parent().after('<p>Пароль змінено</p>')
                    }
                }
            }
        );

    });

    $(document).on('click', '.account-delete a', function(e) {
        e.preventDefault();
        $.ajax(
            {
                url: $(this).attr('href'),
                type: "GET",
                success: function(data) {
                    if (data){
                        reloadContent('/author/index');
                    }
                }
            }
        );
    });
    function reloadContent(url) {
        $.get(url, {
        }, function(data) {
            var parser = new DOMParser();
            var el = parser.parseFromString(data, 'text/html');
            console.log(el.getElementById('tab1').innerHTML);
            $('#tab1')
                .html(el.getElementById('tab1').innerHTML);
            $('#tab2')
                .html(el.getElementById('tab2').innerHTML);
        })
         .fail(function(data) {
             console.log(data);
         });
    }
});



function success(message) {
    document.querySelector('#success_form .txt-success').innerHTML = message;
    var pos = ($(window)
            .scrollTop()) + 30 + 60;
    $('.forms_')
        .animate({
            opacity: 0,
            top: '0'
        }, 200, function() {
            $(this)
                .css('display', 'none');
        });
    setTimeout(function() {
        $('#overlay')
            .fadeIn(400, function() {
                $('#success_form')
                    .css('display', 'block')
                    .animate({
                        opacity: 1,
                        top: pos
                    }, 700);
            });
    }, 400)
}

window.success = success;