﻿
$(document).ready(function() {
    reloadSkus();
    $('.MatrixProduct select, .ListProduct select').change(function() {
        reloadSkus(this);
    });
});

function reloadSkus(context) {

    if (!context) {
        context = $(".MatrixProduct, .ListProduct");
    }
    else {
        context = $(context).closest(".MatrixProduct, .ListProduct");
    }

    var url = '';
    
    $(context).each(function() {

        if ($(this).hasClass('MatrixProduct')) {

            if ($('select', this).length > 0) {

                var productContainer = $.locateContainer(this, 'Aspidistra.Ecommerce.Catalogue.Product');
                var productId = $(productContainer).data('ItemId');
                var axisValues = new Array();

                $('select', this).each(function() {
                    if ($.isGuid($(this).val()))
                        axisValues.push($(this).val());
                });

                url = matrixSkuUrl + '?prod_id=' + productId;

                if (axisValues.length > 0)
                    url += '&matrixValues=' + axisValues.join(',');
                reloadPanel(url, $(".RangeBuyButton", this));
            }
        }
        else if ($(this).hasClass('ListProduct')) {

            if ($('select', this).length > 0) {
                var skuId = '';

                $('select', this).each(function() {
                    if ($.isGuid($(this).val()))
                        skuId = $(this).val();
                });
                url = listSkuUrl + '?prod_id=' + skuId;

                reloadPanel(url, $(".RangeBuyButton", this));
            }
        }
    });
}

function reloadPanel(url, panel) {

    // $('#SkusAjax').css('display', 'none');
    $(panel).progressIndicator({ func: 'start', text: '' });

    // Add time to URL to avoid browser caching
    url = $.addToQueryString(url, 'time', new Date().getTime());
    //url = $.addToQueryString(url, 'account', accountId);

    $(panel).load(url, null, function() { activateLinks(panel) });
}

function activateLinks(panel) {

    $(panel).progressIndicator({ func: 'stop' });

    //    $('#SkusAjax a').click(function(event) {
    //        reloadPanel($(this).attr('href'));
    //        event.preventDefault();
    //    });

    //                $('#SkusAjax input').click(function(event) {
    //                    $(this).addToOrder();
    //                    event.preventDefault();
    //                });
}            
           
           
