(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);
})();