Editorial
The Guardian,
Friday 21 December 2012 21.10 GMT
In 2004, Senator John Kerry proved not to be ideal US presidential timber. But the Massachusetts grandee is a political heavyweight nevertheless. And in three other key respects he is an excellent nominee to succeed Hillary Clinton as America’s secretary of state. First, Mr Kerry knows the world’s trouble spots, from Afghanistan to Zimbabwe. As chairman of the senate foreign relations committee from 2009, he will go to Foggy Bottom with the facts on some of America’s most difficult strategic engagements already at his fingertips. Second, Mr Kerry is that rare bird in US politics: a natural cosmopolitan. A French speaker, married to a colonial Mozambique-born multimillionaire wife, he knows instinctively how to speak softly even while carrying Washington’s big stick. Finally, Mr Kerry knows first-hand about the realities of war. As a young man he fought in Vietnam and won medals for his bravery, returning to the US to become a prominent and intensely credible critic of the war. For this audacity, he was monstered in 2004 by the Republicans of George Bush (a rich draft dodger who talked tough). Few people have had their service so shamefully traduced as Mr Kerry at the hands of Karl Rove’s swift-boat character assassination tactics eight years ago. That episode remains one of the morally darkest acts of modern American election campaigning. This would be a perfect moment for Republican senators to apologi
1f40
se to Mr Kerry at his confirmation hearings. But don’t hold your breath.
‘,
obPaidHtml = ”,
containerHtml = ”+obInternalHtml+obPaidHtml+”;
jQuery(‘.article #box > .share-links’).after(containerHtml);
// Load the widget and setup callbacks
OBR.extern.reloadWidget();
if(typeof(OBR) !== ‘undefined’) { // OBR Object must be found in Dom
OBR.extern.onOdbReturn(“AR_1″,function(){
var totalCountOfRecs = OBR.extern.getCountOfRecs(“AR_1″);
fixOBComponent(“AR_1″);
});
OBR.extern.onOdbReturn(“AR_2″,function(){
var totalCountOfRecs = OBR.extern.getCountOfRecs(“AR_2″);
fixOBComponent(“AR_2″);
});
}
// Do the popup explainers – sorry this is done quite badly
jQuery(document).delegate(‘.outbrain-container .explainer-link’, ‘click’, function(e) {
e.preventDefault();
var sponsoredText = “These are paid-for links provided by Outbrain, and may or may not be relevant to the other content on this page. To find out more information about driving traffic to your content or to place this widget on your site, visit outbrain.com. We welcome your feedback at userhelp@guardian.co.uk or feedback@outbrain.com. You can read Outbrain’s privacy and cookie policy here.”,
internalText = “These are links to Guardian pages suggested by Outbrain, which may or may not be relevant to the other content on this page. We welcome your feedback at userhelp@guardian.co.uk or feedback@outbrain.com. You can read Outbrain’s privacy and cookie policy here.”,
explainerText = jQuery(this).parent().parent().hasClass(‘AR_1′) ? internalText : sponsoredText;
var position = jQ(this).offset(),
overlayNode = jQ(”+explainerText+”);
// Listen for events to close the overlay
overlayNode.find(‘.close’).click(function(e) {
e.preventDefault();
overlayNode.remove();
});
if(jQ(‘.outbrain-explainer’).is(“:visible”)) {
jQ(‘.outbrain-explainer’).remove();
}
// Position the overlay
overlayNode.css({‘top’: position.top+20,
‘left’: position.left-393});
// ….and showtime
jQuery(‘.ob_box_cont’).append(overlayNode);
overlayNode.fadeIn();
// Close the overlay if there’s clicks outside it
jQ(document).click(function(e) {
overlayNode.remove();
});
jQ(‘.outbrain-explainer, .outbrain-explainer *’).click(function(e) {
if (jQ(e.target)[0].tagName.toLowerCase() != ‘a’) {
e.stopPropagation();
return false;
}
});
});
// This re-arranges the OB markup to match ours
function fixOBComponent(id) {
var node = jQuery(‘div[data-widget-id="'+id+'"]‘);
node.find(‘.ob_box_cont’).addClass(‘component’);
1f40
node.find(‘.ob_org_header’).addClass(‘hd b1′);
node.find(‘.ob_org_header div’).wrap(”);
node.find(‘.hd’).prepend(‘What’s this?’);
var titleNode = node.find(‘.hd h2 div’),
title = titleNode.text().replace(‘guardian’, ‘Guardian’);
titleNode.text(title);
}
}
});




