(function(g){var f=this,d;f.ESPNfpScoreboard={};ESPNfpScoreboard.activeSport="";ESPNfpScoreboard.descriptions=new Array();ESPNfpScoreboard.currentPosition;ESPNfpScoreboard.myTeams=new Array();ESPNfpScoreboard.created=false;g.onAvailable("scoreboard",function(){d=setInterval(function(){c()},20)});function c(){if(typeof window.sbMaster!=="undefined"){clearInterval(d);b(window.sbMaster)}}var b=function(M){if(ESPNfpScoreboard.created){return}if(M.snapshotId==undefined){return}ESPNfpScoreboard.created=true;var v=g("#scoreboard");if(window.Jiffy){Jiffy.mark("makeScoreboardStart")}v.click(function(i){if(i.target.tagName.toLowerCase()=="a"){if(i.target.rel=="nflgamecast"||i.target.rel=="ncfgamecast"){window.open(""+i.target.href,"","width=780,height=590,scrollbars=no,resizable=no");return false}else{if(i.target.rel=="nbagamecast"){window.open(""+i.target.href,"","width=870,height=590,scrollbars=no,resizable=no");return false}else{if(i.target.rel=="mlbgamecast"){window.open(""+i.target.href,"","width=960,height=603,scrollbars=no,resizable=no");return false}}}}});for(var D=0;D<M.sports.length;D++){var r=M.sports[D].sport;var w=0;ESPNfpScoreboard.descriptions[r]=M.sports[D].display;var w=M.sports[D].sportId;var N=g("#"+r+"-scores",v);if(N.length==0){continue}var J="";for(var B=0;B<M.sports[D].games.length;B++){var K=M.sports[D].games[B];var y=K.home.name;var G=K.home.score;var u=K.home.rank;var q=K.home.id;var L=K.away.name;var m=K.away.score;var E=K.away.rank;var k=K.away.id;var I=K.statusText;var o=K.gameId;var H=K.status;var C=K.clock;ESPNfpScoreboard.myTeams[w+"-"+q]=r+"-"+o;ESPNfpScoreboard.myTeams[w+"-"+k]=r+"-"+o;if(I=="F"){I="Final"}var l="";var x="pregame";if(H==1||H==6||H==7){x="pregame";if(r=="nfl"){l='<a name="&lpos=page1sb&lid='+r+"_preview_"+o+'" href="/'+r+"/nflpreview?gameId="+o+'">&nbsp;Preview</a>'}else{l='<a name="&lpos=page1sb&lid='+r+"_preview_"+o+'" href="/'+r+"/preview?gameId="+o+'">&nbsp;Preview</a>'}}else{if(H==2||H>=21){x="live";l='<a rel="'+r+'gamecast" name="&lpos=page1sb&lid='+r+"_gamecast_"+o+'" href="/'+r+"/gamecast?gameId="+o+'">&nbsp;GameCast</a>';l+='<a name="&lpos=page1sb&lid='+r+"_boxscore_"+o+'" href="/'+r+"/boxscore?gameId="+o+'">&nbsp;Box Score</a>'}else{if(H==3||H==4||H==5){x="final";l='<a name="&lpos=page1sb&lid='+r+"_recap_"+o+'" href="/'+r+"/recap?gameId="+o+'">&nbsp;Recap</a>';if(r=="nhl"){l+='<a rel="'+r+'gamecast" name="&lpos=page1sb&lid='+r+"_gamecast_"+o+'" href="/'+r+"/gamecast?gameId="+o+'">&nbsp;GameCast</a>'}else{l+='<a name="&lpos=page1sb&lid='+r+"_boxscore_"+o+'" href="/'+r+"/boxscore?gameId="+o+'">&nbsp;Box Score</a>'}}}}var n='<span class="away">'+L+'</span><br /><span class="home">'+y+"</span>";var p='<span class="away">'+m+'</span><br /><span class="home">'+G+"</span>";var t="";if(E!=""||u!=""){t='<div class="rank">'+E+"<br />"+u+"</div>"}var s="";if(H==3){if(G>m){s=" winner home";n='<span class="away">'+L+'</span><br /><span class="home winner">'+y+"</span>"}else{if(m>G){s=" winner away";n='<span class="away winner">'+L+'</span><br /><span class="home">'+y+"</span>"}}}else{if(K.poss){if(K.poss=="away"){s=" poss away"}else{if(K.poss=="home"){s=" poss home"}}}}J+='<li id="'+r+"-"+o+'"><div class="game-links">'+l+'</div><div class="game '+x+'"><div class="game-status"><div class="game-left"><span class="status">'+I+'</span><span class="hidden-clock">'+C+'</span></div><div class="game-right"><span class="clock">'+C+'</span></div>&nbsp;</div><div class="clear"></div><div class="game-left"><div class="info'+s+'"></div>'+t+'<div class="teams">'+n+'</div><div class="hidden-scores">'+p+'</div><div class="scores">'+p+'</div></div><div class="clear"></div><span class="sort">'+B+'</span><div class="hidden-links">'+l+"</div></div></li>"}N.html("<ul>"+J+"</ul>")}e();g(".mod-content li",v).hover(function(){g(".game-links",g(this)).css("display","block").css("width",g(".game",g(this)).innerWidth());g(".game",g(this)).css("visibility","hidden")},function(){g(".game-links",g(this)).css("display","none");g(".game",g(this)).css("visibility","visible")});g(".mod-content",v).children().each(function(){if(g(this).children().length==0){var i="";if(g(this).metadata().note!=undefined){i=g(this).metadata().note}g(this).html('<div style="color:white;text-align:center;position:relative;top:10px;text-transform:uppercase">'+i+"</div>")}});var A=setTimeout(h,15000);g(".mod-header ul",v).tabs();var F=g(".ui-tabs-selected a:first",v);var M=F.metadata();F.after(g('<a class="fullLink" name="'+M.name+'" href="'+M.url+'">'+M.text+"</a>"));ESPNfpScoreboard.activeSport=M.sport;g(".scores-prev",v).bind("click",function(){ESPNfpScoreboard.prev();return false});g(".scores-next",v).bind("click",function(){ESPNfpScoreboard.next();return false});g(".scores-prev",v).hover(function(){g(this).addClass("scores-prev-hover")},function(){g(this).removeClass("scores-prev-hover")});g(".scores-next",v).hover(function(){g(this).addClass("scores-next-hover")},function(){g(this).removeClass("scores-next-hover")});var z="";if(ESPNfpScoreboard.descriptions[ESPNfpScoreboard.activeSport]!=undefined){z=ESPNfpScoreboard.descriptions[ESPNfpScoreboard.activeSport]}g("#scores-description").html(z);if(g.browser.mozilla&&g.browser.version.substr(0,3)=="1.8"){g("#"+ESPNfpScoreboard.activeSport+"-scores .game").each(function(){g(this).find(".game-status:first").width(this.clientWidth)})}g(".mod-header ul",v).bind("tabsselect",function(j,P){try{if(g(P.panel).hasClass("event")){g("#scoreboard .mod-container .container").addClass("scores-hide")}else{g("#scoreboard .mod-container .container").removeClass("scores-hide")}var O=g(P.tab).metadata();if(O.sport+""!=ESPNfpScoreboard.activeSport+""){g(".fullLink",v).remove();g(P.tab).after(g('<a class="fullLink" name="'+O.name+'" href="'+O.url+'">'+O.text+"</a>"));var i="";if(ESPNfpScoreboard.descriptions[O.sport]!=undefined){i=ESPNfpScoreboard.descriptions[O.sport]}g("#scores-description").html(i)}}catch(Q){}});g(".mod-header ul",v).bind("tabsshow",function(i,O){try{var j=g(O.tab).metadata();if(j.sport+""!=ESPNfpScoreboard.activeSport+""){ESPNfpScoreboard.activeSport=j.sport;if(g.browser.mozilla&&g.browser.version.substr(0,3)=="1.8"){g("#"+ESPNfpScoreboard.activeSport+"-scores .game").each(function(){g(this).find(".game-status:first").width(this.clientWidth)})}window.anTrackLink(O.tab,"espn","page1sb",ESPNfpScoreboard.activeSport+"_tab")}}catch(P){}});if(window.Jiffy){Jiffy.measure("makeScoreboardEnd","makeScoreboardStart")}};function h(){g.ajax({type:"GET",url:"/aggregator/cached/tea/update?rand="+new Date().getTime(),dataType:"json",success:function(k){var j=k.snapshotId;ESPNfpScoreboard.handleCasterMessage("update",k.snapshots);var i=new flashObj();i.flashFile="http://assets.espn.go.com/swf/caster/snapshotCasterClientv2.swf";i.flashVars="jsFunction=ESPNfpScoreboard.handleCasterMessage&sessionName=uber-games&duration=15000&pollMode=absolute&baseURL=espn.go.com/aggregator/cached/tea/caster/snapshot&host=site.caster.espn.go.com&port=80&currentSnapshotId="+j;i.wmode="window";i.width="1";i.height="1";i.quality="best";i.FlashVer=8;i.DenyIEdl="TRUE";i.cabVersion="8,0,0,0";g("#caster").html(i.render())}})}function a(i){return(function(){i.removeClass("highlight")})}ESPNfpScoreboard.handleCasterMessage=function(r,s){if(window.Jiffy){Jiffy.mark("handleCasterMessageStart")}if(r=="connectionStatus"||r=="system"){if(window.Jiffy){Jiffy.measure("handleCasterMessageEnd","handleCasterMessageStart")}return}for(var x in s){var l=g("#"+s[x]["objId"]);if(l.length==0){continue}var p="";var n="";try{var u=s[x]["objId"].split("-");if(u&&u.length==2){p=u[0];n=u[1]}}catch(A){}for(var w in s[x]){if(s[x]["objId"]!=null&&w!=null&&s[x][w]!=null&&w!="objId"){if(w=="1"){g(".clock",l).html(s[x][w]);g(" .hidden-clock",l).html(s[x][w])}else{if(w=="2"){var k="";var v="pregame";var z=parseInt(s[x][w],10);if(z==1||z==6||z==7){v="pregame";if(p=="nfl"){k='<a name="&lpos=page1sb&lid='+p+"_preview_"+n+'" href="/'+p+"/nflpreview?gameId="+n+'">&nbsp;Preview</a>'}else{k='<a name="&lpos=page1sb&lid='+p+"_preview_"+n+'" href="/'+p+"/preview?gameId="+n+'">&nbsp;Preview</a>'}}else{if(z==2||z>=21){v="live";k='<a rel="'+p+'gamecast" name="&lpos=page1sb&lid='+p+"_gamecast_"+n+'" href="/'+p+"/gamecast?gameId="+n+'">&nbsp;GameCast</a>';k+='<a name="&lpos=page1sb&lid='+p+"_boxscore_"+n+'" href="/'+p+"/boxscore?gameId="+n+'">&nbsp;Box Score</a>'}else{if(z==3||z==4||z==5){v="final";k='<a name="&lpos=page1sb&lid='+p+"_recap_"+n+'" href="/'+p+"/recap?gameId="+n+'">&nbsp;Recap</a>';if(p=="nhl"){k+='<a rel="'+p+'gamecast" name="&lpos=page1sb&lid='+p+"_gamecast_"+n+'" href="/'+p+"/gamecast?gameId="+n+'">&nbsp;GameCast</a>'}else{k+='<a name="&lpos=page1sb&lid='+p+"_boxscore_"+n+'" href="/'+p+"/boxscore?gameId="+n+'">&nbsp;Box Score</a>'}}}}if(g(".game-links",l).html()!=k){g(".game-links",l).html(k);g(".hidden-links",l).html(k)}if(z!=2){g(".clock",l).html("");g(".hidden-clock",l).html("");g(".info",l).removeClass("away home poss")}g(".game",l).removeClass("pregame live final").addClass(v);var q="";if(z==3){var y=parseInt(g(".scores .home",l).html(),10);var m=parseInt(g(".scores .away",l).html(),10);if(y>m){q="winner home";g(".teams .home",l).addClass("winner")}else{if(m>y){q="winner away";g(".teams .away",l).addClass("winner")}}g(".info",l).removeClass("away home poss").addClass(q)}}else{if(w=="3"){var B=s[x][w];if(B=="F"){B="Final"}g(".status",l).html(B)}else{if(w=="4"){var t=g(".scores .home",l);if(r=="update"){t.html(s[x][w])}else{t.html(s[x][w]).addClass("highlight");var o=a(t);var C=setTimeout(o,8000)}g(".hidden-scores .home",l).html(s[x][w])}else{if(w=="5"){var t=g(".scores .away",l);if(r=="update"){t.html(s[x][w])}else{t.html(s[x][w]).addClass("highlight");var o=a(t);var C=setTimeout(o,8000)}g(".hidden-scores .away",l).html(s[x][w])}else{if(w=="6"){if(s[x][w]=="1"){g(".info",l).removeClass("away home poss").addClass("away poss")}}else{if(w=="7"){if(s[x][w]=="1"){g(".info",l).removeClass("away home poss").addClass("home poss")}}}}}}}}}}}if(g.browser.mozilla&&g.browser.version.substr(0,3)=="1.8"){g("#"+ESPNfpScoreboard.activeSport+"-scores .game").each(function(){g(this).find(".game-status:first").width(this.clientWidth)})}if(window.Jiffy){Jiffy.measure("handleCasterMessageEnd","handleCasterMessageStart")}};ESPNfpScoreboard.next=function(){if(window.Jiffy){Jiffy.mark("scrollScoreboardRightStart")}if(g("#"+ESPNfpScoreboard.activeSport+"-scores li").length==0){return}var l=-1*g("#"+ESPNfpScoreboard.activeSport+"-scores ul").position().left;var m=g("#"+ESPNfpScoreboard.activeSport+"-scores ul li");for(var j=0;j<m.length;j++){if((g(m[j]).position().left+g(m[j]).outerWidth())>(l+861)){g("#"+ESPNfpScoreboard.activeSport+"-scores ul").animate({left:"-"+g(m[j]).position().left+"px"},500,function(){g(this).css("left","-"+g(m[j]).position().left+"px")});ESPNfpScoreboard.currentPosition=g(m[j]);if(window.Jiffy){Jiffy.measure("scrollScoreboardRightEnd","scrollScoreboardRightStart")}break}}if(window.Jiffy){Jiffy.measure("scrollScoreboardRightEnd","scrollScoreboardRightStart")}try{window.anTrackLink(g("#scoreboard .scores-next")[0],"espn","page1sb",ESPNfpScoreboard.activeSport+"_rightarrow")}catch(k){}};ESPNfpScoreboard.prev=function(){if(window.Jiffy){Jiffy.mark("scrollScoreboardLeftStart")}if(g("#"+ESPNfpScoreboard.activeSport+"-scores li").length==0){return}var l=-1*g("#"+ESPNfpScoreboard.activeSport+"-scores ul").position().left;var m=g("#"+ESPNfpScoreboard.activeSport+"-scores ul li");for(var j=0;j<m.length;j++){if((g(m[j]).position().left)>(l-861)){g("#"+ESPNfpScoreboard.activeSport+"-scores ul").animate({left:"-"+g(m[j]).position().left+"px"},500,function(){g(this).css("left","-"+g(m[j]).position().left+"px")});ESPNfpScoreboard.currentPosition=g(m[j]);if(window.Jiffy){Jiffy.measure("scrollScoreboardLeftEnd","scrollScoreboardLeftStart")}break}}if(window.Jiffy){Jiffy.measure("scrollScoreboardLeftEnd","scrollScoreboardLeftStart")}try{window.anTrackLink(g("#scoreboard .scores-prev")[0],"espn","page1sb",ESPNfpScoreboard.activeSport+"_leftarrow")}catch(k){}};var e=function(){if(g.myespn){g.myespn.init({success:function(n){try{if(window.Jiffy){Jiffy.mark("makeMyGamesStart")}if(n.myTeams){var k=g("#scoreboard");for(var m=n.myTeams.length-1;m>=0;m--){var l=n.myTeams[m].sport+"-"+n.myTeams[m].id;var j=ESPNfpScoreboard.myTeams[l];var p=g("#"+j+" .game",k);p.addClass("my");g(".sort",p).html(-1*n.myTeams.length+m)}}g(".mod-content li",k).tsort("span.sort");if(window.Jiffy){Jiffy.measure("makeMyGamesEnd","makeMyGamesStart")}}catch(o){}}})}}})(jQuery);
