/* 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(); });
}
});
اعتمدت شركة “سبيس إكس” تعرفة جديدة لعملاء خدمة “ستارلينك” في قطاع طيران الأعمال، يُبدأ تطبيقها اعتباراً من أول دورة فوترة بعد 7 أغسطس 2026. وتحدد التعرفة الجديدة قيمة الاشتراك الشهري للباقة الإقليمية بـ 12,500 دولار، مقابل 20,000 دولار للتغطية العالمية. وبموجب هذا التصنيف، تندرج الطائرات المتمركزة في منطقة الخليج ضمن نطاق قارة آسيا، ما يعني انقطاع التغطية عن الباقة الإقليمية بمجرد خروج الطائرة من الحدود القارية.
وفي 7 يوليو 2026، أبلغت “سبيس إكس” عملاءها في قطاع طيران الأعمال بأن باقتي “ستارلينك” المخصصتين لطائرات رجال الأعمال ستُستبدلان بثلاث باقات جديدة. ودخل هذا التغيير حيز التنفيذ مع أول دورة فوترة لكل عميل بعد 7 أغسطس. وأوضح الإشعار المرسل من “ستارلينك” أن العملاء الحاليين تم نقلهم تلقائياً إلى الباقات الجديدة، من دون الحاجة إلى اتخاذ أي إجراء مسبق.
وتضاعف سعر الباقة الأساسية من 2,000 إلى 4,000 دولار شهرياً، فيما ارتفعت تكلفة التغطية العالمية إلى 20 ألف دولار، مقارنةً بـ10 الاف دولار سابقاً. غير أن أسعار المشتركين الحاليين في الباقة غير المحدودة لم تتضاعف تلقائياً؛ إذ نقل جدول الترحيل لدى “ستارلينك” مشتركي باقة طيران الأعمال غير المحدودة Business Jet Unlimited، التي كانت تكلف 10 الاف دولار شهرياً وتتيح الخدمة أينما تتوفر شبكة “ستارلينك”، إلى باقة الطيران الاقليمي غير المحدودة Aviation Regional Unlimited بسعر 12,500 دولار شهرياً، مع تغطية تقتصر على قارة واحدة فقط. أما بخصوص التغطية العالمية، فأصبحت ترقية منفصلة يتعين على العميل طلبها بشكل مباشر.
الباقات الجديدة
الباقة
السعر
البيانات
سرعة التحميل
التغطية
الطيران الإقليمي 25 جيجابايت (Aviation Regional 25GB)
4 الاف دولار/شهريا
25 جيجا بايت،250 دولار لكل جيجابايت اضافي
تصل الى 250 ميجابت في الثانية
فوق اليابسة والمياه الإقليمية والمحيطات. نطاق تغطيتها إقليمي فقط
الطيران الإقليمي غير المحدودة (Aviation Regional Unlimited)
12,500 دولار/شهريا
غير محدودة
تصل الى 500 ميجابت في الثانية
فوق اليابسة والمياه الإقليمية والمحيطات. نطاق تغطيتها إقليمي فقط
الطيران العالمي غير المحدودة (Aviation Global Unlimited)
20 الف دولار/شهريا
غير محدودة
تصل الى 1 جيجابت في الثانية مع الهوائي عالي الأداء؛ و500 ميجابت في ثانية بخلاف ذلك
في جميع الأماكن التي تقدم فيها “ستارلينك” خدمة الطيران؛ ومدعومة باتفاقية مستوى الخدمة
المصدر: اشعار “ستارلينك” بشأن باقات طيران الأعمال وصفحة المنتج.
سيحتفظ العملاء الحاليون بمعداتهم، حيث تعمل الباقات الثلاث جميعها باستخدام الهوائي المثبت لديهم مسبقا، فيما تظل السرعات ضمن التغطية الإقليمية قريبة من المستويات التي كانت تقدمها الشبكة سابقاً. وتعد سرعة 1 جيجابت في الثانية، ميزة جديدة تتوفر عبر هوائي الطيران عالي الأداء ( Aviation Performance antenna )، وهو محطة طرفية (أجهزة الاستقبال) ثنائية القنوات كشفت عنها “ستارلينك” للمرة الأولى لشركات الطيران في مايو الماضي، لتصبح باقات شهر يوليو هي الأولى التي تتيح هذا الهوائي لباقات طائرات رجال الأعمال.
ولا يتوفر هوائي الطيران عالي الأداء إلا ضمن الباقة العالمية، بينما تصل سرعة الهوائي السابق ضمن الباقة نفسها إلى 500 ميجابت في الثانية. وتشترك الباقات الثلاث في الشروط الأساسية؛ فلا تفرض حداً أدنى لمدة العقد، ولا تضمن الأسعار السابقة، فيما يتطلب تغيير الباقة أو منطقة التغطية تقديم طلب (تذكرة) للدعم الفني.
ويبلغ سعر المعدات لمعظم طائرات رجال الأعمال 200 ألف دولار، مقارنةً بـ145 ألف دولار سابقاً، من دون احتساب تكاليف التركيب. وتستغرق عملية التسليم من أسبوعين إلى 12 أسبوعاً، بينما يتطلب التركيب بين يومين وأربعة أيام. وقد تمتد فترة التركيب من أسبوعين إلى ثلاثة أسابيع إضافية إذا استدعى الأمر إزالة بعض تجهيزات المقصورة. ومع احتساب تكاليف التركيب، قد تصل الميزانية اللازمة لتجهيز طائرة ذات مقصورة كبيرة إلى ما بين 400 ألف و450 ألف دولار.
مناطق ستارلينك الإقليمية الست كما أعادت الجوّية رسمها؛ ويظهر الخليج في منطقة آسيا وأقرب حدوده أوروبا. رسم بياني: الجوّية، المصدر: خرائط إقليمية نشرتها OPSGROUP، سبتمبر 2026.
قيود الحدود القارية
تغطي الباقة الإقليمية قارة واحدة من ست قارات: آسيا، أو أفريقيا، أو أمريكا الشمالية، أو أمريكا الجنوبية، أو أوروبا، أو أستراليا. وتحدد “ستارلينك” القارة المشمولة بناءً على عنوان الفوترة المسجّل للطائرة، مع إمكانية تغييرها عبر تذكرة دعم فني.
وبالنسبة إلى الطائرة التي يُحتسب اشتراكها على عنوان فوترة في الخليج العربي، تُصنَّف ضمن قارة آسيا، ما يعني أن مغادرة المجال القاري الآسيوي هي نقطة توقف الخدمة. وتوضح “ستارلينك” آلية توقف الخدمة عند هذا الحد مشيرة الى أن “الخدمة تتوقف بعد مغادرة المحيط داخل الحدود الإقليمية للقارة المحددة”. ولا توفر الشركة ترقية مؤقتة لتغطية رحلات محددة، إذ تنص على أن “ستارلينك لا تدعم ترقيات مؤقتة لرحلات محددة”.
في ظل الباقة الإقليمية، تفقد طائرة متمركزة في الخليج الاتصال عند دخولها المجال الجوي اليوناني فوق بحر إيجة، أو عند عبورها البحر الأحمر باتجاه مصر إذا سلكت هذا المسار. وتقترح “ستارلينك” على المشغّلين الذين يسافرون إلى خارج نطاق التغطية “من حين إلى آخر” الاشتراك في باقة الطيران العالمي غير المحدودة ( Global Unlimited)، بتكلفة 240 ألف دولار سنوياً، أو طلب تغيير منطقة التغطية عبر الدعم الفني قبل كل رحلة.
قد يبدو تغيير منطقة التغطية حلاً عملياً، إذ يمكن للعميل تبديل القارة عبر تذكرة الدعم الفني، إلا أن هذا الخيار تحده قيود فهو يغير القارة وليس “البلد الأم” المسجّل للحساب، إذ يخضع هذا الأخير لقاعدة منفصلة تنص على أن “الاستخدام المطوّل خارج البلد الأم، لأكثر من 60 يوماً، قد يؤدى الى تقييد الخدمة”. وبالتالي، إذا غيّرت طائرة منطقة تغطيتها إلى أوروبا لفترة معينة، فإنها تصبح ضمن نطاق القارة المحددة، لكنها تظل خارج بلدها الأم، ما قد يؤدي إلى تقييد الخدمة بعد 60 يوماً. ولاستعادة الخدمة، تشترط “ستارلينك” عودة الطائرة إلى البلد الأم والاتصال بالخدمة لمدة 24 ساعة على الأقل. أما في حال نقل الطائرة بشكل دائم، فتوصي “ستارلينك” بنقل الحساب إلى البلد الجديد.
وتنفرد الباقة العالمية بنطاق تغطية أوسع، إذ تقول “ستارلينك” إنها “تعمل في أي مكان تقدم فيه خدمة الطيران”. وتضم قائمة الدول التي حصلت فيها الشركة على “الاعتماد التنظيمي لتقديم خدمات الطيران أثناء التنقل” —سواءً على الأرض أو في الجو— كلاً من قطر والإمارات وسلطنة عُمان، لكنها لا تشمل دولا مثل السعودية أو الكويت أو البحرين. يشار الى أن هذه القائمة غير مؤرخة ولا تبدو محدثة بما يواكب التطورات التنظيمية الحديثة؛ إذ منحت جميع دول مجلس التعاون الخليجي “ستارلينك” ترخيصا أو أعلنت موافقتها على خدماتها، وكان آخرها دولة الإمارات في 28 أغسطس.
وبحسب قائمة “ستارلينك” نفسها، تدفع طائرة متمركزة في الرياض أو الكويت أو المنامة 240 ألف دولار سنوياً مقابل التغطية العالمية، رغم أن بلدها الأم لا يظهر ضمن الدول المدرجة. كما لا تعكس القائمة جميع التطورات التشغيلية؛ فقد بدأت شركة “طيران الخليج”، ومنذ مايو الماضي، تشغيل رحلات مزودة بخدمات “ستارلينك” انطلاقاً من البحرين، وذلك طوال مراحل الرحلة من مغادرة بوابة الإقلاع وحتى بوابة الوصول.
الخيار المنافس
في سوق الاتصال الجوي منخفض المدار، تقدم “غوغو” نظام غاليليو ( Galileo ) بوصفه منافساً لـ”ستارلينك”، مستفيداً من كوكبة أقمار “يوتلسات وان ويب” النظام الآخر العامل في المدار الأرضي المنخفض والمُعتمد على طرازات الطائرات ذاتها.
ويعتمد النظام على هوائيين مسطّحين موجّهين إلكترونياً من تصنيع “هيوز”. ويأتي طراز اتش دي اكس (HDX) كخيار أصغر حجماً، بوزن 10 كيلوغرامات وطول 60 سنتيمتراً، وقد حصل حتى الآن على اعتماد لـ24 طرازاً من الطائرات، بدءا من النفاثات الخفيفة وصولا إلى طرازي جي 650 (G650) و جي 650 إي آر (G650ER)، اللذين حصلت “غلف ستريم” على شهادة الطراز التكميلية الخاصة بهما في يوليو الماضي.
أما طراز اف دي اكس (FDX)، الأكبر حجماً ووزناً بنحو الضعف، فيوفر سعة نقل بيانات تقارب ثلاثة أضعاف طراز اتش دي اكس تقريباً، وهو مُعتمد حتى الآن على طائرات بوينغ لرجال الأعمال بي بي جي 737 (BBJ 737) وسلسلة تشالنجر 600 (Challenger 600)، مع وجود 24 طرازاً آخر قيد الاعتماد.
ولا يقترب أي منهما من سرعة شبكة “ستارلينك”. ولكن ما تسوقه “غوغو” كبديل تنافسي هو توفير هوائي أرخص ثمناً، ورسوم شهرية أدنى ضمن عقد لثلاث سنوات، مع تثبيت السعر طوال مدة العقد. وبذلك، تضع الشركة السعر والتكلفة طويلة الأجل في مواجهة السرعة الأعلى التي تشكل أبرز نقاط تفوق “ستارلينك”.
تفاصيل الخدمة
خدمة ستارلينك للطيران
غوغو غاليليو اتش دي اكس
غوغو غاليليو اف دي اكس
سعر الهوائي
200 ألف دولار
120 ألف دولار
190 ألف دولار
البيانات المشمولة في الباقة الأساسية
25 جيجابايت، إقليمية فقط
25 جيجابايت
50 جيجابايت
سعر الباقة الأساسية شهريا
4 الاف دولار
5 الاف دولار بعقد سنة، 3,500 دولار بعقد 3 سنوات
10 الاف دولار بعقد سنة، 7 الاف دولار بعقد 3 سنوات
الباقة غير المحدودة شهريا
12,500 دولار للباقة الإقليمية؛ 20 ألف دولار للباقة العالمية
15 ألف دولار بعقد سنة؛ 10,500 دولار بعقد 3 سنوات
17,900 دولار بعقد سنة؛ 12,500 دولار بعقد 3 سنوات
سرعة التحميل القصوى
250 ميجابت في الثانية إقليميا؛ 500 ميجابت في الثانية للباقة الاقليمية غير المحدودة؛ 1 جيجابت في الثانية عالميا مع هوائي عالي الأداء
60 ميجابت في الثانية
195 ميجابت في الثانية
سرعة الرفع القصوى
44 ميجابت في الثانية؛ 100 ميجابت في الثانية مع هوائي عالي الأداء
في سياق متصل، أصبحت “فالكون تكنيك”، ذراع الصيانة التابعة لشركة “فالكون لخدمات الطيران”، الموزع المعتمد لـ”غوغو” في الشرق الأوسط، ما يعزز توجه الشركة للتوسع في المنطقة. وكانت هذه الجهود قد أثمرت بالفعل عن عميل رئيسي؛ إذ اختارت “فيستا”، المالكة لشركة “فيستا جيت” والمتمركزة في دبي، نظام غاليليو لجميع طائرات أسطولها البالغ عددها 270 طائرة في أكتوبر 2025، أي قبل إعادة تسعير “ستارلينك”.
ولم تعيّن “ستارلينك” علناً موزعاً إقليمياً متمركزاً في الخليج لخدمة ستارلينك للطيران (Starlink Aviation)، رغم أن موزعها المعتمد في الولايات المتحدة آيرو إكس ( AeroX)، يدير مكاتب في المنطقة.
مسؤولان من فالكون تكنيك وغوغو يوقعان اتفاقية الوكالة في الشرق الأوسط خلال معرض دبي للطيران في نوفمبر 2025. صورة: فالكون لخدمات الطيران.
التكلفة مقارنة بتشغيل الطائرة
ووفق السجلات المتاحة، يُعد أسطول القطرية لطائرات رجال الأعمال الوحيد في الخليج الذي أُعلن رسمياً عن تجهيزه بخدمات “ستارلينك”. ففي 4 ديسمبر 2025، أعلنت الشركة عن خطتها لتزويد جميع طائراتها من طرازي “غلف ستريم” (Gulfstream) و”بومباردييه” (Bombardier) بهذه الخدمة، على أن يتولى فريقها الهندسي مهام التركيب. وفي ذلك الوقت، كانت الخدمة قد فُعّلت بالفعل على نصف طائرات أسطولها البالغ 15 طائرة من طراز جي 650 إي آر (G650ER)، إلى جانب طائرتي غلوبال 5000 (Global 5000)، فيما كان مقرراً تجهيز بقية الأسطول، بما فيه طائرات جي 700 ( G700)، بحلول أوائل العام 2026. إلا أن الشركة لم تعلن اكتمال عملية التجهيز، كما لم تكشف عن تكلفة توفير الخدمة. وكان إعلان الالتزام بـ”ستارلينك” قد صدر في ظل التعرفة القديمة، فيما تظل قيمة ما يدفعه الأسطول حالياً غير معلنة.
وتبلغ تكلفة باقة الطيران العالمي غير المحدودة نحو 240 ألف دولار سنوياً. أما العملاء الذين كانوا مشتركين في باقة طيران الأعمال غير المحدودة واختاروا الترقية للحفاظ على التغطية العالمية، فسيدفعون 120 ألف دولار إضافية سنوياً مقارنة بالتعرفة السابقة، أي أكثر بنحو 12 ألف دولار شهرياً.
ولمقارنة هذا المبلغ بتكلفة تشغيل الطائرة، فإن تشغيل طائرة غلف ستريم جي 700 أو بومباردييه غلوبال 7500 بمتوسط 400 ساعة طيران سنوياً يكلف مالكها نحو 4 ملايين دولار. ويذهب نحو 1.2 مليون دولار من هذه التكلفة إلى بنود ثابتة تشمل الطاقم، وإيواء الطائرة، والتأمين والتدريب، وهي نفقات تُدفع سواء حلّقت الطائرة أو بقيت رابضة على الأرض. أما الـ2.8 مليون دولار المتبقية، فتمثل تكاليف التشغيل المرتبطة بالطيران، ويستحوذ الوقود والصيانة على معظمها.
وبهذا المقياس، تصبح باقة الطيران العالمي غير المحدودة تكلفة ثابتة أخرى؛ فسعرها السنوي البالغ 240 ألف دولار يعادل خُمس التكاليف الثابتة للطائرة، ونحو 6 في المئة من إجمالي ميزانية تشغيلها، أو ما يقارب 600 دولار لكل ساعة طيران. لم تحرّك “ستارلينك” أقمارها الصناعية لتحديد هذه الحدود؛ بل رسمت ستة خطوط على الأرض، وفرضت تسعيرة لعبورها، فكوكبة الأقمار الصناعية عالمية التغطية، لكن باقات الخدمة ليست كذلك. وبالنسبة إلى الطائرات في الخليج، تبدأ حدود التسعير الجديد عند مغادرة القارة الآسيوية إلى أوروبا.
ابقوا على اطلاع دائم. احصلوا على أحدث أخبار الطيران والفضاء في العالم العربي لحظة نشرها عبر واتساب وتيليغرام، أو اشتركوا بنشرتنا البريدية لتصلكم نشرة أسبوعية. كما يمكنكم إضافتنا إلى مصادركم المفضلة لتظهر لكم أخبارنا بشكل أوسع في بحث 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"};