The horse racing calendar, in particular the Flat season, offers ample opportunities for both horse and jockey to claim rich prizes and sporting immortality.

Here are the races you need to know about it 2018.

Pegasus World Cup

When: January 27

Where: Gulfstream Park, Florida

What: The world’s richest horse race. A prize of $16 million is up for grabs. Each of 12 owners will put in $1 million with the fund topped up by organizer the Stronach Group. The 1 ⅛-mile (9 furlongs) race is run over dirt and is open to horses four years old and up. Last year’s inaugural event was won by Arrogate.

Dubai World Cup

When: March 31

Where: Meydan, Dubai

What: It was the world’s richest horse race until being usurped by the Pegasus World Cup. The winner scoops $10 million out of a total prize pot of $30 million. It is the biggest sporting and social occasion on the Dubai calendar and ends the UAE racing season. The race is run on dirt over 2,000 meters (about 10 furlongs). Arrogate won in 2017.

Kentucky Derby

When: May 4

Where: Churchill Downs

What: The highly prized US classic is known variously as “The Most exciting Two Minutes In Sports”, “The Fastest Two Minutes in Sports” or “The Run for the Roses” on account of the winner receiving a blanket of flowers. The race has been run every year since 1875 and is the first leg of the US “Triple Crown” along with the Preakness Stakes and the Belmont Stakes.

