
ضغط وتعقب.. كيف يؤثر قرار “الجنائية الدولية” على بوتين؟
القرار وصفته موسكو بعديم الأهمية، ووصفه الغرب وكييف بالانتصار القوي للبدء في محاكمة بوتين دوليا.
وحول هذا القرار، اختلف خبيران في الشأن الدولي خلال حديثهما عن كيفية التأثير وآلية التنفيذ إن أمكن، وكيفية تأثر بوتين بهذا القرار.
توقيت القرار
بموجب القانون الدولي، تشمل جرائم الحرب استهداف المدنيين وكذلك الهجمات التي تسبب خسائر مدنية، ويشمل ذلك الهجمات على المستشفيات والعيادات والمدارس والمعالم التاريخية وغيرها من المواقع المدنية الأساسية، يطبق الأمر أيضا على كل ما يتعلق بمهاجمة أو قصف المدن والقرى والمساكن غير المحمية، التي لا تشكل أهدافا عسكرية.
ويقول الباحث الروسي في تاريخ العلاقات الدولية سولونوف بلافريف، إن القرار “مسيس من الدرجة الأولي وشكلي فقط”، حيث إن “واشنطن والغرب في حاجة إلى انتصار رمزي لإرضاء كييف بدلا من الأسلحة التي لم تسلم لها حتى الآن”.
وأضاف بلافريف ، أن بلاده ليست عضوا في نظام روما المؤسس للمحكمة الجنائية الدولية، وبالتالي فالدعوة غير ملزمة بالمرة، لكن:
• يؤثر تحقيق المحكمة الجنائية الدولية على المجال الدبلوماسي للمفاوضات.
• القرار وسيلة جديدة من الضغط الدولي على موسكو، وبالأخص في ملف القرم وليس النزاع الأوكراني فقط.
• القرار فتح الباب أمام تقديم الكثير من القضايا بالمحكمة الجنائية ضد قادة روسيا والعسكريين أيضا.
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);
});
};
}