/* Aljaweea — footer "Cookie Preferences" link opens the Complianz banner.
* Original by Digency (19 Aug 2026); amended 8 Sep 2026, runbook 5.14:
* - e.preventDefault() so the href="#" no longer scrolls the page to the top;
* - calls Complianz's own cmplz_set_banner_status('show') and falls back to
* clicking the (hidden) Manage-consent button if that function is absent.
* Rollback: restore the original 12-line version recorded in the runbook. */
document.addEventListener('click', function (e) {
var link = e.target.closest('.cmplz-show-banner');
if (!link) { return; }
e.preventDefault();
if (typeof cmplz_set_banner_status === 'function') {
cmplz_set_banner_status('show');
} else {
document.querySelectorAll('.cmplz-manage-consent').forEach(function (btn) { btn.click(); });
}
});
“الجوية” (aljaweea.com) منصة إخبارية متخصصة في قطاع الطيران، تديرها شركة مينا الفضائية للدعاية والتسويق، وهي شركة تأسست في الكويت. وتُعدّ الشركة الجهة المسؤولة عن معالجة البيانات الشخصية التي يتم جمعها عبر هذا الموقع الإلكتروني (أي “المتحكّم في البيانات”)، ويمكنكم التواصل معنا عبر صفحة تواصلوا معنا.
توضح هذه السياسة ملفات تعريف الارتباط (الكوكيز – Cookies) والتقنيات المماثلة التي نستخدمها، وأسباب استخدامها، وكيفية التحكم فيها، فضلاً عن اختلاف القواعد المنظمة لها بحسب موقعكم الجغرافي. وتنطبق هذه السياسة على نسختَي الموقع باللغتين العربية والإنجليزية. ويتركّز جمهور قرائنا بشكل أساسي في العالم العربي، ولا يستهدف الموقع أسواقاً أخرى، إلا أننا نلتزم بالمعايير ذاتها من الشفافية تجاه جميع زوار الموقع.
2. ما هي ملفات تعريف الارتباط؟
ملف تعريف الارتباط (Cookie) هو ملف نصي صغير يقوم الموقع الإلكتروني بتخزينه في متصفحكم. وتصدر بعض هذه الملفات عن الموقع نفسه (ملفات الطرف الأول)، بينما يتم وضع ملفات أخرى بواسطة خدمات خارجية ندمجها في الموقع، مثل شبكات الإعلانات أو مشغلات الفيديو (ملفات الطرف الثالث). ونستخدم عبارة “ملفات تعريف الارتباط” في هذه السياسة للإشارة، اختصاراً، إلى جميع التقنيات المماثلة، بما في ذلك التخزين المحلي (Local Storage)، ووحدات البكسل (Pixels)، والوسوم (Tags)، والبرامج النصية (Scripts) التي تقرأ المعلومات من جهازكم أو تخزّنها فيه. ولا تتيح لنا أي من هذه التقنيات الوصول إلى ملفاتكم، كما أنها لا تكشف عن هويتكم بالاسم، إلا إذا كنتم قد زوّدتمونا به بأنفسكم، على سبيل المثال عند الاشتراك في النشرة البريدية.
3. ملفات تعريف الارتباط التي نستخدمها وأسباب استخدامها
نُصنّف ملفات تعريف الارتباط إلى أربع فئات، وفقاً للتسميات التي تظهر في إشعار ملفات تعريف الارتباط (Banner) على الموقع. وتظل الفئة الأولى مفعّلة دائماً، بينما يعتمد تفعيل الفئات الثلاث الأخرى على اختياركم (راجعوا القسم 4).
ملفات تعريف الارتباط الوظيفية (Functional): وهي الملفات الضرورية لعمل الموقع، وتشمل تحديد لغة التصفح (العربية أو الإنجليزية)، وحفظ اختياركم بشأن ملفات تعريف الارتباط، ورموز الأمان الخاصة بنماذج الموقع، وملفات تعريف الارتباط الخاصة بالجلسات التي يستخدمها نظام “ووردبريس” (WordPress). كما تشمل هذه الفئة ملفات تعريف ارتباط أمنية يضعها Cloudflare، مزود خدمات توصيل المحتوى والحماية الذي نتعامل معه، للتمييز بين القراء والزيارات الآلية، ولتسجيل اجتياز الزائر لفحص الأمان كي لا يتكرر. ولا يتطلب استخدام هذه الملفات الحصول على موافقتكم.
ملفات تعريف الارتباط الخاصة بالتفضيلات (Preferences): وهي الملفات التي تحفظ الإعدادات التي تختارونها، مثل إخفاء إشعار سبق عرضه أو اختيار تنسيق مفضّل للموقع، بحيث لا تضطرون إلى إعادة ضبط هذه الإعدادات عند زيارتكم التالية.
ملفات تعريف الارتباط الإحصائية (Statistics): وهي تشمل خدمة “غوغل أناليتكس” (Google Analytics)، التي تساعدنا على معرفة المقالات التي يطالعها القراء، والبلدان التي يزورون الموقع منها، والأجهزة التي يستخدمونها. ولا تقوم خدمة “غوغل أناليتكس” بتخزين عناوين بروتوكول الإنترنت (IP)، كما أننا لا نستخدم هذه البيانات للتعرّف على هوية القراء.
ملفات تعريف الارتباط التسويقية (Marketing): تندرج ضمن هذه الفئة خدمتان رئيسيتان. أولاً، الإعلانات: يعتمد موقع “الجوية” جزئياً في تمويله على الإعلانات التي تُعرض عبر خدمة “غوغل أدسنس” (Google AdSense)، وتتيح ملفات تعريف الارتباط الإعلانية لشركة غوغل وشركائها قياس أداء الإعلانات، وعرض إعلانات تتناسب مع اهتماماتكم، حيثما تسمح القوانين بذلك. وفي حال عدم موافقتكم على استخدام هذه الملفات، أو اختياركم إلغاء الاشتراك فيها، ستظل الإعلانات تظهر على الموقع، ولكن من دون تخصيصها وفقاً لاهتماماتكم. ثانياً، المحتوى المُضمّن ووسائل التواصل الاجتماعي: يشمل ذلك مقاطع الفيديو من يوتيوب (YouTube)، وأزرار المشاركة على فيسبوك (Facebook) ولينكدإن (LinkedIn) وواتساب (WhatsApp) وإكس (X) وتيك توك (TikTok)، بالإضافة إلى وحدات البكسل (Pixels) الخاصة بقياس الأداء من ميتا (Meta) أو تيك توك أو لينكدإن، التي نستخدمها لمعرفة أداء منشوراتنا على تلك المنصات. وقد تقوم هذه الخدمات بتخزين ملفات تعريف الارتباط الخاصة بها على أجهزتكم عند تحميل المحتوى.
أما القائمة التقنية الكاملة لكل ملفات تعريف الارتباط المستخدمة حالياً عبر الموقع – مصنّفةً حسب الخدمة التي تضعها – فيتم إنشاؤها تلقائياً بواسطة أداة إدارة الموافقة لدينا، وتُعرض في القسم 10 من هذه الصفحة. ويتم تحديث هذه القائمة من خلال فحص آلي يُجرى شهرياً، أما ما ورد أعلاه فهو صياغة مبسّطة لمحتواها بلغة واضحة وسهلة الفهم.
4. خياراتكم وكيف تختلف بحسب موقعكم الجغرافي
عند زيارتكم للموقع للمرة الأولى، يظهر إشعار يوضح استخدامنا لملفات تعريف الارتباط، ويتيح لكم تحديد خياراتكم بشأنها. ويختلف المقصود بـ“تحديد الخيارات” بحسب القوانين التي توفر الحماية لكم:
الزوار في المنطقة الاقتصادية الأوروبية والمملكة المتحدة وسويسرا: تبقى ملفات تعريف الارتباط غير الضرورية معطّلة إلى أن توافقوا عليها. ويمكنكم قبول جميع الملفات، أو رفضها كلها، أو تحديد موافقتكم بحسب كل فئة على حدة. ويتم نقل خياراتكم إلى غوغل وإلى الخدمات الأخرى المذكورة في القسم 6.
جميع الزوار الآخرين، بمن فيهم الزوار من الدول العربية والولايات المتحدة: تكون ملفات تعريف الارتباط في الفئات الأربع كلها مفعّلة منذ بداية التصفح، ويُعلمكم إشعار ملفات تعريف الارتباط بذلك. ويمكنكم رفض ملفات تعريف الارتباط غير الضرورية بنقرة واحدة، أو تحديد خياراتكم بحسب كل فئة على حدة. وفي حال إغلاق الإشعار أو مواصلة تصفح الموقع من دون اتخاذ أي إجراء، تظل ملفات تعريف الارتباط مفعّلة. ويمكن للمقيمين في الولايات الأمريكية التي لديها قوانين لحماية الخصوصية، بما فيها ولاية كاليفورنيا وغيرها، استخدام الإشعار نفسه لرفض “بيع” بياناتهم الشخصية أو “مشاركتها” لأغراض الإعلانات الموجّهة.
يمكنكم تغيير خياراتكم في أي وقت؛ إذ يتيح لكم رابط تفضيلات ملفات تعريف الارتباط (Cookie Preferences) الموجود أسفل كل صفحة إعادة فتح إشعار ملفات تعريف الارتباط، كما تتيح مفاتيح التحكم في القسم 10 من هذه الصفحة إجراء التغييرات نفسها. ويُحفظ اختياركم في ملف تعريف ارتباط لمدة 300 يوم، وبعد انقضاء هذه المدة، نطلب منكم تحديد خياراتكم مجدداً.
5. الأساس القانوني
نوجّه منشوراتنا إلى القراء في الدول الأعضاء الـ22 في جامعة الدول العربية. وقد أصدرت دول عربية عدة قوانين لحماية البيانات الشخصية تستند إلى اللائحة العامة لحماية البيانات في الاتحاد الأوروبي (GDPR)، ومن بينها: المملكة العربية السعودية: نظام حماية البيانات الشخصية، الساري منذ سبتمبر 2023؛ الإمارات العربية المتحدة: المرسوم بقانون اتحادي رقم 45 لسنة 2021؛ قطر: القانون رقم 13 لسنة 2016؛ البحرين: القانون رقم 30 لسنة 2018؛ سلطنة عُمان: المرسوم السلطاني رقم 6 لسنة 2022؛ مصر: القانون رقم 151 لسنة 2020؛ الأردن: القانون رقم 24 لسنة 2023؛ المغرب: القانون رقم 09-08؛ تونس: القانون الأساسي رقم 63 لسنة 2004؛ الجزائر: القانون رقم 18-07؛ لبنان: القانون رقم 81 لسنة 2018. أما الكويت، حيث يقع مقرّ شركتنا، فلا يوجد فيها حتى الآن قانون عام شامل لحماية البيانات الشخصية. ومع ذلك، تسري لائحة حماية خصوصية البيانات الصادرة عن الهيئة العامة للاتصالات وتقنية المعلومات (CITRA) للعام 2024 على مزوّدي الخدمات، وهو مصطلح يشمل، وفقاً للتعريف الوارد فيها، كل جهة تتولى تشغيل موقع إلكتروني. ولا يتضمن أي من هذه القوانين أحكاماً خاصة بملفات تعريف الارتباط (Cookies)، بل تخضع هذه الملفات للأحكام العامة التي تنظم الإشعار، وتحديد أغراض معالجة البيانات، والحصول على الموافقة.
وبموجب هذه القوانين، تتم معالجة البيانات من خلال ملفات تعريف الارتباط الوظيفية لكونها ضرورية لتوفير الموقع وتشغيله. أما ملفات تعريف الارتباط الخاصة بالتفضيلات والإحصاءات والتسويق، فتتم معالجتها استناداً إلى الإشعار المقدّم لكم عبر شريط ملفات تعريف الارتباط والخيارات التي تحددونها من خلاله. وفي حين تعتبر القوانين المعمول بها أن مواصلة تصفح الموقع – بعد تلقي إشعار واضح وإتاحة خيار سهل لرفض ملفات تعريف الارتباط – بمثابة موافقة، فإننا نعتمد هذه الموافقة أساساً لمعالجة البيانات؛ كما نستند، حيثما يجيز القانون ذلك، إلى المصلحة المشروعة للناشر في قياس حجم الإقبال على المحتوى وتمويل عمله الصحافي من خلال الإعلانات، مع مراعاة حقكم في رفض استخدام هذه الملفات في أي وقت. أما في الحالات التي تشترط فيها القوانين الحصول على موافقة مسبقة قبل استخدام ملفات تعريف الارتباط غير الضرورية، مثل اللائحة العامة لحماية البيانات في الاتحاد الأوروبي (GDPR)، واللائحة العامة لحماية البيانات في المملكة المتحدة (UK GDPR)، ولوائح الخصوصية والاتصالات الإلكترونية (PECR)، والقانون الاتحادي السويسري لحماية البيانات، فإننا نحصل على موافقتكم قبل وضع أي من هذه الملفات. وفي ما يتعلق بقوانين بعض الولايات الأمريكية التي تمنحكم الحق في رفض الإعلانات الموجّهة أو بيع بياناتكم الشخصية أو مشاركتها، فإن إشعار ملفات تعريف الارتباط يتيح لكم ممارسة هذا الحق.
6. الجهات التي تتلقى البيانات
تُرسل البيانات التي يتم جمعها عبر ملفات تعريف الارتباط الخاصة بالإحصاءات والإعلانات إلى غوغل، أي إلى شركة غوغل أيرلندا المحدودة (Google Ireland Limited) بالنسبة إلى القراء في أوروبا، وإلى شركة غوغل (Google LLC) في سائر المناطق، كما تُتاح، من خلال نظام غوغل الإعلاني، إلى شركاء غوغل في مجال الإعلانات. ويُرسل المحتوى المضمّن البيانات إلى المنصة التي توفّره. وتعمل هذه الشركات وفق سياسات الخصوصية الخاصة بها، والتي يمكن الاطلاع عليها من خلال الروابط المدرجة في قائمة ملفات تعريف الارتباط الواردة في القسم 10. وتقع خوادمنا في ألمانيا، بينما تعالج الخدمات المذكورة أعلاه البيانات في البلدان التي تعمل فيها، بما في ذلك الولايات المتحدة، وذلك وفقاً للضمانات والتدابير الوقائية التي تعلنها كل منها.
7. حقوقكم
بحسب القانون الذي يسري عليكم، يحق لكم طلب معرفة البيانات الشخصية التي نحتفظ بها عنكم، وطلب تصحيحها أو حذفها، والاعتراض على معالجتها، وسحب أي موافقة سبق أن منحتمونا إياها، أو طلب الحصول على نسخة منها بصيغة قابلة للنقل. وبالنسبة إلى ملفات تعريف الارتباط، فإن أسرع طريقة لممارسة معظم هذه الحقوق هي من خلال رابط “تفضيلات ملفات تعريف الارتباط”. أما لممارسة أي من الحقوق الأخرى، فيُرجى مراسلتنا عبر [email protected] وإبلاغنا بالبلد الذي تتواصلون منه، وسنقوم بالرد على طلبكم خلال 30 يوماً. كما يحق لكم تقديم شكوى إلى سلطة حماية البيانات المختصة في بلدكم.
8. التحكم في ملفات تعريف الارتباط من خلال المتصفح
يتيح لكم كل متصفح إمكانية حذف ملفات تعريف الارتباط وحظر تخزين ملفات جديدة، سواء بالنسبة إلى جميع المواقع الإلكترونية أو لموقعنا وحده. تجدر الإشارة إلى أن حظر ملفات تعريف الارتباط الوظيفية قد يؤدي إلى تعطّل بعض وظائف الموقع، مثل التبديل بين اللغتين واستخدام نماذج الموقع. وتتوفر إرشادات حول كيفية إدارة ملفات تعريف الارتباط في صفحات المساعدة الخاصة بمتصفحات “كروم” (Chrome) و“سفاري” (Safari) و“فايرفوكس” (Firefox) و“إيدج” (Edge).
9. التعديلات على هذه السياسة
نقوم بتحديث هذه الصفحة عند إضافة أي خدمة أو إزالتها، أو عند حدوث تغييرات في القوانين المعمول بها. ويُبيّن التاريخ الوارد في أعلى الصفحة موعد آخر تحديث للسياسة. أما التعديلات الجوهرية، فيتم الإعلان عنها عبر إشعار ملفات تعريف الارتباط (Banner).
يمكنكم استخدام مفاتيح التحكم أدناه لتغيير خياراتكم في أي وقت. وتسري التغييرات فوراً، ويتم حفظ اختياراتكم لمدة 300 يوم.
You have loaded the Cookie Policy without javascript support. On AMP, you can use the manage consent button on the bottom of the page.
ملفات تعريف الارتباط المستخدمة حالياً
تم إعداد القائمة أدناه بواسطة أداة الموافقة لدينا استناداً إلى عملية مسح شهري للموقع، وتوضح القائمة، لكل خدمة، ملفات تعريف الارتباط المستخدمة، والغرض منها، ومدة الاحتفاظ بها، بالإضافة إلى رابط إلى سياسة الخصوصية الخاصة بتلك الخدمة.
تُعرض القائمة أدناه باللغة الإنجليزية لأنها تُنشأ تلقائياً بواسطة أداة الموافقة.
نستخدم ملفات تعريف الارتباط لتشغيل هذا الموقع، وقياس القراءة، وعرض الإعلانات التي تموّل عملنا الصحافي. في منطقتكم تبقى ملفات تعريف الارتباط غير الضرورية معطّلة حتى تقبلوها. يمكنكم قبولها كلها أو رفضها كلها أو الاختيار بحسب الفئة، وتغيير خياركم في أي وقت عبر رابط “تفضيلات ملفات تعريف الارتباط” في أسفل كل صفحة.
وظيفية دائما مفعلة
ضرورية لعمل الموقع: لغة التصفح، وخياركم بشأن ملفات تعريف الارتباط، وحماية النماذج، وجلسة ووردبريس. مفعّلة دائماً.
تفضيلات
تحفظ الإعدادات التي اخترتموها حتى لا تحتاجوا إلى ضبطها مجدداً في زيارتكم التالية.
إحصائيات
Google Analytics لمعرفة المقالات الأكثر قراءة، ومن أي بلد، وعلى أي أجهزة. تُختصر عناوين IP قبل تخزينها.التخزين أو الوصول الفني الذي يُستخدم حصرياً لأغراض إحصائية مجهولة المصدر. وبدون أمر استدعاء أو امتثال طوعي من جانب مزود خدمة الإنترنت الخاص بك أو سجلات إضافية من طرف ثالث، لا يمكن عادةً استخدام المعلومات المخزنة أو المستردة لهذا الغرض وحده لتحديد هويتك.
تسويق
الإعلانات التي تعرضها Google AdSense، ومقاطع الفيديو المضمّنة وأزرار وسائل التواصل الاجتماعي، وبكسلات القياس لمنشوراتنا على المنصات الاجتماعية.
نستخدم ملفات تعريف الارتباط لتشغيل هذا الموقع، وقياس القراءة، وعرض الإعلانات التي تموّل عملنا الصحافي. وهي مفعّلة ما لم ترفضوها هنا. يمكنكم تغيير خياركم في أي وقت عبر رابط “تفضيلات ملفات تعريف الارتباط” في أسفل كل صفحة.
وظيفية دائما مفعلة
ضرورية لعمل الموقع: لغة التصفح، وخياركم بشأن ملفات تعريف الارتباط، وحماية النماذج، وجلسة ووردبريس. مفعّلة دائماً.
تفضيلات
تحفظ الإعدادات التي اخترتموها حتى لا تحتاجوا إلى ضبطها مجدداً في زيارتكم التالية.
إحصائيات
Google Analytics لمعرفة المقالات الأكثر قراءة، ومن أي بلد، وعلى أي أجهزة. تُختصر عناوين IP قبل تخزينها.التخزين أو الوصول الفني الذي يُستخدم حصرياً لأغراض إحصائية مجهولة المصدر. وبدون أمر استدعاء أو امتثال طوعي من جانب مزود خدمة الإنترنت الخاص بك أو سجلات إضافية من طرف ثالث، لا يمكن عادةً استخدام المعلومات المخزنة أو المستردة لهذا الغرض وحده لتحديد هويتك.
تسويق
الإعلانات التي تعرضها Google AdSense، ومقاطع الفيديو المضمّنة وأزرار وسائل التواصل الاجتماعي، وبكسلات القياس لمنشوراتنا على المنصات الاجتماعية.
var molongui_authorship_byline_params = {"byline_modifiers_enabled":"","byline_prefix":"","byline_suffix":"","byline_separator":",\u00a0","byline_last_separator":"\u00a0and\u00a0","byline_link_title":"View all posts by","byline_link_class":"","byline_dom_tree":"","byline_dom_prepend":"","byline_dom_append":"","byline_decoder":"v3","byline_data_url":"https://aljaweea.com/ar/wp-json/molongui-authorship/v1/bylines","byline_rest_nonce":""};
//# sourceURL=molongui-authorship-byline-js-extra
/* Accessibility quick fixes (WCAG 2.2 AA test, 27 Oct 2026). Safe to switch off.
1 skip link · 2 form autofill · 3 language switcher name · 4 dark-mode button name and state
5 mobile menu state and focus · 6 heading levels for screen readers · 7 author photos
8 form errors linked to fields · 9 "opens in a new tab" for screen readers · 10 main content area */
(function () {
var isAr = (document.documentElement.lang || '').toLowerCase().indexOf('ar') === 0;
var T = isAr
? { skip: 'تخطَّ إلى المحتوى الرئيسي', dark: 'الوضع المظلم', newTab: ' (يُفتح في علامة تبويب جديدة)' }
: { skip: 'Skip to main content', dark: 'Dark mode', newTab: ' (opens in a new tab)' };function visible(el) {
if (!el) { return false; }
var r = el.getBoundingClientRect(), s = getComputedStyle(el);
return r.width > 0 && r.height > 0 && s.visibility !== 'hidden' && s.display !== 'none' && r.right > 0 && r.left < window.innerWidth;
}function run() {
/* 1. Skip link (WCAG 2.4.1): jumps to the first block after the site header */
var header = document.getElementById('theme-header');
var target = header ? header.nextElementSibling : null;
while (target && (target.tagName === 'SCRIPT' || target.tagName === 'STYLE')) { target = target.nextElementSibling; }
if (target && !document.querySelector('.aj-skip-link')) {
if (!target.id) { target.id = 'aj-main'; }
if (!target.hasAttribute('tabindex')) { target.setAttribute('tabindex', '-1'); }
var a = document.createElement('a');
a.className = 'aj-skip-link';
a.href = '#' + target.id;
a.textContent = T.skip;
a.addEventListener('click', function () { setTimeout(function () { target.focus({ preventScroll: true }); }, 0); });
document.body.insertBefore(a, document.body.firstChild);
}/* 10. Main content area (WCAG 1.3.1): pages with none (the home pages) get one */
if (target && !document.querySelector('main, [role="main"]') && !target.querySelector('footer, #footer')) {
target.setAttribute('role', 'main');
}/* 2. Form autofill (WCAG 1.3.5) */
var inputs = document.querySelectorAll('form input');
for (var i = 0; i < inputs.length; i++) {
var el = inputs[i];
if (el.getAttribute('autocomplete')) { continue; }
var n = (el.name || '').toLowerCase();
var l = ((el.labels && el.labels[0] && el.labels[0].textContent) || el.getAttribute('aria-label') || el.placeholder || '').toLowerCase().trim();
var v = null;
if (el.type === 'email') { v = 'email'; }
else if (el.type === 'tel' || (/phone|هاتف|جوال/.test(l) && !/mail|بريد/.test(l))) { v = 'tel'; }
else if (/first_name/.test(n)) { v = 'given-name'; }
else if (/last_name/.test(n)) { v = 'family-name'; }
else if (el.type === 'text' && /^(name|full name|الاسم|الإسم)\b/.test(l)) { v = 'name'; }
else if (el.type === 'url') { v = 'url'; }
if (v) { el.setAttribute('autocomplete', v); }
}/* 3. Language switcher (WCAG 2.4.4, 3.1.2): name the target language in that language */
var sw = document.querySelectorAll('a.lang-toggle');
for (var s = 0; s < sw.length; s++) {
var toAr = /\/ar(\/|$)/.test(sw[s].getAttribute('href') || '');
var name = toAr ? 'العربية' : 'English';
sw[s].setAttribute('aria-label', name);
sw[s].setAttribute('title', name);
sw[s].setAttribute('lang', toAr ? 'ar' : 'en');
sw[s].setAttribute('hreflang', toAr ? 'ar' : 'en');
var ims = sw[s].querySelectorAll('img');
for (var k = 0; k < ims.length; k++) { ims[k].setAttribute('alt', ''); }
}/* 4. Dark-mode button (WCAG 4.1.2): clear name, behaves as a toggle button that reports on/off */
var skins = document.querySelectorAll('a.change-skin');
function isDark() { return document.documentElement.classList.contains('dark-skin'); }
function syncSkin() { for (var q = 0; q < skins.length; q++) { skins[q].setAttribute('aria-pressed', isDark() ? 'true' : 'false'); } }
for (var d = 0; d < skins.length; d++) {
skins[d].setAttribute('role', 'button');
skins[d].setAttribute('aria-label', T.dark);
skins[d].setAttribute('title', T.dark);
skins[d].addEventListener('click', function () { setTimeout(syncSkin, 300); });
skins[d].addEventListener('keydown', function (e) { if (e.key === ' ') { e.preventDefault(); this.click(); } });
}
syncSkin();/* 5. Mobile menu (WCAG 4.1.2, 2.4.3): report open/closed, move focus in on open and back on close */
var btn = document.getElementById('mobile-menu-icon');
var panel = document.querySelector('.side-aside');
if (btn && panel) {
btn.setAttribute('role', 'button');
btn.setAttribute('aria-expanded', 'false');
if (!panel.id) { panel.id = 'aj-mobile-menu'; }
btn.setAttribute('aria-controls', panel.id);
var check = function (moveFocus) {
setTimeout(function () {
var open = visible(panel);
btn.setAttribute('aria-expanded', open ? 'true' : 'false');
if (open && moveFocus) {
var first = panel.querySelector('a[href]:not(.close-side-aside), button');
if (first) { first.focus(); }
}
if (!open && moveFocus === 'back') { btn.focus(); }
}, 450);
};
btn.addEventListener('click', function () { check(true); });
var closers = panel.querySelectorAll('.close-side-aside');
for (var c = 0; c < closers.length; c++) { closers[c].addEventListener('click', function () { check('back'); }); }
document.addEventListener('keydown', function (e) {
if (e.key === 'Escape' && btn.getAttribute('aria-expanded') === 'true') {
setTimeout(function () {
/* the theme closes the menu on Escape in English but not in Arabic */
var x = panel.querySelector('.close-side-aside');
if (visible(panel) && x) { x.click(); }
check('back');
}, 150);
}
});
}/* 6. Heading levels (WCAG 1.3.1): no jumps for screen readers; looks unchanged */
var hs = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
var prev = 0, hasH1 = !!document.querySelector('h1');
for (var h = 0; h < hs.length; h++) {
if (!visible(hs[h]) && !hs[h].closest('.side-aside')) { continue; }
var lvl = parseInt(hs[h].tagName.charAt(1), 10);
var eff = lvl;
if (!hasH1 && prev === 0) { eff = 1; }
else if (prev && lvl > prev + 1) { eff = prev + 1; }
if (eff !== lvl) { hs[h].setAttribute('aria-level', String(eff)); }
prev = eff;
}/* 7. Author photos: describe a linked photo by the author's name (it is the link's name); otherwise decorative */
var boxes = document.querySelectorAll('.about-author, .author-box, .m-a-box, .molongui-author-box');
for (var b = 0; b < boxes.length; b++) {
var pics = boxes[b].querySelectorAll('img');
for (var p = 0; p < pics.length; p++) {
var lk = pics[p].closest('a[href]');
var who = '';
if (lk) {
var byline = document.querySelector('a.author-name[href="' + lk.getAttribute('href') + '"]');
var strong = boxes[b].querySelector('.m-a-box-bio strong, [itemprop="name"]');
who = ((byline && byline.textContent) || (strong && strong.textContent) || '').trim();
}
if (lk && !who) { continue; } /* name not found: keep the existing description so the link keeps a name */
pics[p].setAttribute('alt', who);
}
}/* 9. "Opens in a new tab" for screen-reader users (W3C technique G201) */
var blanks = document.querySelectorAll('a[target="_blank"]');
for (var t = 0; t < blanks.length; t++) {
if (blanks[t].querySelector('.aj-newtab')) { continue; }
var sr = document.createElement('span');
sr.className = 'screen-reader-text aj-newtab';
sr.textContent = T.newTab;
blanks[t].appendChild(sr);
if (blanks[t].hasAttribute('aria-label')) { blanks[t].setAttribute('aria-label', blanks[t].getAttribute('aria-label') + T.newTab); }
}
}/* 8. Form errors (WCAG 3.3.1): link each error message to its field when it appears */
function linkErrors(root) {
var errs = (root || document).querySelectorAll('.ff-el-group .error, .ff-el-group .text-danger');
for (var e = 0; e < errs.length; e++) {
var grp = errs[e].closest('.ff-el-group');
var field = grp ? grp.querySelector('input:not([type=hidden]), select, textarea') : null;
if (!field) { continue; }
if (!errs[e].id) { errs[e].id = 'aj-err-' + Math.random().toString(36).slice(2, 9); }
var ids = (field.getAttribute('aria-describedby') || '').split(' ').filter(Boolean);
if (ids.indexOf(errs[e].id) === -1) { ids.push(errs[e].id); field.setAttribute('aria-describedby', ids.join(' ')); }
}
}
function watchForms() {
var forms = document.querySelectorAll('form.frm-fluent-form');
if (!window.MutationObserver) { return; }
for (var f = 0; f < forms.length; f++) {
new MutationObserver(function () { linkErrors(); }).observe(forms[f], { childList: true, subtree: true });
}
}function start() { run(); watchForms(); }
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); }
})();
/* Aljaweea newsletter form (form 10): on Arabic pages, pre-select the Arabic edition.
2 Nov 2026 (Claude, runbook 8.82). Decision D-05 asks for the page language to be pre-selected through
the WPML translation of the field's default value; WPML does not offer that value for translation,
so this is the flagged fallback. The stored values stay "English" / "العربية" for the FluentCRM tag routing.
Rollback: set this snippet to Draft (the Arabic page then pre-selects English). */
(function () {
function run() {
if (!/^ar/i.test(document.documentElement.lang || '')) { return; }
var radios = document.querySelectorAll('form.fluent_form_10 input[type="radio"][name="dropdown"]');
for (var i = 0; i < radios.length; i++) {
if (radios[i].value === 'العربية') { radios[i].checked = true; radios[i].dispatchEvent(new Event('change', { bubbles: true })); }
}
}
/* Runs whether or not the page has finished loading (Breeze may delay scripts). */
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); }
})();
/* Aljaweea forms: let Fluent Forms show its own error messages.
2 Nov 2026 (Claude, runbook 8.86; finding V-1 of the 8.85 test). Without this, the browser's own email check
stops the form when an address has no "@" and shows the browser's pop-up in the browser's language (English on
Arabic pages for most visitors), so our message from the forms standard (1.4) never appears.
"novalidate" switches off only the browser's own check: Fluent Forms still checks every field in the browser
and again on the server, so a badly formed address is still refused - now with our wording, in the page language.
Rollback: set this snippet to Draft. */
(function () {
function run() {
var forms = document.querySelectorAll('form.frm-fluent-form');
for (var i = 0; i < forms.length; i++) { forms[i].setAttribute('novalidate', 'novalidate'); }
}
/* Runs whether or not the page has finished loading (Breeze may delay scripts). */
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); }
})();
ai_front = {"insertion_before":"BEFORE","insertion_after":"AFTER","insertion_prepend":"PREPEND CONTENT","insertion_append":"APPEND CONTENT","insertion_replace_content":"REPLACE CONTENT","insertion_replace_element":"REPLACE ELEMENT","visible":"VISIBLE","hidden":"HIDDEN","fallback":"FALLBACK","automatically_placed":"Automatically placed by AdSense Auto ads code","cancel":"Cancel","use":"Use","add":"Add","parent":"Parent","cancel_element_selection":"Cancel element selection","select_parent_element":"Select parent element","css_selector":"CSS selector","use_current_selector":"Use current selector","element":"ELEMENT","path":"PATH","selector":"SELECTOR"};