goods.js 5.76 KB
$(document).ready(function () {
    // для таблицы кроссов, классы обозначаются через cross_
    var cross_prefix = '';
    // по умолчанию - цены в долларах, остальные скрываем
    var show_currency = ['usd'];
    var hidden_currency = ['uah', 'eur'];

    // первоначальная инициация цен
    priceInitialisation();

    // привяжем обработчик смены валюты
    $(document).on("click", ".currency", changeCurrency);

    // привяжем обработчик обновления страницы pjax
    $(document).on('pjax:complete', function() {
        console.log(document.location);
        priceInitialisation();
    })


    function changeCurrency() {
        $('.currency').removeClass('active_button_purple1');
        $(this).addClass('active_button_purple1');
        // после смены валюты - покажем  цены в выбранной валюте
        priceInitialisation();
    }

    function priceInitialisation() {

        // найдем текущую установленную валюту, и пересчитаем цены в ней
        var current_currency = $('.active_button_purple1')[0];
        if (typeof current_currency === 'object'){

            if (current_currency.getAttribute('id') === 'grivna') {
                show_currency = ['uah'];
                hidden_currency = ['eur', 'usd'];
            } else if (current_currency.getAttribute('id') === 'euro') {
                show_currency = ['eur'];
                hidden_currency = ['uah', 'usd'];
            } else if (current_currency.getAttribute('id') === 'dollars') {
                show_currency = ['usd'];
                hidden_currency = ['uah', 'eur'];
            }
            setVisiblePrice();
        }
    }

    function setVisiblePrice() {
        // элементы с классами из show_currency отобразим
        for (var i = 0; i < show_currency.length; i++) {
            var arr_elements = document.getElementsByClassName(show_currency[i] + cross_prefix);

            for (var j = 0; j < arr_elements.length; j++) {
                if (arr_elements[j].classList.contains('hidden'))
                    arr_elements[j].classList.remove('hidden');
            }
        }
        // элементы с классами из hidden_currency спрячем
        for (var i = 0; i < hidden_currency.length; i++) {
            var arr_elements = document.getElementsByClassName(hidden_currency[i] + cross_prefix);
            for (var j = 0; j < arr_elements.length; j++) {
                if (!arr_elements[j].classList.contains('hidden'))
                    arr_elements[j].classList.add('hidden');
            }
        }
    }

//модальное окно для фото
    // ловим клик по ссылки с id="go"
    $(document).on("click", 'a#go_photo', function (event) {
        event.preventDefault(); // выключаем стандартную роль элемента
        var scrollTop = window.pageYOffset ? window.pageYOffset : (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
        viewportHeight = $(window).height();
        var modalWidth = $('#modal_form_photo').width() / 2;
        var modalHeight = $('#modal_form_photo').outerHeight() / 2;
        $('#overlay').fadeIn(400, // сначала плавно показываем темную подложку
            function () { // после выполнения предъидущей анимации
                $('#modal_form_photo')
                    .css({'display': 'block', opacity: 1, marginTop: -modalHeight, marginLeft: -modalWidth}) // убираем у модального окна display: none;
                    .animate({opacity: 1, top: scrollTop + (viewportHeight / 2)}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз
            });

    });
    /* Закрытие модального окна, тут делаем то же самое но в обратном порядке */
    $(document).on( "click",'#modal_close, #overlay', function () { // ловим клик по крестику или подложке
        $('#modal_form_photo')
            .animate({opacity: 0, top: '45%'}, 200,  // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх
            function () { // после анимации
                $(this).css('display', 'none'); // делаем ему display: none;
                $('#overlay').fadeOut(400); // скрываем подложку
            }
        );
    });

    //открытие-закрытие карточки товара и смена текста на бирке карточки товара
    function changeText() {
        e = document.getElementById('button_grey_card');
        e.innerHTML = e.innerHTML == "Скрыть карточку товара" ? "Открыть карточку товара" : "Скрыть карточку товара";
    }

    $(document).on( "click",'#button_grey_card' , function () {
        changeText();
        $(this).toggleClass('change_b');
        $('.tovar_card').toggleClass('tovar_card_visible');
        $('.table').toggleClass('table_height');
    });
    // модальная форма с инфой по тех-доку
    $(document).on("click", '.tecdoc_id_info', function(e){
        var tecdoc_id = $(this).data('id');
        $.post( "/detail/get-details-for-item", {tecdoc_id:tecdoc_id},function( data ) {
            $('#details_content').empty();
            $('#details_content').html(data);

        });

    });});