CNB.VideoPlayer=new Class({Implements:Options,options:{videoIds:'',autoplay:false,playText:'Play Video',size:'area-16',id:'video-player',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.swf={path:'http://i.zdnet.com/flash/zdnet-skin.swf'};switch(this.options.size){case'area-12':this.swf.width=448;this.swf.height=273;this.swf.containerClass='video-player-2';break;case'area-10':this.swf.width=368;this.swf.height=225;this.swf.containerClass='video-player-3';break;default:this.swf.width=608;this.swf.height=372;this.swf.containerClass='video-player-1'}this.container.addClass(this.swf.containerClass+' loading');this.videoIds=$splat(this.options.videoIds).join(',');this.adHost='mads.zdnet.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.zdnet.com'}this.apiUrl=this.apiPath+'?videoIds='+this.videoIds+'&ncat='+this.options.ncat+'&embeddable='+this.options.embedable;this.videoSiteId=($chk(this.options.videoSiteId))?this.options.videoSiteId:this.options.siteId;this.thirdPartyTracking='http://i.zdnet.com/media/201004/zdnet-uvpc-tracking.xml';this.adParams='&BYPASSKEY='+this.options.bypassKey+'&DVAR_TAG='+this.options.dvarTag;this.load()},checkFlashVersion:function(){var minFlashVersion=9;if(Browser.Platform.win===true&&Browser.Engine.gecko===true)minFlashVersion=10;var flashVersion=Browser.Plugins.Flash.version;var flashBuild=Browser.Plugins.Flash.build;var isApproved=(flashVersion>=minFlashVersion)?true:false;if(isApproved){return true}else{this.container.removeClass(this.swf.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.swf.path+'" width="448" height="274"><param name="FlashVars" value="'+flashVars+'" /><param name="movie" value="'+this.swf.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(){var swf=new Swiff(this.swf.path,{id:this.options.id,width:this.swf.width,height:this.swf.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.apiUrl,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+this.adParams,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)}}.bind(this))}});CNB.VideoGallery=new Class({Implements:Options,options:{itemsPerPage:'8',numFound:0,node:'1',url:null,startPage:1},initialize:function(vidContainer,pageContainer,options){this.setOptions(options);this.numFound=parseInt(this.options.numFound);this.itemsPerPage=parseInt(this.options.itemsPerPage);if(this.numFound<=this.itemsPerPage)return false;this.vidContainer=$(vidContainer);this.pageContainer=$(pageContainer);this.query={'itemsPerPage':this.itemsPerPage,'page':this.startPage,'node':this.options.node,'siteId':this.options.siteId};this.loader=new CNB.Loading(this.vidContainer);this.setPagination()},load:function(page){this.query.page=page;this.loader.add();var request=new Request.HTML({url:this.options.url,onSuccess:function(tree,els,html,js){this.setContent(html)}.bind(this),onComplete:this.loader.remove.bind(this.loader),onFailure:function(xhr){this.setContent('<div class="notify">Oops. Something went wrong.</div>')}.bind(this)}).get(this.query)},setContent:function(html){this.vidContainer.empty().set('html',html)},setPagination:function(){var pagination=new CNB.Pagination(this.pageContainer,{'itemsPerPage':this.itemsPerPage,'numFound':this.numFound,'onPageClick':this.load.bind(this)}).load()}});CNB.Pagination=new Class({Implements:[Options,Events],options:{itemsPerPage:'10',numFound:0,startPage:1,pageSpan:4,sep:'...'},initialize:function(container,options){this.setOptions(options);this.container=$(container);this.pageTotal=Math.ceil(this.options.numFound/this.options.itemsPerPage);var interior=new Element('div',{'class':'pagination'}).inject(this.container,'bottom');this.pageList=new Element('ul',{'class':'clear pages'}).inject(interior,'bottom');this.pageInfo=new Element('span',{'class':'current'}).inject(interior,'bottom')},load:function(){this.set(this.options.startPage)},set:function(page){this.pageList.empty();var isSelected=false;var maxPageRange=this.pageTotal;if(page<=this.options.pageSpan+2){if(this.pageTotal>(this.options.pageSpan*2)+2){maxPageRange=(this.options.pageSpan*2)+2}for(i=1;i<=maxPageRange;i++){isSelected=(i==page)?true:false;this.setPage(i,isSelected)}}else{if(this.pageTotal>(page+this.options.pageSpan)){maxPageRange=page+this.options.pageSpan}this.setPage(1);this.setSep();for(i=page-this.options.pageSpan;i<=maxPageRange;i++){isSelected=(i==page)?true:false;this.setPage(i,isSelected)}}if(this.pageTotal>maxPageRange){if(this.pageTotal>(maxPageRange+1)){this.setSep()}this.setPage(this.pageTotal)}this.pageInfo.set('text','page '+page+' of '+this.pageTotal)},setPage:function(i,isSelected){var className=($chk(isSelected))?'on':'';var el=new Element('li',{'html':'<a>'+i+'</a>','class':className,'events':{'click':function(e){this.set(i);this.fireEvent('pageClick',i)}.bind(this)}}).inject(this.pageList,'bottom')},setSep:function(i,on){var sep=new Element('li',{'class':'sep','text':this.options.sep}).inject(this.pageList,'bottom')}});