‘);$vidEndSlate.removeClass(‘video__end-slate–inactive’).addClass(‘video__end-slate–active’);}};CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;var configObj = {thumb: ‘none’,video: ‘sports/2017/05/19/kentucky-derby-racing-cnn-winning-post-may-2017-spc.cnn’,width: ‘100%’,height: ‘100%’,section: ‘domestic’,profile: ‘expansion’,network: ‘cnn’,markupId: ‘body-text_23’,adsection: ‘cnn.com_worldsport_winningpost_inpage’,frameWidth: ‘100%’,frameHeight: ‘100%’,posterImageOverride: {“mini”:{“height”:124,”width”:220,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170519181705-kentucky-derby-racing-cnn-winning-post-may-2017-spc-00213206-small-169.jpg”},”xsmall”:{“height”:173,”width”:307,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170519181705-kentucky-derby-racing-cnn-winning-post-may-2017-spc-00213206-medium-plus-169.jpg”},”small”:{“height”:259,”width”:460,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170519181705-kentucky-derby-racing-cnn-winning-post-may-2017-spc-00213206-large-169.jpg”},”medium”:{“height”:438,”width”:780,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170519181705-kentucky-derby-racing-cnn-winning-post-may-2017-spc-00213206-exlarge-169.jpg”},”large”:{“height”:619,”width”:1100,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170519181705-kentucky-derby-racing-cnn-winning-post-may-2017-spc-00213206-super-169.jpg”},”full16x9″:{“height”:900,”width”:1600,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170519181705-kentucky-derby-racing-cnn-winning-post-may-2017-spc-00213206-full-169.jpg”},”mini1x1″:{“height”:120,”width”:120,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170519181705-kentucky-derby-racing-cnn-winning-post-may-2017-spc-00213206-small-11.jpg”}}},autoStartVideo = false,isVideoReplayClicked = 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, isVideoReplayClicked, mutePlayerEnabled);CNN.VideoPlayer.setFirstVideoInCollection(currentVideoCollection, configObj.markupId);videoEndSlateImpl = new CNN.VideoEndSlate(‘body-text_23’);/*** 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);CNN.VideoPlayer.hideSpinner(containerId);if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onTrackingFullscreen: function (containerId, PlayerId, dataObj) {CNN.VideoPlayer.handleFullscreenChange(containerId, dataObj);},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’);

2,000 Guineas

When: May 5

Where: Newmarket, UK

What: The first of the five English Classics during the Flat season. The Group 1 race is open to three-year-old thoroughbred colts and fillies and is run over one mile on turf. In theory it is the first leg of the Triple Crown, along with the Derby and the St Leger, but the feat of winning all three has rarely been attempted in recent years. First run in 1809, the Aidan O’Brien-trained Churchill triumphed last year.

1,000 Guineas

When: May 6

Where: Newmarket

What: The mile Classic for three-year-old fillies over turf, also held on Newmarket’s straight Rowley Mile. It was first staged in 1814.O’Brien’s Winter won in 2017.

The Oaks

When: June 1

Where: Epsom, UK

What: The third Classic of the UK season and the second open to three-year-old fillies only. It is run over a distance of 1 mile, 4 furlongs and 6 yards on the grass of Epsom Downs, south of London. The race began in 1779. Frankie Dettori rode Enable to victory last year.

The Derby

When: June 2

Where: Epsom, UK

What: Britain’s richest horse race and the most prestigious of the Classics. The Derby, first run in 1780, is one of the highlights of the British sporting calendar and has given its name to innumerable races around the world. It is staged over one mile, four furlongs, six yards on the Downs at Epsom. The great jockey Lester Piggott holds the record of nine Derby wins, set between 1954 and 1983. Outsider Wings of Eagles was the surprise winner in 2017.
‘);$vidEndSlate.removeClass(‘video__end-slate–inactive’).addClass(‘video__end-slate–active’);}};CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;var configObj = {thumb: ‘none’,video: ‘sports/2017/06/29/epsom-derby-2017-derby-daddy-galileo-winning-post-spc.cnn’,width: ‘100%’,height: ‘100%’,section: ‘domestic’,profile: ‘expansion’,network: ‘cnn’,markupId: ‘body-text_44’,adsection: ‘cnn.com_worldsport_winningpost_inpage’,frameWidth: ‘100%’,frameHeight: ‘100%’,posterImageOverride: {“mini”:{“height”:124,”width”:220,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170621102602-epsom-derby-winner-small-169.jpg”},”xsmall”:{“height”:173,”width”:307,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170621102602-epsom-derby-winner-medium-plus-169.jpg”},”small”:{“height”:259,”width”:460,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170621102602-epsom-derby-winner-large-169.jpg”},”medium”:{“height”:438,”width”:780,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170621102602-epsom-derby-winner-exlarge-169.jpg”},”large”:{“height”:619,”width”:1100,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170621102602-epsom-derby-winner-super-169.jpg”},”full16x9″:{“height”:900,”width”:1600,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170621102602-epsom-derby-winner-full-169.jpg”},”mini1x1″:{“height”:120,”width”:120,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170621102602-epsom-derby-winner-small-11.jpg”}}},autoStartVideo = false,isVideoReplayClicked = 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, isVideoReplayClicked, mutePlayerEnabled);CNN.VideoPlayer.setFirstVideoInCollection(currentVideoCollection, configObj.markupId);videoEndSlateImpl = new CNN.VideoEndSlate(‘body-text_44’);/*** 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);CNN.VideoPlayer.hideSpinner(containerId);if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onTrackingFullscreen: function (containerId, PlayerId, dataObj) {CNN.VideoPlayer.handleFullscreenChange(containerId, dataObj);},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’);

Royal Ascot

When: June 19-23

Where: Ascot, UK

What: The quintessentially English sporting and social occasion marked by the presence of The Queen and other members of the British Royal Family, dating back to 1711. Each day begins with the pageantry of the horse-drawn royal procession in front of grandstands packed with the top hats, tails and high fashion of the upmarket racegoers before a feast of top-class racing, including eight Group 1 races, the highlight of which is the prestigious Gold Cup.

‘);$vidEndSlate.removeClass(‘video__end-slate–inactive’).addClass(‘video__end-slate–active’);}};CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;var configObj = {thumb: ‘none’,video: ‘sports/2017/07/21/royal-ascot-2017-winning-post-spc.cnn’,width: ‘100%’,height: ‘100%’,section: ‘domestic’,profile: ‘expansion’,network: ‘cnn’,markupId: ‘body-text_50’,adsection: ‘cnn.com_worldsport_winningpost_inpage’,frameWidth: ‘100%’,frameHeight: ‘100%’,posterImageOverride: {“mini”:{“height”:124,”width”:220,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170622100918-10-royal-ascot-2017-ladies-day-small-169.jpg”},”xsmall”:{“height”:173,”width”:307,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170622100918-10-royal-ascot-2017-ladies-day-medium-plus-169.jpg”},”small”:{“height”:259,”width”:460,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170622100918-10-royal-ascot-2017-ladies-day-large-169.jpg”},”medium”:{“height”:438,”width”:780,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170622100918-10-royal-ascot-2017-ladies-day-exlarge-169.jpg”},”large”:{“height”:619,”width”:1100,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170622100918-10-royal-ascot-2017-ladies-day-super-169.jpg”},”full16x9″:{“height”:900,”width”:1600,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170622100918-10-royal-ascot-2017-ladies-day-full-169.jpg”},”mini1x1″:{“height”:120,”width”:120,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/170622100918-10-royal-ascot-2017-ladies-day-small-11.jpg”}}},autoStartVideo = false,isVideoReplayClicked = 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, isVideoReplayClicked, mutePlayerEnabled);CNN.VideoPlayer.setFirstVideoInCollection(currentVideoCollection, configObj.markupId);videoEndSlateImpl = new CNN.VideoEndSlate(‘body-text_50’);/*** 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);CNN.VideoPlayer.hideSpinner(containerId);if (Modernizr && !Modernizr.phone && !Modernizr.mobile && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onTrackingFullscreen: function (containerId, PlayerId, dataObj) {CNN.VideoPlayer.handleFullscreenChange(containerId, dataObj);},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 link