Shane Lowry achieves Open Dream, places images on Ryder Cup
& # 39;); $ vidEndSlate.removeClass (& # 39; video__end-slate – inactive & # 39;). AddClass (& # 39; video__end-slate – active & # 39;);}}; CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true)? true: false; var configObj = {thumb: & # 39; none & # 39 ;, video: & # 39; sport / 2019/07/21 / shane-lowry-wins-british-open-alex-thomas-intv-vpx.cnn & # 39 ;, width: & # 39; 100% & # 39 ;, height: & # 39; 100% & # 39 ;, section: & # 39; domestic & # 39 ;, profile: & # 39; expansion & # 39 ;, network: & # 39; cnn & # 39 ;, markupId: & # 39; large-media_0 & # 39 ;, adsection: & # 39; cnn.com_worldsport_golf_videopage & # 39 ;, frameWidth: & # 39; 100% & # 39; , frameHeight: & # 39; 100% & # 39 ;, posterImageOverride: {"mini": {"width": 220, "type": "jpg", "uri": "// cdn.cnn.com/cnnnext / dam / assets / 190721183716 -shane-lowry-bordeaux-jug open-royal-portrush-small-169.jpg "" height ": 124}," xsmall ": {" width ": 307," type ":" jpg "," uri ":" // cdn.cnn.com/cnnnext/dam/assets/190721183716-shane-lowry-claret-jug-open-royal-portrush-medium-plus-169.jpg","height ": 173}, "small": {"width": 460, "type": "jpg" "uri": "// cdn.cnn.com/cnnnext/dam/assets/190721183716-shane-lowry-claret-jug- open-royal -portrush-large 169.jpg "" height ": 259}," medium ": {" width ": 780," type ":" jpg "," uri ":" // cdn.cnn.com/ cnnnext /dam/assets/190721183716-shane-lowry-claret-jug-open-royal-portrush-exlarge-169.jpg "" height ": 438}," large ": {" width ": 1100," type ": "jpg" "uri": "// cdn.cnn.com/cnnnext/dam/assets/190721183716-shane-lowry-claret-jug-open-royal-portrush-super- 169.jpg" "height": 619} , "full16x9": {"width": 1600, "type": "jpg", "uri": "// cdn.cnn.com/c nnnext / dam / assets / 190721183716-shane-lowry-bordeaux-jug open-royal-portrush-full-169.jpg "" height ": 900}," mini1x1 ": {" width "120," type ":" jpg "," uri ":" // cdn.cnn.com/cnnnext/dam/assets/190721183716-shane-lowry-claret-jug-open-royal-portrush-small-11.jpg","height":120} }}, autoStartVideo = false, isVideoReplayClicked = false, callbackObj, containerEl, currentVideoCollection = [] currentVideoCollectionId = & # 39; & # 39 ;, isLivePlayer = false, mediaMetadataCallbacks, mobilePinnedView = null, moveToNextTerNextTerNextTerNextTerNextTerNextTerNumberTextNextTerNextTerNextTerNumberTextNextTergedoutOutp # 39; & # 39 ;, nextVideoUrl = & # 39; & # 39 ;, turnOnFlashMessaging = false, videoPinner, videoEndSlateImpl; if (CNN.autoPlayVideoExist === false) {autoStartVideo = true; if (autoStartVideo === true) {if (turnOnFlashMessaging === true) {autoStartVideo = false; containerEl = jQuery (documen t.getElementById (configObj.markupId)); CNN.VideoPlayer.showFlashSlate (containerEl);} else {CNN.autoPlayVideoExist = true;}}} configObj.autostart = CNN.Features.enableAutoplayBlock? false: autoStartVideo; CNN.VideoPlayer.setPlayerProperties (configObj.markupId, autoStartVideo, isLivePlayer, isVideoReplayClicked, mutePlayerEnabled); CNN.VideoPlayer.setFirstVideoInCollection (currentVideoCollection, configObj.markupId); videoEndSlateImpl = new CNN.VideoEndSlate (& # 39; large-media_0 & # 39;) function findNextVideo (currentVideoId) {var i, vidObj; if (currentVideoId && jQuery.isArray (currentVideoCollection) && currentVideoCollection.length> 0) {for (i = 0; i 0) {videoEndSlateImpl.showEndSlateForContainer (); if (mobilePinnedView) {mobilePinnedView.disable ();}}}} callbackObj = {onPlayerReady: function (containerId) {var playerInstance, containerClassId = & # 39; # & # 39; + containerID; CNN.VideoPlayer.handleInitialExpandableVideoState (containerId); CNN.VideoPlayer.handleAdOnCVPVisibilityChange (containerId, CNN. PageVis.isDocumentVisible ()); if (CNN.Features.enableMobileWebFloatingPlayer && Modernizr && (Modernizr.phone || Modernizr.mobile || Modernizr.tablet) && CNN.VideoPlayer.getLibraryName (containerId) === & # 39; fave & # 39; && jQuery (containerClassId) .parents (& # 39 ;. js-pg-rail-tall__head & # 39;). length> 0 && CNN.contentModel.pageType === & # 39; article & # 39;) {playerInstance = FAVE.player.getInstance ( containerId); mobilePinedView = new CNN.MobilePinnedView ({element: jQuery (containerClassId), enabled: false, transition: CNN.MobileWebFloatingPlayer.transition, onPin: function () {playerInstance.hideUI ();}, onUnpin: function () {playerInstance.showUI ();}, onPlayerClick: function () {if (mobilePinnedView) {playerInstance.enterFullscreen (); playerInstance.showUI ();}}, onDismiss: function () {CNN.Videx.mobile.pinnedPlayer.disable (); playerInstance .pause ();}}); / * Save pinned view to CNN.Videx.mobile.pinnedPlayer So that all players can see the single pinned player * / CNN.Videx = CNN.Videx || {}; CNN.Videx.mobile = CNN.Videx.mobile || {}; CNN.Videx.mobile.pinnedPlayer = mobilePinnedView;} if (Modernizr &&! Modernizr.phone &&! Modernizr.mobile &&! Modernizr.tablet) {if (jQuery (containerClassId) .parents (& # 39 ;. Js-pg-rail -tall__head & # 39;). length) {videoPinner = new CNN.VideoPinner (containerClassId); videoPinner.init ();} else {CNN.VideoPlayer.hideThumbnail (containerId);}}}, onContentEntryLoad: function (containerId, playerId, contentid, isQueue) {CNN.VideoPlayer.showSpinner (containerId);}, onContentPause: function ( containerId, playerId, videoId, paused) {if (mobilePinnedView) {CNN.VideoPlayer.handleMobilePinnedPlayerStates (containerId, paused);}}, onContentMetadata: function (containerId, playerId, metadata, contentId, duration, width, height) {var =Slate jQuery (document.getElementById (containerId)). parent (). find (& # 39;. js-video__end-slate & # 39;). eq (0) .length; CNN.VideoSourceUtils.updateSource (containerId, metadata); if (endSlateLen> 0) {videoEndSlateImpl.fetchAndShowRecommendedVideos (metadata);}}, onAdPlay: function (containerId, cvpId, token, mode, id, duration, blockId, adType) {/ * Reject the pinnedPlayer as another video player * / CNN.VideoPlayer.dismissMobilePinnedPlayer (containerId) plays; clearTimeout (moveToNextTimeout); CNN.VideoPlayer.hideSpinner (containerId); if (Modernizr &&! Modernizr.phone &&! Modernizr.mobile &&! Modernizr.tablet) {if (type videoPinner! == & # 39; undefined & # 39; && videoPinner! == null) {videoPinner.setIsPlaying (true); videoPinner.animateDown ();}}}, onAdPause: function (containerId, playerId, token, mode, id, duration, blockId, adType, instance, isAdPause) {if (mobilePinnedView) {CNN.VideoPlayer.handleMobilePinnedPlayerStates (containerId, isAdPause) ;}}, onTrackingFullscreen: function (containerId, PlayerId, dataObj) {CNN.VideoPlayer.handleFullscreenChange (containerId, dataObj); if (mobilePinnedView && typeof dataObj === & # 39; object & # 39; && FAVE.Utils.os === & # 39; iOS & # 39; &&! dataObj.fullscreen) {jQuery (document) .scrollTop (mobilePinnedView. getScrollPosition ()); playerInstance.hideUI ();}}, onContentPlay: function (containerId, cvpId, event) {var playerInstance, prevVideoId; if (CNN.companion && type or CNN.companion.updateCompanionLayout === & # 39; function & # 39;) {CNN.companion.updateCompanionLayout (& # 39; restoreEpicAds & # 39;);} clearTimeout (moveToNextTimeout); CNN .VideoPlayer.hideSpinner (containerId); if (Modernizr &&! Modernizr.phone &&! Modernizr.mobile &&! Modernizr.tablet) {if (type videoPinner! == & # 39; undefined & # 39; && videoPinner! == null) {videoPinner.setIsPlaying (true); videoPinner.animateDown ();}}}, onContentReplayRequest: function (containerId, cvpId, contentId) {if (Modernizr &&! Modernizr.phone &&! Modernizr.mobile &&! Modernizr.tablet) {if (typeof videoPinner! = = & # 39; undefined & # 39; && videoPinner! == null) {videoPinner.setIsPlaying (true); var $ endSlate = jQuery (document.getElementById (containerId)). parent (). find (& # 39;. js-video__end-slate & # 39;). eq (0); if ($ endSlate.length> 0) {$ endSlate.removeClass (& # 39; video__end-slate – active & # 39;). AddClass (& # 39; video__end-slate – inactive & # 39;);}}}}, onContentBegin: function (containerId, cvpId, contentId) {if (mo bilePinnedView) {mobilePinnedView.enable ();} / * Decline the pinnedPlayer if another video player is playing a video. * / CNN.VideoPlayer.dismissMobilePinnedPlayer (containerId); CNN.VideoPlayer.mutePlayer (containerId); if (CNN.companion && typeof CNN.companion.updateCompanionLayout === & # 39; function & # 39;) {CNN.companion.updateCompanionLayout (& # 39; removeEpicAds & # 39;);} 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 === & # 39; function & # 39;) {CNN.companion .updateCompanionLayout (& # 39; restoreFreewheel & # 39;);} navigateToNextVideo (contentId, containerId);}, onContentEnd: function (containerId, cvpId, contentId) {if (Modernizr &&! Modernizr.phone &&! Modernizr.mobile &&! Modernizr .tablet) {if (type videoPinner! == & # 39; undefined & # 39; && videoPinner! == null) {videoPinner.setIsPlaying (false);}}}, onCVPVisibilityChange: function (containerId, cvpId, visible) {CNN .VideoPlayer.handleAdOnCVPVisibilityChange (containerId, visible);}}; if (typeof configObj.context! == & # 39; string & # 39; || configObj.context.length 0) {configObj.adsection = window.ssid;} CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true)? true: false; CNN.VideoPlayer.getLibrary (configObj, callbackObj, isLivePlayer);}); CNN.INJECTOR.scriptComplete (& # 39; videodemanddust & # 39;);