(function () { 'use strict'; var delivery = { '01': { name: 'أدرار', home: 1600, office: 1000 }, '02': { name: 'الشلف', home: 850, office: 500 }, '03': { name: 'الأغواط', home: 850, office: 500 }, '04': { name: 'أم البواقي', home: 950, office: 600 }, '05': { name: 'باتنة', home: 950, office: 600 }, '06': { name: 'بجاية', home: 950, office: 600 }, '07': { name: 'بسكرة', home: 900, office: 600 }, '08': { name: 'بشار', home: 1100, office: 700 }, '09': { name: 'البليدة', home: 900, office: 600 }, '10': { name: 'البويرة', home: 900, office: 600 }, '11': { name: 'تمنراست', home: 2000, office: 1500 }, '12': { name: 'تبسة', home: 1000, office: 600 }, '13': { name: 'تلمسان', home: 850, office: 500 }, '14': { name: 'تيارت', home: 850, office: 500 }, '15': { name: 'تيزي وزو', home: 950, office: 600 }, '16': { name: 'الجزائر', home: 850, office: 500 }, '17': { name: 'الجلفة', home: 950, office: 600 }, '18': { name: 'جيجل', home: 950, office: 600 }, '19': { name: 'سطيف', home: 900, office: 600 }, '20': { name: 'سعيدة', home: 850, office: 500 }, '21': { name: 'سكيكدة', home: 950, office: 600 }, '22': { name: 'سيدي بلعباس', home: 850, office: 500 }, '23': { name: 'عنابة', home: 950, office: 600 }, '24': { name: 'قالمة', home: 850, office: 500 }, '25': { name: 'قسنطينة', home: 950, office: 600 }, '26': { name: 'المدية', home: 900, office: 600 }, '27': { name: 'مستغانم', home: 850, office: 500 }, '28': { name: 'المسيلة', home: 900, office: 600 }, '29': { name: 'معسكر', home: 850, office: 500 }, '30': { name: 'ورقلة', home: 900, office: 600 }, '31': { name: 'وهران', home: 850, office: 500 }, '32': { name: 'البيض', home: 750, office: 450 }, '33': { name: 'إليزي', home: 1900, office: 1500 }, '34': { name: 'برج بوعريريج', home: 900, office: 600 }, '35': { name: 'بومرداس', home: 850, office: 500 }, '36': { name: 'الطارف', home: 950, office: 600 }, '37': { name: 'تندوف', home: 1800, office: 1200 }, '38': { name: 'تيسمسيلت', home: 850, office: 500 }, '39': { name: 'الوادي', home: 1100, office: 700 }, '40': { name: 'خنشلة', home: 950, office: 600 }, '41': { name: 'سوق أهراس', home: 950, office: 600 }, '42': { name: 'تيبازة', home: 900, office: 600 }, '43': { name: 'ميلة', home: 950, office: 600 }, '44': { name: 'عين الدفلى', home: 850, office: 500 }, '45': { name: 'النعامة', home: 850, office: 500 }, '46': { name: 'عين تموشنت', home: 850, office: 500 }, '47': { name: 'غرداية', home: 900, office: 600 }, '48': { name: 'غليزان', home: 850, office: 500 }, '49': { name: 'تيميمون', home: 1500, office: 1000 }, '50': { name: 'برج باجي مختار', home: 1100, office: 700 }, '51': { name: 'أولاد جلال', home: 900, office: 600 }, '52': { name: 'بني عباس', home: 1100, office: 700 }, '53': { name: 'عين صالح', home: 1700, office: 1200 }, '54': { name: 'عين قزام', home: 1100, office: 700 }, '55': { name: 'تقرت', home: 900, office: 600 }, '56': { name: 'جانت', home: 1900, office: 1500 }, '57': { name: 'المغير', home: 900, office: 600 }, '58': { name: 'المنيعة', home: 1100, office: 700 } }; function fieldText(el) { return [ el.id, el.name, el.getAttribute('aria-label'), el.getAttribute('placeholder'), el.parentElement ? el.parentElement.innerText : '' ].join(' ').replace(/\s+/g, ' ').toLowerCase(); } function findWilaya() { return Array.prototype.slice.call(document.querySelectorAll('select')).find(function (el) { var text = fieldText(el); return (text.indexOf('wilaya') !== -1 || text.indexOf('ولاية') !== -1) && text.indexOf('commune') === -1 && text.indexOf('بلدية') === -1; }); } function findDelivery() { return Array.prototype.slice.call(document.querySelectorAll('select')).find(function (el) { var text = fieldText(el); return /stopdesk|stop desk|التوصيل|delivery|مكتب|منزل/.test(text) && !/wilaya|ولاية|commune|بلدية/.test(text); }); } function fillWilayas(select) { if (!select || select.dataset.dzReady === '1') return; select.innerHTML = ''; Object.keys(delivery).forEach(function (code) { var option = document.createElement('option'); option.value = code + ' - ' + delivery[code].name; option.textContent = code + ' - ' + delivery[code].name; select.appendChild(option); }); select.dataset.dzReady = '1'; } function showPrice() { var wilaya = findWilaya(); var deliverySelect = findDelivery(); if (!wilaya || !wilaya.value) return; var code = String(wilaya.value).match(/^\d{1,2}/); if (!code) return; code = ('0' + code[0]).slice(-2); if (!delivery[code]) return; var method = deliverySelect && deliverySelect.options[deliverySelect.selectedIndex] ? deliverySelect.options[deliverySelect.selectedIndex].text.toLowerCase() : ''; var office = /مكتب|stop|bureau|office/.test(method); var price = office ? delivery[code].office : delivery[code].home; var label = office ? 'Stop Desk' : 'إلى المنزل'; var form = document.querySelector('form') || document.body; var box = form.querySelector('[data-dz-price]'); if (!box) { box = document.createElement('div'); box.setAttribute('data-dz-price', ''); box.style.cssText = 'margin:10px 0;padding:10px;text-align:center;font-weight:bold;color:#29134F;background:#FFF8E7;border-radius:8px;'; form.appendChild(box); } box.textContent = 'سعر التوصيل ' + label + ': ' + price.toLocaleString('fr-FR') + ' DA'; } function init() { var wilaya = findWilaya(); var deliverySelect = findDelivery(); if (wilaya) { fillWilayas(wilaya); wilaya.addEventListener('change', showPrice); } if (deliverySelect) { deliverySelect.addEventListener('change', showPrice); } showPrice(); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } var observer = new MutationObserver(function () { var wilaya = findWilaya(); if (wilaya && wilaya.dataset.dzReady !== '1') init(); }); observer.observe(document.documentElement, { childList: true, subtree: true }); setTimeout(init, 1000); setTimeout(init, 3000); setTimeout(init, 6000); })();