CBSi.namespace("app.VideoPlayer");(function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,Connect=YAHOO.util.Connect;CBSi.app.VideoPlayer={playlist:[],tempPlayList:[],leftoverPlayList:[],highlited:null,pid:null,prevPid:null,topPid:null,prevPlayParent:null,nextPid:null,currentVideoData:null,userPlayListStart:false,skin:"",currentChannel:"",addToPlayListEventCount:0,allowPlay:false,currentPidPlaying:false,clickedToPlay:false,init:function(){CBSi.app.VideoPlayer.initTempPlayList();CBSi.app.VideoPlayer.setNextPid()},fetchContent:function(requestUrl,obj){var el=Dom.get(obj);var callback={success:function(o){CBSi.app.VideoPlayer.parseAsynchContent(el,o.responseText)},failure:function(o){el.innerHTML='<div id="vpLoading">An error occurred. Please try again.</div>'}},conn=YAHOO.util.Connect.asyncRequest("GET",requestUrl,callback,null);el.innerHTML='<div id="vpLoading">Loading, please wait...</div>'},parseAsynchContent:function(el,html){var temp=html;while(true){var sIndex=temp.indexOf("<script>"),eIndex=temp.indexOf("<\/script>",sIndex),js=temp.substring(sIndex+8,eIndex);if(sIndex<0){break}eval(js);temp=temp.substring(eIndex+9)}el.innerHTML=html},dataFetchClickHandler:function(e,obj){var objTarget=Event.getTarget(e);while(objTarget.id!=this.id){if(objTarget.nodeName.toLowerCase()=="a"){if(!Dom.hasClass(objTarget,"vpCustomize")){Event.preventDefault(e);CBSi.app.VideoPlayer.fetchContent(objTarget.href,obj)}break}else{objTarget=objTarget.parentNode}}},getChannelData:function(e,obj){var el=Event.getTarget(e),channelList=Dom.get("channelList"),channelListItems=channelList.getElementsByTagName("a");if(el.nodeName.toLowerCase()=="a"&&e.originalTarget!=channelList){Event.preventDefault(e);CBSi.app.VideoPlayer.toggle(el);if(!Dom.hasClass(el,"vpChannelToggle")){CBSi.app.VideoPlayer.dataFetchClickHandler(e,obj);Dom.removeClass(channelListItems,"selected");CBSi.app.VideoPlayer.highlite(el,"selected")}}},setCurrentVideoData:function(){var CBSiPlayer=Dom.get("mycbsiplayer"),videoTitle=Dom.get("vpVideoTitle"),videoDescription=Dom.get("vpVideoDescription"),i;for(i in CBSi.app.VideoPlayer.Data){if(CBSi.app.VideoPlayer.pid==CBSi.app.VideoPlayer.Data[i].pid){videoTitle.innerHTML=CBSi.app.VideoPlayer.Data[i].title;videoDescription.innerHTML=CBSi.app.VideoPlayer.Data[i].description;document.title=CBSi.app.VideoPlayer.Data[i].title+" - CBSSports.com Video";CBSi.app.VideoPlayer.currentVideoDataOnPage=true;break}if(!CBSi.app.VideoPlayer.currentVideoDataOnPage){var videoData=CBSiPlayer.getContentData();videoTitle.innerHTML=videoData.showTitle;videoDescription.innerHTML=videoData.showDescription;document.title=videoData.showTitle+" - CBSSports.com Video"}}CBSi.app.VideoPlayer.currentVideoDataOnPage=false},getTeamChannels:function(e,obj){var activeIndex=CBSi.app.VideoPlayer.tabView.get("activeIndex"),activeTab=CBSi.app.VideoPlayer.tabView.getTab(activeIndex),currentTab=CBSi.app.VideoPlayer.tabView.getTab(3);if(!currentTab){return}activeTab.set("active",false);currentTab.set("active",true);CBSi.app.VideoPlayer.dataFetchClickHandler(e,obj)},getPartnerChannel:function(e,obj){var activeIndex=CBSi.app.VideoPlayer.tabView.get("activeIndex"),activeTab=CBSi.app.VideoPlayer.tabView.getTab(activeIndex),currentTab=CBSi.app.VideoPlayer.tabView.getTab(0);if(!currentTab){return}activeTab.set("active",false);currentTab.set("active",true);CBSi.app.VideoPlayer.dataFetchClickHandler(e,obj)},highlite:function(el,elClass){Dom.removeClass(CBSi.app.VideoPlayer.highlited,elClass);Dom.addClass(el,elClass);CBSi.app.VideoPlayer.highlited=el},toggle:function(el){var childEl=el.parentNode.getElementsByTagName("ul")[0],toggleEl=Dom.getElementsByClassName("vpChannelToggle","a",el.parentNode)[0];if(Dom.getStyle(childEl,"display")!="block"){Dom.setStyle(childEl,"display","block");Dom.replaceClass(toggleEl,"vpChannelClosed","vpChannelOpened")}else{Dom.setStyle(childEl,"display","none");Dom.replaceClass(toggleEl,"vpChannelOpened","vpChannelClosed")}},limitWords:function(description,limit){var tempWords=[],descWords=description.split(/\s+/),phrase;for(i=0,l=descWords.length;i<l;i++){if(i<limit){tempWords.push(descWords[i])}else{break}}phrase=tempWords.join(" ")+"...";return phrase},playClickHandler:function(e){var objTarget=Event.getTarget(e),pid;while(objTarget.id!=this.id){if(objTarget.nodeName.toLowerCase()=="a"){if(Dom.hasClass(objTarget,"vpAddToPlayList")){pid=CBSi.app.VideoPlayer.getPid(objTarget);Event.preventDefault(e);CBSi.app.VideoPlayer.addToPlayList(pid,e)}else{if(Dom.hasClass(objTarget,"vpRemoveFromPlayList")){pid=CBSi.app.VideoPlayer.getPid(objTarget);Event.preventDefault(e);CBSi.app.VideoPlayer.removeFromPlayList(pid)}else{if(Dom.hasClass(objTarget,"vpPlayVideo")){pid=CBSi.app.VideoPlayer.getPid(objTarget);Event.preventDefault(e);CBSi.app.VideoPlayer.play(pid,e)}}}break}else{objTarget=objTarget.parentNode}}},initTempPlayList:function(){if(!CBSi.app.VideoPlayer.pid){CBSi.app.VideoPlayer.pid=CBSi.app.VideoPlayer.Data[0].pid}if(CBSi.app.VideoPlayer.playlist.length==0){CBSi.app.VideoPlayer.tempPlayList=CBSi.app.VideoPlayer.Data.slice();CBSi.app.VideoPlayer.removeFromTempPlayList(CBSi.app.VideoPlayer.pid)}},removeFromTempPlayList:function(pid){var currentPidItem,tempPlayList;for(var i in CBSi.app.VideoPlayer.tempPlayList){if(pid==CBSi.app.VideoPlayer.tempPlayList[i].pid){currentPidItem=CBSi.app.VideoPlayer.tempPlayList.splice(i,1);tempPlayList=currentPidItem.concat(CBSi.app.VideoPlayer.tempPlayList)}}CBSi.app.VideoPlayer.tempPlayList=tempPlayList;CBSi.app.VideoPlayer.playlist=CBSi.app.VideoPlayer.tempPlayList},play:function(pid,e){var vpPlayList=Dom.get("vpPlayList"),itemList=vpPlayList.getElementsByTagName("ol")[0],li=Dom.get("vpPLItem-"+pid);if(pid==CBSi.app.VideoPlayer.currentPidPlaying){return}if(!CBSi.app.VideoPlayer.allowPlay){return}CBSi.app.VideoPlayer.pid=pid;if(e){if(e.type=="click"){CBSi.app.VideoPlayer.clickedToPlay=true;for(var i in CBSi.app.VideoPlayer.playlist){if(pid==CBSi.app.VideoPlayer.playlist[i].pid){CBSi.app.VideoPlayer.playlist.splice(i,1)}}if(CBSi.app.VideoPlayer.playlist.length>0){CBSi.app.VideoPlayer.nextPid=CBSi.app.VideoPlayer.playlist[0].pid}}}else{CBSi.app.VideoPlayer.setNextPid()}CBSi.app.VideoPlayer.resetState(pid,e);if(li){itemList.removeChild(li)}cbsiPlayer.playVideo(pid);CBSi.app.VideoPlayer.allowPlay=false},resetState:function(pid,e){var itemRoot=Dom.get(pid),prevItemRoot=Dom.get(CBSi.app.VideoPlayer.prevPid),vpNowPlaying=Dom.getElementsByClassName("vpNowPlaying","span",itemRoot),vpAddToPlayList=Dom.getElementsByClassName("vpAddToPlayList","a",itemRoot),vpInPlayList=Dom.getElementsByClassName("vpInPlayList","span",itemRoot),vpPrevNowPlaying=Dom.getElementsByClassName("vpNowPlaying","span",prevItemRoot),vpPrevAddToPlayList=Dom.getElementsByClassName("vpAddToPlayList","a",prevItemRoot),vpPrevInPlayList=Dom.getElementsByClassName("vpInPlayList","span",prevItemRoot);Dom.removeClass(CBSi.app.VideoPlayer.prevPlayParent,"vpNowPlaying");if(itemRoot!=null){Dom.addClass(itemRoot,"vpNowPlaying");Dom.setStyle(vpInPlayList,"display","none");Dom.setStyle(vpAddToPlayList,"display","none");Dom.setStyle(vpNowPlaying,"display","block")}if(prevItemRoot!=null||prevItemRoot!=null&&pid==CBSi.app.VideoPlayer.prevPid){Dom.removeClass(prevItemRoot,"vpNowPlaying");Dom.setStyle(vpPrevNowPlaying,"display","none");Dom.setStyle(vpPrevAddToPlayList,"display","block");Dom.setStyle(vpPrevInPlayList,"display","none")}if(itemRoot==prevItemRoot){if(CBSi.app.VideoPlayer.clickedToPlay){if(itemRoot!=null){Dom.addClass(itemRoot,"vpNowPlaying");Dom.setStyle(vpNowPlaying,"display","block");Dom.setStyle(vpPrevAddToPlayList,"display","none");Dom.setStyle(vpPrevInPlayList,"display","none")}}else{if(prevItemRoot!=null){Dom.removeClass(prevItemRoot,"vpNowPlaying");Dom.setStyle(vpNowPlaying,"display","none");Dom.setStyle(vpPrevAddToPlayList,"display","block");Dom.setStyle(vpPrevInPlayList,"display","none")}}CBSi.app.VideoPlayer.allowPlay=true;CBSi.app.VideoPlayer.clickedToPlay=false;CBSi.app.VideoPlayer.nextPid=null}CBSi.app.VideoPlayer.prevPlayParent=itemRoot;CBSi.app.VideoPlayer.prevPid=pid},playNext:function(e){var playlist;if(CBSi.app.VideoPlayer.nextPid==null){CBSi.app.VideoPlayer.resetState(CBSi.app.VideoPlayer.pid,e)}else{CBSi.app.VideoPlayer.play(CBSi.app.VideoPlayer.nextPid,e)}if(CBSi.app.VideoPlayer.playlist.length==1){if(CBSi.app.VideoPlayer.userPlayListStart==false){playlist=CBSi.app.VideoPlayer.playlist;CBSi.app.VideoPlayer.playlist=playlist.concat(CBSi.app.VideoPlayer.Data.slice())}else{CBSi.app.VideoPlayer.userPlayListStart=false;playlist=CBSi.app.VideoPlayer.playlist.slice();CBSi.app.VideoPlayer.playlist=playlist.concat(CBSi.app.VideoPlayer.leftoverPlayList);if(CBSi.app.VideoPlayer.addToPlayListEventCount==1){CBSi.app.VideoPlayer.playlist.splice(0,1)}CBSi.app.VideoPlayer.addToPlayListEventCount=0}CBSi.app.VideoPlayer.nextPid=CBSi.app.VideoPlayer.playlist[0].pid}},setNextPid:function(){var playlist;if(CBSi.app.VideoPlayer.playlist.length>1){CBSi.app.VideoPlayer.playlist.splice(0,1);CBSi.app.VideoPlayer.nextPid=CBSi.app.VideoPlayer.playlist[0].pid}},addToPlayList:function(pid,e){var playlistContainer=Dom.get("vpPlayList"),playlistEl=playlistContainer.getElementsByTagName("ol")[0],li=document.createElement("li"),itemRoot=Dom.get(pid),vpNowPlaying=Dom.getElementsByClassName("vpNowPlaying","span",itemRoot),vpAddToPlayList=Dom.getElementsByClassName("vpAddToPlayList","a",itemRoot),vpInPlayList=Dom.getElementsByClassName("vpInPlayList","span",itemRoot),descPreview,tempItem,thumbnail,micro_thumb,small_thumb;if(e){if(e.type=="click"){for(var i in CBSi.app.VideoPlayer.tempPlayList){if(pid==CBSi.app.VideoPlayer.tempPlayList[i].pid){CBSi.app.VideoPlayer.tempPlayList.splice(i,1)}}}}if(CBSi.app.VideoPlayer.tempPlayList.length>0){CBSi.app.VideoPlayer.leftoverPlayList=CBSi.app.VideoPlayer.tempPlayList.slice();CBSi.app.VideoPlayer.userPlayListStart=true;if(CBSi.app.VideoPlayer.addToPlayListEventCount==0){CBSi.app.VideoPlayer.playlist=[]}}if(e){if(e.type=="click"){for(var i in CBSi.app.VideoPlayer.playlist){if(pid==CBSi.app.VideoPlayer.playlist[i].pid){CBSi.app.VideoPlayer.playlist.splice(i,1)}}CBSi.app.VideoPlayer.addToPlayListEventCount++}}else{CBSi.app.VideoPlayer.setNextPid()}for(var i in CBSi.app.VideoPlayer.Data){if(pid==CBSi.app.VideoPlayer.Data[i].pid){CBSi.app.VideoPlayer.playlist.push(CBSi.app.VideoPlayer.Data[i]);descPreview=CBSi.app.VideoPlayer.limitWords(CBSi.app.VideoPlayer.Data[i].description,6);micro_thumb=CBSi.app.VideoPlayer.Data[i].micro_thumbnail;small_thumb=CBSi.app.VideoPlayer.Data[i].small_thumbnail;thumbnail=(micro_thumb==null)?small_thumb:micro_thumb;tempItem='<a href="/video/player/'+CBSi.app.VideoPlayer.skin+"/"+CBSi.app.VideoPlayer.currentChannel+"/"+CBSi.app.VideoPlayer.Data[i].pid+'" class="vpPlayVideo">';tempItem+='<img src="'+thumbnail+'" alt="'+CBSi.app.VideoPlayer.Data[i].title+'">';tempItem+='<span class="vpPlayImage"></span></a>';tempItem+='<span class="vpPLDescPreview">'+descPreview+" <strong>("+CBSi.app.VideoPlayer.Data[i].duration+")</strong></span>";tempItem+='<a href="/video/player/$skin/$channel/'+CBSi.app.VideoPlayer.Data[i].pid+'" class="vpRemoveFromPlayList">remove</a>';li.innerHTML=tempItem;li.setAttribute("id","vpPLItem-"+pid);playlistEl.appendChild(li);Dom.setStyle(vpInPlayList,"display","block");Dom.setStyle(vpAddToPlayList,"display","none");Dom.setStyle(vpNowPlaying,"display","none");break}}CBSi.app.VideoPlayer.nextPid=CBSi.app.VideoPlayer.playlist[0].pid},removeFromPlayList:function(pid){var parentEl=Dom.get("vpPlayList"),itemList=parentEl.getElementsByTagName("ol")[0],itemRoot=Dom.get(pid),vpNowPlaying=Dom.getElementsByClassName("vpNowPlaying","span",itemRoot),vpAddToPlayList=Dom.getElementsByClassName("vpAddToPlayList","a",itemRoot),vpInPlayList=Dom.getElementsByClassName("vpInPlayList","span",itemRoot),li;for(var i in CBSi.app.VideoPlayer.playlist){if(pid==CBSi.app.VideoPlayer.playlist[i].pid){CBSi.app.VideoPlayer.playlist.splice(i,1);li=Dom.get("vpPLItem-"+pid);itemList.removeChild(li);if(itemRoot!=null){Dom.setStyle(vpInPlayList,"display","none");Dom.setStyle(vpAddToPlayList,"display","block");Dom.setStyle(vpNowPlaying,"display","none")}break}}if(CBSi.app.VideoPlayer.playlist.length==0){CBSi.app.VideoPlayer.nextPid=CBSi.app.VideoPlayer.leftoverPlayList[0].pid}else{CBSi.app.VideoPlayer.nextPid=CBSi.app.VideoPlayer.playlist[0].pid}},getPid:function(el){var href=el.href,m=/.*\/([\d\w_]+)/,result=href.match(m),pid=result[1];return pid},showHide:function(e){var objTarget=Event.getTarget(e);while(objTarget.id!=this.id){if(objTarget.nodeName.toLowerCase()=="a"){Event.preventDefault(e);var parent=objTarget.parentNode,popup=Dom.getElementsByClassName("popUpBoxi","div",parent);if(e.type=="mouseover"){Dom.setStyle(popup,"display","block")}else{if(e.type=="mouseout"){Dom.setStyle(popup,"display","none")}}break}else{objTarget=objTarget.parentNode}}},checkImage:function(img){if(!img.complete){return false}if(typeof img.naturalWidth!="undefined"&&img.naturalWidth==0){return false}return true},checkImages:function(){var carousel=Dom.get("carousel"),imgs=carousel.getElementsByTagName("img");for(i=0,imglen=imgs.length;i<imglen;i++){if(!CBSi.app.VideoPlayer.checkImage(imgs[i])){imgs[i].setAttribute("src","http://images.cbssports.com/images/spacer.gif")}}}};Event.onDOMReady(CBSi.app.VideoPlayer.init);Event.on("vpTabsGroup","click",CBSi.app.VideoPlayer.dataFetchClickHandler,"vpTabContent");Event.on(document,"click",CBSi.app.VideoPlayer.playClickHandler);Event.on("teamVideos","click",CBSi.app.VideoPlayer.getTeamChannels,"vpTabContent");Event.on("partnerVideos","click",CBSi.app.VideoPlayer.getPartnerChannel,"vpTabContent");Event.on("teamVideos","mouseover",CBSi.app.VideoPlayer.showHide);Event.on("teamVideos","mouseout",CBSi.app.VideoPlayer.showHide)})();