/**
 * Name: GameLoader
 * Purpose: Handle all requests for updating client display of league's scoreboards
 ******************/
var GameLoader={mlb:{templates:new Object(),extraInnings:function(rowid,gameid){var ehead=document.createElement("thead");var ehrow=document.createElement("tr");ehrow.setAttribute("id",'ih'+rowid+'-mlb-'+gameid);ehrow.className="extra_innings";ehrow.setAttribute("scope","col");for(var hc=0;hc<16;hc++){var hcell=document.createElement("th");if(hc==0){hcell.setAttribute("scope","col");hcell.className="teams";hcell.innerHTML="Extra Innings";}else if(hc==12){hcell.setAttribute("scope","col");hcell.innerHTML="R";}else if(hc==13){hcell.setAttribute("scope","col");hcell.innerHTML="H";}else if(hc==14){hcell.setAttribute("scope","col");hcell.innerHTML="E";}else{hcell.innerHTML="&nbsp;";}
ehrow.appendChild(hcell);}
ehead.appendChild(ehrow);var ebody=document.createElement("tbody");for(var br=0;br<2;br++){var etrow=document.createElement("tr");if(br==0)etrow.setAttribute("id",'as'+rowid+'-mlb-'+gameid);else etrow.setAttribute("id",'hs'+rowid+'-mlb-'+gameid);for(var bc=0;bc<16;bc++){var rcell=document.createElement("td");if(bc==0)rcell.className="teams";if(bc==1||bc==11||bc==15)rcell.innerHTML="&nbsp;";etrow.appendChild(rcell);}
ebody.appendChild(etrow);}
var ei={head:ehead,body:ebody}
return ei;},load:function(game,key,htmlTemplate){if(htmlTemplate){GameLoader.mlb.templates=htmlTemplate;}
try{var gameID=game.GAMEID;if(game.STATUS=='Pre-Game'||(game.STATUS=='Delayed'&&!game.DELAYEDIP)){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-mlb-'+gameID);var newSB=GameLoader.mlb.templates.PREGAME;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;var matchupsitem=Util.getElement('glinks-mlb-'+gameID).getElementsByTagName("li")[0];if(game.AWAYTEAM.ROTATIONNUMBER&&game.AWAYTEAM.ROTATIONNUMBER==''){Util.getElement('glinks-mlb-'+gameID).removeChild(matchupsitem);}else{matchupsitem.getElementsByTagName("a")[0].href+='&rotnum='+game.AWAYTEAM.ROTATIONNUMBER+'&date='+game.GAMEDATE;}
Util.getElement('score-mlb-'+gameID).setAttribute("summary","MLB "+game.STATUS+" Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
if(game.GAMETIME){Util.updateValue(Util.getElement('gt-mlb-'+gameID),game.GAMETIME);}
if(game.DOUBLEHEADER){var statusEl=Util.getElement('gt-mlb-'+gameID);if(!statusEl.parentNode.getElementsByTagName("em")[0]){var dh=document.createElement("em");dh.className="double_header";dh.appendChild(document.createTextNode(game.DOUBLEHEADER));statusEl.parentNode.appendChild(dh);}}
Util.updateValue(Util.getElement('at-mlb-'+gameID),game.AWAYTEAM.NAME+' ('+game.AWAYTEAM.TEAMRECORD+', '+game.AWAYTEAM.TEAMAWAYRECORD+')');if(game.AWAYTEAM.ROTATIONNUMBER){Util.updateValue(Util.getElement('arot-mlb-'+gameID),game.AWAYTEAM.ROTATIONNUMBER);}
if(game.AWAYTEAM.TEAMMONEYLINE){if(parseInt(game.AWAYTEAM.TEAMMONEYLINE)>0){var teammoneyline='+'+game.AWAYTEAM.TEAMMONEYLINE;}
else{var teammoneyline=game.AWAYTEAM.TEAMMONEYLINE;}
Util.updateValue(Util.getElement('ltam-mlb-'+gameID),teammoneyline);}
if(game.AWAYTEAM.TOTALVALUE){var linetotalvalue=game.AWAYTEAM.TOTALVALUE!='XX'&&game.AWAYTEAM.TOTALVALUE!=''?game.AWAYTEAM.TOTALVALUE.toFixed(1):game.AWAYTEAM.TOTALVALUE;Util.updateValue(Util.getElement('ltv-mlb-'+gameID),linetotalvalue);}
Util.updateValue(Util.getElement('ht-mlb-'+gameID),game.HOMETEAM.NAME+' ('+game.HOMETEAM.TEAMRECORD+', '+game.HOMETEAM.TEAMHOMERECORD+')');if(game.HOMETEAM.ROTATIONNUMBER){Util.updateValue(Util.getElement('hrot-mlb-'+gameID),game.HOMETEAM.ROTATIONNUMBER);}
if(game.HOMETEAM.TEAMMONEYLINE){if(parseInt(game.HOMETEAM.TEAMMONEYLINE)>0){var teammoneyline='+'+game.HOMETEAM.TEAMMONEYLINE;}
else{var teammoneyline=game.HOMETEAM.TEAMMONEYLINE;}
Util.updateValue(Util.getElement('lthm-mlb-'+gameID),teammoneyline);}
if(game.STARTINGPITCHERS.AWAY&&game.STARTINGPITCHERS.HOME){var pitchers=game.STARTINGPITCHERS.AWAY+'<br />'+game.STARTINGPITCHERS.HOME;Util.updateValue(Util.getElement('ps-mlb-'+gameID),pitchers);}
if(game.TVSTATION){Util.updateValue(Util.getElement('tv-mlb-'+gameID),game.TVSTATION);}
if(game.STADIUM){var stadiumlocation=game.STADIUM.NAME+'<br />'+game.STADIUM.LOCATION;Util.updateValue(Util.getElement('stloc-mlb-'+gameID),stadiumlocation);}}
else if(game.STATUS=='In-Progress'||game.STATUS=='Suspended'||(game.STATUS=='Delayed'&&game.DELAYEDIP)){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-mlb-'+gameID);var newSB=GameLoader.mlb.templates.INPROGRESS;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-mlb-'+gameID).setAttribute("summary","MLB "+game.STATUS+" Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.mlb.buildScoreTable(game,GameLoader.mlb.templates);if(game.CURRENTBATTER){Util.updateValue(Util.getElement('cb-mlb-'+gameID),game.CURRENTBATTER);}
if(game.CURRENTPITCHER){Util.updateValue(Util.getElement('cp-mlb-'+gameID),game.CURRENTPITCHER);}
for(var b=1;b<=4;b++){var ballEl=Util.getElement('ball-'+b+'-'+gameID);if(b<=game.BALLS){var ball=new Image();ball.src="/graphics/section/scoreboards/baseball_ball.gif";ball.style.paddingTop="3px";Util.updateValue(ballEl,"");ballEl.appendChild(ball);}else{Util.updateValue(ballEl,"");}}
for(var s=1;s<=3;s++){var strikeEl=Util.getElement('strike-'+s+'-'+gameID);if(s<=game.STRIKES){var strike=new Image();strike.src="/graphics/section/scoreboards/baseball_strike.gif";strike.style.paddingTop="3px";var strikeEl=Util.getElement('strike-'+s+'-'+gameID);Util.updateValue(strikeEl,"");strikeEl.appendChild(strike);}else{Util.updateValue(strikeEl,"");}}
for(var o=1;o<=3;o++){var outEl=Util.getElement('out-'+o+'-'+gameID);if(o<=game.OUTS){var out=new Image();out.src="/graphics/section/scoreboards/baseball_out.gif";out.style.paddingTop="3px";Util.updateValue(outEl,"");outEl.appendChild(out);}else{Util.updateValue(outEl,"");}}
var batters=Util.getElement('bod-mlb-'+gameID);Util.updateValue(batters,"");for(var batter=1;batter<=game.BATTERSONDECK.length;batter++){var listitem=document.createElement("li");if(game.BATTERSONDECK[batter-1].length!=0){listitem.appendChild(document.createTextNode("Batter "+batter+": "+game.BATTERSONDECK[batter-1]));}else{listitem.appendChild(document.createTextNode("Batter "+batter+": "));}
batters.appendChild(listitem);}
var runners=Util.getElement('pob-mlb-'+gameID);Util.updateValue(runners,"");for(var runner=1;runner<=game.BASERUNNERS.length;runner++){var listitem=document.createElement("li");if(game.BASERUNNERS[runner-1].length!=0){listitem.appendChild(document.createTextNode("Base "+runner+": "+game.BASERUNNERS[runner-1]));}else{listitem.appendChild(document.createTextNode("Base "+runner+": "));}
runners.appendChild(listitem);}}
else if(game.STATUS=='Final'||game.STATUS=='Postponed'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-mlb-'+gameID);var newSB=GameLoader.mlb.templates.FINAL;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-mlb-'+gameID).setAttribute("summary","MLB "+game.STATUS+" Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.mlb.buildScoreTable(game,GameLoader.mlb.templates);if(game.STATUS=='Final'){var pitchers='';if(game.FINALPITCHERS){if(game.FINALPITCHERS.WINNER){pitchers=game.FINALPITCHERS.WINNER+'; ';}
if(game.FINALPITCHERS.LOSER){pitchers+=game.FINALPITCHERS.LOSER+'; ';}
if(game.FINALPITCHERS.SAVER){pitchers+=game.FINALPITCHERS.SAVER;}}
if(pitchers.length==0){Util.getElement('ps-mlb-'+gameID).parentNode.parentNode.parentNode.style.display='none';}else{Util.getElement('ps-mlb-'+gameID).parentNode.parentNode.parentNode.style.display='';Util.updateValue(Util.getElement('ps-mlb-'+gameID),pitchers);}
if(game.BOXSCORE){if(Util.getElement('glinks-mlb-'+gameID).getElementsByTagName("li").length==1){var boxscorelinkhref="/mlb/boxscores/index.cfm/game/"+game.BOXSCORE.AWAYURL+"-@-"+game.BOXSCORE.HOMEURL+"/game_date/"+game.BOXSCORE.GAMEDATEURL+"/time/"+game.BOXSCORE.GAMETIMEURL;var boxscoreitem=document.createElement("li");var boxscorelink=document.createElement("a");boxscorelink.setAttribute("href",boxscorelinkhref);boxscorelink.setAttribute("title","Box Score");boxscorelink.appendChild(document.createTextNode("Box Score"));boxscoreitem.appendChild(boxscorelink);boxscoreitem.innerHTML+="&nbsp;&middot;&nbsp;";Util.getElement('glinks-mlb-'+gameID).insertBefore(boxscoreitem,Util.getElement('glinks-mlb-'+gameID).getElementsByTagName("li")[0]);}}}else{Util.getElement('ps-mlb-'+gameID).parentNode.parentNode.parentNode.style.display='none';Util.getElement('sb-mlb-'+gameID).removeChild(Util.getElement('glinks-mlb-'+gameID).parentNode);}}}catch(e){}},buildScoreTable:function(gameObj,htmlTemplate){var gameID=gameObj.GAMEID;var totalinnings=gameObj.TOTALINNINGS;var inningrows=Math.ceil(totalinnings/9);if(totalinnings>9){for(var ir=2;ir<=inningrows;ir++){if(!Util.getElement('ih'+ir+'-mlb-'+gameID)){var ei=GameLoader.mlb.extraInnings(ir,gameID);var scoretable=Util.getElement('score-mlb-'+gameID);scoretable.appendChild(ei.head);scoretable.appendChild(ei.body);}}}
if(gameObj.SEGMENTSTATUS){Util.updateValue(Util.getElement('status-mlb-'+gameID),gameObj.SEGMENTSTATUS);}
if(gameObj.DOUBLEHEADER){var statusEl=Util.getElement('status-mlb-'+gameID);if(!statusEl.parentNode.getElementsByTagName("em")[0]){var dh=document.createElement("em");dh.className="double_header";dh.appendChild(document.createTextNode(gameObj.DOUBLEHEADER));statusEl.parentNode.appendChild(dh);}}
var awaymaxinnings=gameObj.AWAYTEAM.LINESCORE.length;var homemaxinnings=gameObj.HOMETEAM.LINESCORE.length;for(var irow=1;irow<=inningrows;irow++){var rowheader=Util.getElement('ih'+irow+'-mlb-'+gameID);var rhitems=rowheader.getElementsByTagName("th");if(irow<inningrows){Util.updateValue(rhitems[12],"");Util.updateValue(rhitems[13],"");Util.updateValue(rhitems[14],"");}
if((totalinnings>9)&&(irow>1)){var prevrowmaxcol=(irow-1)*9;var maxcol=((irow*9)<totalinnings)?(irow*9):totalinnings;var mincol=((maxcol-8)<prevrowmaxcol)?(prevrowmaxcol+1):(maxcol-8);var extrh=2;for(var j=mincol;j<=maxcol;j++){Util.updateValue(rhitems[extrh],j);extrh++;}}
var awaymaxcol=((irow*9)<awaymaxinnings)?(irow*9):awaymaxinnings;var awaymincol=(irow==1)?1:((awaymaxcol-8)<(irow-1)*9?((irow-1)*9)+1:(awaymaxcol-8));var awayrow=Util.getElement('as'+irow+'-mlb-'+gameID);var awayitems=awayrow.getElementsByTagName("td");for(var it=0;it<awayitems.length;it++){Util.updateValue(awayitems[it],"");}
if(gameObj.AWAYTEAM.NAME){Util.updateValue(awayitems[0],gameObj.AWAYTEAM.NAME);}
if(gameObj.AWAYTEAM.WINNER){awayitems[0].className+=" winner";}
for(var ls=((awaymincol-1)%9);ls<=((awaymaxcol-1)%9);ls++){var cell=ls+2;var lsidx=ls+((irow-1)*9);if(!isNaN(gameObj.AWAYTEAM.LINESCORE[lsidx])){Util.updateValue(awayitems[cell],parseInt(gameObj.AWAYTEAM.LINESCORE[lsidx]));if(gameObj.AWAYTEAM.LINESCORE[lsidx]==0){awayitems[cell].className="noscore";}else{awayitems[cell].className="";}}}
if(irow<inningrows){Util.updateValue(awayitems[12],"");Util.updateValue(awayitems[13],"");Util.updateValue(awayitems[14],"");}
var homemaxcol=((irow*9)<homemaxinnings)?(irow*9):homemaxinnings;var homemincol=(irow==1)?1:((homemaxcol-8)<(irow-1)*9?((irow-1)*9)+1:(homemaxcol-8));if(homemincol>homemaxcol){homemaxcol=homemincol;}
var homerow=Util.getElement('hs'+irow+'-mlb-'+gameID);var homeitems=homerow.getElementsByTagName("td");for(var it=0;it<homeitems.length;it++){Util.updateValue(homeitems[it],"");}
if(gameObj.HOMETEAM.NAME){Util.updateValue(homeitems[0],gameObj.HOMETEAM.NAME);}
if(gameObj.HOMETEAM.WINNER){Util.addClass(homeitems[0],"winner");}
for(var ls=((homemincol-1)%9);ls<=((homemaxcol-1)%9);ls++){var cell=ls+2;var lsidx=ls+((irow-1)*9);if(!isNaN(gameObj.HOMETEAM.LINESCORE[lsidx])||gameObj.HOMETEAM.LINESCORE[lsidx]=='x'){if(gameObj.HOMETEAM.LINESCORE[lsidx]==0){homeitems[cell].className="noscore";Util.updateValue(homeitems[cell],parseInt(gameObj.HOMETEAM.LINESCORE[lsidx]));if(homeitems[cell].getElementsByTagName("img")[0]){homeitems[cell].removeChild("img");}}else if(gameObj.HOMETEAM.LINESCORE[lsidx]=='x'){if(!homeitems[cell].getElementsByTagName("img")[0]){Util.updateValue(homeitems[cell],"");var xImg=new Image();xImg.src="/graphics/section/scoreboards/sb_noscore.gif";xImg.alt="No Play. Bottom of this inning was not necessary.";homeitems[cell].className="noplay";homeitems[cell].appendChild(xImg);}else{homeitems[cell].className="";}}else{Util.updateValue(homeitems[cell],parseInt(gameObj.HOMETEAM.LINESCORE[lsidx]));homeitems[cell].className="";}}}
if(irow<inningrows){Util.updateValue(homeitems[12],"");Util.updateValue(homeitems[13],"");Util.updateValue(homeitems[14],"");}}
if(gameObj.AWAYTEAM.RHE){Util.updateValue(awayitems[12],gameObj.AWAYTEAM.RHE[0]);Util.updateValue(awayitems[13],gameObj.AWAYTEAM.RHE[1]);Util.updateValue(awayitems[14],gameObj.AWAYTEAM.RHE[2]);}
if(gameObj.HOMETEAM.RHE){Util.updateValue(homeitems[12],gameObj.HOMETEAM.RHE[0]);Util.updateValue(homeitems[13],gameObj.HOMETEAM.RHE[1]);Util.updateValue(homeitems[14],gameObj.HOMETEAM.RHE[2]);}}},nhl:{templates:new Object(),load:function(game,key,htmlTemplate){if(htmlTemplate){GameLoader.nhl.templates=htmlTemplate;}
try{var gameID=game.GAMEID;if(game.STATUS=='Pre-Game'||game.STATUS=='Pg'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-nhl-'+gameID);var newSB=GameLoader.nhl.templates.PREGAME;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;var matchupsitem=Util.getElement('glinks-nhl-'+gameID).getElementsByTagName("li")[0];if(game.AWAYTEAM.ROTATIONNUMBER==''){Util.getElement('glinks-nhl-'+gameID).removeChild(matchupsitem);}else{matchupsitem.getElementsByTagName("a")[0].href+='&rotnum='+game.AWAYTEAM.ROTATIONNUMBER+'&date='+game.GAMEDATE;}
Util.getElement('score-nhl-'+gameID).setAttribute("summary","NHL Pre-Game Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
Util.updateValue(Util.getElement('gt-nhl-'+gameID),game.GAMETIME);Util.updateValue(Util.getElement('at-nhl-'+gameID),game.AWAYTEAM.NAME+' ('+game.AWAYTEAM.TEAMRECORD+')');Util.updateValue(Util.getElement('arot-nhl-'+gameID),game.AWAYTEAM.ROTATIONNUMBER);Util.updateValue(Util.getElement('ltom-nhl-'+gameID),((parseInt(game.AWAYTEAM.TEAMMONEY_AWAYMONEY)>0)?'+':'')+game.AWAYTEAM.TEAMMONEY_AWAYMONEY);var linetotalvalue=game.AWAYTEAM.TOTALVALUE!='XX'&&game.AWAYTEAM.TOTALVALUE!=''&&game.AWAYTEAM.TOTALVALUE!='PK'?game.AWAYTEAM.TOTALVALUE.toFixed(1):game.AWAYTEAM.TOTALVALUE;Util.updateValue(Util.getElement('ltv-nhl-'+gameID),linetotalvalue);Util.updateValue(Util.getElement('ht-nhl-'+gameID),game.HOMETEAM.NAME+' ('+game.HOMETEAM.TEAMRECORD+')');Util.updateValue(Util.getElement('hrot-nhl-'+gameID),game.HOMETEAM.ROTATIONNUMBER);Util.updateValue(Util.getElement('ltum-nhl-'+gameID),((parseInt(game.HOMETEAM.TEAMMONEY_HOMEMONEY)>0)?'+':'')+game.HOMETEAM.TEAMMONEY_HOMEMONEY);Util.updateValue(Util.getElement('tv-nhl-'+gameID),game.TVSTATION);var stadiumlocation=game.STADIUM.NAME+'<br />'+game.STADIUM.LOCATION;Util.updateValue(Util.getElement('stloc-nhl-'+gameID),stadiumlocation);}
else if(game.STATUS=='In-Progress'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-nhl-'+gameID);var newSB=GameLoader.nhl.templates.INPROGRESS;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-nhl-'+gameID).setAttribute("summary","NHL In-Progress Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.nhl.buildScoreTable(game);}
else if(game.STATUS=='Final'||game.STATUS=='Postponed'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-nhl-'+gameID);var newSB=GameLoader.nhl.templates.FINAL;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-nhl-'+gameID).setAttribute("summary","NHL "+game.STATUS+" Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.nhl.buildScoreTable(game);if(game.STATUS=='Postponed'){Util.getElement('sb-nhl-'+gameID).removeChild(Util.getElement('glinks-nhl-'+gameID).parentNode);}else{if(game.BOXSCORE){if(Util.getElement('glinks-nhl-'+gameID).getElementsByTagName("li").length==1){var boxscorelinkhref="/nhl/boxscores/index.cfm/game/"+game.BOXSCORE.AWAYURL+"-@-"+game.BOXSCORE.HOMEURL+"/game_date/"+game.BOXSCORE.GAMEDATEURL+"/time/"+game.BOXSCORE.GAMETIMEURL;var boxscoreitem=document.createElement("li");var boxscorelink=document.createElement("a");boxscorelink.setAttribute("href",boxscorelinkhref);boxscorelink.setAttribute("title","Box Score");boxscorelink.appendChild(document.createTextNode("Box Score"));boxscoreitem.appendChild(boxscorelink);boxscoreitem.innerHTML+="&nbsp;&middot;&nbsp;";Util.getElement('glinks-nhl-'+gameID).insertBefore(boxscoreitem,Util.getElement('glinks-nhl-'+gameID).getElementsByTagName("li")[0]);}}}}}catch(e){}},buildScoreTable:function(gameObj){var gameID=gameObj.GAMEID;var totalperiods=gameObj.TOTALPERIODS;Util.updateValue(Util.getElement('status-nhl-'+gameID),gameObj.SEGMENTSTATUS);var rowheader=Util.getElement('ph1-nhl-'+gameID);var rhitems=rowheader.getElementsByTagName("th");Util.updateValue(rhitems[1],"1");Util.updateValue(rhitems[2],"2");Util.updateValue(rhitems[3],"3");if(gameObj.GAMETYPE=="Regular Season"){if(totalperiods>=4){Util.updateValue(rhitems[4],"OT");}
if(totalperiods==5){Util.updateValue(rhitems[5],"SO");}}else{if(totalperiods>3){Util.updateValue(rhitems[4],(totalperiods-3)+"xOT");}}
Util.updateValue(rhitems[6],"Total");Util.updateValue(rhitems[7],"SOG");var awayrow=Util.getElement('as1-nhl-'+gameID);var awayitems=awayrow.getElementsByTagName("td");for(var it=0;it<awayitems.length;it++){Util.updateValue(awayitems[it],"");}
Util.updateValue(awayitems[0],gameObj.AWAYTEAM.NAME);if(gameObj.AWAYTEAM.WINNER){Util.addClass(awayitems[0],"winner");}
for(var i=0;i<totalperiods;i++){var cell=i+1;if(gameObj.GAMETYPE=="Regular Season"){Util.updateValue(awayitems[cell],gameObj.AWAYTEAM.LINESCORE[i]);}else{if(i<3){Util.updateValue(awayitems[cell],gameObj.AWAYTEAM.LINESCORE[i]);}else{Util.updateValue(awayitems[cell],gameObj.AWAYTEAM.LINESCORE[gameObj.AWAYTEAM.LINESCORE.length-1]);break;}}}
var homerow=Util.getElement('hs1-nhl-'+gameID);var homeitems=homerow.getElementsByTagName("td");for(var it=0;it<homeitems.length;it++){Util.updateValue(homeitems[it],"");}
Util.updateValue(homeitems[0],gameObj.HOMETEAM.NAME);if(gameObj.HOMETEAM.WINNER){Util.addClass(homeitems[0],"winner");}
for(var i=0;i<totalperiods;i++){var cell=i+1;if(gameObj.GAMETYPE=="Regular Season"){Util.updateValue(homeitems[cell],gameObj.HOMETEAM.LINESCORE[i]);}else{if(i<3){Util.updateValue(homeitems[cell],gameObj.HOMETEAM.LINESCORE[i]);}else{Util.updateValue(homeitems[cell],gameObj.HOMETEAM.LINESCORE[gameObj.HOMETEAM.LINESCORE.length-1]);break;}}}
Util.updateValue(awayitems[6],gameObj.AWAYTEAM.TSS[0]);Util.updateValue(awayitems[7],gameObj.AWAYTEAM.TSS[1]);Util.updateValue(homeitems[6],gameObj.HOMETEAM.TSS[0]);Util.updateValue(homeitems[7],gameObj.HOMETEAM.TSS[1]);}},nba:{templates:new Object(),load:function(game,key,htmlTemplate){if(htmlTemplate){GameLoader.nba.templates=htmlTemplate;}
try{var gameID=game.GAMEID;if(game.STATUS=='Pre-Game'||game.STATUS=='Pg'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-nba-'+gameID);var newSB=GameLoader.nba.templates.PREGAME;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;var matchupsitem=Util.getElement('glinks-nba-'+gameID).getElementsByTagName("li")[0];if(game.AWAYTEAM.ROTATIONNUMBER==''){Util.getElement('glinks-nba-'+gameID).removeChild(matchupsitem);}else{matchupsitem.getElementsByTagName("a")[0].href+='&rotnum='+game.AWAYTEAM.ROTATIONNUMBER+'&date='+game.GAMEDATE;}
Util.getElement('score-nba-'+gameID).setAttribute("summary","NBA Pre-Game Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
Util.updateValue(Util.getElement('gt-nba-'+gameID),game.GAMETIME);Util.updateValue(Util.getElement('at-nba-'+gameID),game.AWAYTEAM.NAME+' ('+game.AWAYTEAM.TEAMRECORD+')');Util.updateValue(Util.getElement('arot-nba-'+gameID),game.AWAYTEAM.ROTATIONNUMBER);if(game.AWAYTEAM.FAVORITE_TOTALVALUE){var linetotalvalue=game.AWAYTEAM.FAVORITE_TOTALVALUE!='XX'&&game.AWAYTEAM.FAVORITE_TOTALVALUE!=''?game.AWAYTEAM.FAVORITE_TOTALVALUE.toFixed(1):game.AWAYTEAM.FAVORITE_TOTALVALUE;Util.updateValue(Util.getElement('aftv-nba-'+gameID),linetotalvalue);}
Util.updateValue(Util.getElement('ht-nba-'+gameID),game.HOMETEAM.NAME+' ('+game.HOMETEAM.TEAMRECORD+')');Util.updateValue(Util.getElement('hrot-nba-'+gameID),game.HOMETEAM.ROTATIONNUMBER);if(game.HOMETEAM.FAVORITE_TOTALVALUE){linetotalvalue=game.HOMETEAM.FAVORITE_TOTALVALUE!='XX'&&game.HOMETEAM.FAVORITE_TOTALVALUE!=''?game.HOMETEAM.FAVORITE_TOTALVALUE.toFixed(1):game.HOMETEAM.FAVORITE_TOTALVALUE;Util.updateValue(Util.getElement('hftv-nba-'+gameID),linetotalvalue);}
Util.updateValue(Util.getElement('tv-nba-'+gameID),game.TVSTATION);var stadiumlocation=game.STADIUM.NAME+'<br />'+game.STADIUM.LOCATION;Util.updateValue(Util.getElement('stloc-nba-'+gameID),stadiumlocation);}
else if(game.STATUS=='In-Progress'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-nba-'+gameID);var newSB=GameLoader.nba.templates.INPROGRESS;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-nba-'+gameID).setAttribute("summary","NBA In-Progress Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.nba.buildScoreTable(game);}
else if(game.STATUS=='Final'||game.STATUS=='Postponed'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-nba-'+gameID);var newSB=GameLoader.nba.templates.FINAL;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-nba-'+gameID).setAttribute("summary","NBA "+game.STATUS+" Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.nba.buildScoreTable(game);if(game.STATUS=='Postponed'){Util.getElement('sb-nba-'+gameID).removeChild(Util.getElement('glinks-nba-'+gameID).parentNode);}else{if(game.BOXSCORE){if(Util.getElement('glinks-nba-'+gameID).getElementsByTagName("li").length==1){var boxscorelinkhref="/nba/boxscores/index.cfm/game/"+game.BOXSCORE.AWAYURL+"-@-"+game.BOXSCORE.HOMEURL+"/game_date/"+game.BOXSCORE.GAMEDATEURL+"/time/"+game.BOXSCORE.GAMETIMEURL;var boxscoreitem=document.createElement("li");var boxscorelink=document.createElement("a");boxscorelink.setAttribute("href",boxscorelinkhref);boxscorelink.setAttribute("title","Box Score");boxscorelink.appendChild(document.createTextNode("Box Score"));boxscoreitem.appendChild(boxscorelink);boxscoreitem.innerHTML+="&nbsp;&middot;&nbsp;";Util.getElement('glinks-nba-'+gameID).insertBefore(boxscoreitem,Util.getElement('glinks-nba-'+gameID).getElementsByTagName("li")[0]);}}}}}catch(e){}},buildScoreTable:function(gameObj){var gameID=gameObj.GAMEID;var totalperiods=gameObj.TOTALPERIODS;Util.updateValue(Util.getElement('status-nba-'+gameID),gameObj.SEGMENTSTATUS);var rowheader=Util.getElement('qh1-nba-'+gameID);var rhitems=rowheader.getElementsByTagName("th");Util.updateValue(rhitems[1],"1");Util.updateValue(rhitems[2],"2");Util.updateValue(rhitems[3],"3");Util.updateValue(rhitems[4],"4");if(totalperiods>4){Util.updateValue(rhitems[5],"OT");}
if(totalperiods>5){Util.updateValue(rhitems[5],(totalperiods-4)+"xOT");}
Util.updateValue(rhitems[6],"Total");var awayrow=Util.getElement('as1-nba-'+gameID);var awayitems=awayrow.getElementsByTagName("td");for(var it=0;it<awayitems.length;it++){Util.updateValue(awayitems[it],"");}
Util.updateValue(awayitems[0],gameObj.AWAYTEAM.NAME);if(gameObj.AWAYTEAM.WINNER){Util.addClass(awayitems[0],"winner");}
for(var i=0;i<gameObj.AWAYTEAM.LINESCORE.length;i++){var cell=i+1;if(i<4){Util.updateValue(awayitems[cell],gameObj.AWAYTEAM.LINESCORE[i]);}else{var totalotscore=0;for(var j=4;j<gameObj.AWAYTEAM.LINESCORE.length;j++){totalotscore+=gameObj.AWAYTEAM.LINESCORE[j];}
Util.updateValue(awayitems[cell],totalotscore);break;}}
var homerow=Util.getElement('hs1-nba-'+gameID);var homeitems=homerow.getElementsByTagName("td");for(var it=0;it<homeitems.length;it++){Util.updateValue(homeitems[it],"");}
Util.updateValue(homeitems[0],gameObj.HOMETEAM.NAME);if(gameObj.HOMETEAM.WINNER){Util.addClass(homeitems[0],"winner");}
for(var i=0;i<gameObj.HOMETEAM.LINESCORE.length;i++){var cell=i+1;if(i<4){Util.updateValue(homeitems[cell],gameObj.HOMETEAM.LINESCORE[i]);}else{var totalotscore=0;for(var j=4;j<gameObj.HOMETEAM.LINESCORE.length;j++){totalotscore+=gameObj.HOMETEAM.LINESCORE[j];}
Util.updateValue(homeitems[cell],totalotscore);break;}}
Util.updateValue(awayitems[6],gameObj.AWAYTEAM.TAS);Util.updateValue(homeitems[6],gameObj.HOMETEAM.THS);}},nfl:{templates:new Object(),load:function(game,key,htmlTemplate){if(htmlTemplate){GameLoader.nfl.templates=htmlTemplate;}
try{var gameID=game.GAMEID;if(game.STATUS=='Pre-Game'||game.STATUS=='Pg'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-nfl-'+gameID);var newSB=GameLoader.nfl.templates.PREGAME;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;var matchupsitem=Util.getElement('glinks-nfl-'+gameID).getElementsByTagName("li")[0];if(game.AWAYTEAM.ROTATIONNUMBER==''){Util.getElement('glinks-nfl-'+gameID).removeChild(matchupsitem);}else{matchupsitem.getElementsByTagName("a")[0].href+='&rotnum='+game.AWAYTEAM.ROTATIONNUMBER+'&date='+game.GAMEDATE;}
Util.getElement('score-nfl-'+gameID).setAttribute("summary","NFL Pre-Game Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
Util.updateValue(Util.getElement('gt-nfl-'+gameID),game.GAMETIME);Util.updateValue(Util.getElement('at-nfl-'+gameID),game.AWAYTEAM.NAME+' ('+game.AWAYTEAM.TEAMRECORD+')');Util.updateValue(Util.getElement('arot-nfl-'+gameID),game.AWAYTEAM.ROTATIONNUMBER);var linefavetotal=game.AWAYTEAM.FAVORITE_TOTALVALUE!='XX'&&game.AWAYTEAM.FAVORITE_TOTALVALUE!=''&&game.AWAYTEAM.FAVORITE_TOTALVALUE!='PK'?game.AWAYTEAM.FAVORITE_TOTALVALUE.toFixed(1):game.AWAYTEAM.FAVORITE_TOTALVALUE;Util.updateValue(Util.getElement('aftv-nfl-'+gameID),linefavetotal);Util.updateValue(Util.getElement('ht-nfl-'+gameID),game.HOMETEAM.NAME+' ('+game.HOMETEAM.TEAMRECORD+')');Util.updateValue(Util.getElement('hrot-nfl-'+gameID),game.HOMETEAM.ROTATIONNUMBER);linefavetotal=game.HOMETEAM.FAVORITE_TOTALVALUE!='XX'&&game.HOMETEAM.FAVORITE_TOTALVALUE!=''&&game.HOMETEAM.FAVORITE_TOTALVALUE!='PK'?game.HOMETEAM.FAVORITE_TOTALVALUE.toFixed(1):game.HOMETEAM.FAVORITE_TOTALVALUE;Util.updateValue(Util.getElement('hftv-nfl-'+gameID),linefavetotal);Util.updateValue(Util.getElement('tv-nfl-'+gameID),game.TVSTATION);var stadiumlocation=game.STADIUM.NAME+'<br />'+game.STADIUM.LOCATION;Util.updateValue(Util.getElement('stloc-nfl-'+gameID),stadiumlocation);}
else if(game.STATUS=='In-Progress'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-nfl-'+gameID);var newSB=GameLoader.nfl.templates.INPROGRESS;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-nfl-'+gameID).setAttribute("summary","NFL In-Progress Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.nfl.buildScoreTable(game);}
else if(game.STATUS=='Final'||game.STATUS=='Postponed'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-nfl-'+gameID);var newSB=GameLoader.nfl.templates.FINAL;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-nfl-'+gameID).setAttribute("summary","NFL "+game.STATUS+" Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.nfl.buildScoreTable(game);if(game.STATUS=='Postponed'){Util.getElement('sb-nfl-'+gameID).removeChild(Util.getElement('glinks-nfl-'+gameID).parentNode);}else{if(game.BOXSCORE){if(Util.getElement('glinks-nfl-'+gameID).getElementsByTagName("li").length==1){var boxscorelinkhref="/nfl/boxscores/index.cfm/game/"+game.BOXSCORE.AWAYURL+"-@-"+game.BOXSCORE.HOMEURL+"/game_date/"+game.BOXSCORE.GAMEDATEURL+"/time/"+game.BOXSCORE.GAMETIMEURL;var boxscoreitem=document.createElement("li");var boxscorelink=document.createElement("a");boxscorelink.setAttribute("href",boxscorelinkhref);boxscorelink.setAttribute("title","Box Score");boxscorelink.appendChild(document.createTextNode("Box Score"));boxscoreitem.appendChild(boxscorelink);boxscoreitem.innerHTML+="&nbsp;&middot;&nbsp;";Util.getElement('glinks-nfl-'+gameID).insertBefore(boxscoreitem,Util.getElement('glinks-nfl-'+gameID).getElementsByTagName("li")[0]);}}}}}catch(e){}},buildScoreTable:function(gameObj){var gameID=gameObj.GAMEID;var totalperiods=gameObj.TOTALPERIODS;Util.updateValue(Util.getElement('status-nfl-'+gameID),gameObj.SEGMENTSTATUS);var rowheader=Util.getElement('qh1-nfl-'+gameID);var rhitems=rowheader.getElementsByTagName("th");if(totalperiods>4){Util.updateValue(rhitems[6],"OT");}
var awayrow=Util.getElement('as1-nfl-'+gameID);var awayitems=awayrow.getElementsByTagName("td");for(var it=0;it<awayitems.length;it++){Util.updateValue(awayitems[it],"");}
Util.updateValue(awayitems[0],gameObj.AWAYTEAM.NAME);if(gameObj.AWAYTEAM.WINNER){Util.addClass(awayitems[0],"winner");}
if(gameObj.TEAMPOSESSION=="away"){Util.addClass(awayitems[1],"possession");}else{Util.removeClass(awayitems[1],"possession");}
for(var i=0;i<gameObj.AWAYTEAM.LINESCORE.length;i++){var cell=i+2;Util.updateValue(awayitems[cell],gameObj.AWAYTEAM.LINESCORE[i]);}
var homerow=Util.getElement('hs1-nfl-'+gameID);var homeitems=homerow.getElementsByTagName("td");for(var it=0;it<homeitems.length;it++){Util.updateValue(homeitems[it],"");}
Util.updateValue(homeitems[0],gameObj.HOMETEAM.NAME);if(gameObj.HOMETEAM.WINNER){Util.addClass(homeitems[0],"winner");}
if(gameObj.TEAMPOSESSION=="home"){Util.addClass(homeitems[1],"possession");}else{Util.removeClass(homeitems[1],"possession");}
for(var i=0;i<gameObj.HOMETEAM.LINESCORE.length;i++){var cell=i+2;Util.updateValue(homeitems[cell],gameObj.HOMETEAM.LINESCORE[i]);}
if(gameObj.STATUS=='In-Progress'){Util.updateValue(awayitems[7],gameObj.AWAYTEAM.TST[0]);Util.updateValue(awayitems[8],gameObj.AWAYTEAM.TST[1]);Util.updateValue(homeitems[7],gameObj.HOMETEAM.TST[0]);Util.updateValue(homeitems[8],gameObj.HOMETEAM.TST[1]);Util.updateValue(Util.getElement('down-nfl-'+gameID),gameObj.DOWN);Util.updateValue(Util.getElement('dist-nfl-'+gameID),gameObj.DISTANCE);Util.updateValue(Util.getElement('yard-nfl-'+gameID),gameObj.YARDSTOGO);}else{Util.updateValue(awayitems[7],gameObj.AWAYTEAM.TST);Util.updateValue(homeitems[7],gameObj.HOMETEAM.TST);}}},ncaab:{templates:new Object(),load:function(game,key,htmlTemplate){if(htmlTemplate){GameLoader.ncaab.templates=htmlTemplate;}
try{var gameID=game.GAMEID;if(game.STATUS=='Pre-Game'||game.STATUS=='Pg'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-ncaab-'+gameID);var newSB=GameLoader.ncaab.templates.PREGAME;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;var matchupsitem=Util.getElement('glinks-ncaab-'+gameID).getElementsByTagName("li")[0];if(game.AWAYTEAM.ROTATIONNUMBER==''){Util.getElement('glinks-ncaab-'+gameID).removeChild(matchupsitem);}else{matchupsitem.getElementsByTagName("a")[0].href+='&rotnum='+game.AWAYTEAM.ROTATIONNUMBER+'&date='+game.GAMEDATE;}
Util.getElement('score-ncaab-'+gameID).setAttribute("summary","College Basketball Pre-Game Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
Util.updateValue(Util.getElement('gt-ncaab-'+gameID),game.GAMETIME);var awayteamdisplay='';if(game.AWAYTEAM.RANK){awayteamdisplay+=game.AWAYTEAM.RANK+' ';}
if(game.AWAYTEAM.NAME){awayteamdisplay+=game.AWAYTEAM.NAME;}
if(game.AWAYTEAM.TEAMRECORD){awayteamdisplay+=' ('+game.AWAYTEAM.TEAMRECORD+')';}
Util.updateValue(Util.getElement('at-ncaab-'+gameID),awayteamdisplay);Util.updateValue(Util.getElement('arot-ncaab-'+gameID),game.AWAYTEAM.ROTATIONNUMBER);if(game.AWAYTEAM.FAVORITE_TOTALVALUE){var linefavorite=!isNaN(game.AWAYTEAM.FAVORITE_TOTALVALUE)?game.AWAYTEAM.FAVORITE_TOTALVALUE.toFixed(1):game.AWAYTEAM.FAVORITE_TOTALVALUE;Util.updateValue(Util.getElement('afav-ncaab-'+gameID),linefavorite);}
var hometeamdisplay='';if(game.HOMETEAM.RANK){hometeamdisplay+=game.HOMETEAM.RANK+' ';}
if(game.HOMETEAM.NAME){hometeamdisplay+=game.HOMETEAM.NAME;}
if(game.HOMETEAM.TEAMRECORD){hometeamdisplay+=' ('+game.HOMETEAM.TEAMRECORD+')';}
Util.updateValue(Util.getElement('ht-ncaab-'+gameID),hometeamdisplay);Util.updateValue(Util.getElement('hrot-ncaab-'+gameID),game.HOMETEAM.ROTATIONNUMBER);if(game.HOMETEAM.FAVORITE_TOTALVALUE){var linefavorite=!isNaN(game.HOMETEAM.FAVORITE_TOTALVALUE)?game.HOMETEAM.FAVORITE_TOTALVALUE.toFixed(1):game.HOMETEAM.FAVORITE_TOTALVALUE;Util.updateValue(Util.getElement('hfav-ncaab-'+gameID),linefavorite);}
var stadiumlocation=game.STADIUM.NAME+'<br />'+game.STADIUM.LOCATION;Util.updateValue(Util.getElement('stloc-ncaab-'+gameID),stadiumlocation);}
else if(game.STATUS=='In-Progress'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-ncaab-'+gameID);var newSB=GameLoader.ncaab.templates.INPROGRESS;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-ncaab-'+gameID).setAttribute("summary","College Basketball In-Progress Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.ncaab.buildScoreTable(game);}
else if(game.STATUS=='Final'||game.STATUS=='Postponed'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-ncaab-'+gameID);var newSB=GameLoader.ncaab.templates.FINAL;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-ncaab-'+gameID).setAttribute("summary","College Basketball "+game.STATUS+" Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.ncaab.buildScoreTable(game);if(game.STATUS=='Postponed'){Util.getElement('sb-ncaab-'+gameID).removeChild(Util.getElement('glinks-ncaab-'+gameID).parentNode);}else{if(game.BOXSCORE){if(Util.getElement('glinks-ncaab-'+gameID).getElementsByTagName("li").length==1){var boxscorelinkhref="/college-basketball/boxscores/index.cfm/game/"+game.BOXSCORE.AWAYURL+"-@-"+game.BOXSCORE.HOMEURL+"/game_date/"+game.BOXSCORE.GAMEDATEURL+"/time/"+game.BOXSCORE.GAMETIMEURL;var boxscoreitem=document.createElement("li");var boxscorelink=document.createElement("a");boxscorelink.setAttribute("href",boxscorelinkhref);boxscorelink.setAttribute("title","Box Score");boxscorelink.appendChild(document.createTextNode("Box Score"));boxscoreitem.appendChild(boxscorelink);boxscoreitem.innerHTML+="&nbsp;&middot;&nbsp;";Util.getElement('glinks-ncaab-'+gameID).insertBefore(boxscoreitem,Util.getElement('glinks-ncaab-'+gameID).getElementsByTagName("li")[0]);}}}}}catch(e){}},buildScoreTable:function(gameObj){var gameID=gameObj.GAMEID;var totalperiods=gameObj.TOTALPERIODS;Util.updateValue(Util.getElement('status-ncaab-'+gameID),gameObj.SEGMENTSTATUS);var rowheader=Util.getElement('ph1-ncaab-'+gameID);var rhitems=rowheader.getElementsByTagName("th");if(totalperiods>2){Util.updateValue(rhitems[3],"OT");}
if(totalperiods>3){Util.updateValue(rhitems[3],(totalperiods-2)+"xOT");}
var awayrow=Util.getElement('as1-ncaab-'+gameID);var awayitems=awayrow.getElementsByTagName("td");for(var it=0;it<awayitems.length;it++){Util.updateValue(awayitems[it],"");}
var awayteamdisplay='';if(gameObj.AWAYTEAM.RANK){awayteamdisplay+=gameObj.AWAYTEAM.RANK+' ';}
if(gameObj.AWAYTEAM.NAME){awayteamdisplay+=gameObj.AWAYTEAM.NAME;}
Util.updateValue(awayitems[0],awayteamdisplay);if(gameObj.AWAYTEAM.WINNER){Util.addClass(awayitems[0],"winner");}
for(var i=0;i<gameObj.AWAYTEAM.LINESCORE.length;i++){var cell=i+1;if(i<2){Util.updateValue(awayitems[cell],gameObj.AWAYTEAM.LINESCORE[i]);}else{var totalotscore=0;for(var j=2;j<gameObj.AWAYTEAM.LINESCORE.length;j++){totalotscore+=gameObj.AWAYTEAM.LINESCORE[j];}
Util.updateValue(awayitems[cell],totalotscore);break;}}
var homerow=Util.getElement('hs1-ncaab-'+gameID);var homeitems=homerow.getElementsByTagName("td");for(var it=0;it<homeitems.length;it++){Util.updateValue(homeitems[it],"");}
var hometeamdisplay='';if(gameObj.HOMETEAM.RANK){hometeamdisplay+=gameObj.HOMETEAM.RANK+' ';}
if(gameObj.HOMETEAM.NAME){hometeamdisplay+=gameObj.HOMETEAM.NAME;}
Util.updateValue(homeitems[0],hometeamdisplay);if(gameObj.HOMETEAM.WINNER){Util.addClass(homeitems[0],"winner");}
for(var i=0;i<gameObj.HOMETEAM.LINESCORE.length;i++){var cell=i+1;if(i<2){Util.updateValue(homeitems[cell],gameObj.HOMETEAM.LINESCORE[i]);}else{var totalotscore=0;for(var j=2;j<gameObj.HOMETEAM.LINESCORE.length;j++){totalotscore+=gameObj.HOMETEAM.LINESCORE[j];}
Util.updateValue(homeitems[cell],totalotscore);break;}}
Util.updateValue(awayitems[5],gameObj.AWAYTEAM.TAS);Util.updateValue(homeitems[5],gameObj.HOMETEAM.THS);}},ncaaf:{templates:new Object(),load:function(game,key,htmlTemplate){if(htmlTemplate){GameLoader.ncaaf.templates=htmlTemplate;}
try{var gameID=game.GAMEID;if(game.STATUS=='Pre-Game'||game.STATUS=='Pg'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-ncaaf-'+gameID);var newSB=GameLoader.ncaaf.templates.PREGAME;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;var matchupsitem=Util.getElement('glinks-ncaaf-'+gameID).getElementsByTagName("li")[0];if(!game.AWAYTEAM.ROTATIONNUMBER){Util.getElement('glinks-ncaaf-'+gameID).removeChild(matchupsitem);}else{matchupsitem.getElementsByTagName("a")[0].href+='&rotnum='+game.AWAYTEAM.ROTATIONNUMBER+'&date='+game.GAMEDATE;}
Util.getElement('score-ncaaf-'+gameID).setAttribute("summary","College Football Pre-Game Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
if(game.GAMETIME){Util.updateValue(Util.getElement('gt-ncaaf-'+gameID),game.GAMETIME);}
var awayteamdisplay='';if(game.AWAYTEAM.RANK){awayteamdisplay+=game.AWAYTEAM.RANK+' ';}
if(game.AWAYTEAM.NAME){awayteamdisplay+=game.AWAYTEAM.NAME;}
if(game.AWAYTEAM.TEAMRECORD){awayteamdisplay+=' ('+game.AWAYTEAM.TEAMRECORD+')';}
Util.updateValue(Util.getElement('at-ncaaf-'+gameID),awayteamdisplay);if(game.AWAYTEAM.ROTATIONNUMBER){Util.updateValue(Util.getElement('arot-ncaaf-'+gameID),game.AWAYTEAM.ROTATIONNUMBER);}
if(game.AWAYTEAM.FAVORITE_TOTALVALUE){var linefavetotal=game.AWAYTEAM.FAVORITE_TOTALVALUE!='XX'&&game.AWAYTEAM.FAVORITE_TOTALVALUE!=''?game.AWAYTEAM.FAVORITE_TOTALVALUE.toFixed(1):game.AWAYTEAM.FAVORITE_TOTALVALUE;Util.updateValue(Util.getElement('afav-ncaaf-'+gameID),linefavetotal);}
var hometeamdisplay='';if(game.HOMETEAM.RANK){hometeamdisplay+=game.HOMETEAM.RANK+' ';}
if(game.HOMETEAM.NAME){hometeamdisplay+=game.HOMETEAM.NAME;}
if(game.HOMETEAM.TEAMRECORD){hometeamdisplay+=' ('+game.HOMETEAM.TEAMRECORD+')';}
Util.updateValue(Util.getElement('ht-ncaaf-'+gameID),hometeamdisplay);if(game.HOMETEAM.ROTATIONNUMBER){Util.updateValue(Util.getElement('hrot-ncaaf-'+gameID),game.HOMETEAM.ROTATIONNUMBER);}
if(game.HOMETEAM.FAVORITE_TOTALVALUE){linefavetotal=game.HOMETEAM.FAVORITE_TOTALVALUE!='XX'&&game.HOMETEAM.FAVORITE_TOTALVALUE!=''?game.HOMETEAM.FAVORITE_TOTALVALUE.toFixed(1):game.HOMETEAM.FAVORITE_TOTALVALUE;Util.updateValue(Util.getElement('hfav-ncaaf-'+gameID),linefavetotal);}
var conference='';if(game.AWAYTEAM.CONFERENCE){conference+='A: '+game.AWAYTEAM.CONFERENCE;}
if(game.HOMETEAM.CONFERENCE){conference+='<br />H: '+game.HOMETEAM.CONFERENCE;}
Util.updateValue(Util.getElement('conf-ncaaf-'+gameID),conference);if(game.TVSTATION){Util.updateValue(Util.getElement('tv-ncaaf-'+gameID),game.TVSTATION);}
if(game.STADIUM){var stadiumlocation=game.STADIUM.NAME+', '+game.STADIUM.LOCATION;Util.updateValue(Util.getElement('stloc-ncaaf-'+gameID),stadiumlocation);}}
else if(game.STATUS=='In-Progress'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-ncaaf-'+gameID);var newSB=GameLoader.ncaaf.templates.INPROGRESS;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-ncaaf-'+gameID).setAttribute("summary","College Football In-Progress Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.ncaaf.buildScoreTable(game);}
else if(game.STATUS=='Final'||game.STATUS=='Postponed'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-ncaaf-'+gameID);var newSB=GameLoader.ncaaf.templates.FINAL;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-ncaaf-'+gameID).setAttribute("summary","College Football "+game.STATUS+" Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.ncaaf.buildScoreTable(game);if(game.STATUS=='Postponed'){Util.getElement('sb-ncaaf-'+gameID).removeChild(Util.getElement('glinks-ncaaf-'+gameID).parentNode);}else{if(game.BOXSCORE){if(Util.getElement('glinks-ncaaf-'+gameID).getElementsByTagName("li").length==1){var boxscorelinkhref="/college-football/boxscores/index.cfm/game/"+game.BOXSCORE.AWAYURL+"-@-"+game.BOXSCORE.HOMEURL+"/game_date/"+game.BOXSCORE.GAMEDATEURL+"/time/"+game.BOXSCORE.GAMETIMEURL;var boxscoreitem=document.createElement("li");var boxscorelink=document.createElement("a");boxscorelink.setAttribute("href",boxscorelinkhref);boxscorelink.setAttribute("title","Box Score");boxscorelink.appendChild(document.createTextNode("Box Score"));boxscoreitem.appendChild(boxscorelink);boxscoreitem.innerHTML+="&nbsp;&middot;&nbsp;";Util.getElement('glinks-ncaaf-'+gameID).insertBefore(boxscoreitem,Util.getElement('glinks-ncaaf-'+gameID).getElementsByTagName("li")[0]);}}}}}catch(e){}},buildScoreTable:function(gameObj){var gameID=gameObj.GAMEID;var totalperiods=gameObj.TOTALPERIODS;Util.updateValue(Util.getElement('status-ncaaf-'+gameID),gameObj.SEGMENTSTATUS);var rowheader=Util.getElement('qh1-ncaaf-'+gameID);var rhitems=rowheader.getElementsByTagName("th");if(totalperiods>4){Util.updateValue(rhitems[6],"OT");}
if(totalperiods>5){Util.updateValue(rhitems[6],(totalperiods-4)+"xOT");}
var awayrow=Util.getElement('as1-ncaaf-'+gameID);var awayitems=awayrow.getElementsByTagName("td");for(var it=0;it<awayitems.length;it++){Util.updateValue(awayitems[it],"");}
var awayteamdisplay='';if(gameObj.AWAYTEAM.RANK){awayteamdisplay+=gameObj.AWAYTEAM.RANK+' ';}
if(gameObj.AWAYTEAM.NAME){awayteamdisplay+=gameObj.AWAYTEAM.NAME;}
Util.updateValue(awayitems[0],awayteamdisplay);if(gameObj.AWAYTEAM.WINNER){Util.addClass(awayitems[0],"winner");}
if(gameObj.TEAMPOSESSION=="away"){Util.addClass(awayitems[1],"possession");}else{Util.removeClass(awayitems[1],"possession");}
for(var i=0;i<gameObj.AWAYTEAM.LINESCORE.length;i++){var cell=i+2;if(i<4){Util.updateValue(awayitems[cell],gameObj.AWAYTEAM.LINESCORE[i]);}else{var totalotscore=0;for(var j=4;j<gameObj.AWAYTEAM.LINESCORE.length;j++){totalotscore+=gameObj.AWAYTEAM.LINESCORE[j];}
Util.updateValue(awayitems[cell],totalotscore);break;}}
var homerow=Util.getElement('hs1-ncaaf-'+gameID);var homeitems=homerow.getElementsByTagName("td");for(var it=0;it<homeitems.length;it++){Util.updateValue(homeitems[it],"");}
var hometeamdisplay='';if(gameObj.HOMETEAM.RANK){hometeamdisplay+=gameObj.HOMETEAM.RANK+' ';}
if(gameObj.HOMETEAM.NAME){hometeamdisplay+=gameObj.HOMETEAM.NAME;}
Util.updateValue(homeitems[0],hometeamdisplay);if(gameObj.HOMETEAM.WINNER){Util.addClass(homeitems[0],"winner");}
if(gameObj.TEAMPOSESSION=="home"){Util.addClass(homeitems[1],"possession");}else{Util.removeClass(homeitems[1],"possession");}
for(var i=0;i<gameObj.HOMETEAM.LINESCORE.length;i++){var cell=i+2;if(i<4){Util.updateValue(homeitems[cell],gameObj.HOMETEAM.LINESCORE[i]);}else{var totalotscore=0;for(var j=4;j<gameObj.HOMETEAM.LINESCORE.length;j++){totalotscore+=gameObj.HOMETEAM.LINESCORE[j];}
Util.updateValue(homeitems[cell],totalotscore);break;}}
if(gameObj.STATUS=='In-Progress'){Util.updateValue(awayitems[7],gameObj.AWAYTEAM.TST[0]);Util.updateValue(awayitems[8],gameObj.AWAYTEAM.TST[1]);Util.updateValue(homeitems[7],gameObj.HOMETEAM.TST[0]);Util.updateValue(homeitems[8],gameObj.HOMETEAM.TST[1]);Util.updateValue(Util.getElement('down-ncaaf-'+gameID),gameObj.DOWN);Util.updateValue(Util.getElement('dist-ncaaf-'+gameID),gameObj.DISTANCE);Util.updateValue(Util.getElement('yard-ncaaf-'+gameID),gameObj.YARDSTOGO);}else{Util.updateValue(awayitems[7],gameObj.AWAYTEAM.TST);Util.updateValue(homeitems[7],gameObj.HOMETEAM.TST);}}},wnba:{templates:new Object(),load:function(game,key,templates){if(templates)
GameLoader.wnba.templates=templates;try{var gameID=game.GAMEID;if(game.STATUS=='Pre-Game'||game.STATUS=='Pg'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-wnba-'+gameID);var newSB=GameLoader.wnba.templates.PREGAME;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;var matchupsitem=Util.getElement('glinks-wnba-'+gameID).getElementsByTagName("li")[0];if(game.AWAYTEAM.ROTATIONNUMBER==''){Util.getElement('glinks-wnba-'+gameID).removeChild(matchupsitem);}else{matchupsitem.getElementsByTagName("a")[0].href+='&rotnum='+game.AWAYTEAM.ROTATIONNUMBER+'&date='+game.GAMEDATE;}
Util.getElement('score-wnba-'+gameID).setAttribute("summary","WNBA Pre-Game Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
Util.updateValue(Util.getElement('gt-wnba-'+gameID),game.GAMETIME);Util.updateValue(Util.getElement('at-wnba-'+gameID),game.AWAYTEAM.NAME+' ('+game.AWAYTEAM.TEAMRECORD+')');Util.updateValue(Util.getElement('arot-wnba-'+gameID),game.AWAYTEAM.ROTATIONNUMBER);Util.updateValue(Util.getElement('ltom-wnba-'+gameID),game.AWAYTEAM.TOTAL_OVERMONEY);var linetotalvalue=game.AWAYTEAM.TOTALVALUE!='XX'&&game.AWAYTEAM.TOTALVALUE!=''?game.AWAYTEAM.TOTALVALUE.toFixed(1):game.AWAYTEAM.TOTALVALUE;Util.updateValue(Util.getElement('ltv-wnba-'+gameID),linetotalvalue);Util.updateValue(Util.getElement('ht-wnba-'+gameID),game.HOMETEAM.NAME+' ('+game.HOMETEAM.TEAMRECORD+')');Util.updateValue(Util.getElement('hrot-wnba-'+gameID),game.HOMETEAM.ROTATIONNUMBER);Util.updateValue(Util.getElement('ltum-wnba-'+gameID),game.HOMETEAM.TOTAL_UNDERMONEY);Util.updateValue(Util.getElement('tv-wnba-'+gameID),game.TVSTATION);var stadiumlocation=game.STADIUM.NAME+'<br />'+game.STADIUM.LOCATION;Util.updateValue(Util.getElement('stloc-wnba-'+gameID),stadiumlocation);}
else if(game.STATUS=='In-Progress'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-wnba-'+gameID);var newSB=GameLoader.wnba.templates.INPROGRESS;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-wnba-'+gameID).setAttribute("summary","WNBA In-Progress Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.wnba.buildScoreTable(game);Util.updateValue(Util.getElement('tv-wnba-'+gameID),game.TVSTATION);var stadiumlocation=game.STADIUM.NAME+'<br />'+game.STADIUM.LOCATION;Util.updateValue(Util.getElement('stloc-wnba-'+gameID),stadiumlocation);}
else if(game.STATUS=='Final'||game.STATUS=='Postponed'){if(SBFactory.games[key].gstatus!=game.STATUS){var match=Util.getElement('match-wnba-'+gameID);var newSB=GameLoader.wnba.templates.FINAL;newSB=newSB.replace(/{gameid}/g,gameID);match.innerHTML=newSB;Util.getElement('score-wnba-'+gameID).setAttribute("summary","WNBA "+game.STATUS+" Scoreboard for "+game.AWAYTEAM.NAME+" @ "+game.HOMETEAM.NAME);}
GameLoader.wnba.buildScoreTable(game);if(game.STATUS=='Postponed'){Util.getElement('sb-wnba-'+gameID).removeChild(Util.getElement('glinks-wnba-'+gameID).parentNode);}else{if(game.BOXSCORE){if(Util.getElement('glinks-wnba-'+gameID).getElementsByTagName("li").length==1){var boxscorelinkhref="/wnba/boxscores/index.cfm/game/"+game.BOXSCORE.AWAYURL+"-@-"+game.BOXSCORE.HOMEURL+"/game_date/"+game.BOXSCORE.GAMEDATEURL+"/time/"+game.BOXSCORE.GAMETIMEURL;var boxscoreitem=document.createElement("li");var boxscorelink=document.createElement("a");boxscorelink.setAttribute("href",boxscorelinkhref);boxscorelink.setAttribute("title","Box Score");boxscorelink.appendChild(document.createTextNode("Box Score"));boxscoreitem.appendChild(boxscorelink);boxscoreitem.innerHTML+="&nbsp;&middot;&nbsp;";Util.getElement('glinks-wnba-'+gameID).insertBefore(boxscoreitem,Util.getElement('glinks-wnba-'+gameID).getElementsByTagName("li")[0]);}}}}}catch(e){}},buildScoreTable:function(gameObj){var gameID=gameObj.GAMEID;var totalperiods=gameObj.TOTALPERIODS;Util.updateValue(Util.getElement('status-wnba-'+gameID),gameObj.SEGMENTSTATUS);var rowheader=Util.getElement('qh1-wnba-'+gameID);var rhitems=rowheader.getElementsByTagName("th");Util.updateValue(rhitems[1],"1");Util.updateValue(rhitems[2],"2");Util.updateValue(rhitems[3],"3");Util.updateValue(rhitems[4],"4");if(totalperiods>4){Util.updateValue(rhitems[5],"OT");}
if(totalperiods>5){Util.updateValue(rhitems[5],(totalperiods-4)+"xOT");}
Util.updateValue(rhitems[6],"Total");var awayrow=Util.getElement('as1-wnba-'+gameID);var awayitems=awayrow.getElementsByTagName("td");for(var it=0;it<awayitems.length;it++){Util.updateValue(awayitems[it],"");}
Util.updateValue(awayitems[0],gameObj.AWAYTEAM.NAME);if(gameObj.AWAYTEAM.WINNER){Util.addClass(awayitems[0],"winner");}
for(var i=0;i<gameObj.AWAYTEAM.LINESCORE.length;i++){var cell=i+1;if(i<4){Util.updateValue(awayitems[cell],gameObj.AWAYTEAM.LINESCORE[i]);}else{var totalotscore=0;for(var j=4;j<gameObj.AWAYTEAM.LINESCORE.length;j++){totalotscore+=gameObj.AWAYTEAM.LINESCORE[j];}
Util.updateValue(awayitems[cell],totalotscore);break;}}
var homerow=Util.getElement('hs1-wnba-'+gameID);var homeitems=homerow.getElementsByTagName("td");for(var it=0;it<homeitems.length;it++){Util.updateValue(homeitems[it],"");}
Util.updateValue(homeitems[0],gameObj.HOMETEAM.NAME);if(gameObj.HOMETEAM.WINNER){Util.addClass(homeitems[0],"winner");}
for(var i=0;i<gameObj.HOMETEAM.LINESCORE.length;i++){var cell=i+1;if(i<4){Util.updateValue(homeitems[cell],gameObj.HOMETEAM.LINESCORE[i]);}else{var totalotscore=0;for(var j=4;j<gameObj.HOMETEAM.LINESCORE.length;j++){totalotscore+=gameObj.HOMETEAM.LINESCORE[j];}
Util.updateValue(homeitems[cell],totalotscore);break;}}
Util.updateValue(awayitems[6],gameObj.AWAYTEAM.TAS);Util.updateValue(homeitems[6],gameObj.HOMETEAM.THS);}}}