/* 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(); });
}
});
أطلقت مصر بتاريخ 24 مارس 2025، برنامجاً للشراكة بين القطاعين العام والخاص بهدف إسناد عمليات تشغيل 11 مطاراً مملوكاً للدولة إلى مشغلين دوليين من القطاع الخاص. وبتوجيه من مؤسسة التمويل الدولية، التابعة لمجموعة البنك الدولي، تهدف وزارة الطيران المدني إلى تطوير المطارات الإقليمية وتشغيلها على أسس تجارية مع احتفاظ الدولة بملكية هذه المطارات.
وفي هذا السياق، قال وزير الطيران المدني المصري الدكتور سامح الحفني، إن هذه الشراكة تمثل “خطوة بالغة الأهمية نحو تحسين جودة الخدمات والكفاءة التشغيلية في قطاع الطيران المدني”.
من جانبه، أكد نائب رئيس مؤسسة التمويل الدولية لشؤون أفريقيا سيرجيو بيمنتا، أن هذه المبادرة ستساعد “على استقطاب مستثمرين عالميين من الطراز الأول لتوفير مطارات حديثة وفعّالة، بما يعزّز مكانة مصر كمركز عالمي للسفر والتجارة”.
وفي اطار هذا البرنامج، ستحتفظ الحكومة المصرية بالملكية الكاملة لجميع أراضي المطارات والبنى التحتية التابعة لها، في حين ستتولى ائتلافات من القطاع الخاص تشغيل وإدارة الأنشطة التجارية في صالات السفر وتطويرها على أسس تجارية بموجب اتفاقيات طويلة الأجل.
دور قطاع الطيران في تحقيق رؤية 2030
وتتوافق هذه الخطة مع “رؤية مصر 2030″، التي تهدف إلى توسيع مشاركة القطاع الخاص، وجذب الاستثمارات الأجنبية، والوصول إلى 30 مليون سائح سنوياً. ويُعد قطاع الطيران محركاً اقتصادياً رئيسياً، إذ يسهم بأكثر من 5 في المئة من الناتج المحلي الإجمالي لمصر، بما يعادل نحو 21.1 مليار دولار أمريكي، كما يدعم حوالي 1.4 مليون وظيفة مباشرة وغير مباشرة.
كما يسهم قطاع السياحة بنحو 12 في المئة من الناتج المحلي الإجمالي. ولتحقيق الأهداف التي حددها صندوق النقد الدولي والتعامل مع الضغوط الاقتصادية، تتجه مصر نحو خصخصة إدارة المطارات بهدف زيادة الطاقة الاستيعابية للمسافرين وتعزيز الإيرادات الأجنبية من الأنشطة غير المرتبطة مباشرة بالطيران، من دون زيادة الدين العام.
الهيكل التنظيمي لبرنامج الشراكة لتخصيص المطارات في مصر. رسم بياني: الجوية، المصدر: مؤسسة التمويل الدولية (IFC)..
الهيكل التنظيمي للشراكة بين القطاعين العام والخاص في قطاع الطيران المصري
ويشمل المشروع جهات عدة ضمن قطاع الطيران المدني المصري وهي:
وزارة الطيران المدني، وهي جهة حكومية على مستوى وزاري، مسؤولة عن وضع الاستراتيجية الوطنية العليا للطيران، وتمثيل الدولة على المستوى الدولي، كما تتولى وضع السياسات الوطنية، والتفاوض بشأن حقوق النقل الجوي، وإنفاذ القوانين واللوائح المنظمة للطيران.
الشركة المصرية القابضة للمطارات والملاحة الجوية، وهي شركة مملوكة للدولة تمتلك وتدير مرافق المطارات وتشرف على 20 مطاراً في المجمل.
الشركة المصرية للمطارات، وهي الجهة المسؤولة عن تشغيل وإدارة 19 مطاراً إقليمياً في مختلف أنحاء مصر، بينما تتولى شركة ميناء القاهرة الجوي إدارة مطار القاهرة الدولي.
وبموجب إطار الشراكة بين القطاعين العام والخاص بإشراف مؤسسة التمويل الدولية، سيتولى المشغّلون من القطاع الخاص تشغيل مرافق الشركة المصرية للمطارات وتحقيق إيرادات من الأسواق الحرة، ومواقف السيارات، وخدمات المناولة الأرضية، ورسوم خدمات المسافرين، بينما تحتفظ الشركة المصرية القابضة للمطارات والملاحة الجوية بالملكية الكاملة للعقارات والأصول التابعة للجانب الجوي من المطارات.
مطار الغردقة المشروع التجريبي للشراكة بين القطاعين العام والخاص
يُعد مطار الغردقة الدولي (HRG | HEGN) المشروع التجريبي الرئيسي ضمن البرنامج. وقد أُنشئ في الأصل كقاعدة عسكرية في ستينيات القرن الماضي، ثم تحوّل إلى مطار مدني العام 1977، وأصبح اليوم البوابة الرئيسية إلى منطقة الريفييرا المصرية على البحر الأحمر.
ويضم المطار مبنى الركاب الرئيسي الذي بلغت تكلفته 335 مليون دولار، والذي تم تشييده في العام 2014 بمساحة 92 ألف متر مربع. أما مدرجه فيبلغ طوله 4 كيلومترات (16L/34R) مما يسمح باستقبال الطائرات الكبيرة مثل بوينغ 747-8، وبوينغ 777، وبوينغ 787، وإيرباص أيه 330 ( A330) ، وإيرباص أيه 380 ( A380). وقد تعامل مطار الغردقة مع نحو 11.4 مليون مسافر في العام 2025، ليصبح بذلك ثاني أكثر مطارات مصر ازدحامًا من حيث حركة المسافرين.
مسافرون يصلون إلى خارج مبنى الركاب في مطار الغردقة الدولي. تصوير: Mila Demidova/Shutterstock.com.
ووفقاً لموقع المنصة (Al Manassa)، أبدى نحو 70 ائتلافًا اهتمامًا بالمشروع؛ إلا أن جميع العروض المقدمة في الجولة الأولى من المناقصات رُفضت بسبب انخفاض قيمتها، إذ اعتُبرت غير كافية وتعكس تقييمًا أقل من القيمة الحقيقية للمطار، في ضوء الإيرادات السنوية المتوقعة التي تبلغ نحو 800 مليون دولار أمريكي.
وتراجع مصر حالياً عروضاً محدّثة من مستثمرين خليجيين من الإمارات العربية المتحدة والمملكة العربية السعودية وقطر. ومن شأن الفوز بالمناقصة أن يتيح لهؤلاء المستثمرين تحقيق عوائد من سوق السياحة المصري الراسخ، إلى جانب دعم مشاريعهم العملاقة الخاصة بمنطقة البحر الأحمر.
وستضع مناقصة مطار الغردقة المعايير المالية والهيكلية التي ستُطبَّق على المطارات العشرة المتبقية ضمن البرنامج.
مطارات ضمن المشروع
بعد مطار الغردقة، يركز البرنامج على مطارين إقليميين تم توسيعهما، يستهدف كل منهما أسواقًا محددة للسفر والسياحة.
المواصفات والأهداف الرئيسية لمطاري سفنكس والعلمين الإقليميين. رسم بياني: الجوية، المصدر: مؤسسة التمويل الدولية ومصادر رسمية.
مطار سفنكس الدولي: بوابة الأهرامات
يقع مطار سفنكس الدولي (SPX) غرب القاهرة، وقد جرى توسعته بين ديسمبر 2020 وأواخر العام 2022، لترتفع مساحته من 4,500 متر مربع إلى 24,000 متر مربع، ما أدى إلى زيادة طاقته الاستيعابية إلى 1.2 مليون مسافر سنويًا.
ويشكل المطار، الذي يبعد 42 كيلومتراً فقط عن المتحف المصري الكبير وأهرامات الجيزة، بديلاً أقرب من مطار القاهرة الدولي. وتستخدم شركات الطيران منخفضة التكلفة ، مثل ويز إير (Wizz Air) وإيزي جت (easyJet)، المطار لتسيير رحلات إلى وجهات أوروبية. كما تُستخدم الرحلات الداخلية التي تربطه بمنتجعات البحر الأحمر، مثل شرم الشيخ والغردقة، وبمدن صعيد مصر، مثل الأقصر وأسوان، في إطار نموذج الرحلات السياحية “ليوم واحد”، ما يتيح للسياح تجنب الازدحام المروري في وسط القاهرة.
وعلاوة على ذلك، يتمتع مطار سفنكس الدولي بإمكانات للاستخدام المزدوج، نظرًا لموقعه بالقرب من طريق القاهرة–الإسكندرية الصحراوي. وفي أواخر العام 2020، تقدّم مستثمرون سعوديون وكويتيون بمقترحات لإنشاء منشأة للشحن الجوي في موقع المطار.
وتسهم الاستثمارات الخليجية، بما في ذلك تخطيط السعودية لزيادة إجمالي استثماراتها في مصر إلى نحو 50 مليار دولار أمريكي عبر القطاعين العام والخاص في البلاد، باعتبارها أكبر مصدر للاستثمار الأجنبي المباشر العربي في مصر، إلى جانب مساهمة الكويت باستثمارات تتراوح بين 16 و19 مليار دولار، تسهم في دمج مطار سفنكس الدولي ضمن مسارات التجارة الإقليمية، بما يساعد الصادرات الزراعية والصناعية المحلية على تجنّب الازدحام في القاهرة، وتسريع عمليات الشحن الدولي وتقليص زمن وصولها إلى الأسواق الخارجية.
مطار العلمين الدولي: تيسير الدخول لإستكشاف ريفييرا الساحل الشمالي
يخدم مطار العلمين الدولي، الواقع على ساحل البحر الأبيض المتوسط، مشروع رأس الحكمة التابع لشركة “القابضة” (ADQ) في أبوظبي والذي تبلغ قيمته 35 مليار دولار. وقد أنشأته شركة “كاتو للاستثمار” (KATO Investment) المصرية العام 1999 وفق نموذج البناء والتشغيل ونقل الملكية، بطاقة استيعابية تبلغ 1.2 مليون مسافر سنويًا، إلا أن المطار شهد حركة موسمية محدودة لأكثر من عشر سنوات.
وبحلول أغسطس 2021، لم تكن هناك رحلات جوية منتظمة إلى مطار العلمين الدولي، إذ اعتمد المطار على الرحلات العارضة والطائرات الخاصة. ثم استؤنفت الرحلات التجارية رسميًا في مارس 2023، في إطار خطة التنمية العمرانية لمصر 2052.
ومع امتلاكه مدرجاً من الفئة (F) بطول 3,499 متراً، سجل المطار زيادة في أعداد المسافرين بنسبة 57 في المئة على أساس سنوي في العام 2026، ليخدم 266,600 مسافر. وتربط شركات طيران مثل الاتحاد للطيران (Etihad Airways) وفلاي دبي (flydubai) والخطوط الجوية السعودية (Saudia) الساحل الشمالي بمراكز الطيران الخليجية، مدفوعةً بالاستثمارات العقارية الإقليمية، بما يحقق توازنًا بين الرحلات مرتفعة العائد إلى دول مجلس التعاون الخليجي ورحلات العطلات العارضة إلى الوجهات الأوروبية.
وتُبرز استضافة النسخة الثانية من معرض العلمين الدولي للطيران (EIAS 2026) المقرر إقامته خلال الفترة من 8 إلى 10 سبتمبر 2026، دور المطار في الدبلوماسية الجوية والتجارة الإقليمية في قطاع الطيران والفضاء. ويضم الحدث الذي يحظى بدعم من الحكومة المصرية أكثر من 200 جهة عارضة، من بينها إيرباص (Airbus) وداسو (Dassault)، إلى جانب فرق للاستعراضات الجوية، ومن المتوقع أن يستقطب نحو 12,000 زائر من أكثر من 50 دولة.
خطة مصر لتنفيذ البرنامج على المستوى الإقليمي
وإلى جانب مطارات الغردقة وسفنكس والعلمين، حددت وزارة الطيران المدني ومؤسسة التمويل الدولية خططاً لثمانية مطارات أخرى هي:
مطار شرم الشيخ الدولي: يحظى بالأولوية لبدء إجراءات الطرح فورًا، نظراً لارتفاع الحركة السياحية وتحديث مباني الركاب.
مطار برج العرب الدولي: يأتي في المرتبة التالية لدعم حركة النقل الإقليمية والصناعية في الإسكندرية.
مطار الأقصر الدولي: المُخطط لخدمة سوق السياحة الثقافية في صعيد مصر ورحلات النيل النهرية.
مطار أسوان الدولي: طرح بالتوازي مع الأقصر لخدمة المواقع التراثية في جنوب مصر.
مطار سوهاج الدولي: يستهدف دعم الرحلات الداخلية وحركة السفر الإقليمية في صعيد مصر.
مطار أسيوط: المُخطط لدعم الرحلات الداخلية والتوسع في حركة المسافرين الإقليمية.
مطار أبو سمبل: مُدرج لخدمة الرحلات السياحية المباشرة إلى المواقع التاريخية في جنوب مصر.
مطار مرسى مطروح: يمثل المحطة الأخيرة في قائمة المطارات المستهدفة بالطرح، مع التركيز على دعم تنمية ساحل البحر الأبيض المتوسط.
وتهدف مصر، من خلال إسناد إدارة المطارات إلى مشغلين من القطاع الخاص، إلى تطوير وتحديث البنية التحتية لقطاع الطيران، مع الاحتفاظ بملكية الأصول الأساسية في قطاع الطيران. وعلى الرغم من عدم تحديد موعد نهائي لاستكمال برنامج المطارات الـ11 بأكمله، فإن هذا التنفيذ المرحلي يتماشى بشكل واضح مع رؤية مصر 2030، حيث يشكل طرح مطار الغردقة في العام 2026 النموذج، والوتيرة، والإطار التنظيمي الذي ستُبنى عليه جميع المشروعات المستقبلية.
التأثيرات الإيجابية لنموذج الشراكة بين القطاعين العام والخاص في مصر
في حال نجاح برنامج الشراكة بين القطاعين العام والخاص للمطارات الـ11، فإنه سيُسهم بلا شك في تعزيز الاقتصاد المصري، وتحويل قطاع الطيران إلى أحد أكثر القطاعات حيوية وتنافسية في المنطقة. ومن خلال الاستفادة من خبرات القطاع الخاص في تشغيل المطارات، مع الحفاظ على ملكية الأصول الوطنية، تستطيع مصر استثمار الإمكانات التجارية الكاملة لقطاع السياحة وزيادة عائداتها من العملات الأجنبية. كما سيسهم هذا الإطار لتعزيز الربط الجوي العالمي في إطلاق فرص النمو أمام المشروعات الساحلية والوجهات الثقافية، ودفع عجلة التوسع الاقتصادي على المدى الطويل.
ابقوا على اطلاع دائم. احصلوا على أحدث أخبار الطيران والفضاء في العالم العربي لحظة نشرها عبر واتساب وتيليغرام، أو اشتركوا بنشرتنا البريدية لتصلكم نشرة أسبوعية. كما يمكنكم إضافتنا إلى مصادركم المفضلة لتظهر لكم أخبارنا بشكل أوسع في بحث Google.
نستخدم ملفات تعريف الارتباط لتشغيل هذا الموقع، وقياس القراءة، وعرض الإعلانات التي تموّل عملنا الصحافي. في منطقتكم تبقى ملفات تعريف الارتباط غير الضرورية معطّلة حتى تقبلوها. يمكنكم قبولها كلها أو رفضها كلها أو الاختيار بحسب الفئة، وتغيير خياركم في أي وقت عبر رابط “تفضيلات ملفات تعريف الارتباط” في أسفل كل صفحة.
وظيفية دائما مفعلة
ضرورية لعمل الموقع: لغة التصفح، وخياركم بشأن ملفات تعريف الارتباط، وحماية النماذج، وجلسة ووردبريس. مفعّلة دائماً.
تفضيلات
تحفظ الإعدادات التي اخترتموها حتى لا تحتاجوا إلى ضبطها مجدداً في زيارتكم التالية.
إحصائيات
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
let cmplzBlockedContent = document.querySelector('.cmplz-blocked-content-notice');
if ( cmplzBlockedContent) {
cmplzBlockedContent.addEventListener('click', function(event) {
event.stopPropagation();
});
}
//# sourceURL=cmplz-cookiebanner-js-after
/* 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"};