var PlayerCoordinator={ version:2, id:"root", SetModule:function(id,module){ var context=this; context[id]=module; context[id].id=id; context[id].rootContext=context; context[id].selfContext=context[id]; if (context[id].main){ context[id].main(); } }, mode:"full", xp:"nn.htm", ttr:"*.msnbc.com", bl:false, sub:1 }; (function(){ var _context=PlayerCoordinator; _context.getDate=function(ddate){ if (!ddate){ ddate=new Date(); } else{ ddate=new Date(ddate); } var dMonth=ddate.getMonth()+1; var dDay=ddate.getDate(); var dYear=ddate.getFullYear(); return dMonth+"/"+dDay+"/"+dYear; } _context.playWhenAdDone=function(){}; var playerMethods={ dataArray:[], loadEntry:function(entryObject,version,siteSection){ var context=this; if (!entryObject.normalized){ entryObject=this.normalizeMPXData(entryObject); } if(entryObject.mediaElements){ entryObject.linkUrl=entryObject.mediaElements[0]; } //console.log(entryObject.linkUrl); entryObject.siteSection=siteSection; var qFunction=function(){ entryObject.methodType="loadEntry"; var passItem=context.rootContext.CommunicationsModule.serialize(entryObject); context.passMessage(passItem); } if (version&&version!=this.rootContext.ViewRenderer.currentVersion){ _context.currentlyIsAd=false; context.rootContext.ViewRenderer.currentVersion=version; context.rootContext.ViewRenderer.setCallback({version:version, methodListener:"pageReady", callback:qFunction}); context.rootContext.ViewRenderer.loadViewport(version); } else{ if ( _context.currentlyIsAd){ _context.playWhenAdDone=function(){qFunction(); _context.playWhenAdDone=function(){}; }; return false; } qFunction(); } }, parseMVPID:function(authcookie){ var pvidcheck=/nbcu_user_settings=.*?selectedProvider%22%3a%22(.*?)%22/i; var pcheck=pvidcheck.exec(authcookie); var id="cablevision"; if (pcheck&&(pcheck!=null)&&pcheck.length>1){ id=pcheck[1]; } else{ pvidcheck=/nbcu_selectedMVPDProvider=%22(.*?)%22/i; pcheck=pvidcheck.exec(authcookie); if (pcheck&&(pcheck!=null)&&pcheck.length>1){ id=pcheck[1]; } } return id; }, getAuthProviderId:function(){ var mvpid=""; try{ var authcookie=document.cookie; mvpid="&MVPDid="+this.parseMVPID(authcookie); } catch(e){ mvpid=""; } return mvpid; }, renderVersion:function(version,params,forceRefresh,qvals){ if (version&&version!=this.rootContext.ViewRenderer.currentVersion||forceRefresh){ this.rootContext.ViewRenderer.currentVersion=version; this.rootContext.ViewRenderer.loadViewport(version,function(){},params,qvals); } }, loadTVEEntry:function(entry,version){ PlayerCoordinator.WeDoneThis=false; this.renderVersion(version,"",true,this.getAuthProviderId()); }, loadMSNBC2Entry:function(entry,version,siteSection){ if (!siteSection){ siteSection=""; } var rxcid=/cid=([^&]*)&?/ig; rgxcid=rxcid.exec(location.search); var rxcsid=/csid=([^&]*)&?/ig; rgxcsid=rxcsid.exec(location.search); if (rgxcid&&rgxcid[1]){ siteSection+="&cid="+rgxcid[1]; } if (rgxcsid&&rgxcsid[1]){ siteSection+="&csid="+rgxcsid[1]; } this.renderVersion(version,"",true,"?s_sect="+siteSection); }, loadMsnbctvEntry:function(entry,version){ this.renderVersion(version,"/select/"+entry.videoId,true,this.getAuthProviderId()); }, loadEntryByGuid:function(guid){ var entryObject={}; entryObject.methodType="loadEntrybyGuid"; entryObject.guid=guid; var passItem=this.rootContext.CommunicationsModule.serialize(entryObject); this.passMessage(passItem); }, passMessage:function(passString){ this.playerHost=this.rootContext.ViewRenderer.getVersion().playerHost; this.rootContext.ViewRenderer.comWindow.postMessage(passString,this.playerHost); }, GetMediaArray:function(media){ var mediaLinks=new Array(); return this.GetMediaUrls(media); }, GetMediaUrls:function(data) { var cantchooselive=false; var mobileRender=((navigator.userAgent.toLowerCase().indexOf("android")>-1)||(navigator.userAgent.toLowerCase().indexOf("silk")>-1)||(navigator.platform.toLowerCase().indexOf("ipad")>-1)||(navigator.platform.toLowerCase().indexOf("iphone")>-1)); var mediaArray = new Array(); var media = {}; var mezzVersion = 0; if (data.nnd$mezzVersion) { mezzVersion = data.nnd$mezzVersion; } var canChooseLive=true; for (var mcheck in data.media$content){ var checkMedia = data.media$content[mcheck]; if((checkMedia.plfile$assetType&&checkMedia.plfile$assetType.toLowerCase() == "akamai video")||(checkMedia.plfile$assetTypes&&(checkMedia.plfile$assetTypes[0].toLowerCase() =="akamai video"))){ canChooseLive=false; } } for (var mc in data.media$content) { var cMedia = data.media$content[mc]; if (!canChooseLive&&(cMedia.plfile$assetTypes&&((cMedia.plfile$assetTypes[0]=="Live HLS")||cMedia.plfile$assetTypes[0]=="Live HDS"))){ cantchooselive=true; continue; } if (cMedia.plfile$format&&cMedia.plfile$format.toLowerCase() == "f4m") { if (!canChooseLive&&(cMedia.plfile$assetTypes&&((cMedia.plfile$assetTypes[0]=="Live HLS")||cMedia.plfile$assetTypes[0]=="Live HDS"))){ cantchooselive=true; continue; } media.liveVideo = cMedia.plfile$url; } if (cMedia.plfile$format&&cMedia.plfile$format.toLowerCase() == "mpeg4") { if ((cMedia.plfile$assetType&&cMedia.plfile$assetType.toLowerCase() == "akamai video")||(cMedia.plfile$assetTypes&&(cMedia.plfile$assetTypes[0].toLowerCase() =="akamai video"))) { media.akami = cMedia.plfile$url; // this.root.isHD = true; } else { if (cMedia.plfile$bitrate == 0 && mezzVersion < 2) { media.unicorn = cMedia.plfile$url; } else { if (cMedia.plfile$width < 600 || cMedia.plfile$bitrate < 600000) { media.lo = cMedia.plfile$url; } else { media.hi = cMedia.plfile$url; } } } } } if (media.liveVideo&&!cantchooselive) { mediaArray[mediaArray.length] = media.liveVideo; } else { if (media.akami) { mediaArray[mediaArray.length] = media.akami; } if (media.unicorn && mezzVersion < 2) { mediaArray[mediaArray.length] = media.unicorn; } if (navigator.platform.toLowerCase().indexOf("ipad")>-1) { mediaArray[mediaArray.length] = media.lo; mediaArray[mediaArray.length] = media.hi; } else { if (media.hi){ mediaArray[mediaArray.length] = media.hi; } mediaArray[mediaArray.length] = media.lo; } } return mediaArray; }, GetCategories:function(cats){ var catObj={ issues: [], subIssues: [], topics: [], people:[], franchise: [] }; for (var item in cats) { var cat = cats[item]; if (cat) { cat = cat["media$name"]; if (!cat){continue;} aCat = cat.toLowerCase().split("/"); if (aCat[0] == "msnbc") { var type = aCat[1]; var pushArray = ""; switch (type) { case "issues": catObj.issues.push(aCat[2]); if (aCat[3]) { pushArray = "subIssues"; } break; case "topics": switch (aCat[2]) { case "general": pushArray = "topics"; break; case "people": pushArray = "people"; break; case "franchise": pushArray = "franchise"; break; } break; } if (pushArray) { catObj[pushArray].push(aCat[3]); } } } } return catObj; }, normalizeMPXData:function(entry){ var dataEntry={ state:"Stored", normalized:true, guid:entry.guid, title:entry.title, show:entry.nnd$source, type: entry.nnd$videoType, canonicalUrl: (entry.nnd$canonicalUrl)?entry.nnd$canonicalUrl.href:"", categories:this.GetCategories(entry.media$categories), mediaElements:this.GetMediaArray(entry), thumbnail:entry.plmedia$defaultThumbnailUrl, bust:0 }; return dataEntry; }, processEntry:function(data,callback){ if (!data.entries[0]){ callback({}); return; } var guid=data.entries[0].guid; var entry=data.entries[0]; var dataEntry=this.normalizeMPXData(entry); this.dataArray[entry.guid]=dataEntry; callback(data.entries[0]); }, callMPXByGuid:function(guid,callback,version){ jQuery.support.cors = true; var entry=this.dataArray[guid]; if (!entry){ this.dataArray[guid]={state:"inProgress"}; var context=this; var byGuid=""; if (guid){ byGuid="&byGuid="+guid; } var dataurl=this.rootContext.ViewRenderer.getVersion(version).account[this.rootContext.account].pdkAccount+"/"+this.rootContext.ViewRenderer.getVersion(version).account[ this.rootContext.account].contentFeed; PlayerCoordinator.callBackForGuid=function(data){ context.processEntry(data,callback); }; var requestURL="http://feed.theplatform.com/f/"+dataurl+"?form=json&range=-1&pretty=true"+byGuid+"&callback=PlayerCoordinator.callBackForGuid"; jQuery.ajax({ type: "GET", url: requestURL, async: false, cache: true, dataType: "script", /* success:function(data){ context.processEntry(data,callback); }, */ error: function(xhr, textStatus, errorThrown) { console.log(errorThrown); } }); } else{ callback(entry); } }, callMPXByMPXID:function(guid,callback,version){ jQuery.support.cors = true; var entry=this.dataArray[guid]; if (!entry){ this.dataArray[guid]={state:"inProgress"}; var context=this; var byGuid=""; if (guid){ byGuid="&byId="+guid; } var dataurl=this.rootContext.ViewRenderer.getVersion(version).account[this.rootContext.account].pdkAccount+"/"+this.rootContext.ViewRenderer.getVersion(version).account[this.rootContext.account].contentFeed; PlayerCoordinator.callBackForGuid=function(data){ context.processEntry(data,callback); }; var requestURL="http://feed.theplatform.com/f/"+dataurl+"?form=json&range=-1&pretty=true"+byGuid+"&callback=PlayerCoordinator.callBackForGuid"; jQuery.ajax({ type: "GET", url: requestURL, async: false, cache: true, dataType: "script", crossDomain: true, /* success:function(data){ context.processEntry(data,callback); }, */ error: function(xhr, textStatus, errorThrown) { console.log(errorThrown); } }); } else{ callback(entry); } }, ensureAutoPlay:function(){ $pdk.controller.clickPlayButton(true); }, pause:function(){ if (!this.rootContext.ViewRenderer.getVersion().inBindState){ var entryObject={methodType:"pause"}; var passItem=this.rootContext.CommunicationsModule.serialize(entryObject); this.passMessage(passItem); } else{ $pdk.controller.pause(true); } }, play:function(){ $pdk.controller.pause(false); } }; var dataElements={ currentID:"0", getReportData:function(obj){ var show,provider,playerType,videoTitle,videoId; var clips=obj.data.baseClips; var clipLength=clips.length; for (var clipItem=0;clipItem-1){ show=catName.replace(/Series\//ig,""); break; } } break; } } playerType=obj.data.player; videoTitle=obj.data.title; videoId=obj.data.releasePID; var repobj={ eventType:"report", mpxId:this.currentId, reportType:"", data:{ show:show, contentType:"", contentTypePdk:"", videoId:videoId, videoName:videoTitle, playerType:playerType, videoType:"show segment", videoTypePdk:"Broadcast", channel:"msnbcTV", videoInit:"user", videoBrand:provider, videoLength:"" } } } }; var smartReportObject=function(){ var context=this; var reportVars=function(){ this.id=""; this.uniques=new Array(); this.reportQ=new Array(); this.lastReport={id:"none",nextAllowed:["videoInit"],canIgnorePrevious:false,unique:false,forceFirst:[],forceNext:[]}; } this.checkUnique=function(dataObj,orep){ if (orep.unique===true){ var chckLen=dataObj.uniques.length; var isUniqueNotCalled=true; for (var i=0;i98)&&(!context.percent100): context.percent100=true; var reportData=ctx.normalizeReportData("video100Complete",relay,false); // context.triggerEvent("report",reportData); break; case (relay.data.percentCompleteAggregate>75)&&(!context.percent75): context.percent75=true; var reportData=ctx.normalizeReportData("video75Complete",relay,false); context.triggerEvent("report",reportData); break; case (relay.data.percentCompleteAggregate>50)&&(!context.percent50): context.percent50=true; var reportData=ctx.normalizeReportData("video50Complete",relay,false); context.triggerEvent("report",reportData); break; case (relay.data.percentCompleteAggregate>25)&&(!context.percent25): context.percent25=true; var reportData=ctx.normalizeReportData("video25Complete",relay,false); context.triggerEvent("report",reportData); break; } }; }, callbacks:[] }, msnbc:this.default, tve:{ account:{ prod:{ player:"http://player.theplatform.com/p/HNK2IC/msnbc_live_p3?mbr=true&autoPlay=false", pdkAccount:"HNK2IC", contentFeed:"nbcnews", }, dev:{ player:"http://player.theplatform.com/p/dCK2IC/msnbc_live_p3_stage?mbr=true&autoPlay=false", pdkAccount:"dCK2IC" , contentFeed:"" } }, player:"http://player.theplatform.com/p/dCK2IC/msnbc_live_p3_stage?mbr=true&autoPlay=false", playerHost:"http://player.theplatform.com/", inBindState:true, userInit:"user", setReportData:function(obj){ var show,provider,playerType,videoTitle,videoId; var clips=obj.data.baseClips; var clipLength=clips.length; for (var clipItem=0;clipItem-1){ show=catName.replace(/Series\//ig,""); break; } } break; } } playerType=obj.data.player; videoTitle=obj.data.title; videoId=obj.data.releasePID; var userInit=this.userInit; var repobj={ eventType:"report", mpxId:videoId, reportType:"", data:{ show:show, contentType:"", contentTypePdk:"", videoId:videoId, videoName:videoTitle, playerType:"TVE live streaming Player", videoType:"Stream", videoTypePdk:"live", channel:"msnbcTV", videoInit:userInit, videoBrand:provider, videoLength:"", date:"" } } this.dataReport=repobj; }, normalizeReportData:function(reportType,relay,isAd){ var rData=this.dataReport; var repData={data:{}}; for (var repItem in rData.data){ repData.data[repItem]=rData.data[repItem]; } repData.eventType="report"; repData.mpxId=rData.mpxId; if (!isAd){ repData.data.videoAdType=""; repData.data.videoAdUnit=""; } else{ var videoAdUnit = ""; var videoAdType="midroll"; if (relay.data&&relay.data.baseClip){ videoAdUnit = relay.data.baseClip.id; videoAdType = relay.data.baseClip.contentCustomData["fw:type"]; } repData.data.videoAdType=videoAdType; repData.data.videoAdUnit=videoAdUnit; } if (relay.data.baseClip){ var relLen=relay.data.baseClip.releaseLength; repData.data.videoLength=relLen; } repData.reportType=reportType; repData.data.videoInit=this.userInit; repData.data.date=_context.getDate(); return repData; }, pdkListeners:["companion_ad","InStreamMetadataEvent","OnShowPlayOverlay","OnMediaStart","OnPlayerLoaded","OnReleaseStart","OnMediaLoadStart","OnMediaEnd","OnMediaPause","OnMediaPlay"], initpdkMethods:function(){ try { var ksg = window.localStorage.kxsegs; var kuid = window.localStorage.kxuser; $pdk.controller.setVariable({'ksg': ksg, 'kuid': kuid}); } catch (e) { console.log("Failed to load Krux localStorage values. \n" + e) } var context=_context; var ctx=context.ViewRenderer.getVersion(); PlayerCoordinator.WeDoneThis=false; this.pdkMethods={}; this.pdkMethods.OnShowPlayOverlay=function(relay){ if (_context.isAuth){ $pdk.controller.clickPlayButton(true); } }; this.pdkMethods.companion_ad=function(relay){ if (relay.data&&relay.data.holderId){ var adDiv=""; switch(relay.data.holderId){ case "ad_728x90_1": adDiv=document.getElementById("msnbc_companion_header_1"); break; case "ad_120x60_1": adDiv=document.getElementById("msnbc_companion_logo"); break; case "ad_300x250_1": adDiv=document.getElementById("VPNT_1"); break; case "ad_300x60_1": adDiv=document.getElementById("VPNT_2"); break; } if (adDiv){ adDiv.innerHTML=relay.data.message; } } }; this.pdkMethods.InStreamMetadataEvent=function(relay){ var obj={eventType:"inStreamMetaData",data:{}}; if (relay.data){ if (relay.data.duration){ obj.data.duration=relay.data.duration; } if(relay.data.cuepoint){ obj.data.name=relay.data.cuepoint.name; } switch (relay.data.type) { case "AnvatoInStreamAdCueStartEvent" : obj.data.type="cuepointStart"; obj.data.cuepoint=relay.data.data.cuepoint; break; case "AnvatoInStreamAdCueEndEvent" : obj.data.type="cuepointEnd"; obj.data.cuepoint=relay.data.data.cuepoint; break; case "AnvatoInStreamAdChapterBeginEvent" : obj.data.type="chapterBegin"; context.currentlyIsAd=false; if ((!context.vidSegStarted)&&(!context.waitingForVideoStart)){ context.vidSegStarted=true; obj.data.cuepoint=relay.data.data.cuepoint; var reportData=ctx.normalizeReportData("videoSegmentStart",relay,false); context.triggerEvent("report",reportData); context.triggerEvent("videoStart",{eventType:"videoStart",mpxId:reportData.mpxId,data:{}}); } break; case "AnvatoInStreamAdChapterEndEvent" : obj.data.type="chapterEnd"; obj.data.cuepoint=relay.data.data.cuepoint; if (context.vidSegStarted){ context.vidSegStarted=false; var reportData=ctx.normalizeReportData("videoSegmentEnd",relay,false); reportData=context.currentReportData; reportData.reportType="videoSegmentEnd"; context.triggerEvent("report",reportData); } context.triggerEvent("videoEnd",{eventType:"videoEnd",mpxId:reportData.mpxId,data:{}}); break; case "AnvatoInStreamAdProgramBeginEvent" : context.startProgram=true; obj.data.type="programBegin"; obj.data.cuepoint=relay.data.data.cuepoint; try{ var tfunct=function(){ context.waitingForVideoStart=false; context.currentlyIsAd=false; if (!context.vidStarted){ context.vidStarted=true; ctx.userInit="auto"; var reportData=ctx.normalizeReportData("videoStart",relay,false); if (context.startProgram){ context.triggerEvent("report",reportData); } context.currentReportData=reportData; context.vidSegStarted=true; obj.data.cuepoint=relay.data.data.cuepoint; var reportData=ctx.normalizeReportData("videoSegmentStart",relay,false); context.triggerEvent("report",reportData); context.triggerEvent("videoStart",{eventType:"videoStart",mpxId:reportData.mpxId,data:{}}); } }; var reportData=ctx.normalizeReportData("videoSegmentStart",relay,false); if (reportData.data.videoId!=context.currentReportData.data.videoId){ tfunct(); } else{ context.executeQ=function(){tfunct();}; } } catch(errrrrr){ console.log(errrrrr); } break; case "AnvatoInStreamAdProgramEndEvent" : obj.data.cuepoint=relay.data.data.cuepoint; if (context.vidStarted){ context.waitingForVideoStart=true; context.vidStarted=false; var reportData=ctx.normalizeReportData("videoEnd",relay,false); reportData=context.currentReportData; reportData.reportType="videoEnd"; context.triggerEvent("report",reportData); } context.triggerEvent("videoEnd",{eventType:"videoEnd",mpxId:reportData.mpxId,data:{}}); obj.data.type="programEnd"; break; case "AnvatoInStreamContentBeaconEvent": obj.data.type="cuepointBecon"; if ((!context.currentReportData)||context.currentReportData.data.videoId!=relay.data.data.external_id){ if (context.vidSegStarted){ context.vidSegStarted=false; var reportData=ctx.normalizeReportData("videoSegmentEnd",relay,false); reportData=context.currentReportData; reportData.reportType="videoSegmentEnd"; context.triggerEvent("report",reportData); } if (context.vidStarted){ context.vidStarted=false; var reportData=ctx.normalizeReportData("videoEnd",relay,false); reportData=context.currentReportData; reportData.reportType="videoEnd"; context.triggerEvent("report",reportData); } } this.AdId=relay.data.data.external_ad_id; obj.data.adId=relay.data.data.external_ad_id; obj.data.series=relay.data.data.Series_Title; obj.data.title=relay.data.data.title; obj.data.description=relay.data.data.description; obj.data.startTime=relay.data.data.ts_start; obj.data.endTime=relay.data.data.ts_end; try{ //console.log(relay.data.data); ctx.dataReport.data.show=relay.data.data.Series_Title; ctx.dataReport.data.videoName=relay.data.data.Series_Title; ctx.dataReport.data.videoId=relay.data.data.external_id; ctx.dataReport.mpxId=relay.data.data.external_id; } catch(e){ } if ((!context.currentReportData)&&((context.HasInit)&&context.currentReportData.data.videoId!=relay.data.data.external_id)){ if (!context.vidStarted){ context.vidStarted=true; ctx.userInit="auto"; var reportData=ctx.normalizeReportData("videoStart",relay,false); context.triggerEvent("report",reportData); context.currentReportData=reportData; context.vidSegStarted=true; obj.data.cuepoint=relay.data.data.cuepoint; var reportData=ctx.normalizeReportData("videoSegmentStart",relay,false); context.triggerEvent("report",reportData); context.currentlyIsAd=false; context.triggerEvent("videoStart",{eventType:"videoStart",mpxId:reportData.mpxId,data:{}}); } } obj.data.cuepoint=relay.data.cuepoint; if (!context.HasInit){ if (context.executeQ){ context.HasInit=true; context.executeQ(); context.executeQ=""; } } if ((context.executeQ)&&(context.currentReportData.data.videoId!=relay.data.data.external_id)){ context.executeQ(); context.executeQ=""; } break; default: return; break; } var reportData=ctx.normalizeReportData("inStreamMetaData",relay,false); obj.mpxId=reportData.mpxId; context.triggerEvent("inStreamMetaData",obj); } }; this.pdkMethods.OnReleaseStart=function(relay){ context.percent100=false; context.percent75=false; context.percent50=false; context.percent25=false; ctx.setReportData(relay); }; this.pdkMethods.OnPlayerLoaded=function(relay){ }; this.pdkMethods.OnMediaStart=function(relay){ if (relay.data.baseClip.isAd){ context.currentlyIsAd=true; var reportData=ctx.normalizeReportData("videoAdStart",relay,true); context.triggerEvent("report",reportData); context.triggerEvent("adStart",{eventType:"adStart",mpxId:reportData.mpxId,data:{}}); } else{ if (!PlayerCoordinator.WeDoneThis){ PlayerCoordinator.WeDoneThis=true; var waitForRelevantData=function(){ if (!context.firstStreamCall){ var reportData=ctx.normalizeReportData("videoStreamStart",relay,false); context.firstStreamCall=true; reportData.reportType="videoStreamStart"; context.currentReportData=reportData; context.triggerEvent("report",reportData); } var reportData=ctx.normalizeReportData("videoStart",relay,false); context.currentReportData=reportData; if (context.startProgram){ context.triggerEvent("report",reportData); } context.vidStarted=true; var reportData=ctx.normalizeReportData("videoSegmentStart",relay,false); context.vidSegStarted=true; context.triggerEvent("report",reportData); context.currentlyIsAd=false; }; context.HasInit=false; context.executeQ=waitForRelevantData; } else{ var reportData=ctx.normalizeReportData("videoSegmentStart",relay,false); context.vidSegStarted=true; context.triggerEvent("report",reportData); context.currentlyIsAd=false; } } }; this.pdkMethods.OnMediaEnd=function(relay){ if (relay.data.baseClip.isAd){ context.currentlyIsAd=true; var reportData=ctx.normalizeReportData("videoAdEnd",relay,true); context.triggerEvent("report",reportData); context.triggerEvent("adEnd",{eventType:"adEnd",mpxId:reportData.mpxId,data:{}}); } else{ } }; this.pdkMethods.OnMediaPause=function(relay){ if (context.currentlyIsAd){ var reportData=ctx.normalizeReportData("videoAdPause",relay,true); context.triggerEvent("report",reportData); context.triggerEvent("videoPause",{eventType:"videoPause",mpxId:reportData.mpxId,data:{type:"videoPause"}}); } else{ var reportData=ctx.normalizeReportData("videoPause",relay,false); context.triggerEvent("report",reportData); context.triggerEvent("videoPause",{eventType:"videoPause",mpxId:reportData.mpxId,data:{type:"videoPause"}}); } }; this.pdkMethods.OnMediaPlay=function(relay){ var reportData=ctx.normalizeReportData("videoResume",relay,false); context.triggerEvent("videoResume",{eventType:"videoResume",mpxId:reportData.mpxId,data:{type:"videoResume"}}); }; this.pdkMethods.OnMediaLoadStart=function(relay){ }; }, callbacks:[] }, msnbc2:{ account:{ prod:{ player:"http://player.theplatform.com/p/7wvmTC/NBCOnAirProdPlayer/embed/select", pdkAccount:"7wvmTC", contentFeed:"msnbc_video-p-test", }, dev:{ player:"http://player.theplatform.com/p/r0vmTC/NBCOnAirTestPlayer2-2/embed/select", pdkAccount:"r0vmTC" , contentFeed:"msnbc_video-d" } }, player:"http://player.theplatform.com/p/r0vmTC/NBCOnAirTestPlayer2-2", playerHost:"http://player.theplatform.com/", inBindState:true, evtQ:[], userInit:"user", setReportData:function(obj){ var show,provider,playerType,videoTitle,videoId; var clips=obj.data.baseClips; var clipLength=clips.length; for (var clipItem=0;clipItem-1){ show=catName.replace(/Series\//ig,""); break; } } break; } } playerType="live streaming"; videoTitle=obj.data.title; videoId=obj.data.releasePID; var modeId=(_context.mode.toLowerCase()=="embed")?" embed":""; var repobj={ eventType:"report", mpxId:videoId, reportType:"", data:{ show:show, contentType:"", contentTypePdk:"", videoId:videoId, videoName:videoTitle, playerType:playerType, videoType:"Stream", videoTypePdk:"live", channel:"msnbc Shift "+modeId, videoInit:"user", videoBrand:"msnbc Shift "+modeId, videoLength:"" } } this.dataReport=repobj; this.reportDataSet=true; this.doQEvts(); }, normalizeReportData:function(reportType,relay,isAd){ var rData=this.dataReport; if (!rData){ var repobj={ eventType:"report", mpxId:"", reportType:"", data:{ show:"", contentType:"", contentTypePdk:"", videoId:"", videoName:"", playerType:"", videoType:"Stream", videoTypePdk:"live", channel:"msnbc Shift", videoInit:"user", videoBrand:"msnbc Shift", videoLength:"" } } this.dataReport=repobj; rData=this.dataReport; } var repData={data:{}}; for (var repItem in rData.data){ repData.data[repItem]=rData.data[repItem]; } repData.eventType="report"; repData.mpxId=rData.mpxId; if (!isAd){ repData.data.videoAdType=""; repData.data.videoAdUnit=""; } else{ var videoAdUnit = ""; var videoAdType = "midroll"; if (relay.data.baseClip){ videoAdUnit = relay.data.baseClip.id; videoAdType = relay.data.baseClip.contentCustomData["fw:type"]; } repData.data.videoAdType=videoAdType; repData.data.videoAdUnit=videoAdUnit; } if (relay.data.baseClip){ var relLen=relay.data.baseClip.releaseLength; repData.data.videoLength=relLen; } if (this.customShow){ repData.data.show=this.customShow; } if (this.customTitle){ repData.data.videoName=this.customTitle; } repData.reportType=reportType; repData.data.videoInit=this.userInit; //this.dataReport=repobj; return repData; }, pdkListeners:["companionAd","ImageSlateEnd","ImageSlateStart","NbcAdEnd","NbcAdStart","AdPodEnd","AdPodStart","ProgramStart","ProgramEnd","OnMediaStart","requestKrux","OnReleaseStart","OnMediaLoadStart","OnMediaEnd","OnMediaPause","OnMediaPlay"], qEvent:function(evtCode){ if (this.reportDataSet){ evtCode(); } else{ this.evtQ[this.evtQ.length]=evtCode; } }, idArray:[], doQEvts:function(){ var eQlen=this.evtQ.length; for (var ei=0;ei-1){ show=catName.replace(/Series\//ig,""); break; } } break; } } playerType=obj.data.player; videoTitle=obj.data.title; videoId=obj.data.releasePID; var repobj={ eventType:"report", mpxId:videoId, reportType:"", data:{ show:show, contentType:"", contentTypePdk:"", videoId:videoId, videoName:videoTitle, playerType:playerType, videoType:"show segment", videoTypePdk:"Broadcast", channel:"msnbcTV", videoInit:"user", videoBrand:provider, videoLength:"", date:"" } } this.dataReport=repobj; }, normalizeReportData:function(reportType,relay,isAd){ var rData=this.dataReport; var ddate=""; var repData={data:{}}; for (var repItem in rData.data){ repData.data[repItem]=rData.data[repItem]; } repData.eventType="report"; repData.mpxId=rData.mpxId; if (!isAd){ repData.data.videoAdType=""; repData.data.videoAdUnit=""; } else{ if (relay.data.baseClip){ this.videoAdUnit = relay.data.baseClip.id; if (relay.data.baseClip.contentCustomData){ this.videoAdType = relay.data.baseClip.contentCustomData["fw:type"]; } } repData.data.videoAdType=this.videoAdType; repData.data.videoAdUnit=this.videoAdUnit; } if (relay.data.baseClip){ var relLen=relay.data.baseClip.releaseLength; repData.data.videoLength=relLen; } repData.reportType=reportType; repData.data.videoInit=this.userInit; if (relay.data.title){ var sDate=relay.data.title; var ireg=/[^\s]* \d\d, \d\d\d\d/ig; var nulli=/thisshouldreturnnull/; var stest=ireg.exec(sDate); if (stest!=nulli.exec("nope")){ ddate=stest; } } repData.data.date=_context.getDate(ddate); return repData; }, pdkListeners:["companion_ad","OnMediaStart","OnPlayerLoaded","OnReleaseStart","OnMediaPlaying","OnMediaLoadStart","OnMediaEnd","OnMediaPause","OnMediaPlay","OnMediaSeek"], initpdkMethods:function(){ try { var ksg = window.localStorage.kxsegs; var kuid = window.localStorage.kxuser; $pdk.controller.setVariable({'ksg': ksg, 'kuid': kuid}); } catch (e) { console.log("Failed to load Krux localStorage values. \n" + e) } var context=_context; var ctx=context.ViewRenderer.getVersion(); this.pdkMethods={}; this.pdkMethods.companion_ad=function(relay){ if (relay.data&&relay.data.holderId){ var adDiv=""; switch(relay.data.holderId){ case "ad_728x90_1": adDiv=document.getElementById("msnbc_companion_header_1"); break; case "ad_120x60_1": adDiv=document.getElementById("msnbc_companion_logo"); break; case "ad_300x250_1": adDiv=document.getElementById("VPNT_1"); break; case "ad_300x60_1": adDiv=document.getElementById("VPNT_2"); break; } if (adDiv){ adDiv.innerHTML=relay.data.message; } } }; this.pdkMethods.OnReleaseStart=function(relay){ context.percent100=false; context.percent75=false; context.percent50=false; context.percent25=false; ctx.setReportData(relay); }; this.pdkMethods.OnPlayerLoaded=function(relay){ }; this.pdkMethods.OnMediaStart=function(relay){ if (relay.data.baseClip.isAd){ context.currentlyIsAd=true; var reportData=ctx.normalizeReportData("videoAdStart",relay,true); context.triggerEvent("report",reportData); context.triggerEvent("adStart",{eventType:"adStart",mpxId:reportData.mpxId,data:{}}); } else{ if (!context.firstStreamCall){ var reportData=ctx.normalizeReportData("videoStreamStart",relay,false); context.firstStreamCall=true; reportData.reportType="videoStreamStart"; context.triggerEvent("report",reportData); } var reportData=ctx.normalizeReportData("videoSegmentStart",relay,false); context.triggerEvent("report",reportData); context.triggerEvent("videoStart",{eventType:"videoStart",mpxId:reportData.mpxId,data:{}}); context.currentlyIsAd=false; } }; this.pdkMethods.OnMediaEnd=function(relay){ if (relay.data.baseClip.isAd){ context.currentlyIsAd=true; var reportData=ctx.normalizeReportData("videoAdEnd",relay,true); context.triggerEvent("report",reportData); context.triggerEvent("adEnd",{eventType:"adEnd",mpxId:reportData.mpxId,data:{}}); } else{ var reportData=ctx.normalizeReportData("videoSegmentEnd",relay,false); context.triggerEvent("report",reportData); context.triggerEvent("videoSegmentEnd",{eventType:"videoSegmentEnd",mpxId:reportData.mpxId,data:{}}); context.currentlyIsAd=false; if (context.percent100){ var reportData=ctx.normalizeReportData("videoEnd",relay,false); context.triggerEvent("report",reportData); context.triggerEvent("videoEnd",{eventType:"videoEnd",mpxId:reportData.mpxId,data:{}}); } } }; this.pdkMethods.OnMediaPause=function(relay){ if (context.currentlyIsAd){ var reportData=ctx.normalizeReportData("videoAdPause",relay,true); context.triggerEvent("report",reportData); context.triggerEvent("videoPause",{eventType:"videoPause",mpxId:reportData.mpxId,data:{type:"videoPause"}}); } else{ var reportData=ctx.normalizeReportData("videoPause",relay,false); context.triggerEvent("report",reportData); context.triggerEvent("videoPause",{eventType:"videoPause",mpxId:reportData.mpxId,data:{type:"videoPause"}}); } }; this.pdkMethods.OnMediaPlay=function(relay){ var reportData=ctx.normalizeReportData("videoResume",relay,false); context.triggerEvent("videoResume",{eventType:"videoResume",mpxId:reportData.mpxId,data:{type:"videoResume"}}); }; this.pdkMethods.OnMediaSeek=function(relay){ var reportData=ctx.normalizeReportData("videoScrub",relay,false); context.triggerEvent("report",reportData); context.triggerEvent("videoScrub",{eventType:"videoScrub",mpxId:reportData.mpxId,data:{type:"videoScrub"}}); }; this.pdkMethods.OnMediaPlaying=function(relay){ if ((context.currentlyIsAd)||this.lastPercent===Math.floor(relay.data.percentCompleteAggregate)){ return; } this.lastPercent=Math.floor(relay.data.percentCompleteAggregate); switch(true){ case (relay.data.percentCompleteAggregate>98)&&(!context.percent100): context.percent100=true; var reportData=ctx.normalizeReportData("video100Complete",relay,false); context.triggerEvent("report",reportData); break; case (relay.data.percentCompleteAggregate>75)&&(!context.percent75): context.percent75=true; var reportData=ctx.normalizeReportData("video75Complete",relay,false); context.triggerEvent("report",reportData); break; case (relay.data.percentCompleteAggregate>50)&&(!context.percent50): context.percent50=true; var reportData=ctx.normalizeReportData("video50Complete",relay,false); context.triggerEvent("report",reportData); break; case (relay.data.percentCompleteAggregate>25)&&(!context.percent25): context.percent25=true; var reportData=ctx.normalizeReportData("video25Complete",relay,false); context.triggerEvent("report",reportData); break; } }; this.pdkMethods.OnMediaLoadStart=function(relay){ }; }, callbacks:[] }, msnbctvvod:{ account:{ prod:{ player:"http://player.theplatform.com/p/HNK2IC/msnbc_vod_noauth", pdkAccount:"HNK2IC", contentFeed:"", params:"?mbr=true&autoPlay=true" }, dev:{ player:"http://player.theplatform.com/p/dCK2IC/msnbc_vod_noauth_stage", pdkAccount:"dCK2IC" , contentFeed:"", params:"?mbr=true&autoPlay=true" } }, player:"http://player.theplatform.com/p/dCK2IC/msnbc_vod_stage/embed/select/Tuin1ZnO6Rpj?mbr=true&autoPlay=true&MVPDid=wavebroadband", playerHost:"http://player.theplatform.com/", inBindState:true, userInit:"user", setReportData:function(obj){ var show,provider,playerType,videoTitle,videoId; var clips=obj.data.baseClips; var clipLength=clips.length; for (var clipItem=0;clipItem-1){ show=catName.replace(/Series\//ig,""); break; } } break; } } playerType=obj.data.player; videoTitle=obj.data.title; videoId=obj.data.releasePID; var repobj={ eventType:"report", mpxId:videoId, reportType:"", data:{ show:show, contentType:"", contentTypePdk:"", videoId:videoId, videoName:videoTitle, playerType:playerType, videoType:"show segment", videoTypePdk:"Broadcast", channel:"msnbcTV", videoInit:"user", videoBrand:provider, videoLength:"", date:"" } } this.dataReport=repobj; }, normalizeReportData:function(reportType,relay,isAd){ var ddate=""; var rData=this.dataReport; var repData={data:{}}; for (var repItem in rData.data){ repData.data[repItem]=rData.data[repItem]; } repData.eventType="report"; repData.mpxId=rData.mpxId; if (!isAd){ repData.data.videoAdType=""; repData.data.videoAdUnit=""; } else{ if (relay.data.baseClip){ this.videoAdUnit = relay.data.baseClip.id; this.videoAdType = relay.data.baseClip.contentCustomData["fw:type"]; } repData.data.videoAdType=this.videoAdType; repData.data.videoAdUnit=this.videoAdUnit; } if (relay.data.baseClip){ var relLen=relay.data.baseClip.releaseLength; repData.data.videoLength=relLen; } repData.reportType=reportType; repData.data.videoInit=this.userInit; if (relay.data.title){ var sDate=relay.data.title; var ireg=/[^\s]* \d\d, \d\d\d\d/ig; var nulli=/thisshouldreturnnull/; var stest=ireg.exec(sDate); if (stest!=nulli.exec("nope")){ ddate=stest; } } repData.data.date=_context.getDate(ddate); return repData; }, pdkListeners:["companion_ad","OnMediaStart","OnPlayerLoaded","OnReleaseStart","OnMediaPlaying","OnMediaLoadStart","OnMediaEnd","OnMediaPause","OnMediaPlay","OnMediaSeek"], initpdkMethods:function(){ try { var ksg = window.localStorage.kxsegs; var kuid = window.localStorage.kxuser; $pdk.controller.setVariable({'ksg': ksg, 'kuid': kuid}); } catch (e) { console.log("Failed to load Krux localStorage values. \n" + e) } var context=_context; var ctx=context.ViewRenderer.getVersion(); this.pdkMethods={}; this.pdkMethods.companion_ad=function(relay){ if (relay.data&&relay.data.holderId){ var adDiv=""; switch(relay.data.holderId){ case "ad_728x90_1": adDiv=document.getElementById("msnbc_companion_header_1"); break; case "ad_120x60_1": adDiv=document.getElementById("msnbc_companion_logo"); break; case "ad_300x250_1": adDiv=document.getElementById("VPNT_1"); break; case "ad_300x60_1": adDiv=document.getElementById("VPNT_2"); break; } if (adDiv){ adDiv.innerHTML=relay.data.message; } } }; this.pdkMethods.OnReleaseStart=function(relay){ context.percent100=false; context.percent75=false; context.percent50=false; context.percent25=false; ctx.setReportData(relay); }; this.pdkMethods.OnPlayerLoaded=function(relay){ }; this.pdkMethods.OnMediaStart=function(relay){ if (relay.data.baseClip.isAd){ context.currentlyIsAd=true; var reportData=ctx.normalizeReportData("videoAdStart",relay,true); context.triggerEvent("report",reportData); context.triggerEvent("adStart",{eventType:"adStart",mpxId:reportData.mpxId,data:{}}); } else{ if (!context.firstStreamCall){ var reportData=ctx.normalizeReportData("videoStreamStart",relay,false); context.firstStreamCall=true; reportData.reportType="videoStreamStart"; context.triggerEvent("report",reportData); } var reportData=ctx.normalizeReportData("videoSegmentStart",relay,false); context.triggerEvent("report",reportData); context.triggerEvent("videoStart",{eventType:"videoStart",mpxId:reportData.mpxId,data:{}}); context.currentlyIsAd=false; } }; this.pdkMethods.OnMediaEnd=function(relay){ if (relay.data.baseClip.isAd){ context.currentlyIsAd=true; var reportData=ctx.normalizeReportData("videoAdEnd",relay,true); context.triggerEvent("report",reportData); context.triggerEvent("adEnd",{eventType:"adEnd",mpxId:reportData.mpxId,data:{}}); } else{ var reportData=ctx.normalizeReportData("videoSegmentEnd",relay,false); context.triggerEvent("report",reportData); context.triggerEvent("videoSegmentEnd",{eventType:"videoSegmentEnd",mpxId:reportData.mpxId,data:{}}); context.currentlyIsAd=false; if (context.percent100){ var reportData=ctx.normalizeReportData("videoEnd",relay,false); context.triggerEvent("report",reportData); context.triggerEvent("videoEnd",{eventType:"videoEnd",mpxId:reportData.mpxId,data:{}}); } } }; this.pdkMethods.OnMediaPause=function(relay){ if (context.currentlyIsAd){ var reportData=ctx.normalizeReportData("videoAdPause",relay,true); context.triggerEvent("report",reportData); context.triggerEvent("videoPause",{eventType:"videoPause",mpxId:reportData.mpxId,data:{type:"videoPause"}}); } else{ var reportData=ctx.normalizeReportData("videoPause",relay,false); context.triggerEvent("report",reportData); context.triggerEvent("videoPause",{eventType:"videoPause",mpxId:reportData.mpxId,data:{type:"videoPause"}}); } }; this.pdkMethods.OnMediaPlay=function(relay){ var reportData=ctx.normalizeReportData("videoResume",relay,false); context.triggerEvent("videoResume",{eventType:"videoResume",mpxId:reportData.mpxId,data:{type:"videoResume"}}); }; this.pdkMethods.OnMediaSeek=function(relay){ var reportData=ctx.normalizeReportData("videoScrub",relay,false); context.triggerEvent("report",reportData); context.triggerEvent("videoScrub",{eventType:"videoScrub",mpxId:reportData.mpxId,data:{type:"videoScrub"}}); }; this.pdkMethods.OnMediaPlaying=function(relay){ if ((context.currentlyIsAd)||this.lastPercent===Math.floor(relay.data.percentCompleteAggregate)){ return; } this.lastPercent=Math.floor(relay.data.percentCompleteAggregate); switch(true){ case (relay.data.percentCompleteAggregate>98)&&(!context.percent100): context.percent100=true; var reportData=ctx.normalizeReportData("video100Complete",relay,false); context.triggerEvent("report",reportData); break; case (relay.data.percentCompleteAggregate>75)&&(!context.percent75): context.percent75=true; var reportData=ctx.normalizeReportData("video75Complete",relay,false); context.triggerEvent("report",reportData); break; case (relay.data.percentCompleteAggregate>50)&&(!context.percent50): context.percent50=true; var reportData=ctx.normalizeReportData("video50Complete",relay,false); context.triggerEvent("report",reportData); break; case (relay.data.percentCompleteAggregate>25)&&(!context.percent25): context.percent25=true; var reportData=ctx.normalizeReportData("video25Complete",relay,false); context.triggerEvent("report",reportData); break; } }; this.pdkMethods.OnMediaLoadStart=function(relay){ }; }, callbacks:[] } }, //viewrender getVersion:function(version){ if (!version){ version=this.currentVersion; } if (!this.versions[version]){ version="default"; } return this.versions[version]; }, getViewport:function(version,params,qvals){ if (!qvals){ qvals=""; } if (this.rootContext.account!="dev"){ this.rootContext.account="prod"; } if (!params){ return this.getVersion(version).account[this.rootContext.account].player+qvals; } else{ return this.getVersion(version).account[this.rootContext.account].player+params+this.getVersion(version).account[this.rootContext.account].params+qvals; } }, getVersionHost:function(version){ return this.getVersion(version).playerHost; }, addPdkListeners:function(player){ var context=this; if (!context.rootContext.ViewRenderer.getVersion().pdkMethods){ context.rootContext.ViewRenderer.getVersion().initpdkMethods(); } var len=context.rootContext.ViewRenderer.getVersion().pdkListeners.length; for (var i=0;i0){ for (var listitem=0;listitem0){ var cheklen=urlparts.length-1; var subCheck=true; var iparts=aParts.length-1; while(iparts>-1){ var partsMatch=aParts[iparts]==urlparts[cheklen]; var wildMatch=urlparts[cheklen]=="*"; subCheck=(partsMatch||wildMatch)&&subCheck; iparts--; cheklen=Math.max(0,cheklen-1); } trust=subCheck; if (subCheck){ return trust; } } else{ if (splitList[listitem]==="*"){ trust=true; } } } } return trust; }, isExclude:function(ref){ var trust=true; var list=_context.ttr; var tx=new RegExp(ref,"ig"); trust=!(tx.exec(list)!=null); return trust; }, verify:function(){ var tf=false; if (_context.mode.toLowerCase()!="embed"){ return true; } try{ var ref=document.referrer; ref+="/"; // var rx=/:\/\/(.*)\//ig; var rx=/:\/\/([^\/]*)\//ig; var refEx=rx.exec(ref); if (refEx&&(refEx.length>0)&&refEx[1]){ ref=refEx[1].replace("/",""); } else{ ref=""; } if (_context.bl){ tf= this.isExclude(ref); } else{ tf=this.isInclude(ref); } } catch(err){ console.log(err); } return tf; }, loadViewport:function(version, cb,params,qvals){ this.removePdkListeners(this.rootContext.player); this.playHost=this.getVersionHost(version); this.rootContext.CommunicationsModule.registerWindowHandler(cb); if (this.frameCount){ this.frameCount++; } else{ this.frameCount=0; } this.frame.id="frame"+version+this.frameCount; if (!this.verify()){ this.frame.src=_context.xp; return false; } this.frame.src=this.getViewport(version,params,qvals); this.rootContext.player=$pdk.bind(this.frame.id); //if (!this.pdkEventsBound){ this.pdkEventsBound=true; var context=this.rootContext; this.addPdkListeners(this.rootContext.player); }, setCallback:function(cbObj){ var version=this.rootContext.ViewRenderer.getVersion(cbObj.version).callbacks; if (!version[cbObj.methodListener]){ version[cbObj.methodListener]=new Array(); } version[cbObj.methodListener][version[cbObj.methodListener].length]=cbObj.callback; }, triggerEvent:function(methodType,data){ var cb=this.rootContext.ViewRenderer.getVersion("common").callbacks[methodType]; if (cb&&cb.length){ for (var citem=0;citem-1){ returnObj[splitItem]=this.deserialize(objItem,depth+2); } else{ returnObj[splitItem]=objItem; } } } return returnObj; }, serialize:function(obj,depth){ if(!depth){ depth=0; } var str=""; for (var item in obj){ var objItem=obj[item]; if (typeof(objItem)==="object"){ if (objItem[0]){ objItem=objItem.join(","); } else{ objItem=this.serialize(objItem,depth+2); } } str+=item+this.getDelimiter(depth)+objItem+this.getDelimiter(depth+1); } return str; }, main:function(){ this.registerWindowHandler() ; }, SendNBCEvent: function(methodType, sData){ sData.methodType=methodType; var passString=this.serialize(sData); window.parent.postMessage(passString,this.frameHost); }, registerWindowHandler:function(cb) { var context=this; if (!context.frameListenerInitialize){ if (typeof(window.addEventListener) ==='undefined') { window.attachEvent('onmessage', function(e){context.handlemessage(e);}); } else { window.addEventListener('message', function(e){context.handlemessage(e);}, false); } context.frameListenerInitialize=true; } } }; PlayerCoordinator.SetModule("ViewRenderer",ViewRenderer); PlayerCoordinator.SetModule("CommunicationsModule",CommunicationsModule); PlayerCoordinator.SetModule("playerMethods",playerMethods); //set Public Methods PlayerCoordinator.init=function(elementId){ this.playerElement=document.getElementById(elementId); this.playerElement.innerHTML=""; this.imageHolder=document.getElementById("msnbcplayerholderimage"); this.ViewRenderer.init(this.playerElement); }; PlayerCoordinator.setAuthToken=function(token){ $pdk.controller.setToken(token, 'authToken'); _context.isAuth=true; this.playerMethods.ensureAutoPlay(); }; PlayerCoordinator.playVideo=function(playDefinition){ if (!playDefinition){ this.playerMethods.play(); return; } if (playDefinition.videoInit){ this.ViewRenderer.getVersion(playDefinition.player.toLowerCase()).userInit=playDefinition.videoInit; } var context=this; context.currentId=playDefinition.videoId; switch (playDefinition.player.toLowerCase()){ case "tve": context.playerMethods.loadTVEEntry({},playDefinition.player); break; case "msnbc2": context.playerMethods.loadMSNBC2Entry({},playDefinition.player,playDefinition.siteSection); break; case "msnbctv": context.playerMethods.loadMsnbctvEntry({videoId:playDefinition.videoId},playDefinition.player); break; case "msnbctvvod": context.playerMethods.loadMsnbctvEntry({videoId:playDefinition.videoId},playDefinition.player); break; default: var cb=function(entry){ context.playerMethods.loadEntry(entry,playDefinition.player,playDefinition.siteSection); }; if (playDefinition.idType!="mpxid"){ this.playerMethods.callMPXByGuid(playDefinition.videoId,cb,playDefinition.player); } else{ this.playerMethods.callMPXByMPXID(playDefinition.videoId,cb,playDefinition.player); } break; } }; PlayerCoordinator.loadVideo=function(playDefinition){ }; PlayerCoordinator.pause=function(){ this.playerMethods.pause(); }; PlayerCoordinator.resume=function(){ this.playerMethods.play(); }; PlayerCoordinator.getType=function(){ return this.ViewRenderer.currentVersion; }; PlayerCoordinator.setShow=function(showToSet,titleToSet,version){ this.ViewRenderer.setShow(showToSet,titleToSet,version); }; PlayerCoordinator.addEventListener=function(eventType,callBack){ this.ViewRenderer.setCallback({ version:"common", methodListener:eventType, callback:callBack }); }; PlayerCoordinator.triggerEvent=function(eventType,obj){ this.ViewRenderer.triggerEvent(eventType,obj); }; PlayerCoordinator.playerElement={}; PlayerCoordinator.account="prod"; })();