Durham, North Carolina (CNN)For Lem Butler, a crater of coffee isn’t only a crater of coffee.
‘);$vidEndSlate.removeClass(‘video__end-slate–inactive’).addClass(‘video__end-slate–active’);}};CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? loyal : false;var configObj = {thumb: ‘none’,video: ‘travel/2017/04/19/lem-butler-counter-culture-coffee.cnn’,width: ‘100%’,height: ‘100%’,section: ‘domestic’,profile: ‘expansion’,network: ‘cnn’,markupId: ‘body-text_11’,adsection: ‘cnn.com_specialreports_culinaryjourney_inpage’,frameWidth: ‘100%’,frameHeight: ‘100%’,posterImageOverride: {“mini”:{“height”:124,”width”:220,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419152929-lem-butler-counter-culture-coffee-small-169.jpg”},”xsmall”:{“height”:173,”width”:307,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419152929-lem-butler-counter-culture-coffee-medium-plus-169.jpg”},”small”:{“height”:259,”width”:460,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419152929-lem-butler-counter-culture-coffee-large-169.jpg”},”medium”:{“height”:438,”width”:780,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419152929-lem-butler-counter-culture-coffee-exlarge-169.jpg”},”large”:{“height”:619,”width”:1100,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419152929-lem-butler-counter-culture-coffee-super-169.jpg”},”full16x9″:{“height”:900,”width”:1600,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419152929-lem-butler-counter-culture-coffee-full-169.jpg”},”mini1x1″:{“height”:120,”width”:120,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170419152929-lem-butler-counter-culture-coffee-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_11’);/*** Finds a subsequent video ID and URL in a stream collection, if available.* @param currentVideoId The video that is now playing* @param containerId The primogenitor enclosure Id of a 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: duty (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 a metadata eventuality that fires right after a ad ends and a tangible video playback begins*/onContentEntryLoad: function(containerId, playerId, contentid, isQueue) {CNN.VideoPlayer.showSpinner(containerId);},onContentMetadata: duty (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: duty (containerId, cvpId, token, mode, id, duration, blockId, adType) {clearTimeout(moveToNextTimeout);if (blockId === 0) {(new Image()).src = “//traffic.outbrain.com/network/trackpxl?advid=814action=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: duty (containerId, cvpId, event) {var playerInstance,prevVideoId;/** When a video calm starts playing, inject analytics data* for Aspen (if enabled) and a messenger ad layout* (if it was set when a ad played) should switch behind to* epic ad layout. onContentPlay calls updateCompanionLayout* with a ‘restoreEpicAds’ blueprint 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: duty (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: duty (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: duty (containerId, cvpId, contentId) {if (CNN.companion typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreFreewheel’);}navigateToNextVideo(contentId, containerId);},onContentEnd: duty (containerId, cvpId, contentId) {if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ videoPinner !== null) {videoPinner.setIsPlaying(false);}}},onCVPVisibilityChange: duty (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) ? loyal : false;CNN.VideoPlayer.getLibrary(configObj, callbackObj, isLivePlayer);});/* videodemanddust is a default underline of a injector */CNN.INJECTOR.scriptComplete(‘videodemanddust’);
MUST WATCH