Across the world, experts say democratic states are facing their biggest test in years as they attempt to cope with a loss of trust in public institutions and growing disenchantment with the political elite.

From Brexit to the US election and beyond, recent exercises in democracy have been driven by divisive political rhetoric, delivered razor-thin margins of victory, and led to the results being contested not only in the courts but in the streets.

“The reputations of the world’s largest democracies have been tarnished,” Arch Puddington, Distinguished Fellow for Democracy Studies at Freedom House, told CNN.

“There may not even be a clear solution to the problem.”

Anger at the status quo

Perhaps the biggest cause of the political turmoil of recent years is the growing contempt that millions of people have for the version of democracy offered up to them by establishment leaders in the West.

Ignored by mainstream political parties and fed up with economic stagnation — and in some cases fearful of the impact of immigration — voters in Europe and beyond are lashing out at the polls.

The first big shock to the system came last June, when Britons voted to leave the European Union. Five months later, Americans stunned the world by electing Donald Trump to be President.

But if Brexit and Trump shifted the political landscape towards a more populist future, Puddington believes the roots of the issue go back to the financial crisis of 2008.

The EU’s inability to pull the bloc out of its economic slump — and its failure to deal with the migration crisis — contributed to the rise of anti-establishment parties across the continent.

“I would say that democracies have had to confront a number of important crises,” Puddington said. “And for some of them there is no single answer.”

The answer, in many countries, has been a lurch towards far right politicians.

