!function(){"use strict";var e=window.EasyChatRequest,t=document.querySelector("[data-delivery-root]");if(t&&e&&"1"!==t.dataset.ready){t.dataset.ready="1";var a=t.querySelector("[data-delivery-form]"),n=t.querySelector("[data-delivery-status]"),r=t.querySelector("[data-delivery-save]"),i=t.querySelector("[data-delivery-test]"),o=a.elements.test_provider,c=a.elements.tracking_number,u=t.querySelector("[data-delivery-tracking-hint]"),d=a.elements.opencart_shipping_mapping;t.querySelectorAll("[data-opencart-carrier]").forEach(function(e){e.addEventListener("change",function(){var t=e.closest("[data-opencart-mapping-row]"),a=t&&t.querySelector("[data-opencart-mapping-feedback]");a&&(a.textContent=e.value?"Будет применено после сохранения.":"Выберите перевозчика или «Не отслеживать»."),t&&t.animate&&!matchMedia("(prefers-reduced-motion: reduce)").matches&&t.animate([{backgroundColor:"rgba(36,107,253,.10)"},{backgroundColor:"transparent"}],{duration:260,easing:"ease-out"})})});var l=t.querySelector("[data-delivery-scan]");l&&l.addEventListener("click",function(){window.location.reload()}),o.addEventListener("change",f),f(),a.addEventListener("submit",function(e){e.preventDefault(),m("save",r).catch(function(){})}),i.addEventListener("click",function(){m("test",i).catch(function(){})})}function s(e,t){e.disabled=t,e.setAttribute("aria-busy",t?"true":"false"),t?(e.dataset.label=e.textContent,e.textContent="Подождите…"):(e.textContent=e.dataset.label||e.textContent,e.removeAttribute("aria-busy"))}function p(e,t){n.textContent=e,n.className="alert "+(t?"alert-success":"alert-danger"),t||n.focus({preventScroll:!0}),n.animate&&!matchMedia("(prefers-reduced-motion: reduce)").matches&&n.animate([{opacity:.35},{opacity:1}],{duration:160,easing:"ease-out"})}function f(){var e={cdek:["Трек-номер","Сначала сохраните доступы, затем укажите реальный трек-номер."],russian_post:["Трек-номер","Сначала сохраните доступы, затем укажите реальный трек-номер."],yandex_delivery:["claim_id заявки","Введите claim_id заявки Яндекс Доставки: это не публичный трек-номер."],apiship:["clientNumber заказа","Введите clientNumber заказа ApiShip. Условия трекинга сторонних заказов зависят от тарифа ApiShip."]},t=e[o.value]||e.cdek;c.placeholder=t[0],u.textContent=t[1]}function m(n,r){return function(){if(d&&t.querySelector("[data-opencart-mapping]")){var e={};t.querySelectorAll("[data-opencart-mapping-row]").forEach(function(t){var a=String(t.dataset.opencartMappingKey||"").trim(),n=t.querySelector("[data-opencart-carrier]");a&&n&&n.value&&(e[a]=n.value)}),d.value=JSON.stringify(e)}}(),s(r,!0),fetch(e.routeUrl("index.php?route=delivery_integration/"+n),{method:"POST",body:new FormData(a),credentials:"same-origin",headers:{Accept:"application/json"}}).then(function(e){return e.json().catch(function(){return{}}).then(function(t){if(t.nonce&&(a.elements.nonce.value=t.nonce),!e.ok)throw t;return t})}).then(function(e){return p(e.message||"Готово.",!0),e}).catch(function(e){throw p(e.error||"Не удалось выполнить действие.",!1),e}).finally(function(){s(r,!1)})}}();