
عاجل.. تفاصيل اجتماع الخطيب مع كولر لحسم صفقات الصيف
تفاصيل اجتماع الخطيب مع كولر لحسم الصفقات
وكشف مصدر من داخل النادي الأهلي أن الاجتماع الذي جمع محود الخطيب مع مارسيل كولر تصدره العديد من الملفات أبرزها صفقات الموسم الجديد، حيث تحدث المدير الفني عن احتياج الفريق لعدد من الأسماء في مختلف المراكز.
وناقش رئيس النادي مع المدرب ثلاثة ملفات أخرى بخلاف الصفقات، أولها الخسارة أمام ماميلودي صن داونز الجنوب إفريقي بخماسية بهدفين، حيث حرص الخطيب على تقديم الإشادة بعمل كولر مع التحفظ على النتيجة الصادمة على حد وصفه بمجلس الإدارة والجماهير الحمراء.
وثاني الملفات كان قائمة الراحلين عن صفوف القلعة الحمراء في الصيف المقبل، حيث تحرك سيضع كولر قائمة كاملة باللاعبين الذين سيرحلوا بنهاية الموسم الجاري لعدم حاجة الفريق لخدماتهم فنيًا بقرار السويسري.
أما ثالث الملفات كان بطولة كأس الرابطة، والتي أوقعت القرعة الأحمر في مواجهة قوية أمام المصري البورسعيدي في دور الستة عشر.
وأكد كولر على أن الفريق يعاني من ضغط المباريات وهو ما يسبب إجهاد بدني وذهني كبير على اللاعبين، ولا يرغب في المشاركة بالبطولة، وهو ما دعمه الخطيب بضرورة تأجيل اللقاء لعدم تواجد اللاعبين الدولين.
replaceOembeds();
function replaceOembeds() {
var allEmbeds = document.getElementsByTagName("OEMBED");
while (allEmbeds.length != 0) {
replaceOembedWithHtml(allEmbeds[0], extractLinkFromOembed(allEmbeds[0]));
allEmbeds = document.getElementsByTagName("OEMBED");
}
runYoutubeLazyLoad();
loadfbApi();
}
function replaceOembedWithHtml(element, sourceData) {
if (sourceData.source.toLowerCase() === "youtube") {
var html="<div class="yt-embed"><div class="embed-wrap">" +
'<div class="embed-container">' +
'<div class="youtube" data-embed="' + sourceData.id + '">' +
'<div class="play-button"> ' +
'' +
'</div>' +
'</div></div></div></div>';
replaceElementWithHtml(element, html);
} else if (sourceData.source.toLowerCase() === "instagram") {
var html="<div class="instagram-embed"></div>';
replaceElementWithHtml(element, html);
} else if (sourceData.source.toLowerCase() === "twitter") {
var html="<div class="tw-embed"></div>';
replaceElementWithHtml(element, html);
} else if (sourceData.source.toLowerCase() === "facebook") {
var html="<div class="fb-embed"><div class="fb-video" data-href=""></div></div>'
replaceElementWithHtml(element, html);
} else {
replaceElementWithHtml(element, "");
}
}
function extractLinkFromOembed(element) {
return getUrlSource(element.getAttribute("url"));
}
function getUrlSource(url) {
var ytRegex = /http(?:s?)://(?:www.)?youtu(?:be.com/watch?v=|.be/)([w-_]*)(&(amp;)?[w?=]*)?/;
var instaRegex = /(https?://www.)?instagram.com(/p/(w+)/?)/;
var twitterRegex = /twitter.com/.*/status(?:es)?/([^/?]+)/;
var fbRegex = /^https?://www.facebook.com.*/(video(s)?|watch|story|posts)(.php?|/).+$/;
if (ytRegex.test(url)) {
return {
source: "Youtube",
url: url,
id: ytRegex.exec(url)[1]
};
}
if (instaRegex.test(url)) {
return {
source: "Instagram",
url: url,
id: instaRegex.exec(url)[3]
};
}
if (twitterRegex.test(url)) {
return {
source: "Twitter",
url: url,
id: twitterRegex.exec(url)[1]
};
}
if (fbRegex.test(url)) {
return {
source: "Facebook",
url: url,
id: fbRegex.exec(url)[1]
};
}
return {
source: "Unknown",
url: url,
id: ""
};
}
function replaceElementWithHtml(element, html) {
var str = html;
var Obj = element; //any element to be fully replaced
if (Obj.outerHTML) { //if outerHTML is supported
Obj.outerHTML = str; ///it's simple replacement of whole element with contents of str var
} else { //if outerHTML is not supported, there is a weird but crossbrowsered trick
var tmpObj = document.createElement("div");
tmpObj.innerHTML = '<!--THIS DATA SHOULD BE REPLACED-->';
ObjParent = Obj.parentNode; //Okey, element should be parented
ObjParent.replaceChild(tmpObj, Obj); //here we placing our temporary data instead of our target, so we can find it then and replace it into whatever we want to replace to
ObjParent.innerHTML = ObjParent.innerHTML.replace('<div><!--THIS DATA SHOULD BE REPLACED--></div>', str);
}
}
function loadfbApi() {
var js = document.createElement('script');
js.src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.2";
document.body.appendChild(js);
}
function runYoutubeLazyLoad() {
/// youtube lazyload
var youtube = document.querySelectorAll(".youtube");
for (var i = 0; i < youtube.length; i++) {
var source = "https://img.youtube.com/vi/" + youtube[i].dataset.embed +
"/0.jpg";
var image = new Image();
image.src = "https://www.elfagr.org/themes/fagr/assets/images/no.jpg";
image.classList.add('lazyload');
image.setAttribute("data-src", source);
image.setAttribute("alt", "youtube");
image.addEventListener("load", function () {
youtube[i].appendChild(image);
}(i));
youtube[i].addEventListener("click", function () {
var iframe = document.createElement("iframe");
iframe.setAttribute("frameborder", "0");
iframe.setAttribute("allowfullscreen", "");
iframe.setAttribute("src", "https://www.youtube.com/embed/" + this.dataset
.embed + "?rel=0&showinfo=0&autoplay=1");
this.innerHTML = "";
this.appendChild(iframe);
});
};
}