IBSYS.using("media");IBSYS.media.IndexPagePlayer=function(){var container,config,meta,hasReceipt=false,loadMediaOnly,videoCoidString=/\/(\d+)\//,firstVideoId=YAHOO.util.Dom.getElementsByClassName("contentselector")[0].getElementsByTagName("a")[0].href.match(videoCoidString)[1],getEventElement=function(e){var element;if(e.target){element=e.target;}else{if(e.srcElement){element=e.srcElement;}}if(element.nodeType===3){element=element.parentNode;}return element;},setContentSelectorLinks=function(container){YAHOO.util.Event.addListener(container.parentNode.getElementsByTagName("ul"),"click",function(e){YAHOO.util.Event.preventDefault(e);var element=getEventElement(e),coid;if(element.nodeName.toUpperCase()==="IMG"){coid=element.parentNode.href.match(videoCoidString)[1];}else{if(element.nodeName.toUpperCase()==="A"){coid=element.href.match(videoCoidString)[1];}}IBSYS.media.IndexPagePlayer.getContentObject(coid);},this,true);},sortStreams=function(meta,attempt){var availableBPS=IBSYS.application.Application.getProperty("userBitsPerSec");if(availableBPS){if(meta.stream){meta.coidValue=meta.contentId.substring("urn:ibsys:content:".length);for(var i=0;i<meta.metadata.length;i++){switch(meta.metadata[i].type){case"urn:ibsys:taxonomy:topic":meta.topic=meta.metadata[i].tag.replace(/\//g,"");break;case"urn:ibsys:taxonomy:pool":meta.pool=meta.metadata[i].tag;break;case"urn:ibsys:taxonomy:videoCategory":meta.category=meta.metadata[i].tag;break;}}}meta.category=meta.category||meta.topic;meta.stream.sort(function(a,b){if((a.mimetype=="video/x-flv")^(b.mimetype=="video/x-flv")){return(a.mimetype=="video/x-flv"?-1:1);}else{prepStream(a);prepStream(b);a.rateDiff=a.rateDiff||(availableBPS-a.bitsPerSecond);b.rateDiff=b.rateDiff||(availableBPS-b.bitsPerSecond);if((a.rateDiff<0)^(b.rateDiff<0)){return b.rateDiff-a.rateDiff;}else{return Math.abs(a.rateDiff)-Math.abs(b.rateDiff);}}});IBSYS.media.genericFlash2.announceEventProxy("newMediaContent",meta);}else{attempt=attempt||1;attempt++;if(attempt<15){setTimeout(function(){sortStreams(meta,attempt);},500);}else{IBSYS.application.Application.setProperty("userBitsPerSec",56000);sortStreams(meta,attempt);}}},prepareVideo=function(){if(IBSYS.media.vidPlayModule.currentVideo){IBSYS.media.vidPlayModule.currentVideo.loaded=false;}sortStreams(meta);},prepStream=function(s){if(!s.bitsPerSecond||isNaN(s.bitsPerSecond)){if(!this.reRateFromPath){this.reRateFromPath=/\.(\d+)k\./;}s.bitsPerSecond=this.reRateFromPath.exec(s.href);if(!s.bitsPerSecond){s.bitsPerSecond=this.reRateFromPath.exec(s.streamId);}if(s.bitsPerSecond){s.bitsPerSecond=Number(s.bitsPerSecond[1])*1000;}else{s.bitsPerSecond=0;}}},onContentService=function(r){meta=YAHOO.lang.JSON.parse(r.responseText);meta.loadMediaOnly=loadMediaOnly;meta.coidValue=meta.contentId.substring(meta.contentId.lastIndexOf(":")+1);prepareVideo();if(loadMediaOnly){loadMediaOnly=false;}},setup=function(el,config){var container=el;var playbackDiv=document.getElementById(el.id+"_pb");var vpConfig={swfUrl:config.vp_swf_url,width:config.vp_width,height:config.vp_height,usage:config.playback_usage,skin_swf_url:config.skin_swf_url,xamlUrl:config.xamlUrl,bg_clr:config.bg_clr,hlgt_clr:config.hlgt_clr,hdl_txt_clr:config.hdl_txt_clr,minutes_between_ads:config.minutes_between_ads,play_first_editorial_video:config.play_first_editorial_video,wmode:config.wmode};IBSYS.media.vidPlayModule.init(playbackDiv,vpConfig);setContentSelectorLinks(container);};return{init:function(el,config){setup(el,config);IBSYS.application.Application.addEventListener(this.onIBEvent,this);},loadFirstVideo:function(){loadMediaOnly=true;this.getContentObject(firstVideoId);},getContentObject:function(coid){var url="/ec/content-service/json/getContent?contentId=urn:ibsys:content:"+coid+"&linkLevelsToResolve=1";YAHOO.util.Connect.asyncRequest("GET",url,{success:onContentService,scope:this});},onIBEvent:function(e){if(e.getName()==="movieLoaded"){if(firstVideoId&&!hasReceipt){hasReceipt=true;this.loadFirstVideo();}if(IBSYS.media.vidPlayModule.flashPlaybackSwf.onLoadReceipt){IBSYS.media.vidPlayModule.flashPlaybackSwf.onLoadReceipt();}}}};}();