﻿function changeOrder(obj) {
    $.cookie('Sorting', $(obj).val(), { expires: 30 });
    document.location.reload();
}

function changePager(obj, key) {
    $.cookie(key, $(obj).val(), { expires: 30 });
    document.location.reload();
}﻿function getURLVar(key) {
    var value = []; var query = String(document.location).split('?'); if (query[1]) {
        var part = query[1].split('&'); for (i = 0; i < part.length; i++) { var data = part[i].split('='); if (data[0] && data[1]) { value[data[0]] = data[1]; } }
        if (value[key]) { return value[key]; } else { return ''; }
    }
}

function initTooltips() {
    $('.tooltip').remove();
    $('[data-toggle="tooltip"]').tooltip('destroy');
    $('[data-toggle=\'tooltip\']').tooltip({ container: 'body' });
    $(document).ajaxStop(function () { $('[data-toggle=\'tooltip\']').tooltip({ container: 'body' }); });
}


$(document).delegate('#button-account', 'click', function () {
    $('a[href=\'#collapse-payment-address\']').trigger('click');
    /*
    
    
        if ($('[name="account"]:checked').val() == "guest") {
            $('a[href=\'#collapse-payment-address\']').trigger('click');
        } else if ($('[name="account"]:checked').val() == "register") {
            document.location.href = '/register';
        }*/
});



var priceChangeTimeout;
var currentPrice;
var finalPrice;
var step;
var animateDelay = 30;
var currency;
var isFloatPrice;
function animatePrice(price) {
    //debugger;
    var basePrice = $('meta[itemprop="price"]').attr('content');

    if (!currency)
        currency = $('.price-section .price-new').text().replace(' ', '').replace(' ', '').replace(' ', '').replace(' ', '')
            .replace(basePrice, '');

    currentPrice = parseFloat($('.price-section .price-new').text().replace(' ', '').replace(' ', '').replace(' ', '').replace(' ', '').replace(currency, ''));
    if (!currentPrice)
        currentPrice = 0;


    finalPrice = (parseFloat(basePrice) + price);
    isFloatPrice = finalPrice % 1 != 0;
    if (isFloatPrice) {
        finalPrice = Math.round(finalPrice * 10) / 10;
    }

    step = Math.round(10 * (finalPrice - currentPrice) / (300 / animateDelay)) / 10;
    if (!isFloatPrice) {
        step = Math.ceil(step);
    }


    clearTimeout(priceChangeTimeout);
    priceChangeTimeout = setTimeout(animatPriceCallback, animateDelay);
}

function animatPriceCallback() {
    ////
    currentPrice = Math.round((currentPrice + step) * 10) / 10;
    if (isFloatPrice) {
        currentPrice = Math.round(currentPrice * 10) / 10;
    }


    if ((step > 0) && (currentPrice > finalPrice)) {
        currentPrice = finalPrice;
    } else if ((step < 0) && (currentPrice < finalPrice)) {
        currentPrice = finalPrice;
    } else if (step == 0) {
        currentPrice = finalPrice;
    }


    //var currency = $('.price-section .price-new').text().replace($('meta[itemprop="price"]').attr('content'), '');
    $('.price-section .price-new').html(formatDecimal(currentPrice) + ' ' + currency);


    if (currentPrice != finalPrice) {
        priceChangeTimeout = setTimeout(animatPriceCallback, animateDelay);
    }
}


function formatDecimal(price) {
    var result = "";

    var arr = price.toString().split(".");
    var intPrice = arr[0];

    var groups = Math.ceil(intPrice.length / 3);
    var ranges = new Array();
    for (var i = 1; i <= groups; i++) {
        var len = 3;

        var startIndex = intPrice.length - i * 3;
        if (startIndex < 0) {
            len = 3 + startIndex;
            startIndex = 0;
        }
        ranges.push(intPrice.substr(startIndex, len));
    }

    for (var j = ranges.length - 1; j >= 0; j--) {
        result += ranges[j] + ' ';
    }

    result = result.trim();

    if (arr.length > 1) {
        result += "." + arr[1];
    }
    return result;
}



var catMax = 0;

function getCount(json, opt) {

    for (var line in json) {
        var item = json[line];
        if (item.Uid == opt) {
            return parseInt(item.Amount);
        }
    }
    return 0;
}

function getArticle(json, opt) {

    for (var line in json) {
        var item = json[line];
        if (item.Uid == opt) {
            return item.ClearArt;
        }
    }
    return $('.article-block').attr('def');
}


function showCounterMessage(msg) {

    var exist = $('#counter-error');
    if (exist.length) {
        if (msg == '') {
            exist.remove();
            $('#button-waiting-cart').hide();
        } else {
            exist.html('<i class="fa fa-info-circle"></i> ' + msg);
            $('#button-waiting-cart').show();
        }
    } else {
        if (msg.length) {
            $('#button-waiting-cart').show();
            $('#button-cart')
                .before(
                    '<div class="alert alert-info variant-alert" id="counter-error"><i class="fa fa-info-circle"></i> ' +
                    msg +
                    '</div>');

        } else {
            $('#button-waiting-cart').hide();
        }
    }

}


function loadProductOptions() {

    var cd = $('.counter-data').val();

    if (cd && cd.length) {
        var json = JSON.parse(cd);



        $('.product-options input[type="checkbox"]').each(function () {
            var opt = $(this).attr('opt');
            var count = getCount(json, opt);
            if (count == 0) {
                $(this).prop('disabled', true);
            }
        });

        $('.product-options select, .product-options input[type="checkbox"], #input-quantity[name="quantity"]').change(function () {

            var quantity = parseInt($('#input-quantity[name="quantity"]').val());

            if ($(this).is(':checkbox')) {
                if ($(this).prop('checked')) {
                    var count = getCount(json, $(this).attr('opt'));
                    if (count < quantity) {
                        $('#button-cart').prop('disabled', true);
                        showCounterMessage($('#variantNotEnought').val().replace('{0}', count));
                        return;
                    }
                } else {
                    $('#button-cart').prop('disabled', false);
                    showCounterMessage('');

                }

            }




            var all = true;
            $('.product-options select').each(function () {
                if ($(this).val() == '') {
                    all = false;
                }
            });

            if (!all) {
                $('#button-cart').prop('disabled', false);
                showCounterMessage('');
                $('.article-block span').html($('.article-block').attr('def'));

                return;
            }

            var arr = new Array();

            $('.product-options select').each(function () {
                arr.push(parseInt($(this).find('option:selected').attr('opt')));
            });

            arr.sort(function (a, b) {
                return a - b;
            });

            var uid = '';
            for (var i in arr) {
                if (uid.length)
                    uid += '.';
                uid += arr[i];
            }



            var cnt = getCount(json, uid);
            if (cnt == 0) {
                $('#button-cart').prop('disabled', true);
                showCounterMessage($('#variantNotExist').val());

            } else if (cnt < quantity) {
                $('#button-cart').prop('disabled', true);
                showCounterMessage($('#variantNotEnought').val().replace('{0}', cnt));

            } else {
                showCounterMessage('');
                $('#button-cart').prop('disabled', false);
            }

            var article = getArticle(json, uid);
            $('.article-block span').html(article);

        });
    }


    $('.product-options select, .product-options input[type="checkbox"]').change(function () {

        if ($(this).is('select')) {
            var any = false;
            $(this).find('option').each(function () {
                if ($(this).attr('value') != '' && $(this).attr('value') != '0')
                    any = true;
            });


            tryLoadVariantImage();

            if (!any)
                return;
        }

        var priceDiff = 0;

        $('.product-options select, .product-options input[type="checkbox"]').each(function () {
            var v = parseFloat($(this).val());
            if (!v)
                v = 0;
            //if (v != 0)
            {

                if ($(this).is(':checkbox')) {
                    if ($(this).prop('checked'))
                        priceDiff += v;
                } else {
                    priceDiff += v;
                }

            }
        });


        //if (priceDiff != 0) {
        animatePrice(priceDiff);
        //}
    });
}

function tryLoadVariantImage() {
    var arr = new Array();

    $('.product-options select').each(function () {
        arr.push(parseInt($(this).find('option:selected').attr('opt')));
    });

    arr.sort(function (a, b) {
        return a - b;
    });

    var uid = '';
    for (var i in arr) {
        if (uid.length)
            uid += '.';
        uid += arr[i];
    }

    uid = ';' + uid + ';';

    var target = $('.product-gallery .image-thumb #image-additional a[data-variants*="' + uid + '"]');

    if (target.length) {

        var li = target.closest('li');
        var index = $('.product-gallery .image-thumb #image-additional li').index(li);

        var image = target.attr('data-image');
        if ($('.product-gallery .image #gallery_zoom').attr('src') !== image) {
            $(target.get(0)).click();
        }

        var my = target.closest('li');
        my.show();
        $('.product-gallery .image-thumb #image-additional li').not(my).hide();


        if (productMobileSlider) {
            productMobileSlider.goToSlide(index);
        }

    } else {

        $('.product-gallery .image-thumb #image-additional li').show();
    }

}

function loadReviews() {
    $('.review-text').each(function () {
        var element = $(this)[0];

        if (
            element.offsetHeight < element.scrollHeight ||
            element.offsetWidth < element.scrollWidth) {

            if (!$(this).closest('.review-text-wrap').find('.rate-overview-expander').length)
                $(
                    '<a class="rate-overview-expander" href="javascript:void(0);" onclick="expandRating(this);">' + $('#expander-text').val() + '</a>').insertAfter($(this));
        }
    });

    var exist = $.cookie('read-rates');
    if (!exist)
        exist = '';
    var arr = exist.split(';');

    $('.review-rate-button').each(function () {
        var voteId = $(this).closest('.review').data('vote-id');
        if (arr.indexOf(voteId.toString()) >= 0) {
            $(this).addClass('voted');
        }
    });

}


function showNextReviews(obj) {
    $.get('/Moduls/ProductVotes/expander.aspx',
        { productId: $(obj).closest("[prod-id]").attr('prod-id'), skip: $('#reviewsList').find('.review').length },
        function (data) {
            $('.reviews-list').append(data);
            loadReviews();
            if ($('#reviewsList').find('.review').length >= $('#reviewsList').data('count')) {
                $(obj).closest('.product-reviews-show-more').hide();
            }
        });
    //alert(1);
}

function expandRating(obj) {
    $(obj).closest('.review-text-wrap').find('.review-spoiler').css('max-height', 'initial');
    $(obj).remove();
}

function scrollToVotes() {
    $('[data-target="review-block"]').closest('.tab-switch-item').trigger('click');
    $('html,body').animate({
        scrollTop: $('[data-target="review-block"]').offset().top - 20
    }, 'slow');
}

function readRate(obj) {
    var voteId = $(obj).closest('.review').data('vote-id');
    var exist = $.cookie('read-rates');
    if (!exist)
        exist = '';
    var arr = exist.split(';');
    var index = arr.indexOf(voteId.toString());
    if (index < 0) {

        $.post('/Moduls/ProductVotes/readrate.ashx',
            { voteId: voteId, remove: false },
            function (data) {
                arr.push(voteId);
                $.cookie('read-rates', arr.join(';'), { expires: 365, path: '/' });
                $(obj).find('span').html(data);
                $(obj).addClass('voted');

            });


    } else {
        $.post('/Moduls/ProductVotes/readrate.ashx',
            { voteId: voteId, remove: true },
            function (data) {
                arr.splice(index, 1);
                $.cookie('read-rates', arr.join(';'), { expires: 365, path: '/' });
                $(obj).find('span').html(data);
                $(obj).removeClass('voted');

            });

    }

}


function changeSpinner(obj) {
    var inp = $(obj).closest('.product-quantity-inline').find('input');
    var minAvail = parseInt(inp.attr('min-value'));
    var val = parseInt(inp.val());
    if ($(obj).hasClass('spinner-minus')) {
        if (minAvail > 0 && val === minAvail) {
            return false;
        }
        val--;
    } else {
        val++;
    }

    if (val <= 0)
        val = 1;

    inp.val(val);
    return false;
}

$().ready(function () {
    /*setMax();*/


    loadProductOptions();

    $(".box-subcat li img").one("load", function () {
        setMax();
    }).each(function () {
        if (this.complete) $(this).load();
    });

    $(window).resize(function () {
        $('.box-subcat li').css('height', 'auto');
        setMax();
    });

    /*
    //Автовыбор первого варианта
        $('.product-options select').each(function () {
            if ($(this).find('option[value="0"]').length) {
                $(this).find('option[value="0"]').eq(0).prop('selected', true);
                $(this).trigger('change');
            }
        });*/

});

function setMax() {
    return;
    catMax = 0;
    $('.box-subcat li').attr('style', '');
    $('.box-subcat li').each(function () {
        if ($(this).height() > catMax)
            catMax = $(this).height();
    });
    $('.box-subcat li').css('height', catMax + 'px');

}


$(document).ready(function () {
    var box = $("[id*='messageBox']");
    if (box.length && box.val().length) {
        $('.alert, .text-danger').remove();
        $('.column-center').parent().before('<div class="alert alert-info"><i class="fa fa-check-circle"></i> ' + box.val() + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
        setTimeout(function () { $('.alert').fadeOut(1000); }, 3000);

    }

    /* $('#image-additional a').each(function () {
         $('<img/>')[0].src = $(this).attr('data-zoom-image');
         // Alternatively you could use:
         // (new Image()).src = this;
     });*/
});

$().ready(function () {
    initPayments();
    loadUserForm();
});

function initPayments() {
    var store = $('[id*="selectedPayment"]');
    $('.prod-payment-thumb').unbind('click');
    $('.prod-payment-thumb').click(function () {
        store.val($(this).attr('data-payment-type'));
        $('.prod-payment-thumb').removeClass('active');
        $(this).addClass('active');
    });
    $('#button-payment').unbind('click');
    $('#button-payment').click(function () {
        if (!store.val().length) {
            $('.alert, .text-danger').remove();
            $('.column-center').parent().before('<div class="alert alert-info"><i class="fa fa-check-circle"></i> Необходимо выбрать способ оплаты<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
            setTimeout(function () { $('.alert').fadeOut(1000); }, 3000);
            return false;
        } else {
            /*
                        var text = $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').text();
                        $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('<a href="#collapse-checkout-confirm" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">' + text + ' <i class="fa fa-caret-down"></i></a>');
                        $('a[href=\'#collapse-checkout-confirm\']').trigger('click');
            */
            completeOrder($(this));

        }
    });
}

function animateBtn(target) {

    var obj = target;
    obj.css('width', '200px');
    obj.css('text-align', 'left');
    setTimeout(function () {
        //var obj = $('#button-confirm');
        if (obj.attr('value').indexOf('....') >= 0) {
            obj.attr('value', obj.attr('value').replace('....', ''));
        } else {
            obj.attr('value', obj.attr('value') + '.');
        }
        animateBtn(obj);
    },
        500);

}

$(document).delegate('#button-confirm', 'click', function () {
    if (!$('#collapse-payment-method').length) {
        completeOrder($(this));
    }
});
/*
$(document).delegate('#button-payment', 'click', function () {
        completeOrder($(this));
});

*/

function completeOrder(btn) {

    var onComplete = $('#onCompleteCallback').val();
    if (onComplete.length) {
        try {
            eval(onComplete);
        } catch (e) {

        }
    }


    //debugger;
    btn.button('loading');

    animateBtn(btn);


    var payment = null;
    if ($('[id*="selectedPayment"]').length) {
        payment = $('[id*="selectedPayment"]').val();
    }
    orderForm(btn,
        payment,
        true,
        function (link) {
            document.location.href = link;
        });
}

function deletePromo(obj) {
    $.cookie('PromoCode', null);
    $('.promo-result').hide();
    $('.promo-exist').hide();
    addOrderLoaders();

    $.get(document.location.href,
        function (data) {
            $('#collapse-checkout-confirm .table-responsive')
                .replaceWith($(data).find('#collapse-checkout-confirm .table-responsive'));

            $('#button-confirm').replaceWith($(data).find('#button-confirm'));

            $('#payment-block').replaceWith($(data).find('#payment-block'));
            initPayments();

            clearOrderLoaders();
        });

}

function checkPromo(code) {
    //debugger;
    $.post('/atilekt/handlers/shop/cart/promo.aspx',
        { code: $('[id*="' + code + '"]').val(), lang: $('#LangID').val() },
        function (d) {

            var data = JSON.parse(d);


            $('.promo-result').show();
            $('.promo-result').html(data.msg);
            if (!data.success) {
                $('.promo-result').removeClass('promo-result-success');

            } else {
                $('.promo-result').addClass('promo-result-success');

                addOrderLoaders();

                $.get(document.location.href,
                    function (data) {
                        $('#collapse-checkout-confirm .table-responsive')
                            .replaceWith($(data).find('#collapse-checkout-confirm .table-responsive'));

                        $('#button-confirm').replaceWith($(data).find('#button-confirm'));

                        $('#payment-block').replaceWith($(data).find('#payment-block'));
                        $('.promo-block').replaceWith($(data).find('.promo-block'));
                        initPayments();

                        clearOrderLoaders();
                    });

            }
        });
    return false;

}


function addOrderLoaders() {


    $('#collapse-checkout-confirm').append($('<div class="lds-wrapper"><div class="lds-roller"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div></div>'));

    $('#button-confirm').prop('disabled', true);


    var paymentBlock = $('#payment-block');


    paymentBlock.find('.panel-collapse.collapse').removeClass('in');
    var text = paymentBlock.find('.panel-heading .panel-title').text();
    $('#collapse-payment-method').parent().find('.panel-heading').html('<h4 class="panel-title">' + text + ' </h4></a>');
    // $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('<a href="#collapse-payment-method" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">' + text + ' <i class="fa fa-caret-down"></i></a>');


    $('#payment-block').find('.panel-body').remove();

}
function clearOrderLoaders() {
    $('.lds-wrapper').remove();
    $('#button-confirm').prop('disabled', false);
}


function saveUserForm() {
    var data = new Array();
    $('#collapse-payment-address .feedback-form').find('[rel="form-field"]').each(function () {

        var value = $(this).val();
        data.push({ field: $(this).attr('field-id'), value: value });

    });
    $.cookie('order-temp-userdata', JSON.stringify(data), { expires: 365, path: '/' });
}

function saveUserDelivery(override) {
    //debugger;
    var data = new Array();

    var d = $.cookie('order-temp-userdelivery');

    if (d && d.length) {
        data = JSON.parse(d);
    }


    $('#collapse-delivery-method [id="adressBlock"]').find('input[type="text"], textarea').each(function () {

        var value = $(this).val();

        if (value.length || override) {

            var stored = false;

            for (var i in data) {
                if (data[i].field == $(this).attr('id')) {
                    data[i].value = value;
                    stored = true;
                }
            }
            if (!stored) {
                data.push({ field: $(this).attr('id'), value: value });
            }
        }

    });
    $.cookie('order-temp-userdelivery', JSON.stringify(data), { expires: 365, path: '/' });
}


function loadUserForm() {
    var d = $.cookie('order-temp-userdata');
    if (d && d.length) {
        var data = JSON.parse(d);

        for (var i in data) {
            var line = data[i];
            var field = $('#collapse-payment-address .feedback-form')
                .find('[rel="form-field"][field-id="' + line.field + '"]');

            if (field.length && !field.val().length && line.value.length) {
                field.val(line.value);
            }
        }
    }

}

function loadUserDelivery() {
    var d = $.cookie('order-temp-userdelivery');
    if (d && d.length) {
        var data = JSON.parse(d);

        for (var i in data) {
            var line = data[i];
            var field = $('#collapse-delivery-method [id="adressBlock"]')
                .find('[id="' + line.field + '"]');

            if (field.length && !field.val().length && line.value.length) {
                field.val(line.value);
            }
        }
    }

}



$(document).delegate('[id="button-form"],[id="button-confirm"]', 'click', function () {
    var btn = $(this);
    if (btn.attr('arg') == "delivery") {
        if (!saveDelivery()) {
            return false;
        }
    }

    if (btn.attr('id') == "button-form") {

        if (btn.attr('arg') == "delivery") {
            saveUserDelivery(true);
        } else {
            saveUserForm();
        }
    }

    var callback = function () {
        var panel = btn.parents('.panel');
        var idx = $('.panel').index(panel);
        var next = $('.panel:eq(' + (idx + 1) + ')');
        if (next.find('.panel-heading .panel-title a').length) {
            next.find('.panel-heading .panel-title a').trigger('click');
        } else {

            if ($('#collapse-delivery-method').length &&
                !$('#collapse-delivery-method').parent().find('.panel-heading .panel-title a').length) {
                var text = $('#collapse-delivery-method').parent().find('.panel-heading .panel-title').text();
                $('#collapse-delivery-method').parent().find('.panel-heading .panel-title').html(
                    '<a href="#collapse-delivery-method" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">' +
                    text +
                    ' <i class="fa fa-caret-down"></i></a>');
                $('a[href=\'#collapse-delivery-method\']').trigger('click');
            } else if (!$('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title a').length) {
                text = $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').text();
                $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html(
                    '<a href="#collapse-checkout-confirm" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">' +
                    text +
                    ' <i class="fa fa-caret-down"></i></a>');
                $('a[href=\'#collapse-checkout-confirm\']').trigger('click');
            } else if ($('#collapse-payment-method').length &&
                !$('#collapse-payment-method').parent().find('.panel-heading .panel-title a').length) {
                text = $('#collapse-payment-method').parent().find('.panel-heading .panel-title').text();
                $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html(
                    '<a href="#collapse-payment-method" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">' +
                    text +
                    ' <i class="fa fa-caret-down"></i></a>');
                if (!$('#collapse-payment-method').hasClass('in')) {
                    $('a[href=\'#collapse-payment-method\']').trigger('click');
                }
            } else {
                if (next.length) {
                    next.find('.panel-heading .panel-title a').trigger('click');
                }
            }
        }

        checkMinSum();
    };

    if (btn.attr('id') == "button-confirm" && !$('#collapse-payment-method').length) {
        return true;
    }

    if (btn.attr('id') == "button-payment") {
        return true;
    }

    //debugger;
    if (btn.attr('arg') == 'user-form' && btn.attr('save-buyer') == 'true') {

        var flist = new Array();
        var lst = $('[rel="form-field"]').filter('[block-id="' + btn.attr('block-id') + '"]');
        lst.each(function () {
            flist.push({
                fieldID: $(this).attr('field-id'),
                value: $(this).is(':checkbox') ? ($(this).is(':checked') ? 'да' : 'нет') : $(this).val().trim(),
                mail: $(this).attr('mail-box') == 'true',
                phone: $(this).attr('phone-box') == 'true',
            });
        });


        if ($(btn).closest('.panel-body').find('.g-recaptcha').length) {

            var cptsId = $(btn).closest('.panel-body').find('.g-recaptcha').attr('id');
            var widget = null;
            for (var index = 0; index < cpts.length; index++) {
                if (cpts[index].element == cptsId) {
                    widget = cpts[index].widget;
                    break;
                }
            }


            var cptsVal = '';
            var responseCell = $(btn).closest('.panel-body').find('.g-recaptcha').find('[name="smart-token"]');
            if (responseCell && responseCell.length)
                cptsVal = responseCell.val();


            $.post('/Moduls/PotentialBuyers/potential.ashx',
                {
                    fields: JSON.stringify(flist),
                    g_recaptcha_response: cptsVal
                },
                function (data) {
                    if (data.length) {

                        $('.alert-info').remove();
                        $('#accordion').before('<div class="alert alert-info"><i class="fa fa-info-circle"></i>  ' +
                            data +
                            '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
                        return false;
                    }

                    $(btn).closest('.panel-body').find('.g-recaptcha').remove();

                    return orderForm(btn,
                        null,
                        null,
                        function () {
                            callback();
                        });
                    //grecaptcha.reset();
                });
        } else {

            return orderForm(btn,
                null,
                null,
                function () {
                    callback();
                });
        }

        return true;
    }
    return orderForm(this,
        null,
        null,
        function () {
            callback();
        });
});


$(document).ready(function () {
    cols1 = $('.column-right, .column-left').length;
    if (cols1 == 2) {
        $('.column-center .product-layout:nth-child(2n+2)').after('<div class="clearfix visible-md visible-sm"></div>');
    } else if (cols1 == 1) {
        $('.column-center .product-layout:nth-child(3n+3)').after('<div class="clearfix hidden-xs"></div>');
    } else {
        $('.column-center .product-layout:nth-child(4n+5)').addClass('last');
    }
    $('.text-danger').each(function () {
        var element = $(this).parent().parent();
        if (element.hasClass('form-group')) {
            element.addClass('has-error');
        }
    });
    $('#currency .currency-select').on('click', function (e) {
        e.preventDefault();
        $('#currency input[name=\'code\']').attr('value', $(this).attr('name'));
        $('#currency').submit();
    });
    $('#language a').on('click', function (e) {
        e.preventDefault();
        $('#language input[name=\'code\']').attr('value', $(this).attr('href'));
        $('#language').submit();
    });




    $('#menu .dropdown-menu').each(function () {
        var menu = $('#menu').offset();
        var dropdown = $(this).parent().offset();
        var i = (dropdown.left + $(this).outerWidth()) - (menu.left + $('#menu').outerWidth());
        if (i > 0) {
            $(this).css('margin-left', '-' + (i + 5) + 'px');
        }
    });
 
    initTooltips();

});

function numberWithSpaces(x) {
    //debugger;
    var parts = x.toFixed(1).split(".");
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, " ");
    if (parts[1] === '0')
        return parts[0];
    return parts.join(",");
}
var cartSaveTimer = null;
var cartUpdating = false;


var cart = {
    'add': function (product_id, quantity, callback) {


        /*
                var opts = new Array();
                
                if ($('.product-options').length) {
                    $('.product-options').find('select').each(function() {
                        if ($(this).val() == '') {
                            $('.alert, .text-danger').remove();
                            $('.column-center').parent().before('<div class="alert alert-danger"><i class="fa fa-info-circle"></i> ' + json['info'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
                        }
                    });
                }
        */

        var defQuantity = 1;

        var targ;
        var e = window.event;
        if (e.target) targ = e.target;
        else if (e.srcElement) targ = e.srcElement;

        if (targ != null && targ.nodeType == 3) // defeat Safari bug
            targ = targ.parentNode;

        if ($(targ).closest('.cart-button').find('.product-quantity-inline').length) {
            defQuantity =
                parseInt($(targ).closest('.cart-button').find('.product-quantity-inline').find('input').val());
        }
        $('#cart > button').button('');

        $.get('/atilekt/handlers/shop/cart/add.aspx',
            {
                product_id: product_id,
                quantity: (typeof (quantity) != 'undefined' ? quantity : defQuantity),
                lang: $('#LangID').val()
            },
            function (html) {
                $('.alert, .text-danger').remove();


                var json = JSON.parse($(html).filter('#shopCartJson').html());

                if (json["error"]) {
                    $('.column-center').parent()
                        .before('<div class="alert alert-danger"><i class="fa fa-info-circle"></i> ' +
                        makeEditable(json['error']) +
                            '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');

                    setTimeout(function () { $('.alert').fadeOut(1000); }, 3000);
                    return;
                }

                $('#cart > button').button('reset');
                if (json['redirect']) {
                    document.location.href = json['redirect'];
                }

                if (document.location.href.indexOf('shopcart') >= 0) {
                    $('#cartContent').replaceWith($(html).filter('#shopCartContent').find('#cartContent'));
                    checkMinSum();
                }

                if (json['success']) {
                    $('.column-center').parent()
                        .before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' +
                        makeEditable(json['success']) +
                            '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');

                    $('#cart-total').html(json['total']);

                    var data = $(html).filter('#shopCartHeader').find('#cart');
                    $('#cart').replaceWith(data);
                    var cnt = $(data).find('#cartCount').val();
                    if (cnt == '0')
                        cnt = '';
                    $('.sticky-header-cart-counter').html(cnt);

                    initTooltips();
                }

                setTimeout(function () { $('.alert').fadeOut(1000); }, 3000);

                if (callback) {
                    try {
                        callback();
                    } catch (e) {

                    }
                }
            }
        );
        return false;
    },
    'change': function (key, prop, select) {
        $('#cart > button').button('');
        $.get('/atilekt/handlers/shop/cart/change.aspx', {
            product_id: key, prop_id: prop, value: $(select).is('select')
                ? $(select).find(':selected').attr('text')
                : $(select).attr('text'),

            variant_id: $(select).is('select')
                ? $(select).find(':selected').attr('opt')
                : $(select).attr('opt'),

            cost: $(select).is('select') ?
                $(select).find(':selected').attr('value') :
                $(select).val(),
            state: $(select).is('select') ? true : $(select).prop('checked'),
            cbx: !$(select).is('select'),
            lang: $('#LangID').val()
        }, function (html) {


            $('.alert').remove();
            $('#cart > button').button('reset');


            var json = JSON.parse($(html).filter('#shopCartJson').html());

            if (document.location.href.indexOf('shopcart') >= 0) {
                $('#cartContent').replaceWith($(html).filter('#shopCartContent').find('#cartContent'));
                checkMinSum();
            }


            if (json["error"]) {
                $('.column-center').parent().before('<div class="alert alert-danger"><i class="fa fa-info-circle"></i> ' + makeEditable(json['error']) + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
                setTimeout(function () { $('.alert').fadeOut(1000); }, 3000);
                return;
            }


            var data = $(html).filter('#shopCartHeader').find('#cart');
            $('#cart').replaceWith(data);
            var cnt = $(data).find('#cartCount').val();
            if (cnt == '0')
                cnt = '';
            $('.sticky-header-cart-counter').html(cnt);
            intInputs();
            initTooltips();

            setTimeout(function () { $('.alert').fadeOut(1000); }, 3000);

        });
        return false;
    },
    'refresh': function () {
        if (document.location.href.indexOf('shopcart') >= 0) {
            $('#cartContent').load('/atilekt/block_loader.aspx?path=/Templates/Shop/Electronic/Blocks/ShopCart.ascx .shop-cart-block',
                function (data) {
                    checkMinSum();
                });
        }

        $('#cart').load('/atilekt/block_loader.aspx?path=/Templates/Shop/Electronic/Blocks/Cart.ascx #cart', {}, function (data) {

            var cnt = $(data).find('#cartCount').val();
            if (cnt == '0')
                cnt = '';
            $('.sticky-header-cart-counter').html(cnt);


            intInputs();
            initTooltips();

        });
        setTimeout(function () { $('.alert').fadeOut(1000); }, 3000);
        return false;
    },
    'update': function (key, quantity) {
        if (cartUpdating)
            return false;
        cartUpdating = true;
        $('#cart > button').button('');
        $.get('/atilekt/handlers/shop/cart/set.aspx',
            { product_id: key, quantity: (typeof (quantity) != 'undefined' ? quantity : 1), lang: $('#LangID').val() },
            function (html) {
                var json = JSON.parse($(html).filter('#shopCartJson').html());
                $('.alert').remove();
                $('#cart > button').button('reset');

                if (document.location.href.indexOf('shopcart') >= 0) {

                    var shopCartContent = $(html).filter('#shopCartContent');
                    $('#cartContent').find('.summary-table').replaceWith(shopCartContent.find('#cartContent .summary-table'));
                    $('#cartContent').find('#minSumCell').replaceWith(shopCartContent.find('#cartContent #minSumCell'));

                    $('#cartContent').find('.shop-cart-list')
                        .replaceWith(shopCartContent.find('#cartContent .shop-cart-list'));
                    checkMinSum();
                }


                if (json["error"]) {
                    $('.column-center').parent()
                        .before('<div class="alert alert-danger"><i class="fa fa-info-circle"></i> ' +
                        makeEditable(json['error']) +
                            '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
                    return;
                }

                var data = $(html).filter('#shopCartHeader').find('#cart');
                $('#cart').replaceWith(data);
                var cnt = $(data).find('#cartCount').val();
                if (cnt == '0')
                    cnt = '';
                $('.sticky-header-cart-counter').html(cnt);


                intInputs();
                initTooltips();

                cartUpdating = false;
                setTimeout(function () { $('.alert').fadeOut(1000); }, 3000);
            });

        return false;
    },

    'count': function (obj) {

        if (cartUpdating)
            return false;

        

        var counterCell = $(obj).closest('.cart-item-counter');

        var counterInput = counterCell.find('input');

        if ($(obj).hasClass('cart-item-increment-disabled') ||
            counterCell.hasClass('cart-item-disabled'))
            return false;


        if ($(obj).hasClass('cart-item-increment') &&
            $(obj).attr('max-avail') !== '-1' &&
            parseInt(counterInput.val()) === parseInt($(obj).attr('max-avail')))
            return false;


        if ($(obj).hasClass('cart-item-decrement') &&
            $(obj).attr('min-avail') !== '-1' &&
            parseInt(counterInput.val()) === parseInt($(obj).attr('min-avail')))
            return false;

        if ($(obj).hasClass('cart-item-decrement') &&
            parseInt(counterInput.val()) === 1)
            return false;

        var current = parseInt(counterInput.val());


        var priceCell = $(obj).closest('.shop-cart-item').find('.price-total');
        var unitCell = $(obj).closest('.shop-cart-item').find('.price-piece');
        var price = parseFloat(priceCell.attr('data-unit-price').replace(',', '.'));

        var target = current;
        if ($(obj).hasClass('cart-item-decrement'))
            target--;
        else if ($(obj).hasClass('cart-item-increment')) target++;

        if (!isNaN(price)) {

            counterInput.val(target);

            var piece = priceCell.attr('data-unit-name');
            var currency = priceCell.attr('data-currency-name');
            //debugger;
            priceCell.html(numberWithSpaces(price * target) + currency);
            unitCell.html(target + ' ' + piece + ' x ' + numberWithSpaces(price) + currency);
            var nextBtn = counterCell.find('.cart-item-increment');
            if (nextBtn.attr('max-avail') !== '-1' &&
                parseInt(counterInput.val()) === parseInt($(obj).attr('max-avail'))) {
                nextBtn.addClass('cart-item-increment-disabled');
            } else {
                nextBtn.removeClass('cart-item-increment-disabled');
            }


            var prevBtn = counterCell.find('.cart-item-decrement');
            if (prevBtn.attr('max-avail') !== '-1' &&
                parseInt(counterInput.val()) === parseInt($(obj).attr('min-avail'))) {
                prevBtn.addClass('cart-item-increment-disabled');
            } else {
                prevBtn.removeClass('cart-item-increment-disabled');
            }


            $('.summary-table').find('.summary-cell').css('opacity', '0.25');
            $('.summary-table-loader').show();
            $('.order-btn-cell a').attr('disabled', 'disabled');
        }
        if (cartSaveTimer) {
            clearTimeout(cartSaveTimer);
            cartSaveTimer = null;
        }
        cartSaveTimer = setTimeout(function () {
            cart.update($(obj).closest('.shop-cart-item').attr('arg'), target);
        },
            1000);


        //cart.update($(obj).closest('.shop-cart-item').attr('arg'), target);


        return false;
    },
    'edit': function (obj, event) {

        if (cartUpdating)
            return false;


        if (event.keyCode == 13) {
            $(obj).blur();
            return true;
        }

        if (event.type == "blur") {


            //console.log(event);

            var my = parseInt($(obj).val());
            var max = parseInt($(obj).closest('.cart-item-counter').find('.cart-item-increment').attr('max-avail'));
            var min = parseInt($(obj).closest('.cart-item-counter').find('.cart-item-decrement').attr('min-avail'));

            if (max === 0)
                return false;

            if (my <= 0)
                my = 1;

            if (max >= 0) {
                if (my > max) {
                    my = max;
                }
            }

            if (min > 0 && my < min) {
                my = min;
            }

            cart.update($(obj).closest('.shop-cart-item').attr('arg'), my);
        }
        return true;
    },
    'remove': function (key) {

        $('#cart > button').button('');
        $.get('/atilekt/handlers/shop/cart/remove.aspx', { product_id: key, lang: $('#LangID').val() },

            function (html) {
                $('#cart > button').button('reset');

                var json = JSON.parse($(html).filter('#shopCartJson').html());

                if (document.location.href.indexOf('shopcart') >= 0) {
                    $('#cartContent').replaceWith($(html).filter('#shopCartContent').find('#cartContent'));
                    checkMinSum();
                }


                var data = $(html).filter('#shopCartHeader').find('#cart');
                $('#cart').replaceWith(data);
                var cnt = $(data).find('#cartCount').val();
                if (cnt == '0')
                    cnt = '';
                $('.sticky-header-cart-counter').html(cnt);
                intInputs();
                initTooltips();

                setTimeout(function () { $('.alert').fadeOut(1000); }, 3000);

            });
        return false;
    }
}
var voucher = {
    'add': function () { }, 'remove': function (key) {
        $.ajax({
            url: 'index.php?route=checkout/cart/remove', type: 'post', data: 'key=' + key, dataType: 'json', beforeSend: function () { $('#cart > button').button('loading'); }, complete: function () { $('#cart > button').button('reset'); }, success: function (json) {
                $('#cart-total').html(json['total']); if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') { location = 'index.php?route=checkout/cart'; } else { $('#cart').load('index.php?route=common/cart/info #cart'); }
                setTimeout(function () { $('.alert').fadeOut(1000) }, 3000)
            }
        });
    }
}


function makeEditable(content) {
    
    var replaced = content;
    if (document.location.href.indexOf("editable=true") >= 0) {

        var reg = new RegExp(
            "(href=[\'\"][^\'\"]*)([^\"\'])*[\'\"]",
            "gi");
        var result;

     

        while (result = reg.exec(content)) {
            var link = result[1];

            if (link.indexOf('editable=true') < 0) {
                link = link + (link.indexOf("?") >= 0 ? "&" : "?") + "editable=true";
                replaced = replaced.replace(result[1], link);
            }
        }

        if (replaced.indexOf("editable=true") < 0 && replaced.length)
            replaced += (replaced.indexOf('?') >= 0 ? '&' : '?') + "editable=true";

    }

    return replaced;
}

var wishlist = {
    'add': function (product_id) {
        $.ajax({
            url: '/atilekt/handlers/shop/wish/add.aspx',
            type: 'post',
            data: { product_id: product_id, lang: $('#LangID').val() },
            dataType: 'json',
            success: function (json) {
                $('.alert').remove();
                if (json['success']) {
                    $('.column-center').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + makeEditable(json['success']) + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
                }
                if (json['info']) {
                    $('.column-center').parent().before('<div class="alert alert-info"><i class="fa fa-info-circle"></i> ' + makeEditable(json['info']) + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');

                }
                $("[id='wishlist-total']").each(function () {
                    $(this).html(json['total']);
                    $(this).attr('title', $(this).text());
                });

                setTimeout(function () { $('.alert').fadeOut(1000); }, 3000);
            }
        });
    }, 'remove': function (product_id) {
        $.ajax({
            url: '/atilekt/handlers/shop/wish/remove.aspx',
            type: 'post',
            data: { product_id: product_id, lang: $('#LangID').val() },
            dataType: 'json',
            success: function (json) {
                $('.alert').remove();
                $("[id='wishlist-total']").each(function () {
                    $(this).html(json['total']);
                    $(this).attr('title', $(this).text());
                });
                if (document.location.href.indexOf('wishlist') >= 0) {
                    $('#favorites').load('/atilekt/block_loader.aspx?path=/Templates/Shop/Electronic/Blocks/MyFavorite.ascx #favorites');
                }
            }
        });
    }
}
var compare = {
    'add': function (product_id) {
        $.ajax({
            url: '/atilekt/handlers/shop/compare/add.aspx',
            type: 'post',
            data: { product_id: product_id, lang: $('#LangID').val() },
            dataType: 'json',
            success: function (json) {
                $('.alert').remove();
                if (json['success']) {
                    $('.column-center').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + makeEditable(json['success']) + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
                    $('#compare-total').html(json['total']);
                    setTimeout(function () { $('.alert').fadeOut(1000); }, 3000);
                }
            }
        });
    }, 'remove': function (product_id) {
        $.ajax({
            url: '/atilekt/handlers/shop/compare/remove.aspx',
            type: 'post',
            data: { product_id: product_id, lang: $('#LangID').val() },
            dataType: 'json',
            success: function (json) {
                $('.alert').remove();
                if (json['success']) {
                    $('.column-center').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + makeEditable(json['success']) + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
                    $('#compare-total').html(json['total']);
                    document.location.reload();
                    setTimeout(function () {
                        $('.alert').fadeOut(1000);

                    }, 3000);
                }
            }
        });
    }
}
$(window).resize(function () {
    if ($('.dropdown-menu').is(':visible')) {
        //setCartHeight();
        $('#cart.cart').removeClass('open');
    }
});

function setCartHeight() {
    
    var diff = $('#mainContentCell').offset().top - $(window).scrollTop();
    if (diff < 0)
        diff = 0;
    var blockHeight = $(window).height() - /*$('#cart .dropdown-menu').offset().top -*/  ($('.toprow-1').is(':visible') ? $('.toprow-1').height() : diff); //$('#cart .dropdown-menu').offset().top;
    $('#cart .dropdown-menu').css('height', 'auto');
    $('#cart .dropdown-menu').css('max-height', 'initial');
    $('#cart .dropdown-menu').css('min-height', 'initial');
    var totalHeight = $('#cart .dropdown-menu').height();

    var minHeight = 400;

    if ($('#cart .dropdown-menu').height() > blockHeight && blockHeight > minHeight) {
        $('#cart .dropdown-menu').css('overflow-y', 'scroll');
        $('#cart .dropdown-menu').css('min-height', minHeight);
        $('#cart .dropdown-menu').css('height', blockHeight + 'px');
        $(".dropdown-menu").animate({ scrollTop: totalHeight }, 1000);
    } else {
        $('#cart .dropdown-menu').css('overflow-y', 'auto');
        $('#cart .dropdown-menu').css('min-height', 'initial');
        $('#cart .dropdown-menu').css('height', 'auto');

    }
}

$(document).delegate('.agree', 'click', function (e) { e.preventDefault(); $('#modal-agree').remove(); var element = this; $.ajax({ url: $(element).attr('href'), type: 'get', dataType: 'html', success: function (data) { html = '<div id="modal-agree" class="modal">'; html += '  <div class="modal-dialog">'; html += '    <div class="modal-content">'; html += '      <div class="modal-header">'; html += '        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>'; html += '        <h4 class="modal-title">' + $(element).text() + '</h4>'; html += '      </div>'; html += '      <div class="modal-body">' + data + '</div>'; html += '    </div'; html += '  </div>'; html += '</div>'; $('body').append(html); $('#modal-agree').modal('show'); } }); }); (function ($) {
    function Autocomplete(element, options) { this.element = element; this.options = options; this.timer = null; this.items = new Array(); $(element).attr('autocomplete', 'off'); $(element).on('focus', $.proxy(this.focus, this)); $(element).on('blur', $.proxy(this.blur, this)); $(element).on('keydown', $.proxy(this.keydown, this)); $(element).after('<ul class="dropdown-menu"></ul>'); $(element).siblings('ul.dropdown-menu').delegate('a', 'click', $.proxy(this.click, this)); }
    Autocomplete.prototype = {
        focus: function () { this.request(); }, blur: function () { setTimeout(function (object) { object.hide(); }, 200, this); }, click: function (event) { event.preventDefault(); value = $(event.target).parent().attr('data-value'); if (value && this.items[value]) { this.options.select(this.items[value]); } }, keydown: function (event) { switch (event.keyCode) { case 27: this.hide(); break; default: this.request(); break; } }, show: function () { var pos = $(this.element).position(); $(this.element).siblings('ul.dropdown-menu').css({ top: pos.top + $(this.element).outerHeight(), left: pos.left }); $(this.element).siblings('ul.dropdown-menu').show(); }, hide: function () { $(this.element).siblings('ul.dropdown-menu').hide(); }, request: function () { clearTimeout(this.timer); this.timer = setTimeout(function (object) { object.options.source($(object.element).val(), $.proxy(object.response, object)); }, 200, this); }, response: function (json) {
            html = ''; if (json.length) {
                for (i = 0; i < json.length; i++) { this.items[json[i]['value']] = json[i]; }
                for (i = 0; i < json.length; i++) { if (!json[i]['category']) { html += '<li data-value="' + json[i]['value'] + '"><a href="#">' + json[i]['label'] + '</a></li>'; } }
                var category = new Array(); for (i = 0; i < json.length; i++) {
                    if (json[i]['category']) {
                        if (!category[json[i]['category']]) { category[json[i]['category']] = new Array(); category[json[i]['category']]['name'] = json[i]['category']; category[json[i]['category']]['item'] = new Array(); }
                        category[json[i]['category']]['item'].push(json[i]);
                    }
                }
                for (i in category) { html += '<li class="dropdown-header">' + category[i]['name'] + '</li>'; for (j = 0; j < category[i]['item'].length; j++) { html += '<li data-value="' + category[i]['item'][j]['value'] + '"><a href="#">&nbsp;&nbsp;&nbsp;' + category[i]['item'][j]['label'] + '</a></li>'; } }
            }
            if (html) { this.show(); } else { this.hide(); }
            $(this.element).siblings('ul.dropdown-menu').html(html);
        }
    }; $.fn.autocomplete = function (option) { return this.each(function () { var data = $(this).data('autocomplete'); if (!data) { data = new Autocomplete(this, option); $(this).data('autocomplete', data); } }); }
})(window.jQuery);


$(document).ready(function () {



    if ($('#input-quantity').length) {

        document.getElementById('input-quantity').onkeypress = function (e) {

            e = e || event;

            if (e.ctrlKey || e.altKey || e.metaKey) return;

            var chr = getChar(e);

            if (chr == null) return;

            if (chr < '0' || chr > '9') {
                return false;
            }

        }
    }

    function getChar(event) {
        if (event.which == null) {
            if (event.keyCode < 32) return null;
            return String.fromCharCode(event.keyCode) // IE
        }

        if (event.which != 0 && event.charCode != 0) {
            if (event.which < 32) return null;
            return String.fromCharCode(event.which)
        }

        return null;
    }

    jQuery('#reviews_form_title').addClass('close-tab');
    jQuery('#reviews_form_title').on("click", function () {
        if (jQuery(this).hasClass('close-tab')) {
            jQuery(this).removeClass('close-tab');
            jQuery('#tab-review').slideToggle();
        } else {
            jQuery(this).addClass('close-tab');
            jQuery('#tab-review').slideToggle();
        }
    });


    /*
        $('select[name=\'recurring_id\'], input[name="quantity"]').change(function () {
            $.ajax({
                url: 'index.php?route=product/product/getRecurringDescription',
                type: 'post',
                data: $('input[name=\'product_id\'], input[name=\'quantity\'], select[name=\'recurring_id\']'),
                dataType: 'json',
                beforeSend: function () {
                    $('#recurring-description').html('');
                },
                success: function (json) {
                    $('.alert, .text-danger').remove();
    
                    if (json['success']) {
                        $('#recurring-description').html(json['success']);
                    }
                }
            });
        });*/
    //-->

    $('.box-cart #cart').on('click', function () {
        //todo - add ShopCart Scroller 17.12.2019
        setCartHeight();
    });
    $('#button-cart').on('click',
        function () {
            var opts = new Array();
            var error = false;
            if ($('.product-options').length) {
                $('.product-options').find('select').each(function () {
                    if (!$(this).val().length) {
                        $('.alert, .text-danger').remove();
                        $('.column-center').parent()
                            .before('<div class="alert alert-info"><i class="fa fa-info-circle"></i> ' +
                                $('#variantRequire').val() +
                                '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
                        setTimeout(function () {
                            $('.alert').fadeOut(1000);
                        },
                            3000);
                        error = true;
                    } else {
                        opts.push({
                            Id: $(this).attr('arg'),
                            Value: $(this).find('option:selected').attr('text'),
                            Cost: $(this).val(),
                            VariantId: $(this).find('option:selected').attr('opt')
                        });
                    }
                });
                $('.product-options').find('input[type="checkbox"]').each(function () {
                    if ($(this).prop('checked')) {
                        opts.push({
                            Id: $(this).attr('arg'),
                            Value: $(this).attr('text'),
                            Cost: $(this).val(),
                            VariantId: $(this).attr('opt')
                        });
                    }
                });
            }

            if (!error) {
                $('#button-cart').button('loading');
                $.get('/atilekt/handlers/shop/cart/add.aspx',
                    {
                        product_id: $("#product input[name=\'product_id\']").val(),
                        quantity: $('#product input[name=\'quantity\']').val(),
                        opts: JSON.stringify(opts)
                    },
                    function (html) {
                        var json = JSON.parse($(html).filter('#shopCartJson').html());

                        $('#button-cart').button('reset');
                        $('.alert, .text-danger').remove();
                        $('.form-group').removeClass('has-error');

                        if (json['error']) {
                            $('.column-center').parent()
                                .before('<div class="alert alert-danger"><i class="fa fa-info-circle"></i> ' +
                                    json['error'] +
                                    '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
                            $('.text-danger').parent().addClass('has-error');
                        }

                        if (json['success']) {
                            $('.column-center').parent().before('<div class="alert alert-success">' +
                                makeEditable(json['success']) +
                                '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');

                            var data = $(html).filter('#shopCartHeader').find('#cart');
                            $('#cart').replaceWith(data);

                            var cnt = $(data).find('#cartCount').val();
                            if (cnt == '0')
                                cnt = '';
                            $('.sticky-header-cart-counter').html(cnt);

                        }

                        setTimeout(function () { $('.alert').fadeOut(1000); }, 3000);


                    });
            }
        });
});



function showMsg(cls, msg, obj, hideform) {
    var tmpl = '<div class="alert ' + cls + '">' + (!hideform ? '<a href="#" class="close" data-dismiss="alert">&times;</a>' : '') + msg + '</div>';
    $(obj).prev('#messageCell').html(tmpl);

    if (hideform) {
        var feedback = $(obj).closest('.feedback-form');
        feedback.find('> div').not('#btnCell').hide();
        feedback.find('#btnCell').find('.btn').hide();
    }
}function doLiveSearch(ev, keywords, obj) {

    if (ev.keyCode == 38 || ev.keyCode == 40) {
        return false;
    }
    
    updown = -1;
    if (keywords == '' || keywords.length < 3) {
        return false;
    }
    keywords = encodeURI(keywords); $.ajax({
        url: /*$('base').attr('href') +*/ '/atilekt/handlers/shop/search/search.aspx?lang=' + $('#LangID').val() +'&keyword=' + keywords,
        dataType: 'json', content: this,
        success: function (result) {
            if (result.length > 0) {
                var eList = document.createElement('ul');
                eList.id = 'livesearch_search_results';
                var eListElem;
                var eListElems;
                var eLink;
                for (var i in result) {
                    eListElem = document.createElement('li');
                    eLink = document.createElement('a');
                    $(function () {
                        eListElems = document.createElement('img');
                        eListElems.className = 'loading';
                        $(eListElems).load(function() { $(this).show(); });
                        eListElems.src = result[i].image;
                        eLink.appendChild(eListElems);
                    });
                    eLink.appendChild(document.createTextNode(result[i].name));
                    if (typeof (result[i].href) != 'undefined') {
                        eLink.href = makeEditable(result[i].href);
                    } else {
                        var lang = $('#LangID[data-url]').attr('data-url');
                        if (lang.length) {
                            lang = '/' + lang;
                        }
                        
                        eLink.href = makeEditable( lang + '/search?keyword=' + keywords );
                        /*$('base').attr('href') + 'index.php?route=product/product&product_id=' + result[i].product_id + '&keyword=' + keywords;*/
                    }
                    eListElem.appendChild(eLink);
                    
                    eList.appendChild(eListElem);
                }
                if ($('#livesearch_search_results').length > 0) { $('#livesearch_search_results').remove(); }

                $(obj).closest('[id=search]').append(eList);
                //console.log($('#livesearch_search_results').html());

                //$('#search').append(eList);
            }
        }
    });


    return true;
}

var highlited = null;

function upDownEvent(ev, obj) {
    var elem = document.getElementById('livesearch_search_results');
//    var fkey = $('#search').find('[name=search]').first();
    if (elem) {
        var length = elem.childNodes.length - 1;
        if (updown != -1 && typeof (elem.childNodes[updown]) != 'undefined') {
            $(elem.childNodes[updown]).removeClass('highlighted');
        }
        if (ev.keyCode == 38) {
            updown = (updown > 0) ? --updown : updown;
        }
        else if (ev.keyCode == 40) {
            updown = (updown < length) ? ++updown : updown;
        }
        if (updown >= 0 && updown <= length) {
            $(elem.childNodes[updown]).addClass('highlighted');
            highlited = $(elem.childNodes[updown]);
            var text = elem.childNodes[updown].childNodes[0].text;
            if (typeof (text) == 'undefined') {
                text = elem.childNodes[updown].childNodes[0].innerText;
            }
            $(obj).closest('[id=search]').find('[name=search],[name*=searchText]').first().val(new String(text).replace(/(\s\(.*?\))$/, ''));
        }
    }
    return false;
}

function loadLiveSearch() {

 

    
    $('#search input[name=\'search\']').unbind('keydown');
    $('#search input[name=\'search\']').unbind('keyup');

    $('#search input[name=\'search\']').parent().find('button').unbind('click');
    $('#search input[name=\'search\']').parent().find('button').on('click', function () {
        var lang = $('#LangID[data-url]').attr('data-url');
        if (lang.length) {
            lang = '/' + lang;
        }

        var url = lang + '/search';
        var value = $(this).closest('[id=search]').find('input[name=\'search\']').val();
        if (value) {
            url += '?keyword=' + encodeURIComponent(value);
        } else {
            return false;
        }
        //debugger;
        document.location.href = makeEditable(url);
        return false;
    });



    $('[id=search] input[name*=\'searchText\']').unbind('keydown');
    $('[id=search] input[name*=\'searchText\']').unbind('keyup');

    $('[id=search] input[name*=\'searchText\']').parent().find('button').unbind('click');
    $('[id=search] input[name*=\'searchText\']').parent().find('button').on('click', function () {
        var lang = $('#LangID[data-url]').attr('data-url');
        if (lang.length) {
            lang = '/' + lang;
        }

        var url = lang + '/search';
        var value = $(this).closest('[id=search]').find('input[name*=\'searchText\']').val();
        if (value) {
            url += '?keyword=' + encodeURIComponent(value);
        } else {
            return false;
        }
        //debugger;
        document.location.href = makeEditable(url);
        return false;
    });

    $('[id=search]').not('.init-complete').find('[name=search],[name*=searchText]').keyup(function (ev) {
        return doLiveSearch(ev, this.value, this);
    }).focus(function (ev) {
        doLiveSearch(ev, this.value, this);
    }).keydown(function (ev) {
        upDownEvent(ev, this);
    }).blur(function () {
        window.setTimeout("$('#livesearch_search_results').remove();updown=0;", 600);
    }).addClass('init-complete');


}

var updown = -1;
$(document).ready(function () {

    loadLiveSearch();

    var redirect = false;
    $(document).bind('keydown', function (ev) {
        
        try {
            if (ev.keyCode == 13 && highlited && highlited.length) {
                
                redirect = true;
                document.location.href =  highlited.find('a').first().attr('href');
                return false;
            }
            
        }
        catch (e) { }
        
    });
    $(document).bind('keyup', function (ev) {

        

        if ($(ev.target).attr('name') && $(ev.target).attr('name').indexOf('quantity') >= 0 && ev.keyCode == 13) {
            $(ev.target).closest('td').find('.btn-primary').trigger('click');
            return true;
        }


        if (!$(ev.target).closest('.search').length)
            return true;

        if ($(ev.target).closest('.search').hasClass('input-group'))
            return true;
        try {
            if (ev.keyCode == 13 && !redirect) {
                console.log('keyup');
                //var value = $('header input[name=\'search\']').val();
                var value = $(ev.target).val();
                if (value) {
                    var lang = $('#LangID[data-url]').attr('data-url');
                    if (lang.length) {
                        lang = '/' + lang;
                    }

                    var url = lang + '/search?keyword=' + encodeURIComponent(value);
                    document.location.href = makeEditable(url);
                    return false;
                } else {
                    return false;
                }
                
            }
        }
        catch (e) { }
        
    });
});function setHeight() {

    //console.log('setHeight');

    $('.benefit-item').css('height', '');
    $('.benefit-item').equalHeights();

    if ($(".maxheight-r").length) {
        $(".maxheight-r").css('height', 'initial');
        $(".maxheight-r").equalHeights();
    }
    if ($(".maxheight1").length) {


        var boxes = $('.maxheight1').closest('.box-content, .row, #access-block');
        boxes.each(function () {

            var group = $(this).find('.maxheight1');
            group.css('height', 'initial');
            group.equalHeights();

        });

    }
    if ($(".maxheight2").length) {
        $(".maxheight2").css('height', 'initial');
        $(".maxheight2").equalHeights();
    }
    if ($(".equal-height-767").length) {

        var groups = $('.equal-height-767').closest('.box-content');
        groups.each(function () {
            var group = $(this).find('.equal-height-767');
            group.css('height', 'initial');

            
            if ($(window).width() < 768 || $(this).attr('equalheight') == '1') {
                group.equalHeights();

            } 


        });



    }
    if ($(".equal-height-767-2").length) {
        /*if ($(window).width() < 768) {*/
        $(".equal-height-767-2").css('height', 'initial');
        $(".equal-height-767-2").equalHeights();
        /*}*/
    }
    //debugger;
    if ($(".equal-height-767-3").length) {
        if ($(window).width() < 768) {
            $(".equal-height-767-3").css('height', 'initial');
            $(".equal-height-767-3").equalHeights();
        }
        else {
            $(".equal-height-767-3").css('height', 'initial');
        }
    }

    $('.maxheight4').each(function () {
        var mx4 = $(this).find('.product-thumb');
        if (mx4.length) {
            mx4.css('height', 'initial');
            mx4.equalHeights();
        }

    });


    $('.blog-anons-equal').each(function () {
        var anons = $(this).find('.caption .name');
        if (anons.length) {
            anons.css('height', 'initial');
            anons.equalHeights();
        }

    });


}

(function ($) {
    $.fn.equalHeights = function (minHeight, maxHeight) {
        var tallest = (minHeight) ? minHeight : 0;
        this.each(function () {
            if ($(this).height() > tallest) {
                //console.log($(this).height());
                tallest = $(this).height();
            }
        });
        if ((maxHeight) && tallest > maxHeight) tallest = maxHeight;
        return this.each(function () { $(this).height(tallest); });
    }
})(jQuery);


var resizer = null;
var prevSize = null;
var nowSize = null;
var redraw = false;
$(window).resize(function () {
    //   debugger;

    prevSize = nowSize;
    nowSize = $(window).width();
    if ((prevSize <= 767 && nowSize > 767) || (prevSize > 767 && nowSize <= 767)) {
        redraw = true;
    }

    if (resizer) {
        clearTimeout(resizer);
    }
    resizer = setTimeout(function () {
        //console.log('rezise');
        resizer = null;
        setHeight();

        initReviews();

        setMainZoomWrapper();

        // Alaways true for better responsiblity and recalculating dimension after resize
        // ReSharper disable once ConditionIsAlwaysConst
        if (redraw || true) {
            initSpecials();

        }


        redraw = false;
        setHeaderExpander();

    }, 300);


});

function setHeaderExpander() {
    var width = $('body').width();
    if (width < 768) {
        var leftColumn = $('body').find('#column-left');
        leftColumn.remove().insertAfter('#content');
        //debugger;



    } else if (width < 1024) {
        $('aside .box-heading h3').each(function () {
            if (!$(this).find('.fa-minus-circle, .fa-plus-circle').length) {

                var owl = $(this).closest('.box').find('.owl-controls, .bx-controls');
                if (!owl.length) {

                    $(this).append('<i class="fa expander-icon fa-minus-circle"></i>');
                    $(this).closest('.box-heading').unbind('click');
                    $(this).closest('.box-heading').on("click",
                        function () {
                            if ($(this).find('i.expander-icon').hasClass('fa-plus-circle')) {
                                $(this).find('i.expander-icon').removeClass('fa-plus-circle')
                                    .parents('.col-sm-3 .box').find('.box-content').slideToggle();
                                $(this).find('i.expander-icon').addClass('fa-minus-circle');
                            } else {
                                $(this).find('i.expander-icon').removeClass('fa-minus-circle');
                                $(this).find('i.expander-icon').addClass('fa-plus-circle')
                                    .parents('.col-sm-3 .box').find('.box-content').slideToggle();
                            }
                        });
                    $('.account .box-heading').find('i').removeClass('fa-minus-circle');
                    $('.account .box-heading').find('i').addClass('fa-plus-circle').parents('.col-sm-3 .box')
                        .find('.box-content').hide();
                }
            }

        });
    }
    else {
        $('.col-sm-3 .box').find('.box-content').show();
        $('.col-sm-3 .box-heading').unbind('click');

        $('.expander-icon').remove();
    }

    $("img.lazy").unveil(1, function () { $(this).load(function () { $(this).animate({ 'opacity': 1 }, 700); }); });

    $('.box-content').each(function () {
        //debugger;
        if (!$(this).find('.owl-nav').length) {
            $(this).closest('.box').find('.box-heading h3').css('padding-right', '22px');
        } else {
            $(this).closest('.box').find('.box-heading h3').css('padding-right', ($(this).find('.owl-nav').width() + 18) + 'px');
        }
    });

}

function checkMinSum() {

    if (document.location.search.indexOf('?editable=true') >= 0)
        return;
    if ($('.min-sum-cart-alert').length) {
        $('.order-btn-cell .btn.btn-primary').attr('disabled', 'disabled');
    } else {
        $('.order-btn-cell .btn.btn-primary').removeAttr('disabled');
    }

}

var productMainSlider;
var productMobileSlider;

function setBuyBtnCentered() {
    var min = 10000;

    $('.cart-button-centered').each(function () {
        var thumb = $(this).closest('.product-thumb');
        var total = thumb.height();
        var sum = thumb.find('.image').height() + thumb.find('.cart-controls').height();
        var diff = total - sum;
        if (diff < min)
            min = diff;

    });

    $('.cart-button-centered').each(function () {
        var thumb = $(this).closest('.product-thumb');
        var total = thumb.height();
        var sum = thumb.find('.image').height() + thumb.find('.cart-controls').height();
        var diff = total - sum;

        var margin = diff - min;
        if (margin > 0) {

            thumb.find('.cart-button-centered').css('margin-top', (margin + 8) + 'px');
        }

    });

}

function matchYoutubeUrl(url) {
    var p = /(youtube\.com|youtu\.be|youtube-nocookie\.com)\/(watch\?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*)).*/i;
    return (url.match(p)) ? true : false;
}
function getYoutubeID(url) {
    var p = /(youtube\.com|youtu\.be|youtube-nocookie\.com)\/(watch\?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*)).*/i;
    var match = url.match(p);
    return (match && match[3].length == 11) ? match[3] : false;
}



$(window).on("hashchange", function (e) {
    if (e.originalEvent.oldURL &&
        e.originalEvent.oldURL.indexOf('_swipe_open') >= 0 &&
        e.originalEvent.newURL &&
        e.originalEvent.newURL.indexOf('_swipe_open') < 0) {

        $('body').removeClass('ind');

        return false;
    }

});


$(document).ready(function () {


    checkMinSum();

    setBuyBtnCentered();
    initBanners();
    nowSize = prevSize = $(window).width();
    $('#page').click(function () {
        if ($(this).parents('body').hasClass('ind')) {
            $(this).parents('body').removeClass('ind');

            /*
                        if (document.location.hash.indexOf('_swipe_open') >= 0)
                            document.location.hash = '';
            */

            if (parent) {
                try {
                    if (parent.document.location.hash.indexOf('_swipe_open') >= 0)
                        parent.document.location.hash = '';
                }
                catch (e) { }


            }
            swipedMenu = true;
            return false;
        }
    });


    $('.swipe-control').not('.lang-switch-block').click(function () {



        $('.lang-sublist-swipe').removeClass('active');

        if ($(this).closest('body').hasClass('ind')) {

            $(this).closest('body').removeClass('ind');

            if (document.location.hash.indexOf('_swipe_open') >= 0)
                document.location.hash = '';

            if (parent) {
                try {
                    if (parent.document.location.hash.indexOf('_swipe_open') >= 0)
                        parent.document.location.hash = '';
                }
                catch (e) { }


            }
            swipedMenu = true;

            return false;
        } else {
            $(this).parents('body').addClass('ind');


            /*
                        if (document.location.hash.indexOf('_swipe_open') < 0)
                            document.location.hash = '_swipe_open';
            */

            try {

                if (parent) {
                    if (parent.document.location.hash.indexOf('_swipe_open') < 0)
                        parent.document.location.hash = '_swipe_open';
                }

                if (parent && typeof parent.toggeHeaderEditor == "function") {
                    var width = $(parent.window).width();
                    if (width < 818) {
                        parent.toggeHeaderEditor(false);
                    }
                }
            }
            catch (e) { }
            swipedMenu = true;

            return false;
        }
    });
    $().UItoTop({ easingType: 'easeOutQuart' });
    var sect = 1;
    $(document).ready(function () {
        $('.swipe').height($(window).height() - 50);
        $(window).resize(function () {
            $('.swipe').height($(window).height() - 50);
            $('.lang-sublist-swipe').removeClass('active');

            if ($(window).width() > 767) {
                $('body').removeClass('ind');
            }

        });

        //var sects = $('.swipe').size();
        //debugger;
        //$('.lang-switch-block.swipe-control .lang-sublist-swipe').insertAfter('.swipe');


    });
    $("img.lazy").unveil(1, function () {
        $(this).load(function () { $(this).animate({ 'opacity': 1 }, 700); });
    });


    initCatalogBrowser();




    $(document).ready(function () {
        $('column').find('.box-category .menu  li li a').prepend('<i class="fa fa-angle-right "></i>');
        $('#content').find('ul.list-unstyled li a').prepend('<i class="fa fa-angle-right "></i>');
        $('.site-map-page #content ').find(' ul li a').prepend('<i class="fa fa-angle-right "></i>');
        $('.manufacturer-content ').find(' div>a').prepend('<i class="fa fa-angle-right "></i>');
        $('footer .col-sm-3 ').find(' li>a').prepend('<i class="fa fa-chevron-right"></i>');
        $('#tm_menu div > ul > li > ul  ').find(' li>a').prepend('<i class="fa fa-chevron-right"></i>');
        $('.box.info .box-content ul li  ').find('a').prepend('<i class="fa fa-chevron-right"></i>');
    });

    $(window).load(function () {
        if ($("#content .product-grid .name").length) {
            $("#content .product-grid .name").equalHeights();
        }
    });




    $("[id='menu-icon']").on("click", function () {
        $(this).closest('.menu-gadget').find('.menu').slideToggle();
        $(this).toggleClass("active");
    });
    $('.menu-gadget .menu').find('li>ul').before('<i class="fa fa-angle-down"></i>');

    $('.menu-gadget .menu li i').on("click", function () {
        if ($(this).hasClass('fa-angle-up')) { $(this).removeClass('fa-angle-up').parent('li').find('> ul').slideToggle(); }
        else { $(this).addClass('fa-angle-up').parent('li').find('> ul').slideToggle(); }
    });


    if ($('body').width() < 768) {
        $('.tab-heading').append('<i class="fa fa-plus-circle"></i>');
        $('.tab-heading').on("click",
            function () {
                if ($(this).find('i').hasClass('fa-minus-circle')) {
                    $(this).find('i').removeClass('fa-minus-circle').parents('.tabs').find('.tab-content')
                        .slideToggle();
                } else {
                    $(this).find('i').addClass('fa-minus-circle').parents('.tabs').find('.tab-content')
                        .slideToggle();
                }
            });
    };



});

function setMainZoomWrapper() {
    $.removeData($("#gallery_zoom"), 'elevateZoom'); //remove zoom instance from image
    $('.zoomContainer').remove(); // remove zoom container from DOM


    if ($("#gallery_zoom").closest('.zoomWrapper').length)
        $("#gallery_zoom").unwrap('.zoomWrapper');





    if ($("#gallery_zoom").length && $("#gallery_zoom").attr('src').substr(0, 4) != "http") {

        $('<img src="' + $("#gallery_zoom").attr('src') + '">').load(function () {

            //debugger;
            if (typeof $.fn.elevateZoom === "function") {

                $("#gallery_zoom").elevateZoom({
                    gallery: 'image-additional',
                    cursor: 'pointer',
                    zoomType: 'inner',
                    galleryActiveClass: 'active',
                    imageCrossfade: true
                });
            }
            $('.product-gallery .gallery-loader').hide();

        });

    }
    else if ($("#gallery_zoom").length && $("#gallery_zoom").attr('src').substr(0, 4) == "http") {

        $.removeData($("#gallery_zoom"), 'elevateZoom'); //remove zoom instance from image
        $('.zoomContainer').remove(); // remove zoom container from DOM

        var youTubeLink = $("#gallery_zoom").attr('src');

        if (matchYoutubeUrl(youTubeLink)) {

            var width = $('#gallery_zoom').width();
            if (width < 561)
                width = 561;

            $('#youtube_block').html('<iframe width="' + width + 'px" height="' + width + 'px" src="https://www.youtube.com/embed/' +
                getYoutubeID(youTubeLink) +
                '" frameborder="0" allowfullscreen></iframe>');//?feature=player_embedded

            $('#gallery_zoom').hide();
            $('.zoomWrapper').hide();
            $('#youtube_block').show();
            $('.product-gallery .gallery-loader').hide();
            return false;

        } else {
            $('#gallery_zoom').show();
            $('#youtube_block').hide();
            $('.zoomWrapper').show();
            var link = youTubeLink;

            var img = new Image();
            img.src = link;
            img.onload = function () {
                $('#gallery_zoom').attr('src', link);
                $('.product-gallery .gallery-loader').hide();
            };
            img.onerror = function () {

            }


        }

    }
}

function initCatalogBrowser() {


    if (typeof loadCategoryFilter !== 'undefined')
        loadCategoryFilter();

    $('#list-view').unbind('click');
    $('#list-view').click(function () {

        $('.column-center .product-layout > .clearfix').remove();
        $(this).addClass('active');
        $('#grid-view').removeClass('active');
        $('.column-center .product-layout').attr('class', 'product-layout product-list col-xs-12');
        localStorage.setItem('display', 'list');
        setHeight();
    });
    $('#grid-view').unbind('click');
    $('#grid-view').click(function () {

        $(this).addClass('active');
        $('#list-view').removeClass('active');
        $('.column-center .product-layout > .clearfix').remove();
        var cols = $('.column-right, .column-left').length;
        if (cols == 2) {
            $('.column-center .product-layout').attr('class', 'product-layout product-grid col-lg-6 col-md-6 col-sm-6 col-xs-6');
        } else if (cols == 1) {
            $('.column-center .product-layout').attr('class', 'product-layout product-grid col-lg-4 col-md-4 col-sm-4 col-xs-6');
        } else {
            $('.column-center .product-layout').attr('class', 'product-layout product-grid col-lg-3 col-md-3 col-sm-6 col-xs-6');
        }
        localStorage.setItem('display', 'grid');
        setHeight();
        setTimeout(function () {
            setBuyBtnCentered();
        },
            100);

    });
    if (localStorage.getItem('display') == 'list') {
        $('#list-view').trigger('click');
    } else {
        $('#grid-view').trigger('click');
    }



    $('.sale').closest('.product-thumb').addClass('sale-product');


    //fix category editor button visibility
    var groupid = $('body').attr('groupid');
    if (groupid && groupid.length) {
        $('.overlay-edit-btn[target="products"]').hide();
    }

    setMainZoomWrapper();


    $('#image-additional a').unbind('click');
    $('#image-additional a').click(function () {

        if ($(this).attr('data-zoom-image').substr(0, 4) == "http") {
            $.removeData($("#gallery_zoom"), 'elevateZoom'); //remove zoom instance from image
            $('.zoomContainer').remove(); // remove zoom container from DOM
            if (matchYoutubeUrl($(this).attr('data-zoom-image'))) {

                var width = $('#gallery_zoom').width();


                $('#youtube_block').html('<iframe width="' + width + 'px" height="' + width + 'px" src="https://www.youtube.com/embed/' +
                    getYoutubeID($(this).attr('data-zoom-image')) +
                    '" frameborder="0" allowfullscreen></iframe>');//?feature=player_embedded

                $('#gallery_zoom').hide();
                $('.zoomWrapper').hide();
                $('#youtube_block').show();

                return false;
            } else {
                $('#gallery_zoom').show();
                $('#youtube_block').hide();
                $('.zoomWrapper').show();
                var link = $(this).attr('data-zoom-image');

                var img = new Image();
                img.src = link;
                img.onload = function () {
                    $('#gallery_zoom').attr('src', link);
                };
                img.onerror = function () {

                }


            }

        } else {

            $('#gallery_zoom').show();
            $('#youtube_block').hide();
            $('.zoomWrapper').show();

            $('.product-gallery .gallery-loader').show();

            var src = $(this).attr('data-zoom-image');
            $('<img src="' + src + '">').load(function () {
                $("#gallery_zoom").attr('src', src);
                if (typeof $.fn.elevateZoom === "function") {
                    $("#gallery_zoom").elevateZoom({
                        gallery: 'image-additional',
                        cursor: 'pointer',
                        zoomType: 'inner',
                        galleryActiveClass: 'active',
                        imageCrossfade: true
                    });
                }
                $('.product-gallery .gallery-loader').hide();
            });

        }
        return false;
    });


    $("#gallery_zoom").unbind("click");
    $("#gallery_zoom").bind("click", function (e) {
        if (typeof $.fn.elevateZoom === "function") {
            var ez = $('#gallery_zoom').data('elevateZoom');
            $.fancybox(ez.getGalleryList());
            return false;
        } else {
            var list = new Array();
            var act = 0;
            //debugger;
            $('#image-additional li > a').each(function (index) {
                list.push({ href: $(this).attr('data-image'), title: $(this).attr('title') });
                if ($(this).attr('data-image') == $('#gallery_zoom').attr('src')) {
                    act = index;
                }
            });
            $.fancybox(list, {
                'index': act
            });
            return false;

        }
    });

    productMainSlider = $('#image-additional').bxSlider(
        {
            mode: 'vertical',
            pager: false,
            controls: true,
            slideMargin: 13,
            minSlides: 6,
            maxSlides: 6,
            slideWidth: 88,
            nextText: '<i class="fa fa-chevron-down"></i>',
            prevText: '<i class="fa fa-chevron-up"></i>',
            infiniteLoop: false,
            adaptiveHeight: true,
            moveSlides: 1,

            preloadImages: 'visible',
            touchEnabled: true,
            swipeThreshold: 30

        });

    productMobileSlider = $('#gallery').bxSlider(
        {
            pager: false,
            controls: true,
            minSlides: 1,
            maxSlides: 1,
            infiniteLoop: true,
            nextText: '<i class="fa fa-chevron-right"></i>',
            prevText: '<i class="fa fa-chevron-left"></i>',

            preloadImages: 'visible',
            touchEnabled: true,
            swipeThreshold: 30,

            moveSlides: 1
        });

    if ($("#gallery a").length) {
        var myPhotoSwipe = $("#gallery a").photoSwipe({
            enableMouseWheel: true,
            enableKeyboard: true,
            captionAndToolbarAutoHideDelay: 0
        });
    }


    var carousel;

    if ($('.related-slider .product-thumb').length > 1) {
        carousel = $('.related-slider').owlCarousel({ smartSpeed: 450, dots: false, nav: true, loop: true, margin: 30, navClass: ['owl-prev fa fa-angle-left', 'owl-next fa fa-angle-right'], responsive: { 0: { items: 1 }, 768: { items: 2 }, 992: { items: 3 }, 1199: { items: 4 } } });
    } else {
        carousel = $('.related-slider').owlCarousel({ smartSpeed: 450, dots: false, nav: true, loop: false, margin: 30, navClass: ['owl-prev fa fa-angle-left', 'owl-next fa fa-angle-right'], responsive: { 0: { items: 1 }, 768: { items: 2 }, 992: { items: 3 }, 1199: { items: 4 } } });

    }
    carousel.on('changed.owl.carousel',
        function (event) {
            $('.related-slider').find('img.lazy').unveil(1,
                function () {
                    $(this).load(function () { $(this).animate({ 'opacity': 1 }, 700); });
                });
        });

    $('.tab-switch-block .tab-switch-item').unbind('click');
    $('.tab-switch-block .tab-switch-item').click(function () {
        $(this).addClass('active');
        $('.tab-switch-block .tab-switch-item').not($(this)).removeClass('active');
        var arg = $(this).find('div').data('target');
        $('div[data-arg]').hide();
        $('#' + arg).show();

        if ($(this).attr('arg') === 'image-tab') {

            if ($('#' + arg).find('.addition-gallery').hasClass('not-loaded')) {

                var total = $('#' + arg).find('img.lazy-gallery').length;
                var current = 0;

                if (total > 1) {

                    $('#' + arg).find('img.lazy-gallery:not(:first)').unveil(1, function () { });


                    $('#' + arg).find('img.lazy-gallery:not(:first)').on('load',
                        function () {
                            current++;
                            if ((total - 1) === current) {
                                $('#' + arg).find('img.lazy-gallery:first').unveil();

                                $('#' + arg).find('img.lazy-gallery:first').on('load',
                                    function () {
                                        $('#' + arg).find('.addition-gallery').removeClass('not-loaded');

                                        $('#' + arg).find('.flexslider').flexslider({
                                            animation: "slide"
                                        });
                                    });
                            }
                        });
                } else {
                    $('#' + arg).find('img.lazy-gallery:first').unveil();

                    $('#' + arg).find('img.lazy-gallery:first').on('load',
                        function () {
                            $('#' + arg).find('.addition-gallery').removeClass('not-loaded');

                            $('#' + arg).find('.flexslider').flexslider({
                                animation: "slide"
                            });
                        });
                }
            }
            return;
        }


        loadReviews();
        $('img.lazy').unveil(1,
            function () {
                $(this).load(function () { setHeight(); });

            });

    });

    setHeight();
    $(window).load(function () {
        setHeight();
    });

    setTimeout(function () {
        setHeight();
    }, 2000);

}

function addThisReload() {

    var script = 'http://s7.addthis.com/js/250/addthis_widget.js#domready=1';
    if (window.addthis) {
        window.addthis = null;
        window._adr = null;
        window._atc = null;
        window._atd = null;
        window._ate = null;
        window._atr = null;
        window._atw = null;
    }
    $.getScript(script);

}

$(window).load(
    function () { $(window).trigger('lookup.unveil'); }
);
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent);
if (!isMobile) {
    $(document).ready(
        function () {


            var stickMenu = false;
            var docWidth = $('body').find('.container').width();
            if (!isMobile) {
                controller = new ScrollMagic();
            }
        });

    function listBlocksAnimate(block, element, row, offset, difEffect) {
        if (!isMobile) {
            if ($(block).length) {
                var i = 0;
                var j = row;
                var k = 1;
                var effect = -1;
                $(element).each(function () {
                    i++;
                    if (i > j) {
                        j += row;
                        k = i;
                        effect = effect * (-1);
                    }
                    if (effect == -1 && difEffect == true) {
                        ef = TweenMax.from(element + ':nth-child(' + i + ')',
                            0.5,
                            { left: -1 * 200 - i * 300 + "px", alpha: 0, ease: Power1.easeOut })
                    } else {
                        ef = TweenMax.from(element + ':nth-child(' + i + ')',
                            0.5,
                            { right: -1 * 200 - i * 300 + "px", alpha: 0, ease: Power1.easeOut })
                    }
                    var scene_new =
                        new ScrollScene({ triggerElement: element + ':nth-child(' + k + ')', offset: offset, })
                            .setTween(ef).addTo(controller).reverse(false);
                });
            }
        }
    }

    function listTabsAnimate(element) {
        if (!isMobile) {
            if ($(element).length) {
                TweenMax.staggerFromTo(element,
                    0.3,
                    { alpha: 0, rotationY: -90, ease: Power1.easeOut },
                    { alpha: 1, rotationY: 0, ease: Power1.easeOut },
                    0.1);
            }
        }
    }

    $(window).load(function () {
        listBlocksAnimate('.box.featured', '.box.featured .product-layout', 4, -300, true);
        listBlocksAnimate('.box.latest', '.box.latest .product-layout', 4, -300, true);


        if (!isMobile) {
            if ($(".fluid_container").length) {
                var welcome = new TimelineMax();
                welcome.from(".fluid_container h2", 0.5, { right: -300, autoAlpha: 0 })
                    .from(".fluid_container p", 0.5, { right: -300, autoAlpha: 0 })
                    .from(".fluid_container a", 0.5, { bottom: -200, autoAlpha: 0 });
                var scene_welcome = new ScrollScene({ triggerElement: ".fluid_container", offset: -100 })
                    .setTween(welcome).addTo(controller).reverse(false);
            }


            loadBanners();
            if ($(".box_html.About").length) {
                var welcome = new TimelineMax();
                welcome.from(".box_html.About .col-sm-6:nth-child(1)", 0.5, { left: -300, autoAlpha: 0 })
                    .from(".box_html.About .col-sm-6:nth-child(2)", 0.5, { right: -300, autoAlpha: 0 })
                var scene_welcome = new ScrollScene({ triggerElement: ".box_html.About", offset: -100 })
                    .setTween(welcome).addTo(controller).reverse(false);
            }
        }
    });
}
function initBanners() {

    $(".banner-1").each(function () {

        var url = 'url("' + $(this).find('.clearfix img').attr('src') + '")';
        $(this).find('.banner-box').css('background', url);
        $(this).find('.banner-box').css('background-repeat', 'no-repeat');
        $(this).find('.banner-box').css('background-position', 'right center');
        $(this).find('.banner-box').css('background-size', 'auto 100%');
    });
}

function loadBanners() {

    if ($(".banner-1").length) {


        initBanners();
        var welcome = new TimelineMax();
        welcome.from(".banner-1:nth-child(1)", 0.5, { left: -300, autoAlpha: 0 })
            .from(".banner-1:nth-child(2)", 0.5, { right: -300, autoAlpha: 0 });
        var scene_welcome = new ScrollScene({ triggerElement: ".banners", offset: -100 }).setTween(welcome)
            .addTo(controller).reverse(false);

    }

}

function closeBroadCast() {
    $.cookie('hidebroadcast', 1, { expires: 30, path: '/' });
    $('.broadcast').remove();
}




﻿/*
$(window).load(function() {
    ///catalog?editable=true
    if (document.location.hash.indexOf('?editable=true') >= 0) {
        $('body').hide();
        document.location.href = document.location.hash.replace('?editable=true', '').substr(1);
    }
});
*/



jQuery.event.special.touchstart = {
    setup: function (_, ns, handle) {
        /*
                console.log(ns);
                console.log(ns.indexOf("1"));
        */
        if (ns.indexOf("noPreventDefault") >= 0) {
            this.addEventListener("touchstart", handle, { passive: false });
        } else {
            this.addEventListener("touchstart", handle, { passive: true });
        }
    }
};

function bannerClicked(obj) {

    if ($(obj).find('a').attr('href') == '' || $(obj).find('a').attr('href') == '#')
        return false;

    return true;
}
function gdprAgree(obj, lid) {
    $.cookie('GDPR_Agree_' + lid, '1', { expires: 365 });
    $(obj).closest('#agreement_layout').remove();
}

function selectRating(obj, target) {
    $('[id*="' + target + '"]').val($(obj).val());
}

function moveToTop() {




    var screenMax = 767;

    if (document.location.search.indexOf('?editable=true') < 0) {
        var width = $(document).width();
        if (width <= screenMax && $('[containername="MobileMenuContent"]').length) {

            var index = 0;


            $('[id="galleryWrapper"]').filter('[to-top="1"]').each(function () {
                $('<input type="hidden" arg="slider-placeholder" block-id="' +
                    $(this).attr('block-id') +
                    '"/>').insertAfter($(this));
                if (index === 0) {
                    $('[containername="MobileMenuContent"]').prepend($(this));
                } else {
                    $(this).insertAfter($('[containername="MobileMenuContent"] [id="galleryWrapper"]:last'));
                }
                //$(this).remove();
                index++;
            });



            index = 0;
            $('.simple-text').filter('[to-top="1"]').each(function () {
                $('<input type="hidden" arg="simple-text-placeholder" block-id="' +
                    $(this).attr('block-id') +
                    '"/>').insertAfter($(this));
                if (index === 0) {
                    $('[containername="MobileMenuContent"]').prepend($(this));
                } else {
                    $(this).insertAfter($('[containername="MobileMenuContent"] .simple-text[to-top="1"]:last'));
                }
                index++;
            });


        } else if (width > screenMax && $('[containername="MobileMenuContent"]').length) {

            $('[id="galleryWrapper"]').filter('[to-top="1"]').each(function () {
                var target = $('input[arg=slider-placeholder][block-id=' + $(this).attr('block-id') + ']');
                if (target.length) {
                    target.replaceWith($(this));
                }
            });

            $('.simple-text').filter('[to-top="1"]').each(function () {
                var target = $('input[arg=simple-text-placeholder][block-id=' + $(this).attr('block-id') + ']');
                if (target.length) {
                    target.replaceWith($(this));
                }
            });


            $('[containername="MobileMenuContent"] [id="galleryWrapper"]').remove();
            $('[containername="MobileMenuContent"] .simple-text').remove();
        }
    }
}


function moveSocialsToMobileMenu() {

    if (!$('.toprow-1 [id*="socialBlock"]').length) {
        $('[mobile-location="1"]:eq(0)').clone(true, true).insertBefore('.toprow-1 .swipe-control:last-child');
    }
    $('.toprow-1 [id*="socialBlock"] .empty-icon').each(function () {
        $(this).closest('li').hide();
    });
}

function dirtyColorFixes() {
    var def = $('.menu-gadget-catalog #menu-icon').css('background-color');
    if (def == 'rgb(25, 202, 175)') {
        var group = $('.menu-gadget.groups-gadget');
        if (group.length && group.find('#menu-icon').css('background-color') != 'rgb(25, 202, 175)') {
            $('.menu-gadget-catalog #menu-icon').css('background-color', group.find('#menu-icon').css('background-color'));
            $('.menu-gadget-catalog #menu-icon').css('color', group.find('#menu-icon').css('color'));

        } else if ($('.menu-gadget-catalog').length) {
            $('.menu-gadget-catalog #menu-icon')
                .css('background-color', $('.left-catalog-menu h3').css('background-color'));
            $('.menu-gadget-catalog #menu-icon').css('color', $('.left-catalog-menu h3').css('color'));
        }
    }

    var headerDef = $('[containername = "HeaderContent"]').find('.search button').css('background-color');
    var headerDefColor = $('[containername = "HeaderContent"]').find('.search button').css('color');
    $('[containername').not('[containername = "HeaderContent"]').find('.search button').each(function () {
        var me = $(this);
        var def = me.css('background-color');
        if (def == 'rgb(25, 202, 175)' && headerDef && headerDef != 'rgb(25, 202, 175)') {
            me.css('background-color', headerDef);
            me.css('color', headerDefColor);
        }

    });

}

function initSwipeMobile() {
    $('.swipe-menu > ul > li').unbind('click');
    $('.swipe-menu > ul > li').click(function (e) {
        if ($(this).find('.swipe-sub-menu-icon').length) {
            if (!$(e.target).closest('.swipe-sub-menu').length) {
                $(this).find('.swipe-sub-menu').toggle();

                if (!$(this).find('.swipe-sub-menu').is(':hidden')) {
                    $(this).find('.swipe-sub-menu-icon').removeClass('fa-caret-right');
                    $(this).find('.swipe-sub-menu-icon').addClass('fa-caret-down');
                } else {
                    $(this).find('.swipe-sub-menu-icon').removeClass('fa-caret-down');
                    $(this).find('.swipe-sub-menu-icon').addClass('fa-caret-right');


                }

                return false;
            }
        }
    });
}

function initCatalogMenus() {

    jQuery('.box-category .menu').find('li > ul').each(function () {

        if (!$(this).closest('li').find('> .fa.fa-angle-right').length)
            $(this).before('<i class="fa fa-angle-right"></i>');
    });
    jQuery('.box-category .menu li i').unbind('click');
    jQuery('.box-category .menu li i').on("click", function () {

        if ($(this).closest('.box').hasClass('left-catalog-menu-popup'))
            return false;

        if (jQuery(this).hasClass('fa-angle-down')) { jQuery(this).removeClass('fa-angle-down').parent('li').find('> ul').slideToggle(); }
        else {
            jQuery(this).addClass('fa-angle-down').parent('li').find('> ul').slideToggle();
        }
    });

    initSwipeMobile();




    if ($('.box.category.groups.custom-menu').hasClass('left-catalog-menu-popup')) {

        var timeoutCustom = null;

        $('.box.category.groups.custom-menu .box-category > ul li').unbind('click mouseover');
        $('.box.category.groups.custom-menu .box-category > ul li').on('click mouseover', function (e) {

            clearTimeout(timeoutCustom);

            if (e.target.tagName == 'A' && e.type != "mouseover") {
                return true;
            }


            var li = $(this);
            var sub = $(this).find('> ul');
            if (sub.length) {

                timeoutCustom = setTimeout(function () {
                    li.closest('ul').find('.category-menu-hovered').not(sub).closest('li').find('> i').removeClass('hovered');
                    li.closest('ul').find('.category-menu-hovered').not(sub).removeClass('category-menu-hovered');
                    sub.addClass('category-menu-hovered');
                    sub.closest('li').find('> i').addClass('hovered');

                },
                    300);

                if (e.type != "mouseover" && sub.hasClass('category-menu-hovered')) {
                    sub.removeClass('category-menu-hovered');
                    sub.closest('li').find('> i').removeClass('hovered');
                }


            } else {
                $(this).closest('ul').find('> li > ul.category-menu-hovered').closest('li').find('> i').removeClass('hovered');
                $(this).closest('ul').find('> li > ul.category-menu-hovered').removeClass('category-menu-hovered');

            }


            return false;
        });


        $('.box.category.groups.custom-menu').unbind('mouseout');
        $('.box.category.groups.custom-menu').on('mouseout',
            function () {

                clearTimeout(timeoutCustom);
                timeoutCustom = setTimeout(function () {
                    $('.category-menu-hovered').closest('li').find('> i').removeClass('hovered');
                    $('.category-menu-hovered').removeClass('category-menu-hovered');

                }, 300);

            });

    } else {
        $('.box.category.groups.custom-menu li.active > i').click();

    }





    if ($('.left-catalog-menu').hasClass('left-catalog-menu-popup')) {

        var timeout = null;

        $('.category.left-catalog-menu .box-category > ul li').unbind('click mouseover');
        $('.category.left-catalog-menu .box-category > ul li').on('click mouseover', function (e) {

            clearTimeout(timeout);

            if (e.target.tagName == 'A' && e.type != "mouseover") {
                return true;
            }


            var li = $(this);
            var sub = $(this).find('> ul');
            if (sub.length) {

                timeout = setTimeout(function () {
                    li.closest('ul').find('.category-menu-hovered').not(sub).closest('li').find('> i').removeClass('hovered');
                    li.closest('ul').find('.category-menu-hovered').not(sub).removeClass('category-menu-hovered');
                    sub.addClass('category-menu-hovered');
                    sub.closest('li').find('> i').addClass('hovered');

                },
                    300);

                if (e.type != "mouseover" && sub.hasClass('category-menu-hovered')) {
                    sub.removeClass('category-menu-hovered');
                    sub.closest('li').find('> i').removeClass('hovered');
                }


            } else {
                $(this).closest('ul').find('> li > ul.category-menu-hovered').closest('li').find('> i').removeClass('hovered');
                $(this).closest('ul').find('> li > ul.category-menu-hovered').removeClass('category-menu-hovered');

            }


            return false;
        });


        $('.category.left-catalog-menu').unbind('mouseout');
        $('.category.left-catalog-menu').on('mouseout',
            function () {

                clearTimeout(timeout);
                timeout = setTimeout(function () {
                    $('.category-menu-hovered').closest('li').find('> i').removeClass('hovered');
                    $('.category-menu-hovered').removeClass('category-menu-hovered');

                }, 300);

            });

    } else {
        $('.left-catalog-menu li.active > i').trigger('click');

    }

}


jQuery(document).ready(function () {


    moveSocialsToMobileMenu();

    dirtyColorFixes();




    var current = $('#top-links .current');
    if (current.length) {
        current.addClass('active');
        var parent = current.closest('ul').closest('li');
        if (parent.length) {
            parent.addClass('active');

        }
    }

    $(document).click(function (e) {
        //debugger;

        if ($('[id*="langBlock"]').find($(e.target)).length) {
            e.stopPropagation();

        } else {
            if ($('.lang-switch-block').hasClass('active')) {
                $('.lang-switch-block').removeClass('active');
            }

        }

    });


    initCatalogMenus();

    moveToTop();

    if ($('.user-not-auth').length) {
        $('a[href=\'#collapse-payment-address\']').trigger('click');
    }

    $('.blogs-menu-search input[type="text"]').bind('keydown', function (ev) {
        try {

            if (ev.keyCode == 13) {
                //$('.blogs-menu-search input[type="text"]').unbind('keyup');
                //ev.stopPropagation();
                redirect = true;
                $(this).closest('.input-group').find('.btn').trigger('click');
                return false;
            }
        }
        catch (e) { }

    });

    if ($('.user-rating-list').length) {
        loadReviews();
    }

});

function preloadImgs(arrayOfImages, callback) {

    var counter = 0;

    $(arrayOfImages).each(function () {




        var img = new Image();
        img.src = $(this).attr('src');
        if (!img.complete || img.naturalHeight === 0) {



            counter++;
            $(img).load(function () {
                counter--;

                if (counter == 0 && callback) {
                    callback();
                }


            });
        }


        if (counter == 0 && callback) {
            callback();
        }


    });
}

function loadCameras() {


    var arr = new Array();
    jQuery('[id*="camera_wrap_"]').not('.init-complete').find('[data-thumb]').each(function () {
        arr.push(jQuery(this).attr('data-thumb'));
    });

    function preload(arrayOfImages) {
        $(arrayOfImages).each(function () {
            $('<img/>')[0].src = this.toString();
        });
    }

    preload(arr);

    /*   jQuery('[id*="camera_wrap_"]').find('[data-thumb]').each(function () {
           arr.push(jQuery(this).attr('data-thumb'));
       });
   */

    jQuery('[id*="camera_wrap_"]').not('.init-complete').each(function (index) {



        var t = $(this);



        var wrapper = t.closest('[id*="galleryWrapper"]');
        var dt = wrapper.attr('descr-top');
        var dl = wrapper.attr('descr-left');

        if (dt && dt.length) {
            t.find('.camera_caption').css('top', dt + 'px');
        }
        if (dl && dl.length) {
            t.find('.camera_caption').css('left', dl + '%');
        }


        var width = t.width();
        var height = 40;
        if (t.data('height')) {
            height = parseInt(t.data('height'));
        }

        var minheigth = 250;
        if (t.data('min-height')) {
            minheigth = parseInt(t.data('min-height'));
        }



        var sliderHeight = (width * height / 100);
        if (sliderHeight < minheigth)
            sliderHeight = minheigth;

        t.closest('.camera_container').css('height', sliderHeight + 'px');


        var defTop = 40;
        var sw = $(window).width();
        if (sw > 991 && sw < 1200) {
            defTop = 70;
        }
        if (sw >= 1200) {
            defTop = 105;
        }

        t.find('.camera_caption').each(function () {
            var height = $(this).height();
            var diff = sliderHeight - defTop - height - 10;
            if (diff < 0) {
                if (Math.abs(diff) < defTop) {
                    $(this).css('top', defTop - (Math.abs(diff) + 10) + 'px');
                } else {
                    $(this).css('top', 0);
                }
            }
        });


        var animTime = parseInt(t.data('anim-time'));
        var showTime = parseInt(t.data('show-time'));
        var animType = t.data('anim-type');

        if (typeof $.fn.camera !== 'undefined') {
            t.camera({
                pauseOnClick: true,
                navigation: true,
                playPause: false,
                thumbnails: false,
                navigationHover: false,
                /*barPosition: 'top',*/
                loader: false,
                /*time: 3000,*/
                time: showTime,
                /*transPeriod: 800,*/
                transPeriod: animTime,
                alignment: 'center',
                autoAdvance: true,
                mobileAutoAdvance: true,
                barDirection: 'leftToRight',
                barPosition: 'bottom',
                easing: 'easeInOutExpo',
                /*fx: 'bottomRightTopLeft',*/
                fx: animType,
                /*height: '39.6551724137931%',*/
                height: height + '%',
                minHeight: minheigth + 'px',
                /*minHeight: '',*/
                hover: true,
                pagination: false,
                loaderColor: '#1f1f1f',
                loaderBgColor: 'transparent',
                loaderOpacity: 1,
                loaderPadding: 0,
                loaderStroke: 3,
                onStartLoading: function () {

                }
            });
        }

        $(this).addClass('init-complete');

    });
}

jQuery(function () {
    loadCameras();

});

function makeMainMenuSingleLine() {
    if ($('[id*="rigthColCell"] #top-links.nav .list-inline').is(':hidden')) {
        $('[id*="rigthColCell"] #top-links.nav').css('min-height', 'auto');
    } else {
        var minHeight = $('[id*="rigthColCell"] #top-links.nav .list-inline li:first').outerHeight();
        var minHeightCart = 0;
        var cart = 0;

        if ($('[id*="rigthColCell"] #top-links.nav .box-cart').length) {
            minHeightCart = $('[id*="rigthColCell"] #top-links.nav .box-cart').outerHeight();
            cart = $('[id*="rigthColCell"] #top-links.nav .box-cart').outerWidth();
        }

        if (minHeightCart > minHeight)
            minHeight = minHeightCart;

        if (!$('[id*="rigthColCell"] #top-links.nav .box-cart').length) {
            if (minHeight < 55)
                minHeight = 55;


            $('[id*="rigthColCell"] #top-links.nav').css('min-height', minHeight /*'59px'*/);
        }


        var pad = 0;
        if ($('[id*="rigthColCell"] #top-links.nav').length)
            pad += parseInt($('[id*="rigthColCell"] #top-links.nav').css('padding-left').replace('px', ''));

        if ($('[id*="rigthColCell"] #top-links .list-inline').length)
            pad += parseInt($('[id*="rigthColCell"] #top-links .list-inline').css('margin-left').replace('px', ''));


        var w = $('[id*="rigthColCell"] #top-links.nav').innerWidth() - pad -
            cart - 15;

        var sum = 0;

        $('[id*="rigthColCell"] #top-links.nav .list-inline li').each(function () {
            var l = parseInt($(this).css('margin-left'));
            var r = parseInt($(this).css('margin-right'));
            if (isNaN(l)) l = 0;
            if (isNaN(r)) r = 0;

            var me = $(this).outerWidth() + l + r;
            if (sum + me > w) {
                $(this).hide();
            } else {
                sum += me;
                $(this).show();
            }
        });
    }


}

function fixHeaderMenuVisibility() {

    var cnt = $('[containername="HeaderContent"] [id*="rigthColCell"].col-sm-9');
    if (!cnt.length) {
        cnt = $('[containername="HeaderContent"] [id*="rigthColCell"].col-sm-12');
    }

    var w9 = cnt.outerWidth();
    var w12 = cnt.closest('.row').width();

    $('aside .box').removeClass('first-box');
    $('aside .box').closest('.block-wrapper').removeClass('first-block-wrapper');

    if ($(window).width() > 768) {
        if (w9 != w12) {
            $('aside .box:eq(0)').removeClass('no-first-box');
            $('aside .box:eq(0)').addClass('first-box');
            $('aside .box:eq(0)').closest('.block-wrapper').addClass('first-block-wrapper');
        } else {
            $('aside .box:eq(0)').removeClass('first-box');
            if (parseInt($('aside').css('padding-top')) == 0) {
                $('aside .box:eq(0)').addClass('no-first-box');
            }

            /*if (parseInt($('aside .box:eq(0)').css('margin-top')) > 0) {
                $('aside .box:eq(0)').css('margin-top', 0);
            }*/

        }
    }

    makeMainMenuSingleLine();



    if (!$('#product-thumb-dinamic').length) {

        var style = '<style id="product-thumb-dinamic">';



        $('.new_pr').closest('.box').each(function () {
            var closest = $(this);
            var color1 = $('.product-thumb .new_pr').css('background-color');
            var replaced = replaceAllSubstr(closest.attr('class').trim(), " ", ".");

            var line = ' .' + replaced +
                ' .product-thumb:not(.product-thumb-editable-clicked, .product-thumb-editable-hover) .new_pr:before {border-color:' +
                color1 +
                ' transparent transparent transparent!important;} ';
            style += line;
        });



        $('.sale').closest('.box, .thumbs-list').each(function () {

            var closest = $(this);
            var color2 = closest.find('.sale').css('background-color');
            var replaced = replaceAllSubstr(closest.attr('class').trim(), " ", ".");

            var line = ' .' + replaced +
                ' .product-thumb:not(.product-thumb-editable-clicked, .product-thumb-editable-hover) .sale:before {border-color:' +
                color2 +
                ' transparent transparent transparent!important;} ';
            style += line;
        });


        style += '</style>';
        $(body).append(style);
    }

}


function escapeRegExpSubstr(string) {
    return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
}

function replaceAllSubstr(str, find, replace) {
    return str.replace(new RegExp(escapeRegExpSubstr(find), 'g'), replace);
}

$(window).resize(function () {

    setTimeout(function () {
        jQuery('[id*="camera_wrap_"]').each(function (index) {

            //debugger;
            var t = $(this);

            var width = t.width();
            var height = 40;
            if (t.data('height')) {
                height = parseInt(t.data('height'));
            }

            var minheigth = 250;
            if (t.data('min-height')) {
                minheigth = parseInt(t.data('min-height'));
            }

            var sliderHeight = (width * height / 100);
            if (sliderHeight < minheigth)
                sliderHeight = minheigth;



            t.closest('.camera_container').css('height', sliderHeight + 'px');


            var defTop = 40;
            var sw = $(window).width();
            if (sw > 991 && sw < 1200) {
                defTop = 70;
            }
            if (sw >= 1200) {
                defTop = 105;
            }

            t.find('.camera_caption').each(function () {

                $(this).css('top', '');
                var visibility = $(this).css('visibility');
                var display = $(this).parent().css('display');
                $(this).parent().css('display', 'block');
                $(this).css('opacity', 0);
                $(this).css('visibility', 'visible');
                $(this).css('display', 'block');
                var height = $(this).height();
                //debugger;
                $(this).css('display', 'none');
                $(this).css('opacity', 1);
                $(this).css('visibility', visibility);
                $(this).parent().css('display', display);
                var diff = sliderHeight - defTop - height - 10;
                if (diff < 0) {
                    if (Math.abs(diff) < defTop) {
                        $(this).css('top', defTop - (Math.abs(diff) + 10) + 'px');
                    } else {
                        $(this).css('top', 0);
                    }
                }
            });
        });



    }, 50);


});


/*
$(window).load(function () {
    initSpecials();
    initReviews();
});
*/


function calcProductTabs() {
    /*
        var sum = 0;
        $('.tab-switch-item').each(function () {
            sum += $(this).outerWidth();
        });
    
        if (sum + 50 > $(window).width()) {
    */
    if ($(window).width() <= 768) {
        $('.tab-switch-block').addClass('tab-switch-wrapped');
    } else {
        $('.tab-switch-block').removeClass('tab-switch-wrapped');
    }
    //console.log(sum);
}

function initReviews() {
    //console.log('initReviews');

    $('.testimonials-block').each(function () {
        //debugger;

        var viewtype = $(this).find('#testimonials').attr('viewtype');

        if (viewtype == '0') {
            $(this).find('.review-nav-container').hide();
            var items = $(this).find('.item.testimonial-item');
            items.find('blockquote').css('height', 'initial');
            items.closest('.testimonial-item-wrapper').css('height', 'initial');

            if (items.length > 0) {
                var rownum = 0;
                var startOffset = $(this).find('.item.testimonial-item:eq(0)').offset().top;
                items.each(function () {
                    if ($(this).offset().top == startOffset)
                        rownum++;
                });

                var start = 0;
                var end = rownum;

                var max = Math.ceil(items.length / rownum) * rownum;


                while (end <= max) {
                    var slice = items.slice(start, end);
                    slice.find('blockquote').equalHeights();
                    slice.closest('.testimonial-item-wrapper').equalHeights();
                    start += rownum;
                    end += rownum;
                }


            }
        } else {
            var block = $(this);


            var item = block.find('#testimonials');//.not('.init-complete');
            var num = block.find('#testimonials').attr('rownum');
            var autoplay = block.find('#testimonials').attr('auto') == '1';

            var delay = parseInt(block.find('#testimonials').attr('delay'));
            var speed = parseInt(block.find('#testimonials').attr('speed'));



            if (num >= item.find('.testimonial-item-wrapper').length) {
                block.find('.review-nav-container').hide();
            }


            item.trigger('destroy.owl.carousel').removeClass('owl-carousel owl-loaded');
            item.find('.owl-stage-outer').children().unwrap();


            item.owlCarousel({
                items: num,
                margin: 30,
                smartSpeed: 450,
                dots: false,
                nav: true,
                navContainer: block.find('.review-nav-container'),
                autoplay: autoplay,
                autoplayTimeout: delay,
                autoplaySpeed: speed,
                autoplayHoverPause: true,
                loop: autoplay,//item.find('> div').length > 1,
                navClass: ['owl-prev fa fa-angle-left', 'owl-next fa fa-angle-right'],
                responsive: {
                    0: { items: 1 },
                    480: { items: num > 1 ? 2 : 1 },
                    1024: { items: num }
                },
                changed: function () {
                }
            });

            //item.addClass('init-complete');

            block.find('.item.testimonial-item blockquote').css('height', 'initial');
            block.find('.testimonial-item-wrapper').css('height', 'initial');

            block.find('.item.testimonial-item blockquote').equalHeights();
            block.find('.testimonial-item-wrapper').equalHeights();

        }
    });
}

var bxSliders = null;
var owlSliders = null;
function initSpecials() {

    calcProductTabs();

    if (bxSliders) {
        for (var bxs in bxSliders) {
            bxSliders[bxs].destroySlider();
        }
        bxSliders = null;


    }
    if (owlSliders) {

        for (var ows in owlSliders) {
            owlSliders[ows].trigger('destroy.owl.carousel').removeClass('owl-carousel owl-loaded');
            owlSliders[ows].find('.owl-stage-outer').children().unwrap();
        }
        owlSliders = null;


    }


    var slider = $('.specials-scroll');

    bxSliders = new Array();
    owlSliders = new Array();

    if ($(window).width() > 767) {


        slider.each(function () {


            var item = $(this);
            
            var num = parseInt(item.attr('rownum'));
            if (isNaN(num))
                num = 3;
            var autoplay = item.attr('auto') == '1';
            var delay = parseInt(item.attr('delay'));
            var speed = parseInt(item.attr('speed'));

            var bx = $(this).bxSlider({
                mode: 'vertical',
                minSlides: num,
                maxSlides: num,
                moveSlides: 1,
                pager: false,
                slideMargin: 30,
                controls: true,
                nextText: '<i class="fa fa-angle-down"></i>',
                prevText: '<i class="fa fa-angle-up"></i>',

                preloadImages: 'visible',
                touchEnabled: true,
                swipeThreshold: 30,
                auto: autoplay,
                pause: delay,
                speed: speed,
                autoHover: true
              

        });

            bxSliders.push(bx);
        });

    } else {





        slider.each(function () {

            var item = $(this);
            var autoplay = item.attr('auto') == '1';
            var delay = parseInt(item.attr('delay'));
            var speed = parseInt(item.attr('speed'));


            var carousel = item.owlCarousel({
                items: 3,
                margin: 30,
                smartSpeed: 450,
                dots: false,
                nav: true,
                loop: item.find('> div').length > 1,
                //loop: true,
                navClass: ['owl-prev fa fa-angle-up', 'owl-next fa fa-angle-down'],
                responsive: {
                    0: { items: 1 },
                    370: { items: 2 },
                    570: { items: 3 }
                },
                changed: function () {
                },
                autoplay: autoplay,
                autoplayTimeout: delay,
                autoplaySpeed: speed,
                autoplayHoverPause: true
            });
            //debugger;

            carousel.on('changed.owl.carousel',
                function (event) {
                    //alert('1');
                    item.find('img.lazy:not(.unveiled)').unveil(1,
                        function () {
                            $(this).load(function () { jQuery(this).addClass('unveiled'); jQuery(this).animate({ 'opacity': 1 }, 100); });
                        });
                });

            owlSliders.push(carousel);
        });




    }



    loadCarouselSlider();




    $('.latest-scroll').each(function () {



        var item = $(this);

        var num = item.attr('defnum');

        var margin = 0;
        if (num && num.length) {
            num = parseInt(num);
        } else {
            num = null;
        }


        var width = $(window).width();
        var wide = $('#mainContentCell').outerWidth() == $('#mainContentCell').closest('.container').outerWidth();
        if (width < 480) {
            num = 1;
        } else if (width >= 480 && width < 768) {
            num = 2;
            margin = 20;
        }
        else if (width >= 768 && width < 992) {
            if (!num)
                num = 3;

            if (wide) {
                if (num > 3)
                    num = 3;
            } else {
                if (num > 2)
                    num = 2;
            }
            margin = 25;

        }
        else if (width >= 992 && width < 1200) {
            if (!num)
                num = 3;

            if (num >= 3) {
                margin = 15;

            } else {
                margin = 25;
            }

            if (wide) {
                if (num > 4) {
                    num = 4;
                }
            } else {
                if (num > 3)
                    num = 3;
            }

        } else {

            if (!num) {
                if (wide)
                    num = 4;
                else num = 3;
            }

            if (num > 4) {
                margin = 10;
            } else {
                margin = 15;
            }

            if (wide) {
            } else {
                if (num > 5)
                    num = 5;
            }
        }

        item.attr('rownum', num);


        /*
                    arr = {
                        0: { items: 1 },
                        480: { items: num > 1 ? 2 : 1, margin: 20 },
                        992: { items: num, margin: num < 4 ? 25 : (num > 4 ? 10 : 15) }
                    };
                    if ($('#mainContentCell').outerWidth() == $('#mainContentCell').closest('.container').outerWidth()) {
        
        
                        arr = {
                            0: { items: 1 },
                            480: { items: num > 1 ? 2 : 1, margin: 20 },
                            992: { items: num > 2 ? num : 3, margin: num < 4 ? 25 : (num > 4 ? 10 : 15) },
                            1199: { items: num, margin: num < 5 ? 25 : 15 }
                        };
                    }
        */



        var autoplay = item.attr('auto') == '1';
        var delay = parseInt(item.attr('delay'));
        var speed = parseInt(item.attr('speed'));


        var carousel = item.owlCarousel({
            smartSpeed: 450,
            dots: false,
            nav: true,
            loop: item.find('> div').length > 1,
            navClass: ['owl-prev fa fa-angle-up', 'owl-next fa fa-angle-down'],
            /*responsive: arr,*/
            items: num,
            margin: margin,

            autoplay: autoplay,
            autoplayTimeout: delay,
            autoplaySpeed: speed,
            autoplayHoverPause: true

        });

        owlSliders.push(carousel);

        carousel.on('changed.owl.carousel',
            function (event) {
                item.find('img.lazy:not(.unveiled)').unveil(1,
                    function () {
                        $(this).load(function () { jQuery(this).addClass('unveiled'); jQuery(this).animate({ 'opacity': 1 }, 100); });
                    });
            });

    });

    $('img.lazy').unveil(1,
        function () {
            $(this).load(function () { setHeightWithTimeout(); });

        });


    setTimeout(function () {

        setHeight();
        setHeaderExpander();
    },
        1000);


    setTimeout(function () {
        $('.bx-loading').remove();
        $('.bx-wrapper').css('max-width', '');
        setHeight();
    },
        2000);

}

var setHeightTm;
function setHeightWithTimeout() {
    if (setHeightTm)
        clearTimeout(setHeightTm);
    setHeightTm = setTimeout(function () {
        setHeight();
    },
        300);
}


$(window).on("hashchange", function (e) {
    if (e.originalEvent.oldURL &&
        e.originalEvent.oldURL.indexOf('_carousel_open') >= 0 &&
        e.originalEvent.newURL &&
        e.originalEvent.newURL.indexOf('_carousel_open') < 0) {

        $.fancybox.close();

        return false;
    }

});

function loadCarouselSlider() {




    $('.carousel-gallery').each(function () {

        var item = $(this);
        var cnt = $(this).data('slide-count');
        var margin = 20;
        if ($(this).hasClass('cinema-mode')) {
            margin = 0;
        }

        var arr = {
            0: { items: 1 },
            480: { items: 2, margin: margin },
            992: { items: cnt, margin: margin }
        };
        if ($('#mainContentCell').outerWidth() == $('#mainContentCell').closest('.container').outerWidth()) {
            arr = {
                0: { items: 1 },
                480: { items: 2, margin: margin },
                992: { items: 3, margin: margin },
                1199: { items: cnt, margin: margin }
            };
        }



        var carousel = item.owlCarousel({
            items: 3,
            margin: 5,
            smartSpeed: 450,

            dots: false,
            nav: false,
            mouseDrag: true,
            pullDrag: true,
            touchDrag: true,
            rtl: $(this).data('anime-mode') == 1,
            loop: item.find('> div').length > 1,
            //navClass: ['owl-prev fa fa-angle-up', 'owl-next fa fa-angle-down'],
            responsive: arr,
            autoplay: true,
            autoplayTimeout: $(this).data('anime-time'),
            autoplayHoverPause: false,
            autoplaySpeed: $(this).data('anime-speed'),
            changed: function () {
            }
        });


        owlSliders.push(carousel);



        var minCarousel = 10000;


        preloadImgs(item.find('.owl-item .thumb-content img'),
            function () {






                item.find('.thumb-content img').css('height', 'auto');

                item.find('.owl-item .thumb-content a').each(function () {


                    var html = $(this).html();
                    var clone = $('<div></div>').append(html);

                    clone.find('img').removeClass('thumb');


                    clone.css({
                        position: 'absolute', // Optional if #myDiv is already absolute
                        visibility: 'hidden',
                        display: 'block'
                    });

                    $('body').append(clone);
                    var optionHeight = $(clone).height();
                    var optionWidth = $(clone).width();
                    clone.remove();


                    var targetWidth = parseFloat(item.find('.owl-item').css('width').replace('px', ''));
                    var targetHeight = parseInt(optionHeight * (targetWidth / optionWidth)) + 1;


                    if (targetHeight < minCarousel && minCarousel > 0 && optionWidth && optionHeight) minCarousel = targetHeight;
                });




                item.find('.thumb-content').css('height', (minCarousel - 3) + 'px');
            });


        if (item.hasClass('with-popup')) {

            $(this).find('.thumb-content a').click(function () {


                $(this).find('a').fancybox({
                    maxWidth: 800,
                    maxHeight: 600,
                    fitToView: true,
                    width: '70%',
                    height: 'auto',
                    autoSize: false,
                    closeClick: false,
                    openEffect: 'elastic',
                    closeEffect: 'elastic',
                    afterShow: function () {

                        if (document.location.hash.indexOf('_carousel_open') < 0)
                            document.location.hash = '_carousel_open';


                        if (parent) {
                            try {
                                if (parent.document.location.hash.indexOf('_carousel_open') < 0)
                                    parent.document.location.hash = '_carousel_open';
                            }
                            catch (e) { }
                        }

                        var gallerySize = this.group.length,
                            next,
                            prev,
                            current;
                        if (this.index == gallerySize - 1) {
                            next = $(item).find('.thumb-content').eq(0).find('a').data("title"),
                                prev = $(item).find('.thumb-content').eq(this.index - 1).find('a').data("title");
                        } else if (this.index == 0) {
                            next = $(item).find('.thumb-content').eq(this.index + 1).find('a').data("title"),
                                prev = $(item).find('.thumb-content').eq(gallerySize - 1).find('a').data("title");
                        } else {
                            next = $(item).find('.thumb-content').eq(this.index + 1).find('a').data("title"),
                                prev = $(item).find('.thumb-content').eq(this.index - 1).find('a').data("title");
                        }


                        current = $(item).find('.thumb-content').eq(this.index).find('a').data("title");
                        if (!current)
                            current = '';


                        $('.fancybox-title .child').html(current);

                        if (!current.length) {
                            $('.fancybox-title').hide();
                        } else {

                            if ($('.fancybox-title').length) {
                                $('.fancybox-title').show();
                            } else {
                                var html =
                                    '<div class="fancybox-title fancybox-title-float-wrap"><span class="child">' +
                                    current +
                                    '</span></div>';
                                $(html).insertAfter($('.fancybox-outer'));
                            }
                        }


                        if (!next) {
                            next = '';
                        }
                        if (!prev) {
                            prev = '';
                        }

                        $(".fancybox-next").attr("title", next);
                        $(".fancybox-prev").attr("title", prev);


                    },
                    afterClose: function () {
                        $('.fancybox-overlay').remove();


                    },
                    titlePosition: 'over',
                    title: $(this).closest('a').data('title')
                });

            }
            );
        }
    });
}

function checkFirstSliderPadding() {
    //debugger;
    if ($('#mainContentCell').outerWidth() == $('#mainContentCell').closest('.container').outerWidth()) {
        $('#mainContentCell').addClass('wide-content');
    } else {
        $('#mainContentCell').removeClass('wide-content');
        var first = $('[id*="mainContentCell"] [containername="MainContent"] > div:first');
        if (first.is('[id*="galleryWrapper"]')) {
            first.addClass('first-slider');
        }

    }
    if ($('[containername="MainContent"] > .breadcrumb').length) {
        $('#mainContentCell').addClass('common-page-content');
    }

}

$(document).ready(function () {


    checkFirstSliderPadding();

    initSpecials();
    initReviews();
    $(".quickview").fancybox({
        maxWidth: 800,
        maxHeight: 600,
        fitToView: false,
        width: '70%',
        height: '60%',
        autoSize: false,
        closeClick: false,
        openEffect: 'elastic',
        closeEffect: 'elastic',
        afterShow: function () {
            $('.fancybox-inner .img-responsive.lazy').unveil();
            /*$.fancybox.update();*/
        }
    });
});

$(document).ready(function () {
    intInputs();
    calcFooter();
    fixHeaderMenuVisibility();
});

$(window).resize(function () {

    if ($('#mainContentCell').outerWidth() == $('#mainContentCell').closest('.container').outerWidth()) {
        $('#mainContentCell').addClass('wide-content');
    } else {
        $('#mainContentCell').removeClass('wide-content');
    }
    calcFooter();
    moveToTop();
    fixHeaderMenuVisibility();


});


function isInt(value) {
    return !isNaN(value) &&
        parseInt(Number(value)) == value &&
        !isNaN(parseInt(value, 10));
}

function calcFooter() {
    //return;
    var windows = $(window).innerHeight();
    var body = $('#aspnetForm').height();
    var footer = 0;
    if (isInt($('footer').css('margin-top').replace('px', ''))) {
        footer = parseInt($('footer').css('margin-top').replace('px', ''));
    }


    //  console.log(windows);
    //  console.log(body);
    //  console.log(footer);

    if (footer > 0) {
        body -= footer;
    }


    if (windows - body > 0) {
        $('footer').css('margin-top', (windows - body) + 'px');
    } else {
        $('footer').css('margin-top', '0');
    }


}

function intInputs() {
    $('[id="cart-q"]').each(function () {
        var t = $(this);
        t.unbind('keypress');
        t.keypress(function (e) {
            e = e || event;

            if (e.ctrlKey || e.altKey || e.metaKey) return;

            var chr = getChar(e);

            if (chr == null) return;

            if (chr < '0' || chr > '9') {
                return false;
            }

        });
    });
}

/*
    document.getElementById('cart-q').onkeypress = function(e) {


    }
*/

function getChar(event) {
    if (event.which == null) {
        if (event.keyCode < 32) return null;
        return String.fromCharCode(event.keyCode); // IE
    }

    if (event.which != 0 && event.charCode != 0) {
        if (event.which < 32) return null;
        return String.fromCharCode(event.which);
    }

    return null;
}


/*function login(mail, pass, page) {
    $.post('/atilekt/handlers/shop/login.ashx', { user: mail, pass: pass, page: page }, function(data) {
        if (data) {
            $('.alert').remove();

            $('#content').parent().before('<div class="alert alert-info"><i class="fa fa-info-circle"></i> ' + data + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');

        } else {
            document.location.href = page;
        }
    });
    return false;
}*/

function restore(mail) {
    $.post('/atilekt/handlers/form/restore.ashx', { mail: mail }, function (data) {
        //$('.alert').remove();

        $('.restore-form').closest('[containername]').find('.alert').remove();


        if (data) {
            if (data == "err1") {
                data = $('#restore-msg1').val();
            }
            //$('.column-center').parent().before('<div class="alert alert-info"><i class="fa fa-info-circle"></i> ' + data + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
            $('.restore-form').before('<div class="alert alert-info"><i class="fa fa-info-circle"></i> ' + data + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');

        } else {
            //$('.column-center').parent().before('<div class="alert alert-success"><i class="fa fa-info-circle"></i> '+$('#restore-msg2').val()+ ' ' + mail + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
            $('.restore-form').before('<div class="alert alert-success"><i class="fa fa-info-circle"></i> ' + $('#restore-msg2').val() + ' ' + mail + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
            $('.restore-form').hide();
        }
    });
    return false;
}

function passchange(pwd1, pwd2) {

    $('.alert').remove();
    if (pwd1.length < 6) {
        $('.column-center').parent().before('<div class="alert alert-info"><i class="fa fa-info-circle"></i> ' + $('#password-msg1').val() + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
        return false;
    }
    if (pwd1 != pwd2) {
        $('.column-center').parent().before('<div class="alert alert-info"><i class="fa fa-info-circle"></i> ' + $('#password-msg2').val() + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
        return false;
    }
    $.post('/atilekt/handlers/form/reset.ashx', { pwd: pwd1 }, function (data) {
        $('.column-center').parent().before('<div class="alert alert-success"><i class="fa fa-info-circle"></i> ' + $('#password-msg3').val() + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
    });
    return false;
}


function reloadMobileSwipe() {
    reloadHeader();
    $.get('/atilekt/block_loader.aspx?path=/Templates/Shop/Electronic/Blocks/SwipeMenu.ascx',
        function (data) {
            $('.swipe .swipe-menu').replaceWith($(data).find('.swipe-menu'));

            initSwipeMobile();
        });
}


function reloadHeader() {
    if (typeof loadCatalogMenu !== 'undefined')
        loadCatalogMenu();
    loadLiveSearch();
    fixHeaderMenuVisibility();
    if (typeof loadMainPageMenu !== 'undefined')
        loadMainPageMenu();
}
﻿var modalId = $('#image-gallery');


function reinitGallery() {
    processGalleryAlbums();
    setThumbMargin();
    createAnchors();
}


$(window).resize(function () {
    var wrapper = $('[id="galleryWrapper"]');
    wrapper.each(function() {
        $(this).removeClass('calc-complete');
        $(this).find('.img-thumbnail').css('margin-top', 0);

    });
    
    checkThumbMargin();
});

$(document)
    .ready(function () {
        reinitGallery();
    });


function processGalleryAlbums() {
    $('[id="galleryWrapper"].gallery-album').not('.init-complete').each(function () {
        if (!$(this).next().is('.gallery-album')) {
            $('<div>').addClass('last-album').insertAfter($(this));

        }

        $(this).addClass('init-complete');
    });
}

function galleryTagFilter(obj) {
    $(obj).closest('.gallery-tag-filter').find('li.active a i').remove();
    $(obj).closest('.gallery-tag-filter').find('li.active').removeClass('active');
    

    $(obj).closest('li').addClass('active');
    $(obj).closest('li').find('a').prepend('<i class="fa fa-arrow-right"></i>');

    var wrapper = $(obj).closest('[id*="galleryWrapper"]');
    //var block = wrapper.attr('block-id');

    wrapper.append($('<div class="lds-wrapper"><div class="lds-roller"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div></div>'));
    
    $.get('/atilekt/block_loader.aspx',
        {
            path: '/Templates/Shop/Electronic/Blocks/Gallery.ascx',
            tagtext: $(obj).find('span').text(),
            tagblockid: wrapper.attr('block-id'),
            editable : document.location.href.indexOf('editable=true') >= 0 ? "true": "false"
        },
        function (data) {
            var newWrapper = $(data).find('[id*="galleryWrapper"]');
            if (!newWrapper.length)
                newWrapper = $(data);


            wrapper.replaceWith(newWrapper);
            setThumbMargin();
            createAnchors();
        });
}

function createAnchors() {
    $('[id="galleryWrapper"]').not('.anchor-complete').each(function () {
        //debugger;

        
        var pmid = $(this).attr('block-id');

        if (!$('[id="' + pmid + '"]').length) {
            $('<a id="' + pmid + '"></a>').insertBefore($(this));
          
        }
        $(this).find('.pagination li a').each(function () {
            $(this).attr('href', $(this).attr('href') + "#" + pmid);
        });

        $(this).addClass('anchor-complete');
    });
}


$(window).on("hashchange", function (e) {
    if (e.originalEvent.oldURL &&
        e.originalEvent.oldURL.indexOf('_fancy_open') >= 0 &&
        e.originalEvent.newURL &&
        e.originalEvent.newURL.indexOf('_fancy_open') < 0) {

        $.fancybox.close();
      
        return false;
    }

});

function checkGalleryCaption(obj) {
    var item = $(obj).closest('[id="galleryWrapper"]');

    if (!item.find('.container.gall').hasClass('with-popup')) {
        return true;
    }
    //debugger;


    if ($(obj).hasClass('thumb-caption'))
        obj = $(obj).closest('.thumb').find('.thumbnail');

    

    $(obj).closest('.thumb').find('.thumbnail').fancybox({
        maxWidth: 800,
        maxHeight: 600,
        fitToView: true,
        width: '70%',
        height: 'auto',
        autoSize: false,
        closeClick: false,
        openEffect: 'elastic',
        closeEffect: 'elastic',
        afterShow: function () {

            if (document.location.hash.indexOf('_fancy_open') < 0)
                document.location.hash = '_fancy_open';

            if (parent) {
                try {
                    if (parent.document.location.hash.indexOf('_fancy_open') < 0)
                        parent.document.location.hash = '_fancy_open';
                }
                catch (e){}
            }

            var gallerySize = this.group.length,
                next,
                prev,
                current;
            if (this.index == gallerySize - 1) {
                next = $(item).find('.thumb').eq(0).find('a').data("title"),
                    prev = $(item).find('.thumb').eq(this.index - 1).find('a').data("title");
            } else if (this.index == 0) {
                next = $(item).find('.thumb').eq(this.index + 1).find('a').data("title"),
                    prev = $(item).find('.thumb').eq(gallerySize - 1).find('a').data("title");
            } else {
                next = $(item).find('.thumb').eq(this.index + 1).find('a').data("title"),
                    prev = $(item).find('.thumb').eq(this.index - 1).find('a').data("title");
            }


            current = $(item).find('.thumb').eq(this.index).find('a').data("title");
            if (!current)
                current = '';


            $('.fancybox-title .child').html(current);

            if (!current.length) {
                $('.fancybox-title').hide();
            } else {

                if ($('.fancybox-title').length) {
                    $('.fancybox-title').show();
                } else {
                    var html =
                        '<div class="fancybox-title fancybox-title-float-wrap"><span class="child">' +
                        current +
                        '</span></div>';
                    $(html).insertAfter($('.fancybox-outer'));
                }
            }


            if (!next) {
                next = '';
            }
            if (!prev) {
                prev = '';
            }

            $(".fancybox-next").attr("title", next);
            $(".fancybox-prev").attr("title", prev);


        },
        afterClose: function () {
            $('.fancybox-overlay').remove();


        },
        titlePosition: 'over',
        title: $(this).closest('a').data('title')
    });


    //$(obj).closest('.thumb').find('.thumbnail').trigger('click');
    return false;
}


var thumbLoadCounter = 0;

function imgLoaded(imgElement) {
    return imgElement.complete && imgElement.naturalHeight !== 0;
}

function checkThumbMargin() {
    
    if (thumbLoadCounter == $('a.thumbnail').length) {
        //console.log('gallery loaded: ' + thumbLoadCounter);

        $('[id="galleryWrapper"]').not('.calc-complete').each(function () {

            if ($(this).attr('height-type') == '0') {

                $(this).find('a.thumbnail').each(function() {
                    //debugger;
                    $(this).find('img').css('margin-top',
                        ($(this).height() - $(this).find('img').height()) / 2 + 'px');

                });

            } else if ($(this).attr('height-type') == '1') {

                
                var wrapper = $(this);
                wrapper.find('a.thumbnail').each(function () {

                    var target = parseInt(wrapper.attr('height-target'));
                    if (target > $(this).find('img').height()) {
                        wrapper.attr('height-target', $(this).find('img').height());
                    }
                });

                var h = parseInt(wrapper.attr('height-target'));

                wrapper.find('a.thumbnail').each(function() {
                    $(this).css('height', h + 'px').css('overflow', 'hidden');
                });


            }
            $(this).addClass('calc-complete');

        });

        thumbLoadCounter = 0;
    }
}

function setThumbMargin() {

    

    thumbLoadCounter = 0;


    var imgs = $('a.thumbnail img');

    imgs.each(function () {
        if (imgLoaded($(this).get(0))) {
            thumbLoadCounter++;
            checkThumbMargin();
        } else {
            $(this).load(function () {
                thumbLoadCounter++;
                checkThumbMargin();
            });
        }
    });
}


function expandGallery(obj) {
    var lang = $(obj).attr('langid');
    var wrapper = $(obj).closest('[id="galleryWrapper"]');
    var pmid = wrapper.attr('block-id');

    $.get('/atilekt/block_loader.aspx?path=/Templates/Shop/Electronic/Blocks/Gallery.ascx', {blockid : pmid, page: $(obj).attr('next-page'), type: 'append', lang: lang},
        function(data) {
            $(data).find('.flex-row.row.gal .thumb').each(function() {
                wrapper.find('.flex-row.row.gal').append($(this));
            });

            var nav = $(data).find('.nav-cat');
            if (nav.length) {
                wrapper.find('.nav-cat').replaceWith(nav);
            } else {
                wrapper.find('.nav-cat').remove();
            }

            wrapper.removeClass('calc-complete');
            wrapper.find('.img-thumbnail').css('margin-top', 0);

            setThumbMargin();
        });
}


$(window).resize(function () {
    $('a.thumbnail').each(function () {
        //debugger;
        $(this).find('img').css('margin-top', '0');
    });

    setThumbMargin();
});

// build key actions
$(document)
    .keydown(function (e) {
        switch (e.which) {
            case 37: // left
                if ((modalId.data('bs.modal') || {})._isShown && $('#show-previous-image').is(":visible")) {
                    $('#show-previous-image')
                        .click();
                } else {
                    return true;
                }
                break;

            case 39: // right
                if ((modalId.data('bs.modal') || {})._isShown && $('#show-next-image').is(":visible")) {
                    $('#show-next-image')
                        .click();
                } else {
                    return true;
                }
                break;

            default:
                return true; // exit this handler for other keys
        }
        e.preventDefault(); // prevent the default action (scroll / move caret)
    });
﻿function saveDelivery() {


    if (!$('[id*="townSelect"]').val().length) {
        $('[id*="townSelect"]').addClass('error-town');
    } else {
        $('[id*="townSelect"]').removeClass('error-town');
    }

    var variant = $('.town-variant:not(.town-distance)').find('[name="delivery-variant"]:checked');
    if (!variant.length) {
        show_err($('#delivery-message-1').val());
        return false;
    } else {
        $('.message.error').html('');
    }

    if ($('#adressBlock').is(':visible')) {
        var m = '';
        if ($('#dTown').val().trim().length == 0 || $('#dStreet').val().trim().length == 0 || $('#dHouse').val().trim().length == 0) {
            if (m.length) {
                m += "<br>";
            }
            m += $('#delivery-message-2').val();
        }

        var km = parseInt($('.form-group.town-variant.town-distance input#overDist').val());
        if (isNaN(km))
            km = 0;

        if ($('.form-group.town-variant.town-distance').is(':visible') && $('.form-group.town-variant.town-distance input[name="delivery-variant"]').is(':checked') && (!km || km == 0)) {
            if (m.length) {
                m += "<br>";
            }
            m += $('#delivery-message-3').val();

        }

        if (m.length) {
            show_err(m);
            return false;
        } else {
            $('.message.error').html('');
        }
    }

    var info = {
        TownID: $('[id*="townSelect"]').val(),
        Type: variant.attr('arg'),
        OverTownDistance: $('.town-distance input').is(':checked') && $('#overDist').val().length ? parseInt($('#overDist').val()) : 0,
        Town: $('#dTown').val(),
        Street: $('#dStreet').val(),
        House: $('#dHouse').val(),
        Building: $('#dBuilding').val(),
        Flat: $('#dFlat').val(),
        ZipCode: $('#dZipCode').val(),
        Comment: variant.attr('arg') == '2' ? ($('.self-variant').html()) : $('#dComment').val(),
    };

    $.cookie('Delivery', JSON.stringify(info),
        { expires: 7, path: '/' }
    );

    addOrderLoaders();

    $.get(document.location.href, function (data) {

        /*
                var paymentOpen = $('#collapse-payment-method').length &&
                    $('#collapse-payment-method').hasClass('in');
        
        */


        $('#collapse-checkout-confirm .table-responsive').replaceWith($(data).find('#collapse-checkout-confirm .table-responsive'));
        $('#button-confirm').replaceWith($(data).find('#button-confirm'));

        var paymentBlock = $(data).find('#payment-block');
        /*
                if (paymentOpen) {
                    paymentBlock.find('.panel-collapse.collapse').addClass('in');
        
                    var text = $('#collapse-payment-method').parent().find('.panel-heading .panel-title').text();
                    $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('<a href="#collapse-payment-method" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">' + text + ' <i class="fa fa-caret-down"></i></a>');
        
                }
        */

        $('#payment-block').replaceWith(paymentBlock);

        initPayments();
        checkMinSum();


        clearOrderLoaders();
    });

    return true;
}

function addOrderLoaders() {


    $('#collapse-checkout-confirm').append($('<div class="lds-wrapper"><div class="lds-roller"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div></div>'));

    $('#button-confirm').prop('disabled', true);


    var paymentBlock = $('#payment-block');


    paymentBlock.find('.panel-collapse.collapse').removeClass('in');
    var text = paymentBlock.find('.panel-heading .panel-title').text();
    $('#collapse-payment-method').parent().find('.panel-heading').html('<h4 class="panel-title">' + text + ' </h4></a>');
    // $('#collapse-payment-method').parent().find('.panel-heading .panel-title').html('<a href="#collapse-payment-method" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle">' + text + ' <i class="fa fa-caret-down"></i></a>');


    $('#payment-block').find('.panel-body').remove();

}
function clearOrderLoaders() {
    $('.lds-wrapper').remove();
    $('#button-confirm').prop('disabled', false);
}

function show_err(msg) {
    $('.message.error').html('<div class="alert alert-info"><i class="fa fa-info-circle"></i> ' + msg + '<button type="button" class="close" data-dismiss="alert">×</button></div>');
}

function hide_err() {
    $('.message.error').html('');
}

function changeSelf(obj) {
    //debugger;
    $(obj).closest('.self-variant-select').find('input').not(obj).prop('checked', false);
    $('.self-variant').html($(obj).closest('label').find('span').text());
    var xml = $('.self-variant').closest('.town-variant').find('textarea:hidden').val();
    var xmlDoc = $.parseXML(xml);
    var points = $(xmlDoc).find('point');

    var mapFrame = points.eq(parseInt($(obj).attr('arg'))).find('framecode').text();
    if (mapFrame.trim().length) {
        $('#mapBlock').html(mapFrame);
        $('#mapBlock').show();
        $('#mapBlock').find('iframe').attr('width', '100%');
        $('#mapBlock').find('iframe').attr('height', '400px');
    } else {
        $('#mapBlock').html('');
        $('#mapBlock').hide();

    }


}

function createMap(selection) {


    var xml = $('.self-variant').closest('.town-variant').find('textarea:hidden').val();
    var xmlDoc = $.parseXML(xml);
    var points = $(xmlDoc).find('point');
    if (points.length == 1) {
        $('.self-variant').html(points.eq(0).find('tooltip').text());
        $('.self-variant').show();
        var mapFrame = points.eq(0).find('framecode').text();
        if (mapFrame.trim().length) {
            $('#mapBlock').html(mapFrame);
            $('#mapBlock').show();
            $('#mapBlock').find('iframe').attr('width', '100%');
            $('#mapBlock').find('iframe').attr('height', '400px');
        }
    } else if (points.length > 1) {
        $('.self-variant-select').remove();

        $('.self-variant').after('<div class="self-variant-select"></div>');
        var index = 0;
        points.each(function () {
            $('.self-variant-select').append('<label><input type="checkbox" onchange="changeSelf(this);" arg="' +
                index +
                '"><span>' +
                $(this).find('tooltip').text() +
                '</span></label>');
            index++;
        });

        if (selection) {
            $('.self-variant').hide();
            points.each(function () {
                var tip = $(this).find('tooltip').text();
                if (tip == selection) {
                    var frame = $(this).find('framecode').text();
                    $('#mapBlock').html(frame);
                    $('#mapBlock').show();
                    $('#mapBlock').find('iframe').attr('width', '100%');
                    $('#mapBlock').find('iframe').attr('height', '400px');

                }
            });
            $('.self-variant-select label').find('span:contains("' + selection + '")').closest('label').find('input')
                .prop('checked', true);
        }
    }
}

function loadForm() {
    //debugger;
    var v = $('[id*="defForm"]').val();
    if (v && v.length) {
        var j = JSON.parse(v);
        if (j.Type == 0) {

            $('.town-distance').show();
            if (j.OverTownDistance) {
                $('.town-distance input:checkbox').prop('checked', true);
                $('.town-distance input:text').val(j.OverTownDistance);
            }

        } else {
            $('.town-distance').hide();
        }
        if (j.Type != 2) {

            $('#adressBlock input[type="text"]').val('');
            $('#adressBlock').show();

            try {
                loadUserDelivery();
            }
            catch (e) { }


        }

        if (j.Type == 2) {
            $('.self-variant').show();
            $('.self-variant').html(j.Comment);
            createMap(j.Comment);

        }

        $('#dTown').val(j.Town);
        $('#dStreet').val(j.Street);
        $('#dHouse').val(j.House);
        $('#dBuilding').val(j.Building);
        $('#dZipCode').val(j.ZipCode);
        $('#dFlat').val(j.Flat);
        $('#dComment').val(j.Comment);

    }
}



$().ready(function () {
    loadVariants($('[id*="townSelect"]'));
});
function loadVariants(obj) {


    if (!$(obj).length || $(obj).val() == null)
        return;


    try {
        saveUserDelivery();
    } catch (e) {

    }

    if (!$(obj).val().length) {
        $('#adressBlock').hide();
        $('.form-group.delivery-variant').hide();
        $('[id*="variantsList"]').hide();
        $('.town-variant:not(.town-distance)').find('[name="delivery-variant"]:checked').prop('checked', false);
        return;
    } else {
        $('.form-group.delivery-variant').show();
        $('[id*="townSelect"]').removeClass('error-town');
    }
    $.get('/atilekt/handlers/delivery/variants.aspx', {
        id: $(obj).val()
    }, function (data) {
        destroyMap();
        $('#adressBlock').hide();

        var d = $('[id*="variantsList"]').attr('data');

        $('[id*="variantsList"]').replaceWith(data);
        $('[id*="variantsList"]').show();
        if (d && d.length) {
            $('[id*="variantsList"]').attr('data', d);
            $('[name="delivery-variant"]').filter('[arg="' + d + '"]').prop('checked', true);
            if (d == '0') {
                $('.town-distance').show();
            }
        }



        initForm();
        loadForm();
    });
}


function destroyMap() {
    $('.self-variant').html('');
    $('.self-variant').hide();
    $('#mapBlock').html('');
    $('#mapBlock').hide();
    $('.self-variant-select').remove();
}

function initForm() {

    $('[name="delivery-variant"]').change(function () {

        try {
            saveUserDelivery();
        } catch (e) {

        }




        if ($(this).is(":checked") && $(this).attr('arg') == '2') {
            $('#adressBlock').hide();
            createMap();
        } else {
            if ($(this).attr('type') == 'radio') {
                $('#adressBlock input[type="text"]').val('');
                $('#adressBlock').show();
                try {
                    loadUserDelivery();
                }
                catch (e) { }
                destroyMap();
            }
        }
        //loadForm();
        hide_err();
    });


    if (!$('[name="delivery-variant"]:checked').not('[arg="2"]').length) {
        $('#adressBlock').hide();
    }

    $('#overDist').keyup(function () {
        $(this).val($(this).val().replace(/\D/g, ''));
    });

    $('.town-variant').find('input').change(function () {



        if ($('.town-variant[main="True"]').find('input').is(':checked'))
            $('.town-distance').slideDown();
        else
            $('.town-distance').slideUp();
    });


}