goods.js 4.67 KB
$(document).ready(function () {
    // для таблицы кроссов, классы обозначаются через cross_
    var cross_prefix = '';

    // по умолчанию - цены в долларах, остальные скрываем
    var show_currency = ['usd'];
    var hidden_currency = ['uah', 'eur'];

    $(document).on("click", ".currency", changeCurrency);

    function changeCurrency() {

        if ($(this).attr('id') === 'grivna') {
            show_currency = ['uah'];
            hidden_currency = ['eur', 'usd'];
        } else if ($(this).attr('id') === 'euro') {
            show_currency = ['eur'];
            hidden_currency = ['uah', 'usd'];
        } else if ($(this).attr('id') === 'dollars') {
            show_currency = ['usd'];
            hidden_currency = ['uah', 'eur'];
        }
        $('.currency').removeClass('active_button_purple1');
        $(this).addClass('active_button_purple1');

        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",'.link_sort', function () {

        $(this).find('.desc').toggleClass('arrow_downA');

    })

});