‘);$vidEndSlate.removeClass(‘video__end-slate–inactive’).addClass(‘video__end-slate–active’);}};CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;var configObj = {thumb: ‘none’,video: ‘us/2017/05/23/man-yells-racist-slurs-after-son-talks-to-mom-orig-tc.cnn’,width: ‘100%’,height: ‘100%’,section: ‘domestic’,profile: ‘expansion’,network: ‘cnn’,markupId: ‘large-media_0’,adsection: ‘const-video-leaf’,frameWidth: ‘100%’,frameHeight: ‘100%’,posterImageOverride: {“mini”:{“height”:124,”width”:220,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170523083746-racist-tirade-small-169.jpg”},”xsmall”:{“height”:173,”width”:307,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170523083746-racist-tirade-medium-plus-169.jpg”},”small”:{“height”:259,”width”:460,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170523083746-racist-tirade-large-169.jpg”},”medium”:{“height”:438,”width”:780,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170523083746-racist-tirade-exlarge-169.jpg”},”large”:{“height”:619,”width”:1100,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170523083746-racist-tirade-super-169.jpg”},”full16x9″:{“height”:900,”width”:1600,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170523083746-racist-tirade-full-169.jpg”},”mini1x1″:{“height”:120,”width”:120,”type”:”jpg”,”uri”:”//i2.cdn.cnn.com/cnnnext/dam/assets/170523083746-racist-tirade-small-11.jpg”}}},autoStartVideo = false,callbackObj,containerEl,currentVideoCollection = [{“videoCMSUrl”:”/videos/us/2017/05/23/man-yells-racist-slurs-after-son-talks-to-mom-orig-tc.cnn”,”videoId”:”us/2017/05/23/man-yells-racist-slurs-after-son-talks-to-mom-orig-tc.cnn”,”videoUrl”:”/videos/us/2017/05/23/man-yells-racist-slurs-after-son-talks-to-mom-orig-tc.cnn”},{“videoCMSUrl”:”/video/data/3.0/video/politics/2017/05/27/kushner-russia-back-channel-wapo-nyt-nr.cnn/index.xml”,”videoId”:”politics/2017/05/27/kushner-russia-back-channel-wapo-nyt-nr.cnn”,”videoUrl”:”/videos/politics/2017/05/27/kushner-russia-back-channel-wapo-nyt-nr.cnn/video/playlists/top-news-videos/”},{“videoCMSUrl”:”/video/data/3.0/video/us/2017/05/27/portland-oregon-train-stabbing-fsc-orig-vstop.cnn/index.xml”,”videoId”:”us/2017/05/27/portland-oregon-train-stabbing-fsc-orig-vstop.cnn”,”videoUrl”:”/videos/us/2017/05/27/portland-oregon-train-stabbing-fsc-orig-vstop.cnn/video/playlists/top-news-videos/”},{“videoCMSUrl”:”/video/data/3.0/video/politics/2017/05/26/chinese-fighter-jets-us-aircraft-starr-tsr.cnn/index.xml”,”videoId”:”politics/2017/05/26/chinese-fighter-jets-us-aircraft-starr-tsr.cnn”,”videoUrl”:”/videos/politics/2017/05/26/chinese-fighter-jets-us-aircraft-starr-tsr.cnn/video/playlists/top-news-videos/”},{“videoCMSUrl”:”/video/data/3.0/video/politics/2017/05/26/white-house-vetting-trumps-tweets-tsr.cnn/index.xml”,”videoId”:”politics/2017/05/26/white-house-vetting-trumps-tweets-tsr.cnn”,”videoUrl”:”/videos/politics/2017/05/26/white-house-vetting-trumps-tweets-tsr.cnn/video/playlists/top-news-videos/”},{“videoCMSUrl”:”/video/data/3.0/video/world/2017/05/26/donald-trump-rodrigo-duterte-philippines-martial-law-ripley-pkg-lead.cnn/index.xml”,”videoId”:”world/2017/05/26/donald-trump-rodrigo-duterte-philippines-martial-law-ripley-pkg-lead.cnn”,”videoUrl”:”/videos/world/2017/05/26/donald-trump-rodrigo-duterte-philippines-martial-law-ripley-pkg-lead.cnn/video/playlists/top-news-videos/”},{“videoCMSUrl”:”/video/data/3.0/video/world/2017/05/26/manchester-bomber-suspect-spoke-with-brother-shubert-pkg-lead.cnn/index.xml”,”videoId”:”world/2017/05/26/manchester-bomber-suspect-spoke-with-brother-shubert-pkg-lead.cnn”,”videoUrl”:”/videos/world/2017/05/26/manchester-bomber-suspect-spoke-with-brother-shubert-pkg-lead.cnn/video/playlists/top-news-videos/”},{“videoCMSUrl”:”/video/data/3.0/video/world/2017/05/26/coptic-christians-shooting-egypt-dnt-lee-cnni.cnn/index.xml”,”videoId”:”world/2017/05/26/coptic-christians-shooting-egypt-dnt-lee-cnni.cnn”,”videoUrl”:”/videos/world/2017/05/26/coptic-christians-shooting-egypt-dnt-lee-cnni.cnn/video/playlists/top-news-videos/”},{“videoCMSUrl”:”/video/data/3.0/video/politics/2017/05/26/boehner-trump-presidency-complete-disaster-sot-nr.cnn/index.xml”,”videoId”:”politics/2017/05/26/boehner-trump-presidency-complete-disaster-sot-nr.cnn”,”videoUrl”:”/videos/politics/2017/05/26/boehner-trump-presidency-complete-disaster-sot-nr.cnn/video/playlists/top-news-videos/”},{“videoCMSUrl”:”/video/data/3.0/video/politics/2017/05/26/comey-acted-on-fake-russian-intel-bash-wolf.cnn/index.xml”,”videoId”:”politics/2017/05/26/comey-acted-on-fake-russian-intel-bash-wolf.cnn”,”videoUrl”:”/videos/politics/2017/05/26/comey-acted-on-fake-russian-intel-bash-wolf.cnn/video/playlists/top-news-videos/”},{“videoCMSUrl”:”/video/data/3.0/video/politics/2017/05/26/jared-kushner-fbi-probe-pkg-newday.cnn/index.xml”,”videoId”:”politics/2017/05/26/jared-kushner-fbi-probe-pkg-newday.cnn”,”videoUrl”:”/videos/politics/2017/05/26/jared-kushner-fbi-probe-pkg-newday.cnn/video/playlists/top-news-videos/”},{“videoCMSUrl”:”/video/data/3.0/video/politics/2017/05/25/trump-travel-ban-upheld-jarrett-tsr-sot.cnn/index.xml”,”videoId”:”politics/2017/05/25/trump-travel-ban-upheld-jarrett-tsr-sot.cnn”,”videoUrl”:”/videos/politics/2017/05/25/trump-travel-ban-upheld-jarrett-tsr-sot.cnn/video/playlists/top-news-videos/”}],currentVideoCollectionId = ”,isLivePlayer = false,moveToNextTimeout,mutePlayerEnabled = false,nextVideoId = ”,nextVideoUrl = ”,turnOnFlashMessaging = false,videoPinner,videoEndSlateImpl;if (CNN.autoPlayVideoExist === false) {autoStartVideo = true;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);var embedLinkHandler = {},videoPinner,embedCodeCopy;function onVideoCarouselItemClicked(evt) {‘use strict’;var videoId,articleElem,videoPlayer,thumbImageElem,thumbImageLargeSource,overrides = {videoCollection: this.videoCollection,autostart: false},shouldStartVideo = false,playerInstance;try {articleElem = jQuery(evt.currentTarget).find(‘article’);thumbImageElem = jQuery(articleElem).find(‘.media__image’);videoId = articleElem.data().videoId;if (CNN.VideoPlayer.getLibraryName(configObj.markupId) === ‘fave’) {playerInstance = FAVE.player.getInstance(configObj.markupId);if (CNN.Utils.existsObject(playerInstance) &&typeof playerInstance.getVideoData === ‘function’ &&playerInstance.getVideoData().id !== videoId) {/* Remove videoobject metadata script.If the user click other than initial loaded video */jQuery(articleElem).closest(‘.cn-carousel-medium-strip’).parent().find(‘script[name=”metaScript”]’).remove();playerInstance.play(videoId, overrides);}} else {videoPlayer = CNNVIDEOAPI.CNNVideoManager.getInstance().getPlayerByContainer(configObj.markupId);if (videoPlayer && videoPlayer.videoInstance) {/** if videoPlayer.videoInstance.cvp is null that means it’s not initialized yet so* pass in the thumbnail, too.*/if (!videoPlayer.videoInstance.cvp) {if (typeof thumbImageElem !== ‘undefined’ && thumbImageElem !== null) {thumbImageLargeSource = thumbImageElem.data() && thumbImageElem.data().srcLarge ? thumbImageElem.data().srcLarge : ‘none’;}overrides.thumb = thumbImageLargeSource ? thumbImageLargeSource : ‘none’;shouldStartVideo = true;}if (videoPlayer.videoInstance.config) {if (videoPlayer.videoInstance.config.video !== videoId) {/* Remove videoobject metadata script.If the user click other than initial loaded video */jQuery(articleElem).closest(‘.cn-carousel-medium-strip’).parent().find(‘script[name=”metaScript”]’).remove();CNNVIDEOAPI.CNNVideoManager.getInstance().playVideo(configObj.markupId, videoId, overrides);}/* Video player isn’t autoplay, so init itif (shouldStartVideo && this.carouselClickAutostartsVideo) {try {videoPlayer.videoInstance.start();} catch (startError) {console.log(“error in initializing video player” + startError);}}*/}}}} catch (error) {console.log(“error in initializing video player” + error);}}function setInitialVideoEmbed() {}function initialize(){var carousel = jQuery(document.getElementById(‘cn-current_video_collection’)).find(‘.js-owl-carousel’),owl;if (carousel) {carousel.find(‘.cn__column.carousel__content__item’).find(‘a’).removeAttr(‘href’);jQuery(carousel).on(‘click’, ‘.cn__column.carousel__content__item’, onVideoCarouselItemClicked);}}if (CNN.VideoPlayer.getLibraryName(configObj.markupId) === ‘videoLoader’) {window.CNNVideoAPILoadCompleteHandlers = window.CNNVideoAPILoadCompleteHandlers ? window.CNNVideoAPILoadCompleteHandlers : [];window.CNNVideoAPILoadCompleteHandlers.push(initialize);window.CNNVideoAPILoadCompleteHandlers.push(setInitialVideoEmbed);} else {initialize();}CNN.INJECTOR.executeFeature(‘videx’).done(function () {var initMeta = {id:”us/2017/05/23/man-yells-racist-slurs-after-son-talks-to-mom-orig-tc.cnn”, isEmbeddable: “yes”};CNN.Videx.EmbedButton.updateCode(initMeta);}).fail(function () {throw ‘Unable to fetch the videx bundle.’;});function updateCurrentlyPlaying(videoId) {var videoCollectionId = ‘current_video_collection’,videocardContents = getCurrentVideoCardContents(videoId),carousel = jQuery(document.getElementById(‘cn-current_video_collection’)).find(‘.js-owl-carousel’),domain = CNN.Host.domain || (document.location.protocol + ‘//’ + document.location.hostname),owl,$owlFirstItem,$owlPrevItem,showDetailsSpanContent = ”,gigyaShareElement,showIndex,whatsappShareElement,$carouselContentItems = jQuery(‘.carousel__content__item’, document.getElementById(‘cn-current_video_collection’));gigyaShareElement = jQuery(‘div.js-gigya-sharebar’);if (typeof gigyaShareElement !== ‘undefined’) {jQuery(gigyaShareElement).attr(‘data-title’, videocardContents.headlinePlainText || ”);jQuery(gigyaShareElement).attr(‘data-description’, videocardContents.descriptionPlainText || ”);jQuery(gigyaShareElement).attr(‘data-link’, domain + videocardContents.url || ”);jQuery(gigyaShareElement).attr(‘data-image-src’, videocardContents.media.elementContents.imageUrl || ”);}whatsappShareElement = jQuery(‘div.share-bar-whatsapp-container’);if (typeof whatsappShareElement !== ‘undefined’) {jQuery(whatsappShareElement).attr(‘data-title’, videocardContents.headlinePlainText || ”);jQuery(whatsappShareElement).attr(‘data-storyurl’, domain + videocardContents.url || ”);}if (carousel && currentVideoCollectionContainsId(videoId)) {owl = carousel.data(‘owl.carousel’) || {};showIndex = getCurrentVideoIndex(videoId);if (typeof owl.to === ‘function’) {owl.to(showIndex);}$owlPrevItem = CNN.Utils.exists(owl.$element) ? owl.$element.find(‘.cd.cd–active’) : $carouselContentItems.find(‘.cd.cd–active’);$owlPrevItem.removeClass(‘cd–active’);$owlPrevItem.find(‘.media__over-text’).remove();$owlPrevItem.find(‘.media__icon’).show();$owlFirstItem = CNN.Utils.exists(owl._items) ? jQuery(owl._items[showIndex]) : $carouselContentItems.eq(showIndex);$owlFirstItem.find(‘.cd’).addClass(‘cd–active’);$owlFirstItem.find(‘.media a:first-child’).append(‘

Now Playing

‘);if (Modernizr && !Modernizr.phone) {$owlFirstItem.find(‘.media__icon’).hide();}}CNN.Videx.Metadata.init({dateCreated: videocardContents.dateCreated,descriptionText: videocardContents.descriptionText,duration: videocardContents.duration,sourceLink: videocardContents.sourceLink,sourceName: videocardContents.sourceName,title: videocardContents.headlineText},{videoCollectionDivId: ‘cn-jhvymj’,videoDescriptionDivId: ‘js-video_description-jhvymj’,videoDurationDivId: ‘js-video_duration-jhvymj’,videoTitleDivId: ‘js-leaf-video_headline-jhvymj’,videoSourceDivId: ‘js-video_sourceName-jhvymj’});if (CNN.Utils.exists(videocardContents.showName)) {if (CNN.Utils.exists(videocardContents.showUrl)) {showDetailsSpanContent = ” + videocardContents.showName + ‘ | ‘;} else {showDetailsSpanContent = videocardContents.showName + ‘ | ‘;}}fastdom.measure(function getShowInfo() {var $show = jQuery(‘.metadata__show’),$isShowDetailsSpanExists = $show.find(‘span’).hasClass(‘metadata–show__name’),$showName = jQuery(‘.metadata–show__name’);fastdom.mutate(function updateShowInfo() {if (!$isShowDetailsSpanExists) {$show.prepend(‘

Source