var lang={PLAY:"Play",STOP:"Stop",PAUSE:"Pause",LOADING_AD:"Loading Advertisement",ERROR:"Error",VOLUME:"Volume",MUTE:"Mute",SHARE:"Share",ENHANCED:"ENLARGE VIDEO",GET_SL: "Get Silverlight",PLAY_STATES:["Undefined","Stopped","Paused","Playing","Scan Forward","Scan Reverse","Buffering","Waiting","Media Ended","Transitioning","Ready","Reconnecting"],SEND_2_FRIEND:"Send To A Friend",REQUIRED:"Required",FRIEND_EMAIL:"Your friend's email",YOUR_EMAIL:"Your email",VALID_EMAIL:"Please enter a valid email address.",SEND:"Send",VIDEO_LINK:"Video Link",COPY_LINK:"Copy Link",GRAB_CHANNEL:"Grab Channel",GRAB_VIDEO:"Grab Video",REPLAY:"Replay",SHARE_COMPLETE_VIDEO_SENT:"Your video has been sent.",SHARE_COMPLETE_CLICK_HERE:"Click here",SHARE_COMPLETE_SEND_ANOTHER:"to send another,",CLOSE:"Close",POPUP:"Pop Up"}
var RTMBUILD = "2.0.31005.0";function scomposeAssetID(a){if(a===undefined||a==null||a=='')return'';a=a.toString();var t='',i,c=0,l=a.length;for(i=0;i<l;i++){t+=a.charAt(i);c++;if(c==4){c=0;t+='/';}}return t;}var Trace=Class.create ({initialize:function(container){},log:function(message){},warning:function(message){},error:function(message){},_write:function(message){}});var TimeCode ={fromDate:function(dtTimeCode){var formatTC='[' + TimeCode.padleft(dtTimeCode.getUTCDate(),'0',2) + ':' +TimeCode.padleft(dtTimeCode.getUTCMonth() + 1,'0',2) + ':' +dtTimeCode.getFullYear() + ']' +TimeCode.padleft(dtTimeCode.getUTCHours(),'0',2) + ':' +TimeCode.padleft(dtTimeCode.getUTCMinutes(),'0',2) + ':' +TimeCode.padleft(dtTimeCode.getUTCSeconds(),'0',2) + ':' +TimeCode.padleft(dtTimeCode.getUTCMilliseconds(),'0',3);return formatTC;},toDate:function(timeCode){if(timeCode===undefined||timeCode==null) return undefinedif(timeCode.length==20) {timeCode+=".000"}if(timeCode.length!=24) return undefinedtimeCode=timeCode.replace(']',':');timeCode=timeCode.replace('[','');timeCode=timeCode.replace('.',':');var parts=timeCode.split(':');var years=parts[2];var months=parts[1];var days=parts[0];var hours=parts[3];var minutes=parts[4];var seconds=parts[5];var milliseconds=parts[6];var timeCodeDate=new Date();timeCodeDate.setUTCFullYear(parseInt(years,10));timeCodeDate.setUTCMonth(parseInt(months,10)-1,days);timeCodeDate.setUTCHours(parseInt(hours,10));timeCodeDate.setUTCMinutes(parseInt(minutes,10));timeCodeDate.setUTCSeconds(parseInt(seconds,10));timeCodeDate.setUTCMilliseconds(parseInt(milliseconds,10));return timeCodeDate;},isInRange:function(tcToCheck,tcStart,tcEnd){if(TimeCode.toDate(tcToCheck)===undefined||TimeCode.toDate(tcStart)===undefined){console.error('TimeCode.isInRange:Error,dates undefined');return false}tcToCheck=TimeCode.toDate(tcToCheck).getTime();tcStart=TimeCode.toDate(tcStart).getTime();if(tcEnd===undefined||tcEnd==null){tcEnd=tcStart+10000;}else{tcEnd=TimeCode.toDate(tcEnd).getTime();}return (tcToCheck>=tcStart&&tcToCheck<=tcEnd);},canDisplay:function(lastTC,liTC){if(TimeCode.toDate(lastTC)===undefined||TimeCode.toDate(liTC)===undefined)return falsereturn(TimeCode.toDate(lastTC).getTime()>=TimeCode.toDate(liTC).getTime());},isValidForRewind:function(lastTC,elTC){if(TimeCode.toDate(lastTC)===undefined||TimeCode.toDate(elTC)===undefined)return falsereturn(TimeCode.toDate(lastTC).getTime()<=(TimeCode.toDate(elTC).getTime()+2500));},padleft:function(val,ch,num) {var re=new RegExp(".{" + num + "}$");var pad="";if(!ch) ch=" ";do {pad += ch;}while(pad.length<num);return re.exec(pad + val);},padright:function(val,ch,num){var re=new RegExp("^.{" + num + "}");var pad="";if(!ch) ch=" ";do {pad += ch;} while (pad.length<num);return re.exec(val + pad);}};if(!Control){var Control={}}Control.Slider=Class.create({initialize:function(D,A,B){var C=this;if(Object.isArray(D)){this.handles=D.collect(function(E){return $(E)})}else{this.handles=[$(D)]}this.track=$(A);this.options=B||{};this.axis=this.options.axis||"horizontal";this.increment=this.options.increment||1;this.step=parseInt(this.options.step||"1");this.range=this.options.range||$R(0,1);this.value=0;this.values=this.handles.map(function(){return 0});this.spans=this.options.spans?this.options.spans.map(function(E){return $(E)}):false;this.options.startSpan=$(this.options.startSpan||null);this.options.endSpan=$(this.options.endSpan||null);this.restricted=this.options.restricted||false;this.maximum=this.options.maximum||this.range.end;this.minimum=this.options.minimum||this.range.start;this.alignX=parseInt(this.options.alignX||"0");this.alignY=parseInt(this.options.alignY||"0");this.trackLength=this.maximumOffset()-this.minimumOffset();this.handleLength=this.isVertical()?(this.handles[0].offsetHeight!=0?this.handles[0].offsetHeight:this.handles[0].style.height.replace(/px$/,"")):(this.handles[0].offsetWidth!=0?this.handles[0].offsetWidth:this.handles[0].style.width.replace(/px$/,""));this.active=false;this.dragging=false;this.disabled=false;if(this.options.disabled){this.setDisabled()}this.allowedValues=this.options.values?this.options.values.sortBy(Prototype.K):false;if(this.allowedValues){this.minimum=this.allowedValues.min();this.maximum=this.allowedValues.max()}this.eventMouseDown=this.startDrag.bindAsEventListener(this);this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.update.bindAsEventListener(this);this.handles.each(function(F,E){E=C.handles.length-1-E;C.setValue(parseFloat((Object.isArray(C.options.sliderValue)?C.options.sliderValue[E]:C.options.sliderValue)||C.range.start),E);F.makePositioned().observe("mousedown",C.eventMouseDown)});this.track.observe("mousedown",this.eventMouseDown);document.observe("mouseup",this.eventMouseUp);document.observe("mousemove",this.eventMouseMove);this.initialized=true},dispose:function(){var A=this;Event.stopObserving(this.track,"mousedown",this.eventMouseDown);Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);this.handles.each(function(B){Event.stopObserving(B,"mousedown",A.eventMouseDown)})},setDisabled:function(){this.disabled=true},setEnabled:function(){this.disabled=false},getNearestValue:function(A){if(this.allowedValues){if(A>=this.allowedValues.max()){return(this.allowedValues.max())}if(A<=this.allowedValues.min()){return(this.allowedValues.min())}var C=Math.abs(this.allowedValues[0]-A);var B=this.allowedValues[0];this.allowedValues.each(function(D){var E=Math.abs(D-A);if(E<=C){B=D;C=E}});return B}if(A>this.range.end){return this.range.end}if(A<this.range.start){return this.range.start}return A},setValue:function(B,A){if(!this.active){this.activeHandleIdx=A||0;this.activeHandle=this.handles[this.activeHandleIdx];this.updateStyles()}A=A||this.activeHandleIdx||0;if(this.initialized&&this.restricted){if((A>0)&&(B<this.values[A-1])){B=this.values[A-1]}if((A<(this.handles.length-1))&&(B>this.values[A+1])){B=this.values[A+1]}}B=this.getNearestValue(B);this.values[A]=B;this.value=this.values[0];this.handles[A].style[this.isVertical()?"top":"left"]=this.translateToPx(B);this.drawSpans();if(!this.dragging||!this.event){this.updateFinished()}},setValueBy:function(B,A){this.setValue(this.values[A||this.activeHandleIdx||0]+B,A||this.activeHandleIdx||0)},translateToPx:function(A){return Math.round(((this.trackLength-this.handleLength)/(this.range.end-this.range.start))*(A-this.range.start))+"px"},translateToValue:function(A){return((A/(this.trackLength-this.handleLength)*(this.range.end-this.range.start))+this.range.start)},getRange:function(B){var A=this.values.sortBy(Prototype.K);B=B||0;return $R(A[B],A[B+1])},minimumOffset:function(){return(this.isVertical()?this.alignY:this.alignX)},maximumOffset:function(){return(this.isVertical()?(this.track.offsetHeight!=0?this.track.offsetHeight:this.track.style.height.replace(/px$/,""))-this.alignY:(this.track.offsetWidth!=0?this.track.offsetWidth:this.track.style.width.replace(/px$/,""))-this.alignX)},isVertical:function(){return(this.axis=="vertical")},drawSpans:function(){var A=this;if(this.spans){$R(0,this.spans.length-1).each(function(B){A.setSpan(A.spans[B],A.getRange(B))})}if(this.options.startSpan){this.setSpan(this.options.startSpan,$R(0,this.values.length>1?this.getRange(0).min():this.value))}if(this.options.endSpan){this.setSpan(this.options.endSpan,$R(this.values.length>1?this.getRange(this.spans.length-1).max():this.value,this.maximum))}},setSpan:function(B,A){if(this.isVertical()){B.style.top=this.translateToPx(A.start);B.style.height=this.translateToPx(A.end-A.start+this.range.start)}else{B.style.left=this.translateToPx(A.start);B.style.width=this.translateToPx(A.end-A.start+this.range.start)}},updateStyles:function(){this.handles.each(function(A){Element.removeClassName(A,"selected")});Element.addClassName(this.activeHandle,"selected")},startDrag:function(C){if(Event.isLeftClick(C)){if(!this.disabled){this.active=true;var D=Event.element(C);var E=[Event.pointerX(C),Event.pointerY(C)];var A=D;if(A==this.track){var B=Position.cumulativeOffset(this.track);this.event=C;this.setValue(this.translateToValue((this.isVertical()?E[1]-B[1]:E[0]-B[0])-(this.handleLength/2)));var B=Position.cumulativeOffset(this.activeHandle);this.offsetX=(E[0]-B[0]);this.offsetY=(E[1]-B[1])}else{while((this.handles.indexOf(D)==-1)&&D.parentNode){D=D.parentNode}if(this.handles.indexOf(D)!=-1){this.activeHandle=D;this.activeHandleIdx=this.handles.indexOf(this.activeHandle);this.updateStyles();var B=Position.cumulativeOffset(this.activeHandle);this.offsetX=(E[0]-B[0]);this.offsetY=(E[1]-B[1])}}}Event.stop(C)}},update:function(A){if(this.active){if(!this.dragging){this.dragging=true}this.draw(A);if(Prototype.Browser.WebKit){window.scrollBy(0,0)}Event.stop(A)}},draw:function(B){var C=[Event.pointerX(B),Event.pointerY(B)];var A=Position.cumulativeOffset(this.track);C[0]-=this.offsetX+A[0];C[1]-=this.offsetY+A[1];this.event=B;this.setValue(this.translateToValue(this.isVertical()?C[1]:C[0]));if(this.initialized&&this.options.onSlide){this.options.onSlide(this.values.length>1?this.values:this.value,this)}},endDrag:function(A){if(this.active&&this.dragging){this.finishDrag(A,true);Event.stop(A)}this.active=false;this.dragging=false},finishDrag:function(A,B){this.active=false;this.dragging=false;this.updateFinished()},updateFinished:function(){if(this.initialized&&this.options.onChange){this.options.onChange(this.values.length>1?this.values:this.value,this)}this.event=null}});pagePlayer=null;var _trackingNielsenIMG=null;var PlayerContainer=Class.create({m_vpc:undefined,m_option:undefined,m_assetID:undefined,m_SLLoaded:undefined,m_pe:undefined,m_SLInitTime:1500,m_DataPollingInterval:10,m_video:undefined,m_forceCache:false,m_fakePlayer:false,m_vjson:undefined,m_config:undefined,m_prerollplayed:false,m_enhanced:false,m_lastTC:'',m_lastPbPID:-1,m_lastComID:-1,m_lastPbPPos:-1,m_lastComPos:-1,m_latestADV:'',m_changedADV:true,m_alertpe:undefined,m_lastAlert:-1,m_skippedStart:false,m_adCommuted:false,m_lastOnMainPanel:'',m_limitedTracking:false,m_noTracking:false,m_ign:true,m_debug:false,localizationRequired:true,localizationForced:false,initialize:function(playerOption) {pagePlayer=this;try{if(Cookie.get("DBG")=='debug') this.m_debug=true;}catch(e){}this.m_option=playerOption;if(this.m_option.player===undefined){this.m_option=Object.extend({player:""},this.m_option);}Object.extend(this.m_option,{userDisplayName:"",userEmail:""});var config = {advBase:"http://ad.doubleclick.net/pfadx/nbcu.olympics/",cmpBase:"http://ad.doubleclick.net/adi/nbcu.olympics/",prerollKeyword:"",midrollKeyword:"",postrollKeyword:"",day:"16"};
this.m_config=config;this.m_SLLoaded=false;if(this.m_option.mode=="popup"){Event.observe(window,'resize',this.onResize.bind(this));this._initTabs();if(this.m_option.player=="sl")this.m_vpc= new SilverlightPlaybackComponent (this.m_option,this.m_config,this);else if(this.m_option.player=="wmp")this.m_vpc= new WMPPlaybackComponent (this.m_option,this.m_config,this);elsereturn;try{$('PlayerMasterContainer').addClassName('PlayerMasterContainerInitialized');}catch(ex){}this.m_vpc.registerEvent ('onplayerstatuschange',this.onPlayerStatusChange.bind(this));this.m_vpc.registerEvent ('onnextvideorequested',this.onNextVideoRequested.bind(this));this.m_vpc.registerEvent ('onvideorequested',this.onVideoRequested.bind(this));this.m_vpc.registerEvent ('onplayeraspectchange',this.onPlayerAspectChange.bind(this));this.m_vpc.registerEvent ('onadvertplaying',this.onAdvertPlaying.bind(this));this.m_vpc.registerEvent ('onvideofinish',this.onVideoFinish.bind(this));this.m_vpc.registerEvent ('onemail',this.sendToFriend.bind(this));this.m_vpc.registerEvent ('onplaybackpointreached',this.onPlaybackPointReached.bind(this));this.m_vpc.registerEvent ('onseek',this.onSeek.bind(this));this.m_alertpe=new PeriodicalExecuter(this.onAlertPolling.bind(this),this.m_DataPollingInterval * 4)}else if(this.m_option.mode=="backend"){if(this.m_option.player=="wmp")this.m_vpc= new WMPPlaybackComponent (this.m_option,this.m_config,this);elsethis.m_vpc= new SilverlightPlaybackComponent (this.m_option,this.m_config,this);this.m_vpc.registerEvent ('onplayerstatuschange',this.onPlayerStatusChange.bind(this));}else {if(this.m_option.player=="sl")this.m_vpc= new SilverlightPlaybackComponent (this.m_option,this.m_config,this);else if(this.m_option.player=="wmp")this.m_vpc=new WMPPlaybackComponent (this.m_option,this.m_config,this);elsereturn;this.m_vpc.registerEvent ('onadvertplaying',this.onAdvertPlaying.bind(this));this.m_vpc.registerEvent ('onvideofinish',this.onVideoFinish.bind(this));this.m_vpc.registerEvent ('onplaybackpointreached',this.onPlaybackPointReached.bind(this));this.m_vpc.registerEvent ('onvideorequested',this.onVideoRequested.bind(this));this.m_vpc.registerEvent ('onemail',this.sendToFriend.bind(this));}},getAssetID:function(){var queryString=window.location.toString();return queryString.toQueryParams()['assetid'];},loadVideo:function(lVideoID,renderer,position,quality){if(lVideoID===undefined||lVideoID==null)return;if(renderer===undefined||renderer==null||renderer==0){renderer=0;try{if(this.m_lastOnMainPanel.toLowerCase()!=lVideoID.toLowerCase()){$('pbp_buffer').update('');$('nav_buffer').update('');if(this.m_pe!==undefined){this.m_pe.stop();this.m_pe=undefined;}$$('#com_predisplay ul')[0].update('');$$('#pbp_predisplay ul')[0].update('');}}catch(e){}}var vPlayParam={vAsset:lVideoID,vRenderer:renderer,vPosition:position,vQuality:quality,vJson:null};if(vPlayParam.vRenderer==0)this.m_assetID=lVideoID;if(this.m_SLLoaded==true||this.m_SLInitTime<=0){this.loadVideoJSON(vPlayParam);}else{setTimeout (this.loadVideoJSON.bind(this,vPlayParam),this.m_SLInitTime);}},getJSONUrl:function(assetID){var u='/video/modules/json/resourcedata/'+scomposeAssetID(assetID)+'/asset.html';if(this.m_option.mode=='backend') u='/code/video/ebo/json/json.aspx?assetid='+assetID;if(this.m_ign) u+='?ign='+Math.random();return u;},loadVideoJSON:function(vPlayParam){var u=this.getJSONUrl(vPlayParam.vAsset.toString())this.m_SLLoaded=true;new Ajax.Request(u,{method:"get",onSuccess:this.onVideoLoadedPlay.bind(this,vPlayParam)});},searchVideoInChannel:function(assetToFind){var videoFound=false;var ali=$$('#navigationListItems li')ali.each(function(n){try{if(assetToFind==n.readAttribute('assetid')){videoFound=true;n.addClassName('popupCurrentVideo');if(popup.scrollEnabled){n.scrollIntoView (false);}}elsen.removeClassName('popupCurrentVideo');}catch(ex){}})popup.scrollEnabled=false;if(!videoFound&&ali.length>0){ali[0].scrollIntoView ();}},onVideoLoadedPlay:function(vPlayParam,transport){var pV=this.m_video;var vd=this.preProcessJSON(vPlayParam,transport.responseText);if(vd===undefined||vd==null) return;vPlayParam.vJson=vd;if(vPlayParam.vRenderer==0){if(this.m_lastOnMainPanel==vPlayParam.vAsset){this.setVideo(vPlayParam.vJson,vPlayParam.vRenderer,vPlayParam.vPosition,vPlayParam.vQuality);if(vPlayParam.vJson.type.indexOf("rewind")>=0&&vPlayParam.vRenderer==0) {this.m_tc='';this.m_lastTC='';this.m_lastPbPID=-1;this.m_lastComID=-1;}return;}this.m_lastOnMainPanel=vPlayParam.vAsset;if(this.m_option.mode=='popup')this.loadPanelsWaitScreen();this.m_video=vd;}this.loadMetrics(vd);if(this.m_option.onJSONLoaded!=null&&this.m_option.onJSONLoaded!=undefined){this.m_option.onJSONLoaded(vd);}if(this.m_fakePlayer){var $cont=new Element("div").addClassName("playerFC");$cont.observe("click",this.onFakePlayerClick.bind(this));if(this.m_option.size=="small"){$cont.addClassName("small");}else{$cont.addClassName("large");}$(this.m_option.containerElement).update();$(this.m_option.containerElement).insert($cont);}else{if(this.m_option.mode=="popup"){if(vPlayParam.vRenderer==0){this.redrawPanels();this.searchVideoInChannel(vPlayParam.vAsset);}if(vPlayParam.vJson.type.indexOf("live")>=0&&vPlayParam.vRenderer==0){this.m_tc='';this.m_lastTC='';this.m_lastPbPID=-1;this.m_lastComID=-1;this.m_lastADV=-1;if(this.m_pe!==undefined) this.m_pe.stop();this.m_pe=new PeriodicalExecuter(this.onDataTimerLive.bind(this),this.m_DataPollingInterval);setTimeout(this.onDataTimerLive.bind(this),0); }if(vPlayParam.vJson.type.indexOf("rewind")>=0&&vPlayParam.vRenderer==0){this.m_tc='';this.m_lastTC='';this.m_lastPbPID=-1;this.m_lastComID=-1;this.InitRewind(); }}this.setVideo(vPlayParam.vJson,vPlayParam.vRenderer,vPlayParam.vPosition,vPlayParam.vQuality);}},onFakePlayerClick:function() {$(this.m_option.containerElement).update ('');if(Cookie.get("nbcovp")==="wmp"){this.m_vpc= new WMPPlaybackComponent (this.m_option,this.m_config,this);this.setVideo(this.m_video,0,0);this.play();}else {var d=new videoPlaybackDetection("embedded",this.onFakePlayerClickCallBack.bind(this),this.m_option.setupElement);}},onFakePlayerClickCallBack:function(plugin){if(plugin=="wmp")this.m_vpc= new WMPPlaybackComponent (this.m_option,this.m_config,this);elsethis.m_vpc= new SilverlightPlaybackComponent (this.m_option,this.m_config,this);this.setVideo(this.m_vjson,0,0);this.play();},setVideo:function(video,renderer,position,quality){if(renderer===undefined)renderer=0;if(position===undefined)position=0;try{if((video.streams.SeekAbsolute!="")&&(position==0)){var posSeek=parseInt(video.streams.SeekAbsolute);if(posSeek>0){position=posSeek;}}}catch(ex){}if(quality===undefined)quality=1; if(playerGeoSetting.checkVideo(video)){this.m_vpc.setVideo(video,renderer,position,quality);}else{this.m_vpc.$player.Content.SLPlayer.ShowUserMessage(2,"We're sorry,NBC is required to restrict this video to viewers within the United States",renderer);}},play:function(){this.m_vpc.play();},pause:function(){this.m_vpc.pause();},setPosition:function(pos){this.m_vpc.setPosition(pos);},onVideoChange:function(video) {},onNextVideoRequested:function(renderer) {},onVideoRequested:function(assetID,renderer,position,quality) {this.loadVideo(assetID,renderer,position,quality);},onVideoFinish:function(video){this.trackEvent(video,"video-complete");if(this.m_option.mode=="embedded"&&this.m_video.olympicContent=="1"){this.m_adCommuted=false;advManager.refresh()}},onSeek:function(){if(this.m_option.mode=="popup"&&(this.m_video.type.indexOf("live")>=0||this.m_video.type.indexOf("rewind")>=0)){this.m_lastTC='';this.m_lastPbPPos=-1;this.m_lastComPos=-1;$$("#pbp_predisplay ul")[0].update('');$$("#com_predisplay ul")[0].update('');if($('liveCommentary').hasClassName('current')){$('rigthPanelInnerContent').update($('panelLoaderTemplate').innerHTML);}if($('liveRes').hasClassName('current')){$('leftPanelInnerContent').update($('panelLoaderTemplate').innerHTML);}}},onPlayerStatusChange:function(playerStatus){setTimeout (this.onPlayerStatusChangeCall.bind(this,playerStatus),0);},onPlayerStatusChangeCall:function(playerStatus){if(playerStatus.status=='play'){this.m_tc=playerStatus.tc;if(this.m_debug){console.log(playerStatus.tc);$('txtSearch').value=playerStatus.tc;}if(this.m_option.mode=="popup"){if(this.m_video.type.indexOf("live")>=0)this.diplayLiveData();if(this.m_video.type.indexOf("rewind")>=0)this.diplayRewindData();}if(this.e_onTimeCodeChanged!=undefined&&this.e_onTimeCodeChanged!=null)this.e_onTimeCodeChanged(playerStatus.tc);}},onResize:function(){if(!this.m_enhanced)return;$('videoContainer').style.height='558px';},onPlayerAspectChange:function(playerAspect) {if(playerAspect==2){$('videoNavigation').show();$('companionAd').show();$('relatedContent').show();$('companionAdContainer').show();if(this.safari)$('videoContainer').style.height ='390px';else$('videoContainer').style.height ='400px';$('videoContainer').style.width='634px';$('PlayerMasterContainer').removeClassName('enhanced');this.m_enhanced=false;}else{$('videoNavigation').hide();$('companionAd').hide();$('relatedContent').hide();$('companionAdContainer').hide();$('PlayerMasterContainer').addClassName('enhanced');$('videoContainer').style.width='100%';this.m_enhanced=true;}try{var m=this.m_option.mode+" "+this.m_option.player;if(this.m_enhanced)m="Enhanced";s_setProp(31,m);}catch(e){}var dCl=(this.m_enhanced?"LBOARD":"MREC")if(!this.m_changedADV)return;try{if(this.m_latestADV===undefined||this.m_latestADV==null||this.m_latestADV==''){var u=this.m_config.cmpBase+this.postProcessADV(this.m_video.adverts.prerollCompanion)u+=";ord="+(Math.random()*1000000000)+'?'if(this.m_enhanced){u=advManager._addKey(u,"sz=728x90");advManager._renderIFrame("eADV",90,728,u);}else{u=advManager._addKey(u,"sz=300x250");advManager._renderIFrame("companionAd",250,300,u);}}else{var u=advManager._removeKey(this.m_latestADV,"sz");if(this.m_enhanced)u=advManager._addKey(u,"sz=728x90");elseu=advManager._addKey(u,"sz=300x250");advManager.refreshPopupVideo(u,true,dCl)}}catch(ex){}this.m_changedADV=false;},onAdvertPlaying:function(type,compTag) {if(type=='video-start'&&!this.m_prerollplayed&&this.m_option.mode=="popup"){this.m_prerollplayed=true;var u=this.m_config.cmpBase+this.postProcessADV(this.m_video.adverts.prerollCompanion)u+=";sz=300x250;ord="+(Math.random()*1000000000)advManager._renderIFrame("companionAd",250,300,u);}if(type=='video-start'&&this.m_option.mode=="embedded"&&this.m_video.olympicContent=="1"&&!this.m_adCommuted){this.m_adCommuted=true;advManager.refreshEmbeddedVideo("");}if(type=='video-start'&&this.m_option.mode=="embedded"&&this.m_video.olympicContent=="0"&&this.m_skippedStart&&this.m_adCommuted==true){this.m_adCommuted=false;advManager.refresh();}if(type=='pre-roll'&&this.m_option.mode=="embedded"&&this.m_adCommuted){this.m_adCommuted=false;advManager.refresh()}if(type=='video-start'){this.m_skippedStart=true;this.trackEvent(this.m_video,type);return;}if(compTag===undefined||compTag==null||compTag=='') return;if(this.m_option.mode=="popup"){this.m_latestADV=compTag;this.m_changedADV=true;var dCl=(this.m_enhanced?"LBOARD":"MREC")if(type=='pre-roll'||type=='mid-roll'){if(type=='pre-roll'){this.m_prerollplayed=true;}advManager.refreshPopupVideo(compTag,true,dCl)}}if((type=='pre-roll'||type=='mid-roll')&&(this.m_option.mode=="embedded")){this.m_skippedStart=true;if(this.m_video.olympicContent=="0"){advManager.refreshEmbeddedVideo(compTag);}}this.trackEvent(this.m_video,type);},onPlaybackPointReached:function(type,value){if(type=="percent")this.trackEvent(this.m_video,type+value)if(type=="seconds"){this.trackIncrementor (this.m_video,type,value)}},sendToFriend:function(friendEmail,userEmail,userName,shareUrl,comment){var pd="";pd +="c_from="+escape(userEmail);pd +="&c_fromname="+escape((userName!="")?userName:userEmail);pd +="&c_to="+escape(friendEmail);pd +="&c_message="+escape(comment);pd +="&c_urln="+escape(shareUrl);pd +="&newsid="+this.m_video.videoID;pd +="&btn_Save=send";new Ajax.Request('/video/modules/_email.htmx?'+pd,{method:'get'});try{s.prop49="share";s.events="event3";s.tl(this,"o","share");}catch(e){ }},e_onTimeCodeChanged:undefined,registerEvent:function(sEventName,fnCallback){switch (sEventName.toLowerCase()){case 'ontimecodechanged':this.e_onTimeCodeChanged=fnCallback;break;}},loadMetrics:function(v){var i;v.metrics[20]=this.decodeText(v.metrics[20]);s.pageName=v.metrics[20];var nbcou=Cookie.get('NBCOU');for (i=0;i<v.metrics.length;i++){if(i==17){if(nbcou=='')s_setProp(18,"");}else if(i==28){if(this.m_enhanced)s_setProp(29,"true");else s_setProp(29,"false");}else if(i==30){var m=this.m_option.mode+" "+this.m_option.player;if(this.m_enhanced)m="Enhanced";s_setProp(31,m);}else{s_setProp(i+1,v.metrics[i]);}}s.eVar16=s.prop16;},trackEvent:function(v,ev){if(this.m_noTracking) return;if(v===undefined||v==null)v=this.m_video;s_initS();s.linkTrackVars='events';ev=ev.toLowerCase();var evName;if(ev=='pre-roll'||ev=='mid-roll'){if(ev=='mid-roll')this.trackingNielsen("end",v);return;}else if(ev=='video-start'){this.loadMetrics(v);evName="Video Start";s.doPlugins=s_doPlugins;this.trackingSetEvents(7);s.eVar1=s.prop1;s.eVar16=s.prop16;s.eVar18=s.prop18;s.eVar19=s.prop19;s.eVar20=s.prop20;s.eVar21=s.prop21;s.eVar27=s.prop27;s.eVar28=s.prop28;s.eVar31=s.prop31;s.eVar41=s.prop41;s.linkTrackVars='prop1,eVar1,prop16,eVar16,prop18,eVar18,prop19,eVar19,prop20,eVar20,prop21,eVar21,prop27,eVar27,prop28,eVar28,prop31,eVar31,prop41,eVar41,events';this.trackingNielsen("start",v);}else if(ev=='pre-roll-stop'){return;}else if(ev=='mid-roll-stop'){this.trackingNielsen("start",v);return;}else if(ev=='video-complete'){this.trackingNielsen("end",v);this.trackingSetEvents(12);evName="Video Complete";}else if(ev=='percent25'){return;}else if(ev=='percent50'){return;}else if(ev=='percent75'){return;}elsereturn; try{if(this.m_debug)console.log('tracking event ' + evName)}catch(e){}s.t();},trackIncrementor:function(v,type,value){if(this.m_limitedTracking) return;if(v===undefined||v==null)v=this.m_video;if(s.prop27!=v.videoID)this.loadMetrics(v);s.linkTrackVars='events,products';s.linkTrackEvents='event14';if(type=="seconds"){s.products=';;;;event14='+value;evName="Video Second Watched";this.trackingSetEvents(14);}else if(type=="email"){}elsereturn;s.t();},trackingSetEvents:function(){if(arguments.length==0)return;var i;for (i=0;i<arguments.length;i++){if(i==0){s.events="";s.linkTrackEvents="";}else{s.events+=",";s.linkTrackEvents+=",";}s.events +="event"+arguments[i];s.linkTrackEvents='event'+arguments[i];}},trackingNielsen:function(type,v){var dav="0"if(type=="end")dav="2"var iu='http:/'+'/secure-us.imrworldwide.com/cgi-bin/m?ci=us-800148';iu+='&tl=dav'+dav+'-'+escape(v.metrics[20]);iu+='&c6=vc,c04'+escape('');iu+='&cc=1';iu+='&rnd='+Math.ceil(Math.random()*1000000000);iu+='&cg=NBCOlympics';_trackingNielsenIMG=new Image();_trackingNielsenIMG.src=iu;},onAlertPolling:function(){new Ajax.Updater('alert_buffer','/live/video/alerts/alerts.html'+(this.m_forceCache?'?'+Math.random():''),{method:'get',onComplete:this.processAlerts.bind(this)});},processAlerts:function(){var ali=$$("#alert_buffer li");if(ali.length==0)return;if(this.m_lastAlert==-1){this.m_lastAlert=parseInt(ali[0].id);return;}var idx=0;for(idx=ali.length-1;idx>=0;idx--){var id=parseInt(ali[idx].id);if(id>this.m_lastAlert){this.m_lastAlert=id;var t=(ali[idx].textContent!==undefined?ali[idx].textContent:(ali[idx].innerText!==undefined?ali[idx].innerText:ali[idx].innerHTML));this.m_vpc.displayAlert(ali[idx].readAttribute('assetid'),t);}}}});PlayerContainer.addMethods({preProcessJSON:function(vPlayParam,jsonText){var v=JSON.parse(jsonText);var fmode=0;var fm=Cookie.get('VIDEOAUTHENTICATION')if(fm!==undefined&&fm!=null&&fm!=''){if(fm=='1')fmode=1;if(fm=='2')fmode=2;this.localizationRequired=true;}var bInPopup=false;if(popup!==undefined&&popup!=null&&popup.player!==undefined&&popup.player!=null){bInPopup=true;}else{VideoPlayerLocalization.initialize();}var z=Cookie.get('LOCZIP')if(z!==undefined&&z!=null&&z!=''){popup.savedRenderer=vPlayParam.vRenderer;popup.savedPosition=vPlayParam.vPosition;popup.savedQuality=vPlayParam.vQuality;popup.savedAssetID='69caa828-06d9-43d6-b9db-4e84731cf0c3';popupLocalization.startLocalization();return null;}else if(this.localizationRequired){if((v.type.indexOf('encore')!=-1||v.type.indexOf('live')!=-1||v.type.indexOf('rewind')!=-1)||(fmode>0)) {if(VideoPlayerLocalization.isBanned()){if(bInPopup) popupLocalization.showBanMessage();return null;}if(!VideoPlayerLocalization.isEnabled()){if(bInPopup){popup.savedRenderer=vPlayParam.vRenderer;popup.savedPosition=vPlayParam.vPosition;popup.savedQuality=vPlayParam.vQuality;popup.savedAssetID=v.streams.assetID;if(this.m_enhanced==true){this.m_vpc.setPlayerMode(2);}popupLocalization.startLocalization();}else{Cookie.set('LOCURL',escape(document.location.href));popupLocalization.OpenVideoLocalization();}return null;}else if(fmode==2){popup.savedRenderer=vPlayParam.vRenderer;popup.savedPosition=vPlayParam.vPosition;popup.savedQuality=vPlayParam.vQuality;popup.savedAssetID=v.streams.assetID;popupLocalization.startLocalization();return null;}}}v.title=this.decodeText(v.title);v.description=this.decodeText(v.description);if(v.streams.sl.high=='')v.streams.sl.high=v.streams.wmp.high;if(v.streams.sl.low=='')v.streams.sl.low=v.streams.wmp.low;if(v.streams.wmp.high=='')v.streams.wmp.high=v.streams.sl.high;if(v.streams.wmp.low=='')v.streams.wmp.low=v.streams.sl.low;if(popup!==undefined&&popup!=null&&popup.station!==undefined&&popup.station!=null&&popup.station!=''){v.shareUrl=v.shareUrl.gsub('/video/share.html','/'+popup.station+'/video/index.html')}if(StoryPageVideoPlayerStation!=''){v.shareUrl=v.shareUrl.gsub('/video/share.html','/'+StoryPageVideoPlayerStation+'/video/index.html')v.url=v.url+"&channelcode=st_"+StoryPageVideoPlayerStation;}try{var cQ=Cookie.get('PQ');if(cQ!==undefined&&cQ!=null&cQ=='L'&&v.streams.sl.low!=''){v.streams.sl.high=v.streams.sl.low;}if(cQ!==undefined&&cQ!=null&cQ=='P'&&v.streams.sl.pip!=''){v.streams.sl.high=v.streams.sl.pip;}}catch(e){}var a=v.adverts;a.prerollVideo=this.preProcessADV(a.prerollVideo,v);a.midrollVideo=this.preProcessADV(a.midrollVideo,v);a.postrollVideo=this.preProcessADV(a.postrollVideo,v);a.prerollCompanion=this.preProcessADV(a.prerollCompanion,v);a.midrollCompanion=this.preProcessADV(a.midrollCompanion,v);return v;},preProcessADV:function(tag,v){var s='320x240',z='';try{z=Localization.loadCookie().zip}catch(ex){}tag=tag.gsub('PLAYER',this.m_option.player).gsub('SIZE',s).gsub('ZIP',z);if(this.m_option.mode=="embedded")tag=tag.gsub('MODE',"embedded");try{if(this.m_option.mode=="popup"){if(popup.station!==undefined&&popup.station!=null&&popup.station!=''){tag=advManager._removeKey(tag,'area');tag+=";area=olympiczone"tag+=";ozone="+popup.station;}if(popup.isAdvOverrided&&v!==undefined&&v!=null){if(v.streams.assetID.toLowerCase()==popup.startAssetid.toLowerCase()){if(popup.advOverride!='local'){tag=advManager._removeKey(tag,'area');tag=advManager._removeKey(tag,'video');tag+=";video="+popup.advOverride;tag+=";area=specialtypackages";}}}}if(StoryPageVideoPlayerStation!=''){tag=advManager._removeKey(tag,'area');tag+=";area=olympiczone";tag+=";ozone="+StoryPageVideoPlayerStation;}if(this.m_option.mode=="embedded"&&advManager.isVideoOverrided()){if(advManager.m_VideoOverrideSettings=='local'){tag=advManager._removeKey(tag,'area');tag+=";area=olympiczone";tag+=";ozone="+Cookie.get('LOCS');}else{tag=advManager._removeKey(tag,'video');tag=advManager._removeKey(tag,'area');tag+=";video="+advManager.m_VideoOverrideSettings;tag+=";area=specialtypackages";}}}catch(e){}return tag},decodeText:function(s){s=unescape(s);s=s.gsub('&nbsp;',' ');s=s.gsub('&amp;','&');s=s.gsub('&quot;','&');return s;},postProcessADV:function(tag){if(this.m_option.mode!="embedded")tag=tag.gsub('MODE',(this.m_enhanced)?"large":"popup");tag+=";tile=2"return tag;}});PlayerContainer.addMethods({m_panelComActive:false,m_panelPbpActive:false,m_sendCom:false,m_sendPbp:false,_tabFirst:function(t){t.addClassName('first');t.addClassName('current');},_initTabs:function(){var that=this;$$('.panelTabs ul li div').each(function(n){n.observe('click',that.onTabClick.bind(that))});},onTabClick:function(e){try{if(e.target.up('li').hasClassName('current'))return;e.target.up('ul').childElements().each(function(n){n.removeClassName('current')})e.target.up('li').addClassName('current');if(e.target.up('li').id=='insideSport'||e.target.up('li').id=='athletes'||e.target.up('li').id=='relLink')this.m_panelPbpActive=false;if(e.target.up('li').id=='liveRes'){if(!this.m_panelPbpActive){this.m_lastPbPID=-1;this.m_lastPbPPos=-1;}this.m_panelPbpActive=true;}if(e.target.up('li').id=='relVideo'||e.target.up('li').id=='didyouKnow'||e.target.up('li').id=='navigation')this.m_panelComActive=false;if(e.target.up('li').id=='liveCommentary'){if(!this.m_panelComActive){this.m_lastComID=-1;this.m_lastComPos=-1;}this.m_panelComActive=true;}this.updatePanel(e.target.up('.playerPanel'))}catch(ex){}},updatePanel:function(cN){var p=$(cN);if(p===undefined||p==null)return;try{var cT=p.down('li.current'),pc=p.down('.panelContent');pc.update($('panelLoaderTemplate').innerHTML);this.loadPanelContent(pc,cT.id)}catch(e){}},loadNavigationPanel:function(){$('rigthPanelInnerContent').update($('nav_buffer').innerHTML);setTimeout(this.loadNavigationPanelAttachHandler.bind(this),500);},loadNavigationPanelAttachHandler:function(){try{var hColl=$('rigthPanelInnerContent').childElements()[0].childElements();for (var i=0,n; n=hColl[i++];) {Event.observe(n,'click',this.onNavigationClick.bind(this));}}catch(e){}},loadPanelContent:function(el,tab){var u='',tn=tab.toLowerCase(),v=this.m_video;if(tn=='liveres') return;if(tn=='livecommentary') return;if(tn=='navigation'){this.loadNavigationPanel();return;}if(tn=='insidesport')u='/video/modules/insidesport/sport='+v.sport.toLowerCase()+'.html'else if(tn=='athletes')u=v.athlPanel;else if(tn=='rellink')u=v.linkPanel;else if(tn=='relvideo')u=v.videoPanel;else if(tn=='didyouknow')u=v.dykPanel;else return;new Ajax.Updater(el,u,{method:'get',evalScripts:true});},redrawPanels:function(){this.m_panelComActive=false;this.m_panelPbpActive=false;this.m_sendCom=false;this.m_sendPbp=false;var b=this.m_video.panels;var l=false;var r=false;try{if((b&1)>0){$('liveRes').show();this._tabFirst($('liveRes'));l=true;this.m_panelPbpActive=true;this.m_sendPbp=true;}if((b&2)>0){$('liveCommentary').show();this._tabFirst($('liveCommentary'));r=true;this.m_panelComActive=true;this.m_sendCom=true;}if((this.m_video.type.indexOf('rewind')!=-1)&&((b&1)>0)){$('navigation').show();}if((b&4)>0){$('insideSport').show();if(!l){this._tabFirst($('insideSport'));l=true;}}if((b&8)>0){$('athletes').show();if(!l){this._tabFirst($('athletes'));l=true;}}$('relLink').show();if(!l){this._tabFirst($('relLink'));}$('relVideo').show();if(!r){this._tabFirst($('relVideo'));r=true;}if((b&16)>0){$('didyouKnow').show();if(!r){this._tabFirst($('didyouKnow'));}}$$('.panelTabs ul').each(function(n){n.show()});$$('.fakeTab').each(function(n){n.hide()});this.updatePanel('rigthPane');this.updatePanel('leftPane');try{if(popup.station!==undefined&&popup.station.length>0){$('stLogo').src='/imgml/videoplayer/logos/'+popup.station+'.gif';$('stLogo').addClassName('cliccable');$('stLogo').show();$('pLogo').hide();}else{$('pLogo').show();$('stLogo').hide();}}catch(e){}}catch(e){}},loadPanelsWaitScreen:function(){var t=$('panelLoaderTemplate');var r=$('rigthPanelInnerContent');var l=$('leftPanelInnerContent');if(t===undefined||t==null||r===undefined||r==null||l===undefined||l==null)return;r.update(t.innerHTML);l.update(t.innerHTML);$$('.panelTabs ul').each(function(n){n.hide()});$$('.fakeTab').each(function(n){n.show()});$$('.panelTabs ul li').each(function(n){n.removeClassName('first');n.removeClassName('current');n.hide()});}});var BasePlaybackComponent=Class.create({e_onVideoChange    :undefined,e_onVideoFinish    :function() {},e_onPlayerStatusChange  :function() {},e_onPlayerAspectChange  :function() {},e_onAdvertPlaying   :function() {},e_onNextVideoRequested  :function() {},e_onPreviousVideoRequested :function() {},e_onVideoRequested   :function() {},e_onEmail     :function() {},initialize:function() {},registerEvent:function(sEventName,fn) {switch (sEventName.toLowerCase()) {case 'onvideochange':this.e_onVideoChange=fn;break;case 'onvideofinish':this.e_onVideoFinish=fn;break;case 'onplayerstatuschange':this.e_onPlayerStatusChange=fn;break;case 'onplayeraspectchange':this.e_onPlayerAspectChange=fn;break;case 'onadvertplaying':this.e_onAdvertPlaying=fn;break;case 'onnextvideorequested':this.e_onNextVideoRequested=fn;break;case 'onpreviousvideorequested':this.e_onPreviousVideoRequested=fn;break;case 'onvideorequested':this.e_onVideoRequested=fn;break;case 'onemail':this.e_onEmail=fn;break;}console.log('registering event for '+sEventName);},play:function() {console.log("Play no longer public method.");},stop:function() {console.log("Stop no longer public method.");},pause:function() {console.log("Pause no longer public method.");},displayAlert:function(videoId,text) {console.log("sendAlert() not implemented.");}});var WMPPlaybackComponent=Class.create({version   :"v1.081211",language_code :'en',labels   :undefined,viewStates  :{NONE:0,VIDEO:1,AD :2,SHARE:3,END :4,AD_SLATE:5},viewStateCurrent:0,$container  :undefined,$player   :undefined,playerState  :undefined,$adPlayer  :undefined,adPlayerState :undefined,$adBackground :undefined,adBaseUrl  :undefined,$error   :undefined,$status   :undefined,$progressBar :undefined,$scrubberContainer:undefined,scrubberControl :undefined,isScrubberVisible:false,isScrubberLocked:false,$playerControl :undefined,$time   :undefined,volumeControl :undefined,volume   :50,$mute   :undefined,isMuted   :false,$popup   :undefined,$share   :undefined,shareReturnState:undefined,$sharePanel  :undefined,$endPanel  :undefined,$enhanced  :undefined,video   :undefined,videoUrl  :undefined,videoPosition :undefined,videoPlaybackTime:0,videoPlaybackPercent:0,videoQuality :'high',isVideoExpired :false,isScrubbing  :false,videoPauseTimer :undefined,adUrl   :undefined,adType   :undefined,dart   :undefined,mode   :undefined,size   :undefined,isVideoPlaying :false,videoData  :{position :undefined,duration :undefined,durationPercent:undefined,hasDuration :false,midrollPoints:undefined},badPlaybackCount:0,secondsSinceLastBadPlaybackCountChange:0,bufferingCount:0,isBufferingCountDisabled:false,droppedFrameCount:0,videoDroppedFrameCount:0,isAdPlaying  :false,ad    :{frequencyByClips:1,frequencyByTime :180,clipsSinceLastAd:0,timeSinceLastAd :0,playAdNext  :true},adSlates   :[],e_onVideoChange    :function() {},e_onVideoFinish    :function() {},e_onPlayerStatusChange  :function() {},e_onPlayerAspectChange  :function() {},e_onAdvertPlaying   :function() {},e_onNextVideoRequested  :function() {},e_onPreviousVideoRequested :function() {},e_onVideoRequested   :function() {},e_onEmail     :function() {},e_onPlaybackPointReached :function() {},e_onSeek     :function() {},registerEvent:function(sEventName,fn) {switch (sEventName.toLowerCase()) {case 'onvideochange':this.e_onVideoChange=fn;break;case 'onvideofinish':this.e_onVideoFinish=fn;break;case 'onplayerstatuschange':this.e_onPlayerStatusChange=fn;break;case 'onplayeraspectchange':this.e_onPlayerAspectChange=fn;break;case 'onadvertplaying':this.e_onAdvertPlaying=fn;break;case 'onnextvideorequested':this.e_onNextVideoRequested=fn;break;case 'onpreviousvideorequested':this.e_onPreviousVideoRequested=fn;break;case 'onvideorequested':this.e_onVideoRequested=fn;break;case 'onemail':this.e_onEmail=fn;break;case 'onplaybackpointreached':this.e_onPlaybackPointReached=fn;break;case 'onseek':this.e_onSeek=fn;break;}},displayAlert:function(videoId,text) {},addMessage:function(type,message,time) {},setNavigationFeed:function(url) {},initialize:function(options,config,parent){var _this=this;this.language_code=options.language_code||"en";this.labels=lang;this.mode=options.mode||'popup';this.size=options.size||'large';this.adBaseUrl=config.advBase;var cssStyle="";if(this.mode=="embedded") {cssStyle="embedded" + this.size;}this.loadAdStateFromCookie();Event.observe(window,"unload",this.saveAdStateToCookie.bind(this));this.videoQuality="high";if(this.size=='small') this.videoQuality="low";this.$container=new Element('div').addClassName("container").addClassName(cssStyle).setStyle({width:options.width+"px",height:options.height+"px","position":"relative"});$(options.containerElement).addClassName("wmp").setStyle({width:options.width+"px",height:options.height+"px"}).update(this.$container);this.buildPlayer();},buildPlayer:function() {var _this=this;var playerHTML="";var playerHTML2="";var playerBrowserSpecificHTML;var videoHeight;var videoWidth;if(this.mode=='embedded'&&this.size=='small') {videoWidth=320;videoHeight=175; } else if(this.mode=='embedded') {videoWidth=512;videoHeight=288;} else {videoWidth=592;videoHeight=337;}if(Prototype.Browser.IE) {playerBrowserSpecificHTML='classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject" ';} else if(Prototype.Browser.Gecko) {playerBrowserSpecificHTML='type="application/x-ms-wmp" ';} else {return;}playerHTML += '<object id="videoPlayer" name="videoPlayer" class="video hidden" ';playerHTML += playerBrowserSpecificHTML;playerHTML += 'standby="Loading Microsoft Windows Media Player components..." ';playerHTML += ' width="'+videoWidth+'" height="'+videoHeight+'">';playerHTML += '<param name="uiMode" value="none" />';playerHTML += '<param name="autoStart" value="false" />';playerHTML += '<param name="enableContextMenu" value="false" />';playerHTML += '<param name="windowlessVideo" value="false" />';playerHTML += '<param name="currentPosition" value="0" />';playerHTML += '<param name="fullScreen" value="false" />';playerHTML += '<param name="stretchToFit" value="true" />';playerHTML += '</object>';playerHTML += '<object id="VideoPlayer1" name="VideoPlayer1" class="video" ';playerHTML += playerBrowserSpecificHTML;playerHTML += 'standby="Loading Microsoft Windows Media Player components..." ';playerHTML += ' width="'+videoWidth+'" height="'+videoHeight+'">';playerHTML += '<param name="uiMode" value="none" />';playerHTML += '<param name="autoStart" value="false" />';playerHTML += '<param name="enableContextMenu" value="false" />';playerHTML += '<param name="windowlessVideo" value="false" />';playerHTML += '<param name="currentPosition" value="0" />';playerHTML += '<param name="fullScreen" value="false" />';playerHTML += '<param name="stretchToFit" value="true" />';playerHTML += '</object>';playerHTML += '<div id="scriptHolder"></div>';this.$container.insert(playerHTML);this.$player=$("videoPlayer");this.$adPlayer=$("VideoPlayer1");this.$container.insert(this.$sharePanel=new Element("div",{ "id":"sharePanel" }).addClassName("sharePanel").addClassName("hidden").insert(new Element("div").addClassName("background").setOpacity(0.85)).insert(new Element("h2").insert(new Element("span").update(this.labels.SHARE.escapeHTML()))).insert(new Element("h3").addClassName("sendToFriend").update(this.labels.SEND_2_FRIEND.escapeHTML())).insert(new Element("div").addClassName("required").update("*" + this.labels.REQUIRED.escapeHTML())).insert(new Element("input",{"type":"text","value":"*" +this.labels.FRIEND_EMAIL.escapeHTML()}).addClassName("sendToFriendInput").addClassName("sendInput").observe('focus',function(e) {if(e.target.value=="*" + _this.labels.FRIEND_EMAIL.escapeHTML()) e.target.value="";}).observe('blur',function(e) {if(e.target.value=="") e.target.value="*" + _this.labels.FRIEND_EMAIL.escapeHTML();})).insert(new Element("div").addClassName("sendToFriendInvalid").addClassName("invalid").addClassName("sendInput")).insert(new Element("input",{"type":"text","value":"*" + this.labels.YOUR_EMAIL.escapeHTML()}).addClassName("sendFromFriendInput").addClassName("sendInput").observe('focus',function(e) {if(e.target.value=="*" + _this.labels.YOUR_EMAIL.escapeHTML()) e.target.value="";}).observe('blur',function(e) {if(e.target.value=="") e.target.value="*" + _this.labels.YOUR_EMAIL.escapeHTML();})).insert(new Element("div").addClassName("sendFromFriendInvalid").addClassName("invalid").addClassName("sendInput")).insert(new Element("a",{"href":"javascript:void(0);"}).addClassName("sendToFriendBtn").addClassName("shareBtn").addClassName("sendInput").insert(new Element("span").update(this.labels.SEND.escapeHTML())).observe('click',this.onSendVideoClicked.bind(this))).insert(new Element("div").addClassName("sendToFriendComplete").addClassName("sendDone").insert(this.labels.SHARE_COMPLETE_VIDEO_SENT.escapeHTML() + "&nbsp;").insert(new Element("a",{"href":"javascript:void(0);"}).update(this.labels.SHARE_COMPLETE_CLICK_HERE.escapeHTML()).observe('click',this.onSendAnotherVideoClicked.bind(this))).insert("&nbsp;" + this.labels.SHARE_COMPLETE_SEND_ANOTHER.escapeHTML())).insert(new Element("h3").addClassName("copyLink").update(this.labels.COPY_LINK.escapeHTML())).insert(new Element("input",{"type":"text"}).addClassName("copyLinkInput").observe('focus',function(e) { this.select(); })).insert(new Element("div").addClassName("version").update(this.version)).insert(new Element("a",{"href":"javascript:void(0);"}).addClassName("close").update(this.labels.CLOSE.escapeHTML()).observe('click',this.onShareCloseClicked.bind(this))));if(this.size!='small') {this.$sharePanel.insert(new Element("a",{"href":"javascript:void(0);"}).addClassName("grabWidgetBtn").addClassName("shareBtn").insert(new Element("span").update("Grab Channel")).observe('click',this.onGrabVideoClicked.bind(this)))}this.$container.insert(this.$endPanel=new Element("div",{ "id":"endPanel" }).addClassName("endPanel").addClassName("hidden").insert(new Element("a",{"href":"javascript:void(0);"}).addClassName("button").addClassName("replay").update(this.labels.REPLAY.escapeHTML()).setOpacity(0.85).observe('click',this.onReplayClicked.bind(this))).insert(new Element("a",{"href":"javascript:void(0);"}).addClassName("button").addClassName("share").update(this.labels.SHARE.escapeHTML()).setOpacity(0.85).observe('click',this.onShareClicked.bind(this))));this.$container.insert(this.$error=new Element("div").addClassName("error"));this.$container.insert(this.$status=new Element("div").addClassName("status"));this.$container.insert(this.$playerControl=new Element("a",{ href:"javascript:void(0);"}).addClassName("btnVideoControl").observe('click',this.onVideoControlClicked.bind(this)));this.$container.insert(this.$mute=new Element("a",{ href:"javascript:void(0);" }).addClassName("btnMute").update(this.labels.MUTE.escapeHTML()).observe('click',this.mute.bind(this)));this.$container.insert(this.$time=new Element("div").addClassName("time"));this.$container.insert(this.$share=new Element("a",{ href:"javascript:void(0);" }).addClassName("btnShare").update(this.labels.SHARE.escapeHTML()).observe('click',this.onShareClicked.bind(this)));if(this.mode=='popup') {this.$container.insert(this.$enhanced=new Element("a",{ href:"javascript:void(0);",target:"sl" }).addClassName("btnEnhanced").update(this.labels.ENHANCED).observe('click',this.onInstallSilverlightClicked.bind(this)));}this.$container.insert(this.$scrubberContainer=new Element("div").addClassName("scrubberContainer").insert(new Element("div",{"id":"scrubberProgress"}).addClassName("scrubberProgressBar")).insert(new Element("div",{"id":"scrubberTrack"}).insert(new Element("div",{"id":"scrubberHandle"}))));this.$container.insert(new Element("div").addClassName("volumeContainer").insert(new Element("div",{"id":"volumeTrack"}).insert(new Element("div",{"id":"volumeHandle" }))));this.$container.insert(this.$popup=new Element("a",{ href:"javascript:void(0);" }).addClassName("btnPopup").update(this.labels.POPUP.escapeHTML()).observe('click',this.onPopupClicked.bind(this)));this.$container.insert(this.$adBackground=new Element("div").addClassName("adBackground"));var _this=this;setTimeout(function() {_this.$scrubberControl=new Control.Slider('scrubberHandle','scrubberTrack',{range:$R(0,100),sliderValue:0,startSpan:'scrubberProgress',onChange:function(pct){_this.isScrubbing=false;_this.videoData.positionPercent=pct; },onSlide:function(pct) {_this.isScrubbing=true;}});_this.volumeControl=new Control.Slider('volumeHandle','volumeTrack',{range:$R(0,100),sliderValue:_this.$player.settings.volume,onChange:function(v) {},onSlide:function(v) {_this.volume=Math.floor(v);_this.$player.settings.volume=_this.volume;_this.$adPlayer.settings.volume=_this.volume;_this.$mute.removeClassName("muted");_this.isMuted=false;}});if(Prototype.Browser.IE) {Event.observe(document,'keypress',function(e){var code;if(!e) var e=window.event;if(e.keyCode) code=e.keyCode;else if(e.which) code=e.which;if(code==27) {if(!_this.isAdPlaying) {_this.play();}}});}_this.setViewState(_this.viewStates.NONE);_this.registerVideoEvents();_this.startTrackingProgress();_this.play();},1000);},registerVideoEvents:function() {if(this.$player.attachEvent) {this.$player.detachEvent("playStateChange",this.onPlayStateChange.bind(this));this.$player.detachEvent("ScriptCommand",this.onScriptCommand.bind(this));this.$player.detachEvent("Error",this.onError.bind(this));this.$player.attachEvent("playStateChange",this.onPlayStateChange.bind(this));this.$player.attachEvent("ScriptCommand",this.onScriptCommand.bind(this));this.$player.attachEvent("Error",this.onError.bind(this));this.$adPlayer.detachEvent("playStateChange",this.onAdPlayStateChange.bind(this));this.$adPlayer.detachEvent("Error",this.onAdError.bind(this));this.$adPlayer.attachEvent("playStateChange",this.onAdPlayStateChange.bind(this));this.$adPlayer.attachEvent("Error",this.onAdError.bind(this));return true;} else {return false;}},setViewState:function(state) {var vs;vs=this.viewStates;if(this.viewStateCurrent==state) return;this.$adBackground.hide();switch(this.viewStateCurrent) {case vs.NONE:this.$adPlayer.removeClassName("hidden");break;case vs.VIDEO:this.$player.addClassName("hidden").hide();break;case vs.AD:break;case vs.SHARE:this.$sharePanel.addClassName("hidden");this.$share.removeClassName("on");this.$adPlayer.removeClassName("hidden").show();break;case vs.END:this.$endPanel.addClassName("hidden");break;case vs.AD_SLATE:$$(".adSlateImage").each(function(element) {element.remove();});this.$adBackground.hide();break;}this.$error.update("").hide();switch(state) {case vs.NONE:this.$adPlayer.addClassName("hidden");this.$error.show();break;case vs.VIDEO:this.$player.removeClassName("hidden");this.$player.show();break;case vs.AD:this.$adBackground.show();break;case vs.SHARE:this.$sharePanel.removeClassName("hidden");this.$share.addClassName("on");$$(".sendInput").each(function(i) { i.show() });$$(".sendDone").each(function(i) { i.hide() });this.$adPlayer.addClassName("hidden").hide();break;case vs.END:this.$endPanel.removeClassName("hidden");break;case vs.AD_SLATE:this.$adBackground.show();break;}this.viewStateCurrent=state;},onAdStarted:function(sender,args) {var adTag ="http://ad.doubleclick.net/adi/nbcu.olympics/wmp;type=wmp;tile=2;sz=300x250;dc_seed=";var masterAdId=dartPlayer.getAd().getDartId();var compString=this.adUrl.gsub(/sz=.*;/,'sz=300x250;').gsub('pfadx','adi') + ";dc_seed=" + masterAdId;var compTag =dartPlayer.getRoadblockURL(compString);this.setViewState(this.viewStates.AD);this.isAdPlaying=true;this.$status.update("");this.$adPlayer.settings.mute=this.isMuted;if(this.adType=="pre-roll") {this.e_onAdvertPlaying("pre-roll",compTag);} else {this.e_onAdvertPlaying("mid-roll",compTag);}},onAdFinished:function(sender,args) {this.ad.clipsSinceLastAd=0;this.ad.timeSinceLastAd=0;this.ad.playAdNext=false;this.setViewState(this.viewStates.VIDEO);this.isAdPlaying=false;if(this.adType=="pre-roll") {this.e_onAdvertPlaying("pre-roll-stop","");this.load();} else {this.e_onAdvertPlaying("mid-roll-stop","");}this.play();this.adType=undefined;},loadAdStateFromCookie:function() {var adState;var videoQuality;adState=Cookie.get("nbcad"+this.mode);if(adState!==null) {this.ad=adState.evalJSON();} else {}},saveAdStateToCookie:function() {var adState=Object.toJSON(this.ad);Cookie.set("nbcad"+this.mode,adState,0.021);},onPlayStateChange:function(state) {var playstateValues=this.labels.PLAY_STATES;var _this=this;this.playerStatus=state;if(state==6||state==7||state==9||state==11) {if(this.mode=="embedded") {if(this.size=='large') {this.$time.update(playstateValues[state].escapeHTML());} else {this.$time.update(playstateValues[state].truncate(10,"*").escapeHTML());}}if(this.mode=="popup") {this.$status.update(playstateValues[state].escapeHTML());}} else {this.$status.update("");this.$time.update("");}if(state==3) {if(!this.isVideoPlaying) this.onVideoStarted();}if(state==6) {if(!this.isBufferingCountDisabled) {this.bufferingCount++;this.isBufferingCountDisabled=true;var tm=setTimeout(function() {_this.isBufferingCountDisabled=false;},2000);}}if(state==8) {if(this.video.type.indexOf("live")>=0) {this.e_onVideoRequested(this.video.streams.assetID,null,this.videoPosition);} else {this.onVideoFinished();}}if(state==10) {}},onAdPlayStateChange:function(state) {var playstateValues=this.labels.PLAY_STATES;this.adPlayerStatus=state;switch(state) {case 1:break;case 3:if(this.mode=="embedded") {this.$time.update("");} else {this.$status.update("");}break;case 8:if(this.viewStateCurrent==this.viewStates.AD_SLATE) {this.playNextAdvertSlate();}break;case 10:if(this.viewStateCurrent==this.viewStates.AD_SLATE) {this.$adPlayer.controls.play();}break;default:break;}},onScriptCommand:function(bstrType,bstrParam) {if(bstrType=="TEXT") {var pStatus ={tc:undefined,status:'play'};pStatus.tc=bstrParam;if(this.e_onPlayerStatusChange!==undefined&&this.e_onPlayerStatusChange!=null){this.e_onPlayerStatusChange (pStatus);}}},onError:function(e) {this.setViewState(this.viewStates.NONE);this.$error.update("There is an error with the video. Press Play to reload the video.").show();this.stop();},onAdError:function(e) {this.onAdFinished();},onVideoPauseTimeout:function() {this.isVideoExpired=true;},onVideoStarted:function() {this.isVideoPlaying=true;this.videoData.duration=this.$player.currentMedia.duration.toFixed(2) * 1000;if(isNaN(this.videoData.duration)||this.videoData.duration<=0) {this.videoData.hasDuration=false;this.$scrubberContainer.hide();this.isScrubberVisible=false;} else {this.videoData.hasDuration=true;this.$scrubberContainer.show();this.isScrubberVisible=true;}},onVideoFinished:function() {this.isVideoPlaying=false;this.e_onPlaybackPointReached("seconds",this.videoPlaybackTime % 60);this.e_onVideoFinish();this.resetVideo();this.setViewState(this.viewStates.END);},trackPlayer:function() {var adMediaPosition;var adMediaDuration;var mediaPosition;var mediaDuration;var playerStatus;var adPlayerStatus;var time;var percentPlayedByPosition; var percentPlayedByDuration; var newPosition;var currentPosition;var playstateValues=this.labels.PLAY_STATES;if(this.$adPlayer.fullScreen==true) this.$adPlayer.fullScreen=false;if(this.$player.fullScreen==true) this.$player.fullScreen=false;playerStatus=this.$player.playState;adPlayerStatus=this.$adPlayer.playState;if(adPlayerStatus==3||adPlayerStatus==6||adPlayerStatus==7||adPlayerStatus==9) {if(this.isMuted) {this.$adPlayer.settings.volume=0;} else {this.$adPlayer.settings.volume=this.volume;}this.$player.settings.volume=0;adMediaPosition=this.$adPlayer.controls.currentPosition.toFixed(2) * 1000;adMediaDuration=this.$adPlayer.currentMedia.duration.toFixed(2) * 1000;if(this.mode=='embedded'&&this.size=='small') {time=this.formatTime(adMediaPosition);} else {time=this.formatTime(adMediaPosition) + "/" + this.formatTime(adMediaDuration);}if(this.viewStateCurrent==this.viewStates.AD_SLATE) time="";if(adMediaPosition>0) {this.$time.update(time);} else {this.$time.update("");}}if(adPlayerStatus==3&&playerStatus!=2&&playerStatus!=0) {}if((this.viewStateCurrent==this.viewStates.AD)||(this.viewStateCurrent==this.viewStates.AD_SLATE)) return;if(playerStatus==2||playerStatus==3||playerStatus==8) {mediaPosition=this.$player.controls.currentPosition.toFixed(2) * 1000;currentPosition=Math.floor(this.$player.controls.currentPosition);} else {return;}if(playerStatus==3) {if(this.isMuted||(this.viewStateCurrent==this.viewStates.AD_SLATE)) {this.$player.settings.volume=0;} else {this.$player.settings.volume=this.volume;}}this.videoData.duration=this.$player.currentMedia.duration.toFixed(2) * 1000;if(isNaN(this.videoData.duration)||this.videoData.duration<=0) {this.videoData.hasDuration=false;if(this.isScrubberVisible) {this.$scrubberContainer.hide();this.isScrubberVisible=false;}} else {this.videoData.hasDuration=true;if(!this.isScrubberVisible) {this.$scrubberContainer.show();this.isScrubberVisible=true;}}if(this.videoData.hasDuration) {percentPlayedByPosition=(mediaPosition / this.videoData.duration * 100).toFixed(2);newPosition=Math.floor(this.videoData.duration * (this.videoData.positionPercent / 100) / 1000);if(!Object.isUndefined(this.videoData.positionSeconds)) {this.$player.controls.currentPosition=Math.floor(this.videoData.positionSeconds);percentPlayedByPosition=(Math.floor(this.videoData.positionSeconds * 1000) / this.videoData.duration * 100).toFixed(2);if(mediaPosition>0) {this.$scrubberControl.setValue(percentPlayedByPosition);if(!this.isScrubberVisible) {this.$scrubberContainer.show();this.isScrubberVisible=true;}} else {if(this.isScrubberVisible) {this.$scrubberContainer.hide();this.isScrubberVisible=false;}}this.videoData.positionSeconds=undefined;return;} else if(!Object.isUndefined(this.videoData.positionPercent)&&Math.abs(newPosition - currentPosition)>2) {this.$player.controls.currentPosition=newPosition;this.bufferingCount--;this.videoData.positionPercent=undefined;return;} else if(!this.isScrubbing) {this.$scrubberControl.setValue(percentPlayedByPosition);}}if(this.videoPosition!=currentPosition) {this.videoPosition=currentPosition;this.videoPlaybackTime++; this.ad.timeSinceLastAd++; if(!this.videoData.hasDuration) {time=this.formatTime(mediaPosition);} else {if(this.mode=='embedded'&&this.size=='small') {time=this.formatTime(mediaPosition);} else {time=this.formatTime(mediaPosition) + "/" + this.formatTime(this.videoData.duration);}percentPlayedByDuration=(this.videoPlaybackTime * 1000) / this.videoData.duration;if(this.videoPlaybackPercent==0&&percentPlayedByDuration>=25) {this.videoPlaybackPercent=25;this.e_onPlaybackPointReached("percent",25);}if(this.videoPlaybackPercent==25&&percentPlayedByDuration>=50) {this.videoPlaybackPercent=50;this.e_onPlaybackPointReached("percent",50);}if(this.videoPlaybackPercent==50&&percentPlayedByDuration>=75) {this.videoPlaybackPercent=75;this.e_onPlaybackPointReached("percent",75);}}this.$time.update(time);if((this.videoPlaybackTime % 60)==0) {this.e_onPlaybackPointReached("seconds",60);}if(this.videoPlaybackTime==15) {this.ad.clipsSinceLastAd++;this.saveAdStateToCookie();if(this.ad.clipsSinceLastAd>=this.ad.frequencyByClips) {this.ad.playAdNext=true;}}if(this.ad.timeSinceLastAd==this.ad.frequencyByTime) {this.ad.playAdNext=true;this.saveAdStateToCookie();}if(this.ad.playAdNext==true&&this.videoAdMidrollPoints.indexOf(this.videoPosition)>-1) {this.playAd("mid-roll");}}},stopTrackingProgress:function() {clearInterval(this.intervalID);this.intervalID=undefined;},startTrackingProgress:function() {this.stopTrackingProgress();var _this=this;this.intervalID=setInterval(function() { _this.trackPlayer() },250);},formatTime:function(ms){var h=Math.floor(ms / (60 * 60 * 1000));var m=Math.floor((ms - (60 * 60 * 1000 * h)) / (60 * 1000));var s=Math.floor((ms - (60 * 60 * 1000 * h) - (60 * 1000 * m)) / 1000);var timeHTML="";if(h>0) timeHTML += h + ":";timeHTML += m.toPaddedString(2);timeHTML += ":";timeHTML += (s % 60).toPaddedString(2);return timeHTML;},load:function() {this.e_onAdvertPlaying("video-start");this.setViewState(this.viewStates.VIDEO);if(this.mode=="embedded") {this.$time.update("Loading Video");} else {this.$status.update("Loading Video");}this.$player.URL=this.videoUrl;},setVideo:function(video,renderer,position,quality) {if(this.viewStateCurrent==this.viewStates.SHARE) return;if(parseInt(position)>0) {this.videoPosition=parseInt(position);} else {this.resetVideo(); }this.$error.update("");this.video=video;if(this.videoQuality=="low") {this.videoUrl=video.streams.wmp.low;} else {this.videoUrl=video.streams.wmp.high;}this.isVideoExpired=false;this.videoAdMidrollPoints=[];if(Object.isArray(this.video.adverts.midrollPoints)&&this.video.adverts.midroll==="true") {this.videoAdMidrollPoints=this.video.adverts.midrollPoints;} else {this.videoAdMidrollPoints=[];}if((this.video.adverts.preroll=="false")||(this.ad.playAdNext=="false")||(this.ad.playAdNext==false)) {this.load();this.play();} else {this.playAd("pre-roll");}$$(".sharePanel .copyLinkInput")[0].value=video.shareUrl;},setPosition:function(seconds) {this.videoData.positionSeconds=Math.floor(seconds);},downgradeVideo:function() {this.videoQuality="low";this.e_onVideoRequested(this.video.streams.assetID,null,this.videoPosition);},resetVideo:function() {if(!Object.isUndefined(this.$scrubberControl)) this.$scrubberControl.setValue(0);this.$time.update("");this.$player.controls.currentPosition=0;this.setPlayerControl("play");this.videoPosition=0;this.videoPlaybackTime=0;this.videoPlaybackPercent=0;this.badPlaybackCount=0;this.secondsSinceLastBadPlaybackCountChange=0;this.bufferingCount=0;this.secondsSinceLastBufferingCountChange=0;this.droppedFrameCount=0;this.videoDroppedFrameCount=0;this.isVideoPlaying=false;},playAd:function(type) {var _this=this;var testAdUrl="http://ad.doubleclick.net/pfadx/nbcu.olympics;type=wmp;tile=1;sz=320x240;ord=" + (Math.random()*10000000000000000);if(Object.isUndefined(dartPlayer)) {dartPlayer=new DartPlayer("VideoPlayer1",function(){dartPlayer.attachOnAdStart(_this.onAdStarted.bind(_this));dartPlayer.attachOnAdComplete(_this.onAdFinished.bind(_this));});Event.observe(window,"unload",function() { dartPlayer.unregister(); });}switch(type) {case "pre-roll":this.adType="pre-roll";if(!Object.isUndefined(this.video.adverts.prerollVideo)) {this.adUrl=this.adBaseUrl + this.video.adverts.prerollVideo + ";ord=" + (Math.random()*10000000000000000);} else {this.adUrl=testAdUrl;}break;case "mid-roll":if(this.mode=="embedded") return; this.adType="mid-roll";if(!Object.isUndefined(this.video.adverts.midrollVideo)) {this.adUrl=this.adBaseUrl + this.video.adverts.midrollVideo + ";ord=" + (Math.random()*10000000000000000);} else {this.adUrl=testAdUrl;}break;default:break;}this.setViewState(this.viewStates.AD);this.pause();this.videoPosition=this.$player.controls.currentPosition;this.$adPlayer.settings.mute=this.isMuted;if(this.mode=="embedded") {this.$time.update("Loading Ad");} else {this.$status.update("Loading Ad");}this.$adPlayer.URL=this.adUrl;this.$adPlayer.controls.play();},playAdvert:function() {this.setViewState(this.viewStates.AD_SLATE);this.adSlateIndex=4;this.adSlates=new Array();this.adSlates.push({"audio":"http://video.nbcuni.com/ads/nbcolympics/slates/intro.mp3","image":"http://video.nbcuni.com/ads/nbcolympics/slates/intro.png","clickThru":"javascript:void(0);"});if(Object.isUndefined(GLOBAL_AD_LOADER)) {GLOBAL_AD_LOADER= new AdLoader(this.onAdSlateLoaded.bind(this));}var ord=Math.random()*10000000000000000;GLOBAL_AD_LOADER.loadAdByURL("http://ad.doubleclick.net/pfadx/nbcu.olympics.slate/wmp;type=wmp;tile=1;sz=592x336;ord=" + ord);GLOBAL_AD_LOADER.loadAdByURL("http://ad.doubleclick.net/pfadx/nbcu.olympics.slate/wmp;type=wmp;tile=2;sz=592x336;ord=" + ord);GLOBAL_AD_LOADER.loadAdByURL("http://ad.doubleclick.net/pfadx/nbcu.olympics.slate/wmp;type=wmp;tile=3;sz=592x336;ord=" + ord);this.playNextAdvertSlate();},onAdSlateLoaded:function(slate) {this.adSlates.push({"audio":slate.sound,"image":slate.image,"clickThru":slate.clickThru,"slateAdId":slate.slateAdId});},playNextAdvertSlate:function() {var current;if(this.adSlates.length>0) {current=this.adSlates.shift();this.$container.insert(this.$adSlateImage=new Element("img",{"src":current.image }).addClassName("adSlateImage").setStyle({"position":"absolute","top":"7px","left":"10px","zIndex":"99"}));try {this.$adPlayer.controls.stop();this.$adPlayer.URL=current.audio;this.$adPlayer.controls.play();} catch(e) {}this.adSlateIndex++;var comp="http://ad.doubleclick.net/adi/nbcu.olympics.slate/wmp;type=wmp;tile=" + this.adSlateIndex + ";sz=300x250;dc_seed=" + current.slateAdId + ";ord=Math.random()*10000000000000000;";this.e_onAdvertPlaying("mid-roll",comp);} else {try {this.$adPlayer.controls.stop();} catch(e) {}this.setViewState(this.viewStates.VIDEO);}},play:function() {if(!Object.isUndefined(this.video)) {if(this.isVideoExpired) {this.e_onVideoRequested(this.video.streams.assetID,null,this.videoPosition);} else {this.setViewState(this.viewStates.VIDEO);try {this.$player.controls.play();this.$player.settings.mute=this.isMuted;this.$player.controls.currentPosition=this.videoPosition;clearTimeout(this.videoPauseTimer);} catch(e) {}if(this.video.type.toLowerCase()=="live") {this.setPlayerControl("stop");} else {this.setPlayerControl("pause");}}}},stop:function() {if(!this.isVideoPlaying) return;try {this.$player.controls.stop();this.setPlayerControl("play");this.videoPauseTimer=setTimeout(this.onVideoPauseTimeout.bind(this),60000);} catch(e) {}},pause:function() {if(!this.isVideoPlaying) return;try {this.$player.controls.pause();this.setPlayerControl("play");this.videoPauseTimer=setTimeout(this.onVideoPauseTimeout.bind(this),60000);} catch(e) {}},mute:function() {try {this.isMuted=!this.isMuted;this.$adPlayer.settings.mute=this.isMuted;this.$player.settings.mute=this.isMuted;} catch(e) {}if(this.isMuted) {this.$mute.addClassName("muted");this.volumeControl.setValue(1);} else {this.$mute.removeClassName("muted");this.volumeControl.setValue(this.volume);}},setPlayerControl:function(state) {this.$playerControl.removeClassName("play").removeClassName("pause").removeClassName("stop");switch(state) {case "play":this.$playerControl.addClassName("play").update(this.labels.PLAY.escapeHTML());break;case "pause":this.$playerControl.addClassName("pause").update(this.labels.PAUSE.escapeHTML());break;case "stop":this.$playerControl.addClassName("stop").update(this.labels.STOP.escapeHTML());break;default:sFthrow Error("Invalid play state");break;}},fastForwardAd:function() {var mediaDuration=Math.floor(this.$adPlayer.currentMedia.duration);mediaDuration -= 1;this.$adPlayer.controls.currentPosition=mediaDuration;},onVideoControlClicked:function(e) {if(e.target.hasClassName("play")) {this.play();} else if(e.target.hasClassName("pause")) {this.pause();} else if(e.target.hasClassName("stop")) {this.stop();}},onReplayClicked:function() {this.setViewState(this.viewStates.VIDEO);this.e_onVideoRequested(this.video.streams.assetID,null,0);},onPopupClicked:function() {this.stop();openPopupVideo(this.video.url);},sleep:function(naptime){naptime=naptime * 1000;var sleeping=true;var now=new Date();var alarm;var startingMSeconds=now.getTime();while(sleeping){alarm=new Date();alarmMSeconds=alarm.getTime();if(alarmMSeconds - startingMSeconds>naptime){ sleeping=false; }}},onShareClicked:function() {if(this.viewStateCurrent==this.viewStates.SHARE) {this.onShareCloseClicked();return;}this.pause();this.shareReturnState=this.viewStateCurrent;this.setViewState(this.viewStates.SHARE);this.$adPlayer.hide();this.$player.hide();},onShareCloseClicked:function() {this.setViewState(this.shareReturnState);if(this.viewStateCurrent==this.viewStates.VIDEO) {this.play();}this.$player.show();this.$adPlayer.show();this.sleep(0.25);this.$player.hide();this.$adPlayer.hide();this.sleep(0.25);this.$player.show();this.$adPlayer.show();},onSendVideoClicked:function(sender,args) {var sendToEmail;var sendFromEmail;var sendURL;var emailPattern=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;var isValid=true;sendToEmail=$$('.sendToFriendInput')[0].value;sendFromEmail=$$('.sendFromFriendInput')[0].value;if(emailPattern.test(sendToEmail)) {$$('.sendToFriendInvalid')[0].update("").hide();} else {isValid=false;$$('.sendToFriendInvalid')[0].update(this.labels.VALID_EMAIL.escapeHTML()).show();}if(emailPattern.test(sendFromEmail)) {$$('.sendFromFriendInvalid')[0].update("").hide();} else {isValid=false;$$('.sendFromFriendInvalid')[0].update(this.labels.VALID_EMAIL.escapeHTML()).show();}if(!isValid) return;$$('.sendToFriendInput')[0].value="*" + this.labels.FRIEND_EMAIL.escapeHTML();$$(".sendInput").each(function(i) { i.hide() });$$(".sendDone").each(function(i) { i.show() });this.e_onEmail(sendToEmail,sendFromEmail,"",this.video.shareUrl,"");},onSendAnotherVideoClicked:function() {$$(".sendInput").each(function(i) { i.show() });$$(".sendDone").each(function(i) { i.hide() });},onCopyLinkClicked:function(sender,args) {if(Object.isUndefined(this.video)) return;var video;var URL;url=this.video.shareUrl;if(window.clipboardData&&clipboardData.setData) {clipboardData.setData("Text",url);} else {alert("Internet Explorer required");}},onGrabVideoClicked:function(sender,args) {if(Object.isUndefined(this.video)) return;var olympicVideoChannelId=this.video.channelID;window.open("/video/modules/widget/launchpad.html?olympicVideoChannelId=" + olympicVideoChannelId,"launchpad","height=210,width=400,toolbar=no,menubar=no,resizable=no,status=no,scrollbars=no");},onInstallSilverlightClicked:function(e) {this.pause();this.$adPlayer.hide();this.$player.hide();this.$adBackground.show();wmpInstallSL.ShowPrompt(this.onInstallSilverlightClosed.bind(this));Event.stop(e);},onInstallSilverlightClosed:function(playerType) {this.setViewState(1);this.$adBackground.hide();this.play();this.$player.show();this.$adPlayer.show();this.sleep(0.25);this.$player.hide();this.$adPlayer.hide();this.sleep(0.25);this.$player.show();this.$adPlayer.show();},displayError:function(message,type,renderer) {this.setViewState(0);this.$error.update(message);}});var dartPlayer;ord=Math.random()*10000000000000000;var myRPOjbect="VideoPlayer1";var loggingEnabled=true;var areCompanions=true;var adTag="http://ad.doubleclick.net/adi/nbcu.olympics/wmp;type=wmp;tile=2;sz=300x250;dc_seed=";var enableCallbacks=true;var enableAuto3rdPartyTracking=true;function syncRoadBlockAd(adTag,masterAdId) {var compString=adTag+masterAdId+';ord='+ord;var compTag=dartPlayer.getRoadblockURL(compString);if(loggingEnabled){logCallback("Now synchronize the companion ad for Ad id:" + dartPlayer.getAd().getDartId());}document.getElementById("companionAd").innerHTML='<iframe src="' + compTag + '" WIDTH=300 HEIGHT=250 MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=0>' + '</iframe>';}function clearRoadBlock() {if(loggingEnabled){logCallback("--------Clearing Roadblock--------");}document.getElementById("companionAd").innerHTML='<h3>Now Playing Video</h3>';}function logStart() {if(areCompanions){syncRoadBlockAd(adTag,dartPlayer.getAd().getDartId());}if(loggingEnabled){adDebugStart();}}function logClick() {if(loggingEnabled){logCallback("Video Ad was clicked.");}dartPlayer.setClickThroughWindowFeatures("width=600,height=600,menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes");dartPlayer.setClickThroughWindowBlocked(function(){logCallback("pub callback popup blocked");});}function detach() {dartPlayer.unregister();}function logFullscreen() {if(loggingEnabled){logCallback("Video Ad was played in fullscreen.");}}function logRestart() {if(loggingEnabled){logCallback("Video Ad restarted ");}}function logPause() {if(loggingEnabled){logCallback("Video Ad paused");}}function logMidpoint() {if(loggingEnabled){logCallback("Video Ad reached midpoint at:" + dartPlayer.getAd().getMidPoint());}}function logMute() {if(loggingEnabled){logCallback("Video Ad is muted.");}}function logComplete() {if(loggingEnabled){logCallback("Video Ad reached the end.");}if(areCompanions){clearRoadBlock();}}function flushPoint() {logCallback("The Video Ad duration is " + dartPlayer.getAd().getDuration());}function logCallback(text) {}function adDebugStart(){flushPoint();}var Common={isInternetExplorer:function(version) {if(version==undefined) return (navigator.appVersion.indexOf("MSIE")!=-1&&navigator.userAgent.indexOf("Opera")<0);return (navigator.appVersion.indexOf("MSIE "+version)!=-1&&navigator.userAgent.indexOf("Opera")<0);},canDoDocWrite:function(){if(Common.isInternetExplorer()&&(document.readyState.toLowerCase()!="complete"&&document.readyState.toLowerCase()!="interactive")) {return true;}return false;},insertScriptBlock:function(scriptSrc,elementId) {try {if(scriptSrc) {if(Common.canDoDocWrite()) {document.write('<script type="text/javascript" id="'+elementId+'" src="' + scriptSrc + '"><\/script>');}else {var scriptElement=document.createElement("Script");scriptElement.src=scriptSrc;scriptElement.id=elementId;document.getElementById("scriptHolder").appendChild(scriptElement);}}} catch(e) {alert("error");}}};function SlateLoaded(slate){var data=slate.image+"\n"+slate.sound+"\n"+slate.clickThru+"\n\n";}function AdLoader(listener){this.listener=listener;this.adLoadRequests=[];this.adLoadInProgress=false;}AdLoader.prototype.loadAdByURL=function(url){var scriptId="ad_"+(new Date().getTime());var req={url:url,scriptId:scriptId};this.adLoadRequests.push(req);this.processRequest(req);};AdLoader.prototype.processRequest=function(req){if(!this.adLoadInProgress){Common.insertScriptBlock(req.url,req.scriptId);this.adLoadInProgress=true;}};AdLoader.prototype.processNextRequest=function(){if(this.adLoadRequests.length>0){this.processRequest(this.adLoadRequests[0]);this.adLoadInProgress=true;}};AdLoader.prototype.adLoaded=function(data){this.adLoadRequests.shift();this.adLoadInProgress=false;this.listener(data);this.processNextRequest();};var GLOBAL_AD_LOADER;var SilverlightPlaybackComponent=Class.create({version    :20080804100,isEnhancedEnabled :true,parent    :undefined,options    :undefined,playerModes   :{NONE:0,EMBEDDED:1,POPUP:2,ENHANCED:3},messageTypes  :{LIVE_EXPERT_COMMENTARY:0,PLAY_BY_PLAY:1},playerHeight  :undefined,playerWidth   :undefined,mode    :undefined,size    :undefined,$container   :undefined,xapId    :'SilverlightControl',$player    :undefined,video    :undefined,videoQuality  :undefined,clipsSinceLastAd :3,timeSinceLastAd  :180,isPlayerLoaded  :false,e_onPlayerStatusChange  :function() {},e_onVideoChange    :function() {},e_onVideoFinish    :function() {},e_onPlayerStatusChange  :function() {},e_onPlayerAspectChange  :function() {},e_onAdvertPlaying   :function() {},e_onNextVideoRequested  :function() {},e_onPreviousVideoRequested :function() {},e_onVideoRequested   :function() {},e_onEmail     :function() {},e_onPlaybackPointReached :function() {},e_onSeek     :function() {},registerEvent:function(sEventName,fn) {switch (sEventName.toLowerCase()) {case 'onvideochange':this.e_onVideoChange=fn;break;case 'onvideofinish':this.e_onVideoFinish=fn;break;case 'onplayerstatuschange':this.e_onPlayerStatusChange=fn;break;case 'onplayeraspectchange':this.e_onPlayerAspectChange=fn;break;case 'onadvertplaying':this.e_onAdvertPlaying=fn;break;case 'onvideorequested':this.e_onVideoRequested=fn;break;case 'onemail':this.e_onEmail=fn;break;case 'onplaybackpointreached':this.e_onPlaybackPointReached=fn;break;case 'onseek':this.e_onSeek=fn;break;}},initialize:function(options,config,parent){console.log("SilverlightPlaybackComponent player initialized");this.parent=parent;this.options=options;this.config=config;this.adBaseUrl=config.advBase;this.playerHeight=options.height||390;this.playerWidth=options.width||612;this.playerHeight += "px";this.playerWidth += "px";this.$container=$(options.containerElement);this.$container.setStyle({height:this.playerHeight,width:this.playerWidth});this.mode=this.playerModes.POPUP; if(options.mode=="embedded") {this.mode=this.playerModes.EMBEDDED;}this.size=options.size||'large';this.videoQuality=1;this.loadPlayerStateFromCookie();Event.observe(window,"unload",this.savePlayerStateToCookie.bind(this));this.buildPlayer();},buildPlayer:function() {var playerHTML="";var xapURL;xapURL="/asset/silverlight/OlympicsVideoPlayer.xap";if(Cookie.get("CIRO")=='debug') {xapURL="/asset/silverlight/OlympicsVideoPlayer_debug.xap";console.log("Silverlight DEBUG build");}window.onPlayerLoaded=(function(){this.onPlayerLoaded();}).bind(this);playerHTML += '<object data="data:application/x-silverlight," type="application/x-silverlight" width="100%" height="100%" id="' + this.xapId + '">';playerHTML += '<param name="source" value="' + xapURL + '?' + this.version + '"/>';playerHTML += '<param name="initParams" value="playerMode=' + this.mode + ',baseAdUrl=' + this.adBaseUrl + ',isEnhancedEnabled=' + this.isEnhancedEnabled + ',currentDay=' + this.config.day + ',clipsSinceLastAd=' + this.clipsSinceLastAd + '" />';playerHTML += '<param name="background" value="white" />';playerHTML += '<param name="onerror" value="onPlayerLoadError"/>';playerHTML += '<param name="framerate" value="60"/>';if(this.mode==this.playerModes.EMBEDDED) {if(this.size=='large') {playerHTML += '<div style="" id="EVNPlayerSetup" class="SLVideoSetup"><div class="vpPlayerSetup_embedded"><img width="70" src="/imgml/videoplayer/logosetupsmall.gif" alt="" heigth="77"/><div class="vpPlayerSetup_Help"><div class="Text vpPlayerSetup_Other vpPlayerSetupPopupPanel"><p>Thank you for installing the latest version of Silverlight. To complete the installation and begin viewing video please close all your open browsers and return to NBCOlympics.com.</p></div></div></div></div>';} else {playerHTML += '<div id="EVNPlayerSetup" class="SLVideoSetup" style="background-position:center center;"><div style="background-color:white;"><div class="vpPlayerSetup_embedded"><img width="70" src="/imgml/videoplayer/logosetupsmall.gif" alt="" heigth="77"/><div class="vpPlayerSetup_Help"><div class="Text vpPlayerSetup_Other vpPlayerSetupPopupPanel"><p>Thank you for installing the latest version of Silverlight. To complete the installation and begin viewing video please close all your open browsers and return to NBCOlympics.com.</p></div></div></div></div></div>';}} else {playerHTML += '<div style="position:fixed; top:0px; left:0px;" class="SLVideoSetup" id="setupPanelObjectInner"><div class="vpPlayerSetup_popup"><img width="151" heigth="167" alt="" src="http://i.nbcolympics.com/imgml/videoplayer/logosetup.gif"/><div class="Text vpPlayerSetup_Other vpPlayerSetupPopupPanel"><p>Thank you for installing the latest version of Silverlight. To complete the installation and begin viewing video please close all your open browsers and return to NBCOlympics.com.</p></div></div></div>';}console.log("Embedding player");this.$container.insert(playerHTML);this.$player=$(this.xapId);},onPlayerLoaded:function() {console.log("onPlayerLoaded(). Attaching events");this.isPlayerLoaded=true;this.$player.Content.SLPlayer.TimeCodeReached=this.onTimeCodeReached.bind(this);this.$player.Content.SLPlayer.PlayerModeChanged=this.onPlayerModeChanged.bind(this);this.$player.Content.SLPlayer.VideoRequested=this.onVideoRequested.bind(this);this.$player.Content.SLPlayer.AdLoaded=this.onAdLoaded.bind(this);this.$player.Content.SLPlayer.AdStarted=this.onAdStarted.bind(this);this.$player.Content.SLPlayer.AdFinished=this.onAdFinished.bind(this);this.$player.Content.SLPlayer.PlaybackPointReached=this.onPlaybackPointReached.bind(this);this.$player.Content.SLPlayer.VideoEnded=this.onVideoEnded.bind(this);this.$player.Content.SLPlayer.VideoStopped=this.onVideoStopped.bind(this);this.$player.Content.SLPlayer.VideoPositionChanged=this.onSeek.bind(this);this.$player.Content.SLPlayer.SendVideoClicked=this.onSendVideoClicked.bind(this);this.$player.Content.SLPlayer.GrabChannelClicked=this.onGrabChannelClicked.bind(this);this.$player.Content.SLPlayer.PopupClicked=this.onPopupClicked.bind(this);this.$player.Content.SLPlayer.DefaultVideoQualityChanged=this.onDefaultQualityChanged.bind(this);try {this.$player.Content.SLPlayer.ClipsSinceLastAd=this.clipsSinceLastAd;this.$player.Content.SLPlayer.TimeSinceLastAd=this.timeSinceLastAd;this.$player.Content.SLPlayer.SetVideoQuality(this.videoQuality);} catch(e) {console.log("Cound not access the properties in the SL player");}this.$player.Content.SLPlayer.LangSource=Object.toJSON(lang);if(!Object.isUndefined(this.video)) {this.setVideo(this.video,0,0,1);}this.e_onAdvertPlaying("player-loaded");},loadPlayerStateFromCookie:function() {console.log("loadPlayerStateFromCookie()");var clipsSinceLastAd=Cookie.get("nbcad1"+this.options.mode);var timeSinceLastAd=Cookie.get("nbcad2"+this.options.mode);if(clipsSinceLastAd!==null) {this.clipsSinceLastAd=clipsSinceLastAd;console.log("Loaded adState clipsSinceLastAd:%s",this.clipsSinceLastAd);} else {console.log("No clipsSinceLastAd found.");}if(timeSinceLastAd!==null) {this.timeSinceLastAd=timeSinceLastAd;console.log("Loaded adState timeSinceLastAd:%s",this.timeSinceLastAd);} else {console.log("No timeSinceLastAd found.");}},savePlayerStateToCookie:function() {try {var clipsSinceLastAd=this.$player.Content.SLPlayer.ClipsSinceLastAd.toString();var timeSinceLastAd=this.$player.Content.SLPlayer.TimeSinceLastAd.toString();Cookie.set("nbcad1"+this.options.mode,clipsSinceLastAd,0.021);Cookie.set("nbcad2"+this.options.mode,timeSinceLastAd,0.021);} catch(e) {}},setVideo:function(video,renderer,position,quality) {console.log("setVideo(%s,%s,%s,%s)",video,renderer,position,quality);this.video=video;var r=renderer;var p=position;var q=quality;if(Object.isUndefined(r)) r=0;if(Object.isUndefined(p)) p=0;if(Object.isUndefined(q)) q=this.videoQuality;try {console.log("SLPlayerSetVideo(%s,%s,%s,%s)",video,r,p,q);this.$player.Content.SLPlayer.SetVideo(Object.toJSON(video),r,p,q);} catch(e) {console.log("Error:(setVideo)");console.log(e);console.log("Object.toJSON(video) - " + Object.toJSON(video));console.log("renderer - " + renderer);}},setPosition:function(seconds) {console.log("setPosition(%s)",seconds);try {this.$player.Content.SLPlayer.SetPosition(seconds);} catch(e) {console.log("Error:(setPosition) - " + e);}},playAdvert:function() {console.log("playAdvert() (ad slates)");try {this.$player.Content.SLPlayer.PlayAd();} catch(e) {console.log("Error:(playAd) - " + e);}},fastForwardAd:function() {try {this.$player.Content.SLPlayer.AdFastForward();} catch(e) {console.log("Reminder:fastForwardAd is only available for player compiled in DEBUG mode.");console.log("Error:(fastForwardAd) - " + e);}},displayAlert:function(videoId,text) {console.log("displayAlert:" + videoId + "| text:" + text);this.$player.Content.SLPlayer.DisplayAlert(videoId,text);},setDefaultQuality:function(quality) {console.log("setDefaultQuality:%s",quality);this.$player.Content.SLPlayer.DefaultQuality=quality;this.videoQuality=quality;},onVideoRequested:function(sender,args) {var assetId=args.VideoId;var renderer=args.Renderer;var position=args.VideoPosition;var quality=args.Quality;console.log("onVideoRequested()");console.log("args:" + args);console.log("assetId:" + assetId);console.log("Renderer:" + renderer);console.log("videoPosition:" + position);console.log("quality:" + quality);if(assetId!==null) {console.log("onVideoRequested - assetId:" + assetId);this.e_onVideoRequested(assetId,renderer,position,quality);}},onVideoEnded:function() {console.log("onVideoEnded");console.log("PlaybackTime:%s",this.$player.Content.SLPlayer.PlaybackTime);this.e_onVideoFinish();},onVideoStopped:function() {console.log("onVideoStopped");console.log("PlaybackTime:%s",this.$player.Content.SLPlayer.PlaybackTime);},onTimeCodeReached:function(sender,args) {var latestTimeCode=this.$player.Content.SLPlayer.LatestTimeCode;if(this.e_onPlayerStatusChange!==undefined&&this.e_onPlayerStatusChange!=null){var pStatus ={tc:undefined,status:'play'};pStatus.tc=latestTimeCode;this.e_onPlayerStatusChange (pStatus);}},setPlayerMode:function(mode) {console.log("setPlayerMode(%s)",mode);this.$player.Content.SLPlayer.SetPlayerMode(mode);this.updatePlayerContainer(mode);},updatePlayerContainer:function(mode) {var m=this.playerModes;this.mode=mode;this.e_onPlayerAspectChange(this.mode);switch(this.mode){case m.NONE:break;case m.EMBEDDED:this.$container.setStyle({height:this.playerHeight,width:this.playerWidth});break;case m.POPUP:this.$container.setStyle({height:this.playerHeight,width:this.playerWidth});window.resizeBy(-52,30);break;case m.ENHANCED:h="524px";w="1002px";this.$container.setStyle({ width:w,height:h });window.resizeBy(52,-30);break;default:throw "InvalidPlayerMode";this.playerMode=undefined;break;}},onPlayerModeChanged:function(sender,args) {console.log("onPlayerModeChanged(sender,args)");console.dir(args);this.updatePlayerContainer(args.PlayerMode);},onAdLoaded:function(sender,args) {console.log("onAdLoaded");var CompanionAdUrl=this.$player.Content.SLPlayer.CompanionAdUrl;console.log(CompanionAdUrl);},onAdStarted:function(sender,args) {console.log("onAdStarted");console.dir(args);this.e_onAdvertPlaying("pre-roll",this.$player.Content.SLPlayer.CompanionAdUrl);},onAdFinished:function(sender,args) {console.log("onAdFinished");console.dir(args);this.adClipsUntilNextAd=this.adFrequencyByClips;this.e_onAdvertPlaying("pre-roll-stop","");},onSeek:function(sender,args) {this.e_onSeek();},addMessage:function(type,message,time) {console.log("addMessage(%s,'%s',%s)",type,message,time);try {this.$player.Content.SLPlayer.InsertMessage(type,message,time);} catch(e) {console.log("Error:(insertMessage) - " + e.description);return;}},setNavigationFeed:function(url) {try {this.$player.Content.SLPlayer.SetVideoNavigationFeed(url);} catch(e) {console.log("Error:(setNavigationFeed) - " + e.description);return;}},onPlaybackPointReached:function(sender,args) {console.log("onPlaybackPointReached");var percentage;var seconds;var playbackPointTypes={ PERCENT:0,SECONDS:1 };var latestPlaybackPointType;try {latestPlaybackPointType=this.$player.Content.SLPlayer.LatestPlaybackPointType;console.log("latestPlaybackPointType:%s",latestPlaybackPointType);} catch(e) {console.log("Error:(onPlaybackPointReached/LatestPlaybackPointType) - " + e);return;}switch(latestPlaybackPointType) {case playbackPointTypes.PERCENT:try {percentage=this.$player.Content.SLPlayer.LatestPlaybackPoint;console.log("percentage:%s",percentage);} catch(e) {console.log("Error:(onPlaybackPointReached/LatestPlaybackPoint) - " + e);return;}switch(percentage) {case 0:console.log("Video Started");this.e_onAdvertPlaying("video-start");break;case 25:this.e_onPlaybackPointReached("percent",25);break;case 50:this.e_onPlaybackPointReached("percent",50);break;case 75:this.e_onPlaybackPointReached("percent",75);break;case 100:break;}console.log("Point:%s%",percentage);break;case playbackPointTypes.SECONDS:try {seconds=this.$player.Content.SLPlayer.LatestPlaybackSeconds;console.log("seconds:%s",seconds);} catch(e) {console.log("Error:(onPlaybackPointReached/LatestPlaybackSeconds) - " + e);return;}this.e_onPlaybackPointReached("seconds",seconds);break;default:console.error("Invalid LatestPlaybackPointType");break;}},onSendVideoClicked:function(sender,args) {console.log("onSendVideoClicked");var video;var sendToEmail;var sendFromEmail;var shareURL;video=this.$player.Content.SLPlayer.CurrentVideo.evalJSON();sendToEmail=this.$player.Content.SLPlayer.SendToEmail;sendFromEmail=this.$player.Content.SLPlayer.SendFromEmail;shareURL=video.shareUrl;this.e_onEmail(sendToEmail,sendFromEmail,"",shareURL,"");},onPopupClicked:function() {console.log("onPopupClicked");var url=this.$player.Content.SLPlayer.CurrentVideo.evalJSON().url;openPopupVideo(url);},onCopyLinkClicked:function(sender,args) {console.log("onCopyLinkClicked");var video;var url;url=this.$player.Content.SLPlayer.CurrentVideo.evalJSON().shareUrl;if(window.clipboardData&&clipboardData.setData) {clipboardData.setData("Text",url);} else {alert("Internet Explorer required");}},onGrabChannelClicked:function(sender,args) {console.log("onGrabChannelClicked");video=this.$player.Content.SLPlayer.CurrentVideo.evalJSON();if(Object.isUndefined(video)) return;var olympicVideoChannelId=video.channelID;window.open("/video/modules/widget/launchpad.html?olympicVideoChannelId=" + olympicVideoChannelId,"launchpad","height=210,width=400,toolbar=no,menubar=no,resizable=no,status=no,scrollbars=no");},onDefaultQualityChanged:function(sender,args) {console.log("onDefaultQualityChanged");var quality=this.$player.Content.SLPlayer.DefaultQuality;console.log("DefaultQuality:%s",quality);},displayError:function(message,type,renderer) {console.log("displayError(message='%s',type='%s',renderer='%s')",message,type,renderer);this.$player.Content.SLPlayer.ShowUserMessage(type,message,renderer);}});var videoPlaybackDetectionSimple={checkBrowser:function(divP,mode) {if(window.pc&&window.ie)return true;if(window.pc&&window.safari)return this.sorryScreen(divP,mode);if(window.pc&&window.gecko){if(!this.detectWMPFirefoxPlugin()){return this.pluginScreen(divP,mode);}return true}return this.sorryScreen(divP,mode);},checkBrowserSilent:function() {if(window.pc&&window.ie)return true;if(window.pc&&window.safari)return false;if(window.pc&&window.gecko){if(!this.detectWMPFirefoxPlugin()){return false;}return true}return false;},detectWMPFirefoxPlugin:function() {for(var i=0;i<navigator.plugins.length;i++){var n=navigator.plugins[i].name;if(n!=null&&n.indexOf("Media Player Firefox")>=0&&n.indexOf("Microsoft")>=0)return true;}return false;},pluginScreen:function(divP,mode){this._showScreen(divP,mode,'plugin');return false;},sorryScreen:function(divP,mode){this._showScreen(divP,mode,'sorry');return false;},_showScreen:function(divP,mode,screen){var u='/video/modules/setup/'+mode+'/_'+screen+'.html';if(mode=='popup'){try{$('popupLoader').hide();}catch(e){}var x=new Image();x.src="/imgml/videoplayer/setuppanel.jpg";setTimeout (function(){new Ajax.Updater(divP,u,{method:'get',onSuccess:function(){$(divP).show();}});},3000);}else{new Ajax.Updater(divP,u,{method:'get',onSuccess:function(){$(divP).show();}});}}}var wmpInstallSL={ShowPrompt:function(callBack){$('videoPlayer').hide();$('VideoPlayer1').hide();Cookie.erase("nbcovp");Cookie.erase("nbcovp_session");new videoPlaybackDetection('popup',callBack,'setupPanel');}};var videoPlaybackDetection=Class.create({callback  :undefined,pluginType  :"none",pluginVersion :"0",mode   :"popup",prevVersion  :false,showRefreshPanel:false,ua    :undefined,$overlay  :undefined,$panelContainer :undefined,$panelContent :undefined,$yes   :undefined,$no    :undefined,$no2   :undefined,$close   :undefined,setupPanelName :undefined,isPanelVisible :false,imgLoaded  :false,e_onResize      :function() { },e_onInstallSilverlightClicked :function() { },e_onDoNotInstallSilverlightClicked:function() { },e_onDontAskMeAgainClicked  :function() { },e_onCloseClicked    :function() { },onClose:function(){this.trackEvent('SL_INSTALL_CLOSED');},onInitializeError:function(sender,args){if(args.ErrorCode==5014){this._showScreen(this.setupPanelName,this.mode,"restart");}},initialize:function(mode,callback,setupPanelName) {this.callback=callback;this.mode=mode;this.setupPanelName=setupPanelName;this.detectUserAgent();this.e_onCloseClicked=this.onClose.bind(this)if(this.ua.OS=='Unsupported'||(this.ua.OS=='Windows'&&this.ua.Browser=='Safari')) {this.trackEvent('SL2_NotSupported');this._showScreen(this.setupPanelName,this.mode,"sorry");return;}var isSilverlightInstalled=isRTMAvailable()this.prevVersion=Silverlight.isInstalled("1.0") | Silverlight.isInstalled("2.0.30226");if(!isSilverlightInstalled){if(this.prevVersion){this.trackEvent('SL_1_pre2v2SL');}else{this.trackEvent('SL_1_nosl');}}var qsVal=window.location.toString().toQueryParams();if(qsVal.disableSilverlight=="true"){this.callback("wmp");return;}if(isSilverlightInstalled) {window.onPlayerLoadError=this.onInitializeError.bind(this);try{$('popupLoader').hide();}catch(e){}this.trackEvent('SL_1_2v2');this.pluginType="sl";this.callback(this.pluginType);}else if(isRestartRequired()){this._showScreen(this.setupPanelName,this.mode,"suggestrestart");}else {if(Cookie.get("nbcovp")==="wmp") {if(Cookie.get("nbcovp_session")==="wmp"){this.trackEvent('SL_2_SessionCookie');}else{this.trackEvent('SL_2_PersistentCookie');}this.pluginType="wmp";this.callback(this.pluginType);} else {this.showInstallSilverlight(); }}},detectUserAgent:function(){var ua=window.navigator.userAgent;this.ua={OS:'Unsupported',Browser:'Unsupported'};if(ua.indexOf('Windows NT 5.0')>=0||ua.indexOf('Windows NT 4.0')>=0||ua.indexOf('Windows 9')>=0||ua.indexOf('Windows CE')>=0||ua.indexOf('Win 9')>=0){return;}if(ua.indexOf('Windows NT')>=0||ua.indexOf('Mozilla/4.0 (compatible; MSIE 6.0)')>=0){this.ua.OS='Windows';}else if(ua.indexOf('PPC Mac OS X')>=0){this.ua.OS='MacPPC';}else if(ua.indexOf('Intel Mac OS X')>=0){this.ua.OS='MacIntel';}if(this.ua.OS!='Unsupported'){if(ua.indexOf('MSIE')>=0){if(navigator.userAgent.indexOf('Win64')==-1){if(parseInt(ua.split('MSIE')[1])>=6){this.ua.Browser='MSIE';}}}else if(ua.indexOf('Firefox')>=0) {var version=ua.split('Firefox/')[1].split('.');var major=parseInt(version[0]);if(major>=2) {this.ua.Browser='Firefox';}else {var minor=parseInt(version[1]);if((major==1)&&(minor>=5)) {this.ua.Browser='Firefox';}}}else if(ua.indexOf('Safari')>=0) {this.ua.Browser='Safari';}}},showInstallSilverlight:function() {Event.observe(window,'beforeunload',this.e_onCloseClicked);var ua=this.ua;var bForce=false;var noSupport=(ua.OS=='Unsupported'||ua.Browser=='Unsupported'||(ua.OS=='Windows'&&ua.Browser=='Safari')||(ua.OS.indexOf('Mac')>=0&&ua.Browser=='IE')||(ua.OS=='MacPPC') );if(!noSupport){if(ua.OS.indexOf('Mac')>=0)bForce=true;else{if(this.ua.Browser=="Firefox") {bForce=true;if(!this.detectWMPFirefoxPlugin()) {bForce=true;}}}}this.e_onInstallSilverlightClicked=this.onInstallSilverlightClicked.bind(this)this.e_onDoNotInstallSilverlightClicked=this.onDoNotInstallSilverlightClicked.bind(this);var opt={method:'get',onComplete:undefined};opt.onComplete=this.bindUIListener.bind(this);var scr=''if(noSupport)scr="sorry";else{this.trackEvent('SL_2_InstallPrompt');if(bForce){scr="force";if(window.mac)scr="forcemac";}elsescr="prompt";}this._showScreen(this.setupPanelName,this.mode,scr);},_showScreen:function(divP,mode,screen){var u='/video/modules/setup/'+mode+'/_'+screen+'.html';var that=this;if(mode=='popup'){var t=0;if(!this.imgLoaded){var x1=new Image(),x2=new Image(),x3=new Image();x1.src="http://i.nbcolympics.com/imgml/videoplayer/setuppanel.jpg";x2.src="http://i.nbcolympics.com/imgml/videoplayer/logosetup.gif";x3.src="http://i.nbcolympics.com/imgml/videoplayer/installbtn.gif";t=3000;this.imgLoaded=true;}setTimeout (function(){try{$('popupLoader').hide();}catch(e){}new Ajax.Updater(divP,u,{method:'get',onSuccess:function(){$(divP).show();setTimeout (function(){that.bindUIListener();},1000);}});},t);}else if(mode=='embedded'){new Ajax.Updater(divP,u,{method:'get',onSuccess:function(){$(divP).show();setTimeout (function(){that.bindUIListener();},1000);}});}else{new Ajax.Updater(divP,u,{method:'get',onSuccess:function(){$(divP).show();}});}},bindUIListener:function() {this.$yes=$('btSLInstall');this.$no=$('btSLCancelInstall');this.$no2=$('btSLCancelInstall2');this.$chkDontAskMeAgain=$('chkSLRemember');if(this.$yes!==undefined&&this.$yes!=null) this.$yes.observe("click",this.e_onInstallSilverlightClicked);if(this.$no!==undefined&&this.$no!=null) this.$no.observe("click",this.e_onDoNotInstallSilverlightClicked);if(this.$no2!==undefined&&this.$no2!=null) this.$no2.observe("click",this.e_onDoNotInstallSilverlightClicked);$(this.setupPanelName).show();},closeInstallSilverlight:function() {try{Event.stopObserving(window,'beforeunload',this.e_onCloseClicked);Event.stopObserving(this.$yes,"click",this.e_onInstallSilverlightClicked);Event.stopObserving(this.$no,"click",this.e_onDoNotInstallSilverlightClicked);Event.stopObserving(this.$no2,"click",this.e_onDoNotInstallSilverlightClicked);}catch(e){}},onCloseInstallSilverlight:function() {$(this.setupPanelName).hide();try{window.close();}catch (e){}},onInstallSilverlightClicked:function() {Event.stopObserving(window,'beforeunload',this.e_onCloseClicked);this.trackEvent('SL_3_Install');var scr="restart";if(!this.prevVersion)scr="refresh";this._showScreen(this.setupPanelName,this.mode,scr);setTimeout(this._showScreen.bind(this,this.setupPanelName,this.mode,scr),1000);},onDoNotInstallSilverlightClicked:function() {Event.stopObserving(window,'beforeunload',this.e_onCloseClicked);$(this.setupPanelName).hide();this.pluginType="sl";if(this.ua.OS=="Windows") {if(this.ua.Browser=="Firefox") {if(this.detectWMPFirefoxPlugin()) {this.pluginType="wmp";}} else if(this.ua.Browser=="MSIE") {this.pluginType="wmp";}}var checked=$('chkSLRemember').checked;if(checked) {Cookie.set("nbcovp",this.pluginType,21);this.trackEvent('SL_3_noprompt');} else {Cookie.erase("nbcovp");Cookie.set("nbcovp",this.pluginType);Cookie.set("nbcovp_session",this.pluginType);this.trackEvent('SL_3_Fallback');}this.callback(this.pluginType);},detectWMPFirefoxPlugin:function() {if(!Prototype.Browser.Gecko) return false; for(var i=0;i<navigator.plugins.length;i++) {var n=navigator.plugins[i].name;if(n!=null&&n.indexOf("Media Player Firefox")>=0&&n.indexOf("Microsoft")>=0) {return true; }}return false;},trackEvent:function(evName){s_initS();s.linkTrackVars='prop45,prop16';s.linkTrackEvents='None';s.prop45=evName;s.tl(this,'o',evName);}});isRTMAvailable=function(){var isVersionSupported=false;var container=null;try{if(navigator.userAgent.toLowerCase().indexOf("opera")>-1)return isVersionSupported;if(navigator.userAgent.toLowerCase().indexOf("safari")>-1&&navigator.userAgent.toLowerCase().indexOf("windows nt")>-1)return isVersionSupported;var AXcontrol=null;try{AXcontrol=new ActiveXObject('AgControl.AgControl');var RTMBUILD99 = RTMBUILD.substring(0,RTMBUILD.lastIndexOf("."))+ ".99";if(AXcontrol.IsVersionSupported(RTMBUILD99)){isVersionSupported=true;}AXcontrol=null;}catch (e){var plugin=navigator.plugins["Silverlight Plug-In"];if(plugin){if((navigator.userAgent.indexOf("Firefox/")>-1)&&plugin.description.indexOf("1.")===0){navigator.plugins.refresh();var plugin2=navigator.plugins["Silverlight Plug-In"];if(plugin2)plugin=plugin2;}var actualVer=plugin.description;if(actualVer >= RTMBUILD ){isVersionSupported=true;}}}}catch (e){isVersionSupported=false;}if(container){document.body.removeChild(container);}return isVersionSupported;}WaitForIESLB2Upgrade=function(){}isRestartRequired=function(){var isVersionSupported=false;try{var AXcontrol=null;if(window.ActiveXObject){AXcontrol=new ActiveXObject('AgControl.AgControl');if(AXcontrol.IsVersionSupported(RTMBUILD)){isVersionSupported=true;}AXcontrol=null;}else{var plugin=navigator.plugins["Silverlight Plug-In"];if(plugin){var container=null;try{var control=null;container=document.createElement('div');document.body.appendChild(container);container.innerHTML= '<embed type="application/x-silverlight"/>';control=container.childNodes[0];document.body.innerHTML;if(control.IsVersionSupported(RTMBUILD)){isVersionSupported=true;}control=null;}catch (e){isVersionSupported=false;}if(container) {document.body.removeChild(container);}}}}catch (e){isVersionSupported=false;}return isVersionSupported;}var playerGeoSetting={isInternational:function(){var bInternational=true;bInternational=false;return bInternational;},checkVideo:function(v){if(!playerGeoSetting.isInternational()) return true;if(v===undefined||v==null) return true;var gs=v.geoBlocked;if(gs===undefined||gs==null||gs=='')return false;if(gs=='0')return true;return false;}}var StoryPageVideoPlayerStation='';var StoryPageVideoPlayerInit=false;var StoryPageVideoPlayer=Class.create({m_option:undefined,m_assetID:undefined,m_video:undefined,m_player:undefined,initialize:function(playerOption,assetId,stationCode){if(pagePlayer!=null){pagePlayer.loadVideo(assetId);return;}if(stationCode!==undefined&&stationCode!=null)StoryPageVideoPlayerStation=stationCode;this.m_option=playerOption;this.m_assetID=assetId;if(StoryPageVideoPlayerInit){this.onPlay();return;}var u='/video/modules/json/resourcedata/'+scomposeAssetID(assetId)+'/asset.html';var bSafariOnPc=false;if(isRTMAvailable()) { new Ajax.Request(u,{method:"get",onSuccess:this.onJSONSLLoad.bind(this)});this.m_player=new PlayerContainer({mode:'embedded',width:this.m_option.width,height:this.m_option.height,size:this.m_option.size,player:"sl",containerElement:this.m_option.containerElement,setupElement:this.m_option.setupElement,onJSONLoaded:this.m_option.onJSONLoaded});this.m_player.loadVideo(this.m_assetID);}else{new Ajax.Request(u,{method:"get",onSuccess:this.onJSONLoad.bind(this)});}StoryPageVideoPlayerInit=true;},onJSONLoad:function(transport){var v=JSON.parse(transport.responseText);var iu=v.thumbnails.embeddedLarge;var c="videoStoryPreviewLarge";if(this.m_option.size=='small'){iu=v.thumbnails.embeddedSmall;c="videoStoryPreviewSmall";}var bSplash=false;var h="<div id='videoStoryPreviewHost' class='videoStoryPreviewHost "+c+"'><div class='videoStoryPreviewImg'><img src='"+iu+"' /></div><div class='videoStoryPreviewOverlay'></div>"h+="</div>";$(this.m_option.containerElement).update(h);$('videoStoryPreviewHost').observe('click',this.onPlay.bind(this));if(this.m_option.onJSONLoaded!=null&&this.m_option.onJSONLoaded!=undefined)this.m_option.onJSONLoaded(v);},onJSONSLLoad:function(transport){var v=JSON.parse(transport.responseText);if(this.m_option.onJSONLoaded!=null&&this.m_option.onJSONLoaded!=undefined)this.m_option.onJSONLoaded(v);},onPlay:function() {var vcBack=this.onDetectCallBack.bind(this);var d=new videoPlaybackDetection('embedded',vcBack,this.m_option.setupElement);},onDetectCallBack:function(playerType){this.m_player=new PlayerContainer({mode:'embedded',width:this.m_option.width,height:this.m_option.height,size:this.m_option.size,player:playerType,containerElement:this.m_option.containerElement,setupElement:this.m_option.setupElement,onJSONLoaded:this.m_option.onJSONLoaded});this.m_player.loadVideo(this.m_assetID);}});var ShareVideo=Class.create({m_assetID:undefined,m_option:undefined,m_channelcode:undefined,initialize:function(opt){var qs=window.location.toString();this.m_assetID=qs.toQueryParams()['videoid'];this.m_channelcode=qs.toQueryParams()['channelcode'];this.m_option=opt;if(this.m_assetID!=null&&this.m_assetID!=undefined&&this.m_assetID.length>0){var u='/video/modules/json/resourcedata/'+scomposeAssetID(this.m_assetID)+'/asset.html';new Ajax.Request(u,{method:"get",onSuccess:this.onJSONLoad.bind(this)});}else{$('videoShareContainer').hide();}},onJSONLoad:function(transport){var v=JSON.parse(transport.responseText);var h="<div id='videoShareContent'><div id='videoShareImage'><img src='"+v.thumbnails.embeddedSmall+"' /></div>";h+="<div class='videoShareDescription'><h2>";h+=unescape(v.title);h+="</h2>";h+="<p>";h+=unescape(v.description);h+="</p>";h+="</div>";h+="<div class='videoSharePlayButton' onclick='";h+='openPopupVideo(\" ';h+="/video/player.html?assetid=";h+=this.m_assetID;if(this.m_channelcode!=undefined&&this.m_channelcode!=null&&this.m_channelcode.length>0){h+="&channelcode="h+=this.m_channelcode;}else if(this.m_option!=undefined&&this.m_option!=null){h+="&channelcode=st_"h+=this.m_option.station;}h+='\");\'>';h+="Play video";h+="</div>";h+="</div>";$('videoShareContainer').update(h);}});var popupLocalization={m_li:undefined,m_pi:undefined,m_si:undefined,m_attempt:0,m_maxAttempt:3,m_zip:undefined,m_provider:undefined,OpenVideoLocalization:function(){try{var z=$F('GoLocal');if(z!==undefined&&z!=null&z!=''&&isNaN(z)==false)Cookie.set('LOCZIP',z);elseCookie.set('LOCZIP','-');}catch(e){Cookie.set('LOCZIP','-');}openPopupVideo('/video/player.html?assetid=69caa828-06d9-43d6-b9db-4e84731cf0c3');},startLocalization:function(){var at=Cookie.get('LA');if(at!==undefined&&at!=null&&at!=''){try{this.m_attempt=parseInt(at)}catch(e){}}if(this.m_attempt>=this.m_maxAttempt){this.showBanMessage();return;}var cv=Cookie.get('LOCI');var m='clean';if(cv!==undefined&&cv!=null&&cv!=''){try{this.m_li=Localization.loadCookie();this.m_pi=new ProviderInfo(this.m_li.provider);this.m_si=new StationInfo(this.m_li.station);m='change';}catch(e){};}try{if(m=='change'){setTimeout(function(){popupLocalization._showPanel();popupLocalization.showChange();},0);}else{setTimeout(function(){popupLocalization._showPanel();popupLocalization.beginLocalization();},0);}}catch(e){}},showBanMessage:function(){this._showPanel();new Ajax.Updater('BoxLocalization','/getlocal/library/video/_banned.html',{method:'get'});},showChange:function(){new Ajax.Updater('BoxLocalization','/getlocal/library/video/_change.html',{method:'get',onComplete:this.onChangeLoaded.bind(this)});},beginLocalization:function(){new Ajax.Updater('BoxLocalization','/getlocal/library/video/_begin.html',{method:'get',onComplete:this.onBeginLoaded.bind(this)});},onBeginLoaded:function(){setTimeout(this.onBeginLoadedUpdate.bind(this),100);},onBeginLoadedUpdate:function(){var z=Cookie.get('LOCZIP');if(z===undefined||z==null||z=='')return;Cookie.erase('LOCZIP');if(z!='-')$('locZip').value=z;},onChangeLoaded:function(){setTimeout(this.onChangeLoadedUpdate.bind(this),100);},onChangeLoadedUpdate:function(){try{$('playeLocZip').update(popupLocalization.m_li.zip);$('playeLocProvider').update(popupLocalization.m_pi.name);$('playeLocStation').update(popupLocalization.m_si.name);$('playerLocSettings').show();}catch(e){};},verifyFirstStep:function(){var p=$F('locProvider');var z=$F('locZip');this.m_zip=z;this.m_mso=p;this.att=false;this.verizon=false;if(z===undefined||z==null||z==''){this._hideErrors();$('playerLocStep1Teaser').hide();$('playerLocStep1ZipInvalid').show();}else if(p===undefined||p==null||p==''||p=='-'){this._hideErrors();$('playerLocStep1Teaser').hide();$('playerLocStep1SelectMSO').show();}else{if(p=='ATT')this.att=true;if(p=='VER')this.verizon=true;new Ajax.Request('/getlocal/library/video/zip='+z+'/provider='+p+'/_validate.html',{method:'get',onComplete:this.onStep1CB.bind(this)});}},verifySecondStep:function(){try{var tmp=getRadioValue('rdProvider');if(tmp===undefined||tmp==null||tmp=='')return;this.m_li=new LocalizationInfo (this.m_zip,tmp,'');this.m_pi=new ProviderInfo(this.m_li.provider);if(this.m_pi.id!==undefined&&this.m_pi.id!=null&&this.m_pi.id!=''){new Ajax.Updater('BoxLocalization','/getlocal/library/video/provider='+this.m_pi.id+'/_step3.html',{method:'get'});}}catch(e){}},verifySecondStepNoLive:function(){try{var tmp=getRadioValue('rdProvider');if(tmp===undefined||tmp==null||tmp=='')return;this.m_li=new LocalizationInfo (this.m_zip,tmp,'');this.m_pi=new ProviderInfo(this.m_li.provider);if(this.m_pi.id!==undefined&&this.m_pi.id!=null&&this.m_pi.id!=''){new Ajax.Updater('BoxLocalization','/getlocal/library/video/provider='+this.m_pi.id+'/_step3nolive.html',{method:'get'});}}catch(e){}},verifyThirdStep:function(){try{var tmp=getRadioValue('rdStation');if(tmp===undefined||tmp==null||tmp=='')return;this.m_li.station=tmp;Localization.saveCookie(this.m_li);VideoPlayerLocalization.m_enabled=true;Cookie.set('PA','1',50);Cookie.set('MSO',this.m_mso,50);try{var u=Cookie.get('LOCURL');if(u!==undefined&&u!=null&&u!=''){u=unescape(u);window.opener.location.href= u;self.close();return;}}catch(e){}popup.localizeUI();this.terminateLocalization();}catch(e){}},verifyThirdStepNoLive:function(){try{var tmp=getRadioValue('rdStation');if(tmp===undefined||tmp==null||tmp=='')return;this.m_li.station=tmp;Localization.saveCookie(this.m_li);try{var u=Cookie.get('LOCURL');if(u!==undefined&&u!=null&&u!=''){u=unescape(u);}elseu='/getlocal/postlocalizationvideo.html';window.opener.location.href= u;}catch(e){}if(popup.savedAssetID=='69caa828-06d9-43d6-b9db-4e84731cf0c3')this.terminateLocalization();elsepopupLocalization._hidePanel();}catch(e){}},onStep1CB:function(t){var j={zip:"0",mso:"0"};if(t.status==200){var j=JSON.parse(t.responseText);}if(j.zip=="0"){this._hideErrors();$('playerLocStep1Teaser').hide();$('playerLocStep1ZipInvalid').show();return;} if(this.att){VideoPlayerLocalization.m_enabled=true;Cookie.set('PA','1',50);Cookie.set('MSO','17304',50);try{popup.localizeUI();}catch(e){}this.terminateLocalization();}if(this.verizon){VideoPlayerLocalization.m_enabled=true;Cookie.set('PA','1',50);Cookie.set('MSO','17762',50);try{popup.localizeUI();}catch(e){}this.terminateLocalization();}else if(j.msocode=="0"){this.incrementAttempt();this._hideErrors();$('playerLocStep1Teaser').hide();$('playerLocStep1MSOInvalid').show();$('locProvider').selectedIndex=0;return;}else if(j.mso=="0"){this.m_zip=$F('locZip');this.m_provider=$F('locProvider');new Ajax.Updater('BoxLocalization','/getlocal/library/video/_noaccess.html',{method:'get'});return;}else if(j.zip=="1"&&j.mso=="1"){this.m_zip=$F('locZip');this.m_provider=$F('locProvider');new Ajax.Updater('BoxLocalization','/getlocal/library/video/zip='+this.m_zip+'/provider='+this.m_provider+'/_step2.html',{method:'get'});}},backToLocalization:function(){new Ajax.Updater('BoxLocalization','/getlocal/library/video/_begin.html',{method:'get',onComplete:this.prefillZip.bind(this)});},continueLocalization:function(){new Ajax.Updater('BoxLocalization','/getlocal/library/video/zip='+this.m_zip+'/provider='+this.m_provider+'/_step2nolive.html',{method:'get'});},prefillZip:function(){try{$('locZip').value=this.m_zip;}catch(e){}},displayAttempt:function(){try{$('currAttempt').update(this.m_attempt+ ' ');$('maxAttempt').update(this.m_maxAttempt);}catch(e){}},incrementAttempt:function(){this.m_attempt++;if(this.m_attempt>=this.m_maxAttempt){Cookie.set('VB','1',1);VideoPlayerLocalization.m_banned=true;this.showBanMessage();}this.displayAttempt();Cookie.set('LA',this.m_attempt,1)},terminateLocalization:function(){popup.player.loadVideo(popup.savedAssetID,popup.savedRenderer,popup.savedPosition,popup.savedQuality);popupLocalization._hidePanel();},abortLocalization:function(){popupLocalization.gotoFreeContent();},gotoFreeContent:function(){popup.player.loadVideo('69caa828-06d9-43d6-b9db-4e84731cf0c3',0,0,1);popupLocalization._hidePanel();popup.onChannelLoad("features");},close:function(){popupLocalization.gotoFreeContent();},_showPanel:function(){try{$('brandingHeader').hide()$('videoContainer').hide()$('relatedContent').hide()$('companionAdContainer').hide()$('videoNavigation').hide()$('popupLoader').hide();$('localizationPanel').show();}catch(e){}},_hidePanel:function(){try{$('brandingHeader').show()$('videoContainer').show()$('relatedContent').show()$('companionAdContainer').show()$('videoNavigation').show()$('popupLoader').hide();$('localizationPanel').hide();}catch(e){}},_hideErrors:function(){$('playerLocStep1SelectMSO').hide()$('playerLocStep1MSOInvalid').hide()$('playerLocStep1ZipInvalid').hide()}}var popup={hashL:undefined,hash:'',player:undefined,channel:'',assetid:'',detectCallback:undefined,station:undefined,safestation:undefined,scrollEnabled:true,savedRenderer:undefined,savedPosition:undefined,savedQuality:undefined,savedAssetID:undefined,startAssetid:undefined,advOverride:'',isAdvOverrided:false,init:function(){try{var pW=(window.innerWidth||document.body.parentElement.offsetWidth);var pH=(window.innerHeight||document.body.parentElement.offsetHeight);if(window.ie==1){window.moveTo(50,0);}window.resizeBy(950-pW,660-pH);}catch(ex){};if(VideoPlayerLocalization.initialize(false,this.doInit.bind(this)))this.doInit();},doInit:function(){popup.attachHandlerToChannels();this.detectCallback=this.onDetectCallBack.bind(this);var d=new videoPlaybackDetection('popup',this.detectCallback,'setupPanel');var cv=Cookie.get('LOCI');if(cv===undefined||cv==null||cv==''){var x1=new Image();x1.src='http:/'+'/i.nbcolympics.com/imgml/videoplayer/localizepanel.jpg';}Event.observe($('stLogo'),'click',this.onStationClick.bind(this));},localizeUI:function(){try{var mso=Cookie.get('MSO');if(mso===undefined||mso==null||mso=='')return;var msolist= ["00068","00158","00180","01174","01407","07510","08010","08360","09540","13890","14520","14960","17304","17580","17680","17727","17762","08670"];var bf=false;for(var i=0;i<msolist.length;i++){if(msolist[i]==mso)bf=true;}if(bf){var p="/imgml/mso/"+mso+".jpg"$('msomainArea').update('')$('msomainArea').appendChild(Element("img",{"src":p}));}}catch(e){}},onDetectCallBack:function(playerType){this.localizeUI();$('brandingHeader').show()$('videoContainer').show()$('relatedContent').show()$('companionAdContainer').show()$('videoNavigation').show()try{$('popupLoader').hide();}catch(e){}if(playerGeoSetting.isInternational()){$('videoNavigation').addClassName('international');this.onChannelLoad('international');}popup.hashL=new HashListener();popup.hashL.addListner (popup.onHash)$$('#channelsBrowse ol li ol li a').each(function(el){var c=Cookie.get('LOCS');if(el.up().hasClassName("isLocal")&&(c===undefined||c==null||c=="")){el.up().hide();}Event.observe(el,'click',function(e){popup.onChannelChange(e.target,true);popup.toggleChannelsBrowse();Event.stop(e);})});popup.attachHandlerToChannels();Event.observe($('txtBrowse'),'click',function(e){popup.toggleChannelsBrowse();Event.stop(e);});Event.observe($('txtSearch'),'keyup',function(e){if(e.keyCode==13)popup.search()});popup.player=new PlayerContainer({mode:'popup',width:612,height:390,containerElement:'videoPlaybackHost',setupElement:'setupPanel',player:playerType});var qs=window.location.toString();try{var qp=qs.toQueryParams();if(qp.assetid!==undefined&&qp.assetid!=null&&qp.assetid!=''){popup.startAssetid=qp.assetid;popup.onVideoChange(qp.assetid);}if(qp.channelcode!==undefined&&qp.channelcode!=null&&qp.channelcode!='')popup.onChannelLoad(qp.channelcode);if(qp.adv!==undefined&&qp.adv!=null&&qp.adv!=''){popup.advOverride=qp.adv;popup.isAdvOverrided=true;}if((qp.assetid===undefined||qp.assetid==null||qp.assetid=='')&&(qp.channelcode===undefined||qp.channelcode==null||qp.channelcode=='')){if(qs.indexOf('#')>0){qs=qs.gsub("%23","#");var hs=qs.substring(qs.indexOf('#')+1);var ha=hs.split("#");if(ha[0]!==undefined&&ha[0]!=null&&ha[0]!='')popup.onVideoChange(ha[0]);if(ha[1]!==undefined&&ha[1]!=null&&ha[1]!='')popup.onChannelLoad(ha[1]);}}}catch(ex){}},onHash:function(h){if(h===undefined||h==null||h=='')h='';h=h.gsub("/","");popup.hash=h;h=h.gsub("%23","+");h=h.gsub("#","+");var a=h.split("+");if(a===undefined||a==null||a.length<1)return;popup.onVideoChange (a[0]);if(a.length==2){popup.onChannelLoad(a[1]);}},onVideoChange:function(v,scroll){popup.assetid=v;if(scroll===undefined||scroll==null)scroll=true;popup.scrollEnabled=scrollpopup.player.loadVideo(popup.assetid);},attachHandlerToChannels:function(){$$('.videoLink').each(function(el){Event.observe(el,'click',function(e){var assetid;if(Element.hasClassName(e.target,'videoLink'))assetid=e.target.readAttribute('assetid');elseassetid=Element.up(e.target,'.videoLink').readAttribute('assetid');if(assetid!==undefined&&assetid!=null&&assetid!='') popup.onVideoChange(assetid,false);Event.stop(e);})});try{popup.scrollEnabled=true;popup.player.searchVideoInChannel(popup.player.m_video.streams.assetID);}catch(ex){}},onChannelLoad:function(c,setHash){if(langCode=='es')c="telemundo";if(playerGeoSetting.isInternational()&&popup.channel=='international') return;if(popup.channel==c)return;popup.channel=c;this.station ='';$('navigationListItems').hide();$('navigationListWait').show();var u='';if(playerGeoSetting.isInternational()){popup.channel='international';this.station='';this.safestation='';u='/video/modules/channels/_international.html';}else{if(c.indexOf("st_")==0){this.safestation=this.station=c.substring(3);c="localcoverage";}var ca=$$(".ch_"+c);if(ca.length==0)return;var ch=ca[0];var tmp=ch.down();$('txtBrowse').value=(tmp.textContent!==undefined?tmp.textContent:(tmp.innerText!==undefined?tmp.innerText:tmp.innerHTML));u=unescape(ch.down().href);if(ch.hasClassName("isLocal")){var ck=this.station;if(this.station===undefined){ck=Cookie.get("LOCS");if(ck===undefined||ck==null||ck=="")return;this.station=ck;}if(ck+''=='')gk=this.safestation;u=u.gsub("{station}",ck)}}new Ajax.Updater('navigationListItems',u,{method:"get",onComplete:function(){popup.attachHandlerToChannels();$('navigationListItems').show();$('navigationListWait').hide();}});},onChannelChange:function(c,setHash){if(popup.channel!=c.title){var b=c.up().className;if(c.up().hasClassName('isSpanish')&&langCode=='en'){document.location.href="http://telemundo.nbcolympics.com/video/player.html?channelcode=telemundo"}else if(!c.up().hasClassName('isSpanish')&&langCode=='es'){var hs=c.title;if(c.up().hasClassName('isLocal')){hs="st_"+Cookie.get("LOCS");if("st_"==hs)hs="mostrecent"}document.location.href="http://www.nbcolympics.com/video/player.html?channelcode="+hs}else if(c.title==""){var ck=this.station;if(this.station===undefined){ck=Cookie.get("LOCS");if(ck===undefined||ck==null||ck=="")return;}this.onChannelLoad("st_"+ck,setHash);}else{var t=c.title;if(c.up().hasClassName('isLocal')){t="st_"+this.safestation;if("st_"==t)t="st_"+Cookie.get("LOCS");if("st_"==t)t="mostrecent";}this.onChannelLoad(t,setHash);}}},toggleChannelsBrowse:function(){$('channelsBrowse').toggle();},search:function() {popup.channel='search';$('txtBrowse').value='Search Results';var q=$F('txtSearch');if(q===undefined||q==null||q=='')return;var u="/video/modules/search/search.htmx?q="+escape(q);this.searchLoadResults(u);s.prop14=q;s.tl("","o"," ");},searchLoadResults:function(u){$('navigationListItems').hide();$('navigationListWait').show();new Ajax.Updater('navigationListItems',u,{method:"get",onComplete:function(){popup.attachHandlerToChannels();popup.searchAttachHandler();$('navigationListItems').show();$('navigationListWait').hide();}});},searchAttachHandler:function(){$$('.searchNavigationLink').each(function(el){Event.observe(el,'click',function(e){if(Element.hasClassName(e.target,'searchNavigationLink'))popup.searchLoadResults(e.target.href);elsepopup.searchLoadResults(Element.up(e.target,'.searchNavigationLink').href);Event.stop(e);});});},onStationClick:function(){if(popup.station===undefined||popup.station==null||popup.station=='') return;try{window.open('http:/'+'/www.nbcolympics.com/'+popup.station+'/index.html','local');}catch(e){}}}function sanvu(u){if(u.indexOf('#')>0){var bu=u.substring(0,u.indexOf('#'));var hs=u.substring(u.indexOf('#')+1);var ha=hs.split("#");var nu=bu+"?assetid="+ha[0];if(ha.length>1)nu+="&channelcode="+ha[1];if(advManager.isVideoOverrided()){u+="&adv="+advManager.m_VideoOverrideSettings;}return nu;}u=u.gsub('%23','+');u=u.gsub('#','+');u=u.replace('.html+','.html#');u=u.replace('&amp;','&');if(advManager.isVideoOverrided()){u+="&adv="+advManager.m_VideoOverrideSettings;}return u}function openPopupVideoFlash(u){return openPopupVideo(u);}function openPopupVideo(u){var h='660';if(this.ie6)h='656';var s='width=950,height='+h+',top=0,left=50' if(this.safari)s+=',resizable=0';var w=window.open(sanvu(u),'nbcvideoplayer',s);if(w===undefined||w==null){try{var ai=u.toQueryParams().assetid;if(ai!==undefined&&ai!=null){document.location.href='/video/share.html?videoid='+ai;}}catch(e){};}try{w.focus();}catch(e){};return false;}var embeddedVideoLarge={storyvideoplayer:undefined,assetid:'',boxW:512,boxH:337,boxName:'EVNPlayer',boxNameSetup:'EVNPlayerSetup',init:function(aId){var that=this;$(this.boxName).setStyle({width:that.boxW.toString() + 'px',height:that.boxH.toString() + 'px'});if(!embeddedVideoLarge.loadFromQString()){embeddedVideoLarge.loadVideo(aId);}},loadFromQString:function(){var aId=window.location.toString().toQueryParams()['assetid'];if(aId==null||aId==undefined||aId==''){return false;}else{embeddedVideoLarge.loadVideo(aId);return true;}},loadVideo:function(aId){this.assetid=aId;var that=this;this.storyvideoplayer=new StoryPageVideoPlayer({width:that.boxW,height:that.boxH,size:'large',containerElement:that.boxName,setupElement:that.boxNameSetup,onJSONLoaded:that.onJSONLoaded},that.assetid);},onJSONLoaded:function(vJson){if(vJson!=null&&vJson!=undefined){var vT=unescape(vJson.title);$('EVNDescription').update(vT);}},changeTab:function(tab,id){new Ajax.Updater('AjaxContainer',tab,{method:'get',evalScripts:true});$$('span.Selected').invoke('addClassName','Unselected');$$('span.Selected').invoke('removeClassName','Selected');$(id).up().addClassName('Selected');$(id).up().removeClassName('Unselected');}};var embeddedVideoNav={storyvideoplayer:undefined,player:undefined,assetid:'',boxW:320,boxH:225,boxName:'EVNPlayer',boxNameSetup:'EVNPlayerSetup',init:function(){$(embeddedVideoNav.boxName).setStyle({width:embeddedVideoNav.boxW.toString() + 'px',height:embeddedVideoNav.boxH.toString() + 'px'});embeddedVideoNav.subscribeVideos();if(!embeddedVideoNav.loadFromQString()){embeddedVideoNav.loadFirstVideo();}},loadFromQString:function(){var aId=window.location.toString().toQueryParams()['assetid'];if(aId==null||aId==undefined||aId==''){return false;}else{embeddedVideoNav.assetid=aId;embeddedVideoNav.loadVideo();return true;}},loadFirstVideo:function(){var vl= $$('#EVNTabContent li');if(vl.length>0){embeddedVideoNav.loadVideoElement(vl[0]);embeddedVideoNav.loadVideo();}},loadVideoElement:function(liElement){embeddedVideoNav.selectVideo(liElement);embeddedVideoNav.assetid=liElement.readAttribute('assetid');},onJSONLoaded:function(vJson){if(vJson!=null&&vJson!=undefined){var vT=unescape(vJson.title);var vD=unescape(vJson.description);if(vT==null||vT==undefined)vT='';if(vD==null||vD==undefined)vD='';if((200-vT.length)>0&&vD.length>(200-vT.length))vD=vD.substring(0,200-vT.length);$('EVNDescription').update(vT + ":" + vD);}},loadVideo:function(){var that=this;this.storyvideoplayer=new StoryPageVideoPlayer({width:that.boxW,height:that.boxH,size:'small',containerElement:that.boxName,setupElement:that.boxNameSetup,onJSONLoaded:embeddedVideoNav.onJSONLoaded},embeddedVideoNav.assetid);},selectVideo:function(liElement){$$('#EVNTabContent li').invoke('removeClassName','current');liElement.addClassName('current');},subscribeVideos:function(){$$('#EVNTabContent .videoLink').each(function(el){Event.observe(el,'click',embeddedVideoNav.videoLink_click);});},videoLink_click:function(event){var liElement=event.element();if(liElement.nodeName.toLowerCase()!='li')liElement=liElement.up('li');embeddedVideoNav.loadVideoElement(liElement);embeddedVideoNav.loadVideo();event.preventDefault();},changeTab:function(linkTab,tabUrl){linkTab=$(linkTab);embeddedVideoNav.selectTab(linkTab);$('EVNTabContent').hide();$('EVNWait').show();new Ajax.Updater('EVNTabContent',tabUrl,{method:'get',onComplete:embeddedVideoNav.tabChanged});},selectTab:function(tabElement){$$('#EmbeddedVideoNav ol.Tabs li').invoke('removeClassName','current');tabElement.addClassName('current');},tabChanged:function(){embeddedVideoNav.subscribeVideos();if(embeddedVideoNav.assetid!=null&&embeddedVideoNav.assetid!=undefined){var currentElement=$$('#EVNTabContent li[title="' + embeddedVideoNav.assetid + '"]');if(currentElement.length>0)embeddedVideoNav.selectVideo(currentElement[0]);}$('EVNTabContent').show();Effect.Fade('EVNWait',{duration:0.33,queue:'end'});}};PlayerContainer.addMethods({m_lastADV:-1,onDataTimerLive:function(){if(this.m_tc==''||this.m_tc!=this.m_lastTC){this.m_lastTC=this.m_tc;var a=this.m_video.streams.sourceAssetID;if(a===undefined||a==null||a=='')a=this.m_video.streams.assetIDvar t='/live/video/'+scomposeAssetID(a)+'/'+a;new Ajax.Updater('pbp_buffer',t+'_pbp.html'+(this.m_forceCache?'?'+Math.random():''),{method:'get',onComplete:this.processLoadDataLive.bind(this,"pbp",false)});new Ajax.Updater('com_buffer',t+'_com.html'+(this.m_forceCache?'?'+Math.random():''),{method:'get',onComplete:this.processLoadDataLive.bind(this,"com",false)});}},diplayLiveData:function(){this.processLoadDataLive("pbp",true);this.processLoadDataLive("com",true);},processLoadDataLive:function(sMode,onTC){var mID="m_lastComID",mPos="m_lastComPos",panel='liveCommentary',toUpdPanel="rigthPanelInnerContent",panelFlag="m_panelComActive",updateFlagSL="m_sendCom";if(sMode=="pbp"){mID="m_lastPbPID";mPos="m_lastPbPPos";panel="liveRes";toUpdPanel="leftPanelInnerContent";panelFlag="m_panelPbpActive"updateFlagSL="m_sendPbp"}var idx=0;var ali=undefined;try{ali=$(sMode+'_buffer').childElements()[0].childElements();}catch(ex){}if((ali===undefined||ali.length==0)&&this[panelFlag]){$(toUpdPanel).update($(sMode+"_predisplay").innerHTML);return;}if(ali===undefined||ali.length==0||parseInt(ali[0].id)<=this[mID]) return;var tEl=$(sMode+'_predisplay').childElements()[0];if(!onTC)tEl.update('');var bUpd=false;var bCleanStart=false;if(this[mPos]<=0)bCleanStart=true;var stPoint=(onTC?this[mPos]-1:ali.length-1)if(bCleanStart)stPoint=ali.length-1;for (idx=stPoint;idx>=0;idx--){var tel=ali[idx].readAttribute('type');if(tel===undefined||tel==null)tel='';if(parseInt(ali[idx].id)<=this[mID]){this[mPos]=idx;if(tel!='advert'){bUpd=true;this.insertElement(sMode,tEl,this.cloneElement(ali[idx]))}}else{var celtc=ali[idx].readAttribute('tc');if(celtc!==undefined&&celtc!=null&&celtc!=''){if(TimeCode.canDisplay(this.m_tc,celtc)){this[mID]=parseInt(ali[idx].id);this[mPos]=idx;if(tel!='advert'){bUpd=true;try{if(this[updateFlagSL])this.pushElement(sMode,ali[idx]);}catch(e){this.pushElement(sMode,ali[idx]);}this.insertElement(sMode,tEl,this.cloneElement(ali[idx]));}if(tel=='advert'&&!bCleanStart){if(this[mID]>this.m_lastADV){this.m_lastADV=this[mID];this.m_vpc.playAdvert();}}}else{idx=-1;}}}}if(this[panelFlag]==true&&bUpd){$(toUpdPanel).update($(sMode+"_predisplay").innerHTML);}},insertElement:function(sMode,pEl,cEl){if(pEl.childNodes.length==0){pEl.appendChild(cEl)}else{if(pEl.childNodes[0].className=='')cEl.className='even';pEl.insertBefore(cEl,pEl.childNodes[0])}},pushElement:function(sMode,cEl){var n=cEl.readAttribute('nav');if(n===undefined||n==null)n=null;var t=(cEl.textContent!==undefined?cEl.textContent:(cEl.innerText!==undefined?cEl.innerText:cEl.innerHTML));this.m_vpc.addMessage((sMode=="pbp"?1:0),t,n);},eventIsLive:function(c){if(this.m_tc===undefined) return false;return TimeCode.isInRange(this.m_tc,c.readAttribute('tcin'),c.readAttribute('-tcout'));}});PlayerContainer.addMethods({m_rewindProcessing:false,m_aliPbP:undefined,m_aliCom:undefined,m_newRewind:true,InitRewind:function(){this.m_rewindProcessing=true;var a=this.m_video.streams.sourceAssetID;if(a===undefined||a==null||a=='')a=this.m_video.streams.assetIDvar t='/rewind/video/'+scomposeAssetID(a)+'/'+a;new Ajax.Updater('pbp_buffer',t+'_pbp.html'+(this.m_forceCache?'?'+Math.random():''),{method:'get'}); new Ajax.Updater('com_buffer',t+'_com.html'+(this.m_forceCache?'?'+Math.random():''),{method:'get'});this.m_aliPbP=undefined;this.m_aliCom=undefined;this.m_tc='';this.m_lastTC='';this.m_lastPbPID=-1;this.m_lastComID=-1;this.m_lastPbPPos=-1;this.m_lastComPos=-1;this.m_rewindProcessing=false;this.m_newRewind=true;},diplayRewindData:function(){if(this.m_rewindProcessing) return;this.m_rewindProcessing=true;try{this.processRewindDataLive("pbp");}catch(e){};try{this.processRewindDataLive("com");}catch(e){};if(this.m_newRewind){this.m_newRewind=false;try{var hColl=$$('#pbp_buffer li');var nEl=0;var h="<ul class='videoplayerLivePanels videoplayerLivePanelsClickable'>";for (var i=0,n; n=hColl[i++];) {var nav=n.readAttribute('nav');if(nav!==undefined&&nav!=null&&nav!=''){var t=(n.textContent!==undefined?n.textContent:(n.innerText!==undefined?n.innerText:n.innerHTML));h+="<li nav='"+nav+"' ";if((nEl%2)==0){h+= "class='even' "}h+=">"+t+"</li>";nEl++;}}h+="</ul>";$('nav_buffer').update(h);}catch(e){}}this.m_rewindProcessing=false;},onNavigationClick:function(e){try{this.setPosition(parseInt(e.target.readAttribute('nav'),10))this.m_tc='';this.m_lastTC='';this.m_lastPbPID=-1;this.m_lastComID=-1;}catch(e){}},processRewindDataLive:function(sMode){var mID="m_lastComID",mPos="m_lastComPos",panel='liveCommentary',toUpdPanel="rigthPanelInnerContent",updateFlagSL="m_sendCom",ali=this.m_aliCom;if(sMode=="pbp"){mID="m_lastPbPID";mPos="m_lastPbPPos";panel="liveRes";toUpdPanel="leftPanelInnerContent";updateFlagSL="m_sendPbp";ali=this.m_aliPbP;}var idx=0;if(ali===undefined){ali=$$('#'+sMode+'_buffer li');if(sMode=="pbp")this.m_aliPbP=ali;elsethis.m_aliCom=ali;}if(ali.length==0)return;var tEl=$$("#"+sMode+"_predisplay ul")[0];var bUpdate=false;var bRestart=false;if(this.m_tc==''){$(toUpdPanel).update($('panelLoaderTemplate').innerHTML);return;}if(!TimeCode.isValidForRewind(this.m_tc,this.m_lastTC)){this.m_lastPbPPos=-1;this.m_lastComPos=-1;}if(this[mPos]<0)bRestart=true;if(!bRestart&&this[mPos]==0)return;this.m_lastTC=this.m_tc;if(bRestart){tEl.update('');this[mPos]=this.binarySearch(ali,this.m_tc);if(this[mPos]<0)return;idx=this[mPos]+10;while (idx>=this[mPos]){if(idx<=(ali.length-1)){var typeel=ali[idx].readAttribute('type');if(typeel===undefined||typeel==null)typeel='';if(typeel!='advert'){if(TimeCode.canDisplay(this.m_tc,ali[idx].readAttribute('tc'))){bUpdate=true;try{if(this[updateFlagSL])this.pushElement(sMode,ali[idx]);}catch(e){this.pushElement(sMode,ali[idx]);}this.insertElement(sMode,tEl,this.cloneElement(ali[idx]))}}}idx--;}if(this[mPos]==(ali.length-1)&&!bUpdate&&sMode=="com"){bUpdate=true;try{if(this[updateFlagSL])this.pushElement(sMode,ali[this[mPos]]);}catch(e){this.pushElement(sMode,ali[this[mPos]]);}this.insertElement(sMode,tEl,this.cloneElement(ali[this[mPos]]))}if(this[mPos]==(ali.length-1)&&!bUpdate){this[mPos]++;}bUpdate=true;}else{var bL=true;while(bL){bL=false;if((this[mPos]-1)>=0){if(TimeCode.canDisplay(this.m_tc,ali[this[mPos]-1].readAttribute('tc'))){var typeel=ali[this[mPos]-1].readAttribute('type');if(typeel===undefined||typeel==null)typeel='';if(typeel!='advert'){bUpdate=true;this.pushElement(sMode,ali[this[mPos]-1]);this.insertElement(sMode,tEl,this.cloneElement(ali[this[mPos]-1]));}if(typeel=='advert'){this.m_vpc.playAdvert();}bL=true;--this[mPos];}}}while(tEl.childNodes.length>10){bUpdate=true;tEl.removeChild(tEl.childNodes[tEl.childNodes.length-1])}}if($(panel).hasClassName('current')&&bUpdate){$(toUpdPanel).update($(sMode+"_predisplay").innerHTML);}},cloneElement:function(el){var nE=document.createElement(el.tagName);nE.innerHTML=el.innerHTML;return nE;},binarySearch:function(a,tc){var low=0,high=a.length-1;var tct= TimeCode.toDate(tc).getTime()while(low<=high){var mid=Math.floor((low+high)/2);var eltc=TimeCode.toDate(a[mid].readAttribute('tc')).getTime();if(eltc<tct){if(mid==0){return mid;}var aeltc=TimeCode.toDate(a[mid-1].readAttribute('tc')).getTime();if(aeltc>=tct){return mid;}high=mid-1;}else if(eltc>tct){if(mid==(a.length-1)){return mid;}var aeltc=TimeCode.toDate(a[mid+1].readAttribute('tc')).getTime();if(aeltc<=tct){return mid;}low=mid+1;}else{return mid }}return -1;}});