{%- assign v_settings_all = '' -%}
{%- if template == 'product' -%}
    {%- for variant in product.variants -%}
        {%- capture v_setting_item -%}{"id":{{ variant.id }},"settings":{{ variant.metafields.shipping | json }}}{%- endcapture -%}
        {%- assign v_settings_all = v_settings_all | append: v_setting_item | append: ',' -%}
    {%- endfor -%}
{%- endif -%}
{%- if template == 'cart' -%}
    {%- for item in cart.items -%}
        {%- capture v_setting_item -%}{"id":{{ item.variant_id }},"settings":{{ item.variant.metafields.shipping | json }}}{%- endcapture -%}
        {%- assign v_settings_all = v_settings_all | append: v_setting_item | append: ',' -%}
    {%- endfor -%}
{%- endif -%}
<script>
const $360Shop = {
    money_with_currency_format: "{{ shop.money_with_currency_format }}",
    money_format: "{{ shop.money_format }}",
    shopGlobalMf: {{ shop.metafields.global | json }},
    iconChecklist: "{{ settings.icon_checklist | escape | strip_newlines }}",
    addOnsAdded: "{{ 'products.product.add_ons_added' | t }}",
    vSettings: {%- if v_settings_all == blank -%}null{%- else -%}[{{ v_settings_all |  remove_last: ',' }}]{% endif %}
};
{% if template == 'cart' %}
var maxDelivery = 0; 
var maxPickup = 0;
var maxDateDelivery = 0;
var minDateDelivery = 180;
var maxDatePickup = 0;
var minDatePickup = 180;
var vDeliverySettings;
var vPickupSettings;
$360Shop.vSettings.forEach((vs) => {
    if(vs && Object.keys(vs.settings).length) {
        if(maxDelivery <= parseInt(vs.settings.delivery.days_in_advance)) {
            maxDelivery = parseInt(vs.settings.delivery.days_in_advance);
            vDeliverySettings = vs.settings.delivery;
        }
        if(vs.settings.delivery.max_date !== ""){
            if(maxDateDelivery <= parseInt(vs.settings.delivery.max_date)) {
                maxDateDelivery = parseInt(vs.settings.delivery.max_date);
            }
            if(minDateDelivery >= parseInt(vs.settings.delivery.max_date)) {
                minDateDelivery = parseInt(vs.settings.delivery.max_date);
            }
        }
        if(maxPickup <= parseInt(vs.settings.pickup.days_in_advance)) {
            maxPickup = parseInt(vs.settings.pickup.days_in_advance);
            vPickupSettings = vs.settings.pickup;
        }
        if(vs.settings.pickup.max_date !== "") {
            if(maxDatePickup <= parseInt(vs.settings.pickup.max_date)) {
                maxDatePickup = parseInt(vs.settings.pickup.max_date);
            }
            if(minDatePickup >= parseInt(vs.settings.pickup.max_date)) {
                minDatePickup = parseInt(vs.settings.pickup.max_date);
            }
        }
    }
})
{% endif %}
</script>