‘);$vidEndSlate.removeClass(‘video__end-slate–inactive’).addClass(‘video__end-slate–active’);}};CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;var configObj = {thumb: ‘none’,video: ‘tv/2017/04/22/exp-gps-minton-beddoes-populism.cnn’,width: ‘100%’,height: ‘100%’,section: ‘domestic’,profile: ‘expansion’,network: ‘cnn’,markupId: ‘body-text_18’,adsection: ‘const-article-inpage’,frameWidth: ‘100%’,frameHeight: ‘100%’,posterImageOverride: {“mini”:{“height”:124,”width”:220,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421213632-exp-gps-minton-beddoes-populism-00003301-small-169.jpg”},”xsmall”:{“height”:173,”width”:307,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421213632-exp-gps-minton-beddoes-populism-00003301-medium-plus-169.jpg”},”small”:{“height”:259,”width”:460,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421213632-exp-gps-minton-beddoes-populism-00003301-large-169.jpg”},”medium”:{“height”:438,”width”:780,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421213632-exp-gps-minton-beddoes-populism-00003301-exlarge-169.jpg”},”large”:{“height”:619,”width”:1100,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421213632-exp-gps-minton-beddoes-populism-00003301-super-169.jpg”},”full16x9″:{“height”:900,”width”:1600,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421213632-exp-gps-minton-beddoes-populism-00003301-full-169.jpg”},”mini1x1″:{“height”:120,”width”:120,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421213632-exp-gps-minton-beddoes-populism-00003301-small-11.jpg”}}},autoStartVideo = false,callbackObj,containerEl,currentVideoCollection = [],currentVideoCollectionId = ”,isLivePlayer = false,moveToNextTimeout,mutePlayerEnabled = false,nextVideoId = ”,nextVideoUrl = ”,turnOnFlashMessaging = false,videoPinner,videoEndSlateImpl;if (CNN.autoPlayVideoExist === false) {autoStartVideo = false;if (autoStartVideo === true) {if (turnOnFlashMessaging === true) {autoStartVideo = false;containerEl = jQuery(document.getElementById(configObj.markupId));CNN.VideoPlayer.showFlashSlate(containerEl);} else {CNN.autoPlayVideoExist = true;}}}configObj.autostart = autoStartVideo;CNN.VideoPlayer.setPlayerProperties(configObj.markupId, autoStartVideo, isLivePlayer, mutePlayerEnabled);CNN.VideoPlayer.setFirstVideoInCollection(currentVideoCollection, configObj.markupId);videoEndSlateImpl = new CNN.VideoEndSlate(‘body-text_18’);/*** Finds the next video ID and URL in the current collection, if available.* @param currentVideoId The video that is currently playing* @param containerId The parent container Id of the video element*/function findNextVideo(currentVideoId) {var i,vidObj;if (currentVideoId && jQuery.isArray(currentVideoCollection) && currentVideoCollection.length > 0) {for (i = 0; i 0) {videoEndSlateImpl.showEndSlateForContainer();}}}callbackObj = {onPlayerReady: function (containerId) {CNN.VideoPlayer.reportLoadTime(containerId);CNN.VideoPlayer.handleInitialExpandableVideoState(containerId);CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, CNN.pageVis.isDocumentVisible());if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {var containerClassId = ‘#’ + containerId;if (jQuery(containerClassId).parents(‘.js-pg-rail-tall__head’).length) {videoPinner = new CNN.VideoPinner(containerClassId);videoPinner.init();} else {CNN.VideoPlayer.hideThumbnail(containerId);}}},/** Listen to the metadata event which fires right after the ad ends and the actual video playback begins*/onContentEntryLoad: function(containerId, playerId, contentid, isQueue) {CNN.VideoPlayer.showSpinner(containerId);},onContentMetadata: function (containerId, playerId, metadata, contentId, duration, width, height) {var endSlateLen = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0).length;CNN.VideoSourceUtils.updateSource(containerId, metadata);if (endSlateLen > 0) {videoEndSlateImpl.fetchAndShowRecommendedVideos(metadata);}},onAdPlay: function (containerId, cvpId, token, mode, id, duration, blockId, adType) {clearTimeout(moveToNextTimeout);if (blockId === 0) {(new Image()).src = “http://traffic.outbrain.com/network/trackpxl?advid=814&action=view”;}CNN.VideoPlayer.hideSpinner(containerId);if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onContentPlay: function (containerId, cvpId, event) {var playerInstance,prevVideoId;/** When the video content starts playing, inject analytics data* for Aspen (if enabled) and the companion ad layout* (if it was set when the ad played) should switch back to* epic ad layout. onContentPlay calls updateCompanionLayout* with the ‘restoreEpicAds’ layout to make this switch*/if (CNN.companion && typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreEpicAds’);}clearTimeout(moveToNextTimeout);CNN.VideoPlayer.hideSpinner(containerId);if (CNN.VideoPlayer.getLibraryName(containerId) === ‘fave’) {playerInstance = FAVE.player.getInstance(containerId) || null;} else {playerInstance = containerId && window.cnnVideoManager.getPlayerByContainer(containerId).videoInstance.cvp || null;}prevVideoId = (window.jsmd && window.jsmd.v && (window.jsmd.v.eVar18 || window.jsmd.v.eVar4)) || ”;if (playerInstance && typeof playerInstance.reportAnalytics === ‘function’) {if (prevVideoId.length === 0 && document.referrer && document.referrer.search(//videos//) >= 0) {prevVideoId = document.referrer.replace(/^(?:http|https)://[^/]/videos/(.+.w+)(?:/video/playlists/.*)?$/, ‘/video/$1’);if (prevVideoId === document.referrer) {prevVideoId = ”;}}playerInstance.reportAnalytics(‘videoPageData’, {videoCollection: currentVideoCollectionId,videoBranding: CNN.omniture.branding_content_page,templateType: CNN.omniture.template_type,nextVideo: nextVideoId,previousVideo: prevVideoId,referrerType: ”,referrerUrl: document.referrer});}if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onContentReplayRequest: function (containerId, cvpId, contentId) {if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);var $endSlate = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0);if ($endSlate.length > 0) {$endSlate.removeClass(‘video__end-slate–active’).addClass(‘video__end-slate–inactive’);}}}},onContentBegin: function (containerId, cvpId, contentId) {CNN.VideoPlayer.mutePlayer(containerId);if (CNN.companion && typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘removeEpicAds’);}CNN.VideoPlayer.hideSpinner(containerId);clearTimeout(moveToNextTimeout);CNN.VideoSourceUtils.clearSource(containerId);jQuery(document).triggerVideoContentStarted();},onContentComplete: function (containerId, cvpId, contentId) {if (CNN.companion && typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreFreewheel’);}navigateToNextVideo(contentId, containerId);},onContentEnd: function (containerId, cvpId, contentId) {if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(false);}}},onCVPVisibilityChange: function (containerId, cvpId, visible) {CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, visible);}};if (typeof configObj.context !== ‘string’ || configObj.context.length 0) {configObj.adsection = window.ssid;}CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;CNN.VideoPlayer.getLibrary(configObj, callbackObj, isLivePlayer);});/* videodemanddust is a default feature of the injector */CNN.INJECTOR.scriptComplete(‘videodemanddust’);

In France, Marine Le Pen, the National Front leader, is aiming to capitalize on the anti-Europe, anti-immigrant vote as she pursues the French presidency on a platform that she hopes will appeal to those who believe they have been left behind by globalization.

If elected, Le Pen has promised to curtail immigration, hold a referendum on whether France should leave the EU, and protect France from the twin evils of “Anglo-Saxon multiculturalism” and politically correct liberalism, although she would face major parliamentary and constitutional hurdles to do so.

It’s an agenda that has allowed her to make it through to final round of voting on May 7 along with independent centrist Emmanuel Macron.

The result of the first round amounted to a comprehensive rejection of traditional politics in France. It was the first time since the establishment of the fifth French Republic in 1958 that no candidate from the two main political parties of the left and right has made it into the second round of the presidential vote.

“There is a very strong anti-establishment feeling moving across Europe,” Sophie Gaston, Head of International Projects & External Affairs at Demos, told CNN. “There is also a sense that there is someone is to blame, and that’s why we’re seeing this relationship between immigration and far right populism.”
‘);$vidEndSlate.removeClass(‘video__end-slate–inactive’).addClass(‘video__end-slate–active’);}};CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;var configObj = {thumb: ‘none’,video: ‘tv/2017/04/22/exp-gps-bernard-henri-levy-marine-le-pen-france.cnn’,width: ‘100%’,height: ‘100%’,section: ‘domestic’,profile: ‘expansion’,network: ‘cnn’,markupId: ‘body-text_26’,adsection: ‘const-article-inpage’,frameWidth: ‘100%’,frameHeight: ‘100%’,posterImageOverride: {“mini”:{“height”:124,”width”:220,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421232855-exp-gps-bernard-henri-levy-marine-le-pen-france-00003001-small-169.jpg”},”xsmall”:{“height”:173,”width”:307,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421232855-exp-gps-bernard-henri-levy-marine-le-pen-france-00003001-medium-plus-169.jpg”},”small”:{“height”:259,”width”:460,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421232855-exp-gps-bernard-henri-levy-marine-le-pen-france-00003001-large-169.jpg”},”medium”:{“height”:438,”width”:780,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421232855-exp-gps-bernard-henri-levy-marine-le-pen-france-00003001-exlarge-169.jpg”},”large”:{“height”:619,”width”:1100,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421232855-exp-gps-bernard-henri-levy-marine-le-pen-france-00003001-super-169.jpg”},”full16x9″:{“height”:900,”width”:1600,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421232855-exp-gps-bernard-henri-levy-marine-le-pen-france-00003001-full-169.jpg”},”mini1x1″:{“height”:120,”width”:120,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170421232855-exp-gps-bernard-henri-levy-marine-le-pen-france-00003001-small-11.jpg”}}},autoStartVideo = false,callbackObj,containerEl,currentVideoCollection = [],currentVideoCollectionId = ”,isLivePlayer = false,moveToNextTimeout,mutePlayerEnabled = false,nextVideoId = ”,nextVideoUrl = ”,turnOnFlashMessaging = false,videoPinner,videoEndSlateImpl;if (CNN.autoPlayVideoExist === false) {autoStartVideo = false;if (autoStartVideo === true) {if (turnOnFlashMessaging === true) {autoStartVideo = false;containerEl = jQuery(document.getElementById(configObj.markupId));CNN.VideoPlayer.showFlashSlate(containerEl);} else {CNN.autoPlayVideoExist = true;}}}configObj.autostart = autoStartVideo;CNN.VideoPlayer.setPlayerProperties(configObj.markupId, autoStartVideo, isLivePlayer, mutePlayerEnabled);CNN.VideoPlayer.setFirstVideoInCollection(currentVideoCollection, configObj.markupId);videoEndSlateImpl = new CNN.VideoEndSlate(‘body-text_26’);/*** Finds the next video ID and URL in the current collection, if available.* @param currentVideoId The video that is currently playing* @param containerId The parent container Id of the video element*/function findNextVideo(currentVideoId) {var i,vidObj;if (currentVideoId && jQuery.isArray(currentVideoCollection) && currentVideoCollection.length > 0) {for (i = 0; i 0) {videoEndSlateImpl.showEndSlateForContainer();}}}callbackObj = {onPlayerReady: function (containerId) {CNN.VideoPlayer.reportLoadTime(containerId);CNN.VideoPlayer.handleInitialExpandableVideoState(containerId);CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, CNN.pageVis.isDocumentVisible());if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {var containerClassId = ‘#’ + containerId;if (jQuery(containerClassId).parents(‘.js-pg-rail-tall__head’).length) {videoPinner = new CNN.VideoPinner(containerClassId);videoPinner.init();} else {CNN.VideoPlayer.hideThumbnail(containerId);}}},/** Listen to the metadata event which fires right after the ad ends and the actual video playback begins*/onContentEntryLoad: function(containerId, playerId, contentid, isQueue) {CNN.VideoPlayer.showSpinner(containerId);},onContentMetadata: function (containerId, playerId, metadata, contentId, duration, width, height) {var endSlateLen = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0).length;CNN.VideoSourceUtils.updateSource(containerId, metadata);if (endSlateLen > 0) {videoEndSlateImpl.fetchAndShowRecommendedVideos(metadata);}},onAdPlay: function (containerId, cvpId, token, mode, id, duration, blockId, adType) {clearTimeout(moveToNextTimeout);if (blockId === 0) {(new Image()).src = “http://traffic.outbrain.com/network/trackpxl?advid=814&action=view”;}CNN.VideoPlayer.hideSpinner(containerId);if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onContentPlay: function (containerId, cvpId, event) {var playerInstance,prevVideoId;/** When the video content starts playing, inject analytics data* for Aspen (if enabled) and the companion ad layout* (if it was set when the ad played) should switch back to* epic ad layout. onContentPlay calls updateCompanionLayout* with the ‘restoreEpicAds’ layout to make this switch*/if (CNN.companion && typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreEpicAds’);}clearTimeout(moveToNextTimeout);CNN.VideoPlayer.hideSpinner(containerId);if (CNN.VideoPlayer.getLibraryName(containerId) === ‘fave’) {playerInstance = FAVE.player.getInstance(containerId) || null;} else {playerInstance = containerId && window.cnnVideoManager.getPlayerByContainer(containerId).videoInstance.cvp || null;}prevVideoId = (window.jsmd && window.jsmd.v && (window.jsmd.v.eVar18 || window.jsmd.v.eVar4)) || ”;if (playerInstance && typeof playerInstance.reportAnalytics === ‘function’) {if (prevVideoId.length === 0 && document.referrer && document.referrer.search(//videos//) >= 0) {prevVideoId = document.referrer.replace(/^(?:http|https)://[^/]/videos/(.+.w+)(?:/video/playlists/.*)?$/, ‘/video/$1’);if (prevVideoId === document.referrer) {prevVideoId = ”;}}playerInstance.reportAnalytics(‘videoPageData’, {videoCollection: currentVideoCollectionId,videoBranding: CNN.omniture.branding_content_page,templateType: CNN.omniture.template_type,nextVideo: nextVideoId,previousVideo: prevVideoId,referrerType: ”,referrerUrl: document.referrer});}if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onContentReplayRequest: function (containerId, cvpId, contentId) {if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);var $endSlate = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0);if ($endSlate.length > 0) {$endSlate.removeClass(‘video__end-slate–active’).addClass(‘video__end-slate–inactive’);}}}},onContentBegin: function (containerId, cvpId, contentId) {CNN.VideoPlayer.mutePlayer(containerId);if (CNN.companion && typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘removeEpicAds’);}CNN.VideoPlayer.hideSpinner(containerId);clearTimeout(moveToNextTimeout);CNN.VideoSourceUtils.clearSource(containerId);jQuery(document).triggerVideoContentStarted();},onContentComplete: function (containerId, cvpId, contentId) {if (CNN.companion && typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreFreewheel’);}navigateToNextVideo(contentId, containerId);},onContentEnd: function (containerId, cvpId, contentId) {if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(false);}}},onCVPVisibilityChange: function (containerId, cvpId, visible) {CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, visible);}};if (typeof configObj.context !== ‘string’ || configObj.context.length 0) {configObj.adsection = window.ssid;}CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;CNN.VideoPlayer.getLibrary(configObj, callbackObj, isLivePlayer);});/* videodemanddust is a default feature of the injector */CNN.INJECTOR.scriptComplete(‘videodemanddust’);

“It is true that the insecurities are on a few different levels,” she said. “Politicians have been terrible at managing that change.”

The winds of change may be sweeping through France, but the political landscape of many European countries have already been transformed.

Voters in Poland, Hungary and Turkey have thrown their support behind populist governments who have become increasingly authoritarian in recent years.

“Autocrats claim to have solutions — they may not do, it may all be a fantasy, but they portray themselves as people of action and people with plans,” Puddington said. “They present themselves as people who will make their country great, and some [voters] are convinced.”

Razor-thin outcomes

Brexit, like the US election and the Turkish referendum, ended with a result that left the country bitterly divided.

The vote, won by the Leave campaign with a slim margin of 52%-48%, led to protests, a long period of national introspection, and the end of David Cameron’s tenure as Prime Minister.

Cameron’s successor Theresa May was charged with leading the UK through the aftermath of the referendum and invoking Article 50, the trigger for divorce proceedings with the EU.

‘);$vidEndSlate.removeClass(‘video__end-slate–inactive’).addClass(‘video__end-slate–active’);}};CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;var configObj = {thumb: ‘none’,video: ‘world/2017/04/19/intv-amanpour-gus-odonnell-uk-snap-election.cnn’,width: ‘100%’,height: ‘100%’,section: ‘domestic’,profile: ‘expansion’,network: ‘cnn’,markupId: ‘body-text_38’,adsection: ‘const-article-inpage’,frameWidth: ‘100%’,frameHeight: ‘100%’,posterImageOverride: {“mini”:{“height”:124,”width”:220,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419172428-brexit-flag-small-169.jpg”},”xsmall”:{“height”:173,”width”:307,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419172428-brexit-flag-medium-plus-169.jpg”},”small”:{“height”:259,”width”:460,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419172428-brexit-flag-large-169.jpg”},”medium”:{“height”:438,”width”:780,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419172428-brexit-flag-exlarge-169.jpg”},”large”:{“height”:619,”width”:1100,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419172428-brexit-flag-super-169.jpg”},”full16x9″:{“height”:900,”width”:1600,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419172428-brexit-flag-full-169.jpg”},”mini1x1″:{“height”:120,”width”:120,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419172428-brexit-flag-small-11.jpg”}}},autoStartVideo = false,callbackObj,containerEl,currentVideoCollection = [],currentVideoCollectionId = ”,isLivePlayer = false,moveToNextTimeout,mutePlayerEnabled = false,nextVideoId = ”,nextVideoUrl = ”,turnOnFlashMessaging = false,videoPinner,videoEndSlateImpl;if (CNN.autoPlayVideoExist === false) {autoStartVideo = false;if (autoStartVideo === true) {if (turnOnFlashMessaging === true) {autoStartVideo = false;containerEl = jQuery(document.getElementById(configObj.markupId));CNN.VideoPlayer.showFlashSlate(containerEl);} else {CNN.autoPlayVideoExist = true;}}}configObj.autostart = autoStartVideo;CNN.VideoPlayer.setPlayerProperties(configObj.markupId, autoStartVideo, isLivePlayer, mutePlayerEnabled);CNN.VideoPlayer.setFirstVideoInCollection(currentVideoCollection, configObj.markupId);videoEndSlateImpl = new CNN.VideoEndSlate(‘body-text_38’);/*** Finds the next video ID and URL in the current collection, if available.* @param currentVideoId The video that is currently playing* @param containerId The parent container Id of the video element*/function findNextVideo(currentVideoId) {var i,vidObj;if (currentVideoId && jQuery.isArray(currentVideoCollection) && currentVideoCollection.length > 0) {for (i = 0; i 0) {videoEndSlateImpl.showEndSlateForContainer();}}}callbackObj = {onPlayerReady: function (containerId) {CNN.VideoPlayer.reportLoadTime(containerId);CNN.VideoPlayer.handleInitialExpandableVideoState(containerId);CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, CNN.pageVis.isDocumentVisible());if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {var containerClassId = ‘#’ + containerId;if (jQuery(containerClassId).parents(‘.js-pg-rail-tall__head’).length) {videoPinner = new CNN.VideoPinner(containerClassId);videoPinner.init();} else {CNN.VideoPlayer.hideThumbnail(containerId);}}},/** Listen to the metadata event which fires right after the ad ends and the actual video playback begins*/onContentEntryLoad: function(containerId, playerId, contentid, isQueue) {CNN.VideoPlayer.showSpinner(containerId);},onContentMetadata: function (containerId, playerId, metadata, contentId, duration, width, height) {var endSlateLen = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0).length;CNN.VideoSourceUtils.updateSource(containerId, metadata);if (endSlateLen > 0) {videoEndSlateImpl.fetchAndShowRecommendedVideos(metadata);}},onAdPlay: function (containerId, cvpId, token, mode, id, duration, blockId, adType) {clearTimeout(moveToNextTimeout);if (blockId === 0) {(new Image()).src = “http://traffic.outbrain.com/network/trackpxl?advid=814&action=view”;}CNN.VideoPlayer.hideSpinner(containerId);if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onContentPlay: function (containerId, cvpId, event) {var playerInstance,prevVideoId;/** When the video content starts playing, inject analytics data* for Aspen (if enabled) and the companion ad layout* (if it was set when the ad played) should switch back to* epic ad layout. onContentPlay calls updateCompanionLayout* with the ‘restoreEpicAds’ layout to make this switch*/if (CNN.companion && typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreEpicAds’);}clearTimeout(moveToNextTimeout);CNN.VideoPlayer.hideSpinner(containerId);if (CNN.VideoPlayer.getLibraryName(containerId) === ‘fave’) {playerInstance = FAVE.player.getInstance(containerId) || null;} else {playerInstance = containerId && window.cnnVideoManager.getPlayerByContainer(containerId).videoInstance.cvp || null;}prevVideoId = (window.jsmd && window.jsmd.v && (window.jsmd.v.eVar18 || window.jsmd.v.eVar4)) || ”;if (playerInstance && typeof playerInstance.reportAnalytics === ‘function’) {if (prevVideoId.length === 0 && document.referrer && document.referrer.search(//videos//) >= 0) {prevVideoId = document.referrer.replace(/^(?:http|https)://[^/]/videos/(.+.w+)(?:/video/playlists/.*)?$/, ‘/video/$1’);if (prevVideoId === document.referrer) {prevVideoId = ”;}}playerInstance.reportAnalytics(‘videoPageData’, {videoCollection: currentVideoCollectionId,videoBranding: CNN.omniture.branding_content_page,templateType: CNN.omniture.template_type,nextVideo: nextVideoId,previousVideo: prevVideoId,referrerType: ”,referrerUrl: document.referrer});}if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onContentReplayRequest: function (containerId, cvpId, contentId) {if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);var $endSlate = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0);if ($endSlate.length > 0) {$endSlate.removeClass(‘video__end-slate–active’).addClass(‘video__end-slate–inactive’);}}}},onContentBegin: function (containerId, cvpId, contentId) {CNN.VideoPlayer.mutePlayer(containerId);if (CNN.companion && typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘removeEpicAds’);}CNN.VideoPlayer.hideSpinner(containerId);clearTimeout(moveToNextTimeout);CNN.VideoSourceUtils.clearSource(containerId);jQuery(document).triggerVideoContentStarted();},onContentComplete: function (containerId, cvpId, contentId) {if (CNN.companion && typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreFreewheel’);}navigateToNextVideo(contentId, containerId);},onContentEnd: function (containerId, cvpId, contentId) {if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(false);}}},onCVPVisibilityChange: function (containerId, cvpId, visible) {CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, visible);}};if (typeof configObj.context !== ‘string’ || configObj.context.length 0) {configObj.adsection = window.ssid;}CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;CNN.VideoPlayer.getLibrary(configObj, callbackObj, isLivePlayer);});/* videodemanddust is a default feature of the injector */CNN.INJECTOR.scriptComplete(‘videodemanddust’);

Source

NO COMMENTS