CNB.VideoPlayer=new Class({Implements:Options,options:{videoIds:'',autoplay:false,playText:'Play Video',size:'area-16',id:'video-player',preview:false,adPos:100,adSp:183,adInterval:2,bypassKey:'',preRollAd:true,firstVideoPostAd:false,contentPostRollAd:false,videoSiteId:null,videoUrl:document.URL,embedable:'true',ncat:null,siteId:DW.pageParams.siteid,pageType:DW.pageParams.ptid,nodeId:DW.pageParams.onid,editionId:DW.pageParams.edid,cid:DW.pageParams.cid,guid:DW.pageParams.pguid,customTrackVars:'',userIP:null,brandId:'2',dvarTag:'',ePartner:'',cpnModule:'',refDomain:''},initialize:function(container,options){this.setOptions(options);this.container=$(container);this.isFlashApproved=false;this.swfParams={path:'http://i.zdnet.com/flash/zdnet-skin.swf'};switch(this.options.size){case'area-12':this.swfParams.width=448;this.swfParams.height=273;this.swfParams.containerClass='video-player-2';break;case'area-10':this.swfParams.width=368;this.swfParams.height=225;this.swfParams.containerClass='video-player-3';break;default:this.swfParams.width=608;this.swfParams.height=372;this.swfParams.containerClass='video-player-1'}this.container.addClass(this.swfParams.containerClass+' loading');this.videoIds=$splat(this.options.videoIds).join(',');this.firstVideoId=this.videoIds.split(',')[0];this.adHost='mads.bnet.com';this.apiPath='http://p.zdnet.com/donut/v1.0/param/video/fetch/';this.geckoPath='http://i.zdnet.com/flash/gecko.swf';var host=location.hostname;if(host.contains('c13')||host.contains('dev')){this.apiPath='http://c13-b2b-dev-app1.cnet.com:7183/sprytool/v1.0/param/video/fetch/'}if(host.contains('c13')||host.contains('dev')||host.contains('uat')){this.adHost='madstage.bnet.com'}this.preview=(host.contains('preview')||this.options.preview)?'&preview=true':'';this.videoSiteId=(this.options.videoSiteId)?this.options.videoSiteId:this.options.siteId;switch(this.options.siteId){case'11':this.thirdPartyTracking='http://i.bnet.com/media/201007/tr-uvpc-tracking.xml';break;case'139':this.thirdPartyTracking='http://i.bnet.com/media/201007/sp-uvp-tracking.xml';break;default:this.thirdPartyTracking='http://i.bnet.com/media/201007/bnet-uvpc-tracking.xml'}this.load()},checkFlashVersion:function(version){if(this.isFlashApproved){return true}var minFlashVersion=9;if(Browser.Platform.win===true&&Browser.Engine.gecko===true)minFlashVersion=10;if(version!=null){minFlashVersion=version}var flashVersion=Browser.Plugins.Flash.version;var flashBuild=Browser.Plugins.Flash.build;this.isFlashApproved=(flashVersion>=minFlashVersion)?true:false;if(this.isFlashApproved){return true}else{this.container.removeClass(this.swfParams.containerClass).removeClass('loading');this.container.addClass('get-flash').set('html','<p>You need to update your version of Adobe Flash Player to view this video.</p><p><b><a class="btn" href="http://www.adobe.com/go/getflashplayer">Get The Latest Version</a></b>');return false}},getCustomEmbed:function(){var videoId=this.videoIds.split(',',1)[0];var params={isRtmp:'false',uvpc:this.thirdPartyTracking,apiPath:this.apiPath+'?videoIds='+videoId+'&ncat='+this.options.ncat+'&embeddable='+this.options.embedable,geckoPath:this.geckoPath,autoplay:'false',playOverlayText:this.options.playText,copyUrl:this.options.videoUrl};var flashVars='';$each(params,function(val,key){flashVars+=key+'='+encodeURIComponent(val)+'&'});var embed='<object type="application/x-shockwave-flash" data="'+this.swfParams.path+'" width="448" height="274"><param name="FlashVars" value="'+flashVars+'" /><param name="movie" value="'+this.swfParams.path+'" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always"><param name="allowFullScreen" value="true" /></object>';return embed},load:function(){if(!this.checkFlashVersion())return false;window.addEvent('domready',function(){this.swf=new Swiff(this.swfParams.path,{id:this.options.id+'_'+this.firstVideoId,width:this.swfParams.width,height:this.swfParams.height,container:this.container,params:{wMode:'transparent',bgcolor:'#EDEDED',salign:'lt',swLiveConnect:'true',allowScriptAccess:'always',allowFullScreen:'true'},vars:{isRtmp:false,uvpc:this.thirdPartyTracking,adHost:this.adHost,apiPath:this.apiPath+'?videoIds='+this.videoIds+'&ncat='+this.options.ncat+'&embeddable='+this.options.embedable+this.preview,geckoPath:this.geckoPath,autoplay:this.options.autoplay,startVolume:30,playOverlayText:this.options.playText,copyUrl:this.options.videoUrl,customEmbed:this.getCustomEmbed(),downloadable:true,mailToMsg:'mailto:?subject='+document.title+'&body='+this.options.videoUrl,sp:this.options.adSp,pos:this.options.adPos+'&BYPASSKEY='+this.options.bypassKey+'&DVAR_TAG='+this.options.dvarTag,br:this.options.brandId,adInterval:this.options.adInterval,firstVideoPreRoll:this.options.preRollAd,firstVideoPostRoll:this.options.firstVideoPostAd,contentPostRoll:this.options.contentPostRollAd,refreshMpuEnabled:false,si:this.options.siteId,ip:this.options.userIP,ua:escape(navigator.userAgent),cid:this.options.cid,customTrackVars:this.options.customTrackVars,edid:this.options.editionId,nd:this.options.nodeId,pt:this.options.pageType,ncat:this.options.ncat,guid:this.options.guid,ePartner:this.options.ePartner,cpnModule:this.options.cpnModule,refDomain:this.options.refDomain}});this.container.removeClass('loading');if(typeof cbsiRegisterPlayer!='undefined'){cbsiRegisterPlayer(this.options.id+'_'+this.firstVideoId)}}.bind(this))}});CNB.VideoPlayer.Playlist=new Class({Extends:CNB.VideoPlayer,Implements:[Events],options:{playlistContentUrl:'',data:{},callback:'CNB.Video'},initialize:function(videoContainer,playlistContainer,options){this.parent(videoContainer,options);window.isJSReady=this.isJSReady;var tmpPlayerReady=onCBSIPlayerReady;window.onCBSIPlayerReady=function(playerId){if(typeof tmpPlayerReady=="function"){tmpPlayerReady(playerId)}this.onCBSIPlayerReady()}.bind(this);window.addEvent('domready',function(){this.player=this.swf.toElement();this.playlistContainer=$(playlistContainer);this.playlistItems=this.playlistContainer.getElements('[videoid]');this.currPlaylistItem=this.playlistItems[0];this.playlistItems.each(function(el){var loader=new CNB.Loading(el.getElement('.thumb'),{opacity:'.3'});el.store('loader',loader);el.addEvent('click',this.handlePlaylistClick.bindWithEvent(this,el))},this)}.bind(this))},isJSReady:function(){var out=false;window.addEvent('domready',function(){out=true});return out},onCBSIPlayerReady:function(){this.player.addEventJSCallback('onContentStart_cbsi',this.options.callback+'.updatePlaylist')},updatePlaylist:function(){var videoInfo=this.player.getVideoInfo();this.fireEvent('updatePlaylist',videoInfo);if(this.firstVideoId!=videoInfo.id){this.requestContent(videoInfo.id)}this.currPlaylistItem.removeClass('on');this.currPlaylistItem=this.playlistContainer.getElement('[videoid='+videoInfo.id+']');this.currPlaylistItem.retrieve('loader').remove();this.currPlaylistItem.addClass('on')},handlePlaylistClick:function(e,el){e.stop();this.playlistItems.each(function(item){item.retrieve('loader').remove();item.removeClass('on')},this);el.retrieve('loader').add();var anchor=el.getElement('a');var href=(anchor!==null)?anchor.getProperty('href'):null;this.playVideo(el.getProperty('videoid'),href)},playVideo:function(videoId,url){var playerId='video-player-'+videoId;var videoUrl=url||'';this.setOptions({'autoplay':true,'bypassKey':'','dvarTags':'','videoUrl':videoUrl,'id':playerId});this.videoIds=this.reformatVideoIds(videoId);this.load();this.player=this.swf.toElement()},requestContent:function(cid){var req=new Request.JSON({url:this.options.playlistContentUrl,data:$merge({'cid':cid},this.options.data),onSuccess:this.updateContent.bind(this),onFailure:function(e){CNB.log(e)}}).get()},updateContent:function(data){if(data!=null){$each(data,function(value,key){var container=$('load-video-'+key);if(container!=null){var script='';var html=value.stripScripts(function(js){script=js});container.set('html',html);var placeholders=container.getElements('input[placeholder]');if(placeholders.length>0){var placeholder=new CNB.Placeholder(placeholders)}$exec(script)}},this)}},reformatVideoIds:function(firstVideoId){var tempIds=this.videoIds.split(',');var madeMatch=false;this.videoIds.split(',').each(function(id,i){if(madeMatch)return;if(firstVideoId==id){madeMatch=true}else{var tempId=tempIds.shift();tempIds.push(tempId)}});return tempIds.join(',')}});CNB.VideoPlayer.External=new Class({initialize:function(container,params){this.container=$(container);this.swfParams=params;this.container.setStyle('min-height',this.swfParams.height);this.container.addClass('loading');this.load()},load:function(){window.addEvent('domready',function(){this.swf=new Swiff(this.swfParams.swf,{width:this.swfParams.width,height:this.swfParams.height,container:this.container,params:this.swfParams.params,vars:this.swfParams.vars});this.container.removeClass('loading')}.bind(this))}});
