' + thisMonth + ' ' + thisDay + ' ' + thisWeekday + ' ' + thisTime + ' • ' + hostArena + ' • ' + hostLocation + '
' if (thisBuyLink != "NULL") htmlHeaderJSON += ''; $("#headerGD").html(htmlHeaderJSON); updateStatsXML(); } /* setupGameDetailStats() * Called from gameDetailFeedCallback */ function setupGameDetailStats() { var htmlHeaderGD = '', htmlScoreGSW = '', htmlScoreOpp = '', htmlScoreByQuarter = '', htmlScoreByQuarterRow1 = '', htmlScoreByQuarterRow2 = '', htmlScoreByQuarterRow3 = '', htmlGameLeaders = '', htmlBoxScore = '', htmlAdvancedStats = '', gameLine, numPeriods, visitorLine, visitingTeamScore, visitingTeamAbbrev, visitingTeamLine, visitingTeamCity, visitingTeamName, visitingTeamNameCSS, visitingPlayers, homeLine, homeTeamScore, homeTeamAbbrev, homeTeamLine, homeTeamCity, homeTeamName, homeTeamNameCSS, homePlayers, playLine, timeRemaining, currentQuarter, i; gameLine = gameDetailFeedXML.getElementsByTagName("gd"); gameStatus = (gameLine[0]).getAttribute("st"); numPeriods = parseInt((gameLine[0]).getAttribute("p")); visitorLine = gameDetailFeedXML.getElementsByTagName("v"); visitingTeamScore = (visitorLine[0]).getAttribute("s"); visitingTeamAbbrev = (visitorLine[0]).getAttribute("a"); homeLine = gameDetailFeedXML.getElementsByTagName("h"); homeTeamScore = (homeLine[0]).getAttribute("s"); homeTeamAbbrev = (homeLine[0]).getAttribute("a"); // Determine home and away teams if ((visitorLine[0]).getAttribute("a") == "GSW") { htmlScoreGSW = '' + visitingTeamScore + ''; htmlScoreOpp = '' + homeTeamScore + ''; visitingTeamCity = "Golden State"; visitingTeamName = "Warriors"; homeTeamCity = oppCity; homeTeamName = oppTeam; // CSS for header row of team, special exception for Trail Blazers since they are the only two word team visitingTeamNameCSS = visitingTeamName; homeTeamNameCSS = homeTeamName; if (homeTeamNameCSS == "Trail Blazers") homeTeamNameCSS = "Blazers"; } else { htmlScoreGSW = '' + homeTeamScore + ''; htmlScoreOpp = '' + visitingTeamScore + ''; visitingTeamCity = oppCity; visitingTeamName = oppTeam; homeTeamCity = "Golden State"; homeTeamName = "Warriors"; // CSS for header row of team, special exception for Trail Blazers since they are the only two word team homeTeamNameCSS = homeTeamName; visitingTeamNameCSS = visitingTeamName; if (visitingTeamNameCSS == "Trail Blazers") visitingTeamNameCSS = "Blazers"; } $("#oppLogoProbableStarters").attr('src', 'http://i.cdn.turner.com/nba/nba/.element/img/2.0/sect/gameline/teams/' + oppAbbrev + '.gif'); htmlHeaderGD = '
' + htmlScoreGSW + '
' + htmlScoreOpp + '
'; if (gameStatus != nbaStartTime) { if (firstLoad) { currentTabNav = $(btnTabToLoadUrl); $(currentTabNav).addClass("activeBtn"); loadTabGameday(tabToLoadUrl); firstLoad = 0; } if (gameStatus == "FINAL") { // Setup quarter by quarter score for (i=0; i
 
'; htmlScoreByQuarterRow2 += '
' + visitingTeamAbbrev + '
'; htmlScoreByQuarterRow3 += '
' + homeTeamAbbrev + '
'; } else if (i Q' + i + '
'; htmlScoreByQuarterRow2 += '
' + (visitorLine[0]).getAttribute("q" + i) + '
'; htmlScoreByQuarterRow3 += '
' + (homeLine[0]).getAttribute("q" + i) + '
'; } else { htmlScoreByQuarterRow1 += '
OT' + (i-4) + '
'; htmlScoreByQuarterRow2 += '
' + (visitorLine[0]).getAttribute("ot" + (i-4)) + '
'; htmlScoreByQuarterRow3 += '
' + (homeLine[0]).getAttribute("ot" + (i-4)) + '
'; } } htmlScoreByQuarterRow1 += '
Final
'; htmlScoreByQuarterRow2 += '
' + visitingTeamScore + '
'; htmlScoreByQuarterRow3 += '
' + homeTeamScore + '
'; htmlScoreByQuarter = htmlScoreByQuarterRow1 + htmlScoreByQuarterRow2 + htmlScoreByQuarterRow3; htmlHeaderGD += '
' + htmlScoreByQuarter + '
'; } else { playLine = gameDetailFeedXML.getElementsByTagName("pla"); timeRemaining = (playLine[0]).getAttribute("cl"); currentQuarter = (gameLine[0]).getAttribute("st"); htmlHeaderGD += '
' + currentQuarter + '
' + timeRemaining + '
'; setTimeout(function(){updateStatsXML()}, 10000); } // Setup Box Score, start with visiting team htmlBoxScore += ''; visitingTeamLine = visitorLine[0].getElementsByTagName("t"); visitingPlayers = visitorLine[0].getElementsByTagName("pl"); htmlBoxScore += setupTeamBoxScore(visitingTeamLine, visitingPlayers, visitingTeamScore); // Home team htmlBoxScore += '
' + visitingTeamCity + ' ' + visitingTeamName + '
field goalsrebounds
  pos min fgm-a 3pm-a ftm-a off def tot ast pf st to bs pts
'; homeTeamLine = homeLine[0].getElementsByTagName("t"); homePlayers = homeLine[0].getElementsByTagName("pl"); htmlBoxScore += setupTeamBoxScore(homeTeamLine, homePlayers, homeTeamScore); $("#boxScoreTable").html(htmlBoxScore); // Setup Advanced Stats var visitingTeamFGA, visitingTeamFGM, visitingTeamFGP = "N/A", homeTeamFGA, homeTeamFGM, homeTeamFGP = "N/A", visitingTeamTPA, visitingTeamTPM, visitingTeamTPP = "N/A", homeTeamTPA, homeTeamTPM, homeTeamTPP = "N/A", visitingTeamFTA, visitingTeamFTM, visitingTeamFTP = "N/A", homeTeamFTA, homeTeamFTM, homeTeamFTP = "N/A", htmlTeamLeaders; visitingTeamFGA = (visitingTeamLine[0]).getAttribute("fga"); visitingTeamFGM = (visitingTeamLine[0]).getAttribute("fgm"); if (visitingTeamFGA != "0") // Don't want to divide by 0 visitingTeamFGP = ((visitingTeamFGM / visitingTeamFGA) * 100).toFixed(1); homeTeamFGA = (homeTeamLine[0]).getAttribute("fga"); homeTeamFGM = (homeTeamLine[0]).getAttribute("fgm"); if (homeTeamFGA != "0") homeTeamFGP = ((homeTeamFGM / homeTeamFGA) * 100).toFixed(1); visitingTeamTPA = (visitingTeamLine[0]).getAttribute("tpa"); visitingTeamTPM = (visitingTeamLine[0]).getAttribute("tpm"); if (visitingTeamTPA != "0") visitingTeamTPP = ((visitingTeamTPM / visitingTeamTPA) * 100).toFixed(1); homeTeamTPA = (homeTeamLine[0]).getAttribute("tpa"); homeTeamTPM = (homeTeamLine[0]).getAttribute("tpm"); if (homeTeamTPA != "0") homeTeamTPP = ((homeTeamTPM / homeTeamTPA) * 100).toFixed(1); visitingTeamFTA = (visitingTeamLine[0]).getAttribute("fta"); visitingTeamFTM = (visitingTeamLine[0]).getAttribute("ftm"); if (visitingTeamFTA != "0") visitingTeamFTP = ((visitingTeamFTM / visitingTeamFTA) * 100).toFixed(1); homeTeamFTA = (homeTeamLine[0]).getAttribute("fta"); homeTeamFTM = (homeTeamLine[0]).getAttribute("ftm"); if (homeTeamFTA != "0") homeTeamFTP = ((homeTeamFTM / homeTeamFTA) * 100).toFixed(1); htmlTeamLeaders = setupTeamLeaders(visitingPlayers, homePlayers); htmlAdvancedStats += '
' + homeTeamCity + ' ' + homeTeamName + '
field goalsrebounds
  pos min fgm-a 3pm-a ftm-a off def tot ast pf st to bs pts
' + visitingTeamAbbrev + '
' + homeTeamAbbrev + '
     
    • ' + visitingTeamFGP + '%

    • ' + homeTeamFGP + '%

  • '; htmlAdvancedStats += '
    • ' + visitingTeamTPP + '%

    • ' + homeTeamTPP + '%

    • ' + visitingTeamFTP + '%

    • ' + homeTeamFTP + '%

  • FG %
  • 3FG%
  • FT %
'; htmlAdvancedStats += '
'; htmlAdvancedStats += '
' + visitingTeamAbbrev + ' ' + homeTeamAbbrev + '
Total Rebounds ' + (visitingTeamLine[0]).getAttribute("reb") + ' ' + (homeTeamLine[0]).getAttribute("reb") + '
Turnovers ' + (visitingTeamLine[0]).getAttribute("tu") + ' ' + (homeTeamLine[0]).getAttribute("tu") + '
Fast Break Pts ' + (visitingTeamLine[0]).getAttribute("fbpts") + ' ' + (homeTeamLine[0]).getAttribute("fbpts") + '
Biggest Lead ' + (visitingTeamLine[0]).getAttribute("ble") + ' ' + (homeTeamLine[0]).getAttribute("ble") + '
Points in the Paint ' + (visitingTeamLine[0]).getAttribute("pip") + ' ' + (homeTeamLine[0]).getAttribute("pip") + '
Bench Points ' + (visitingTeamLine[0]).getAttribute("bpts") + ' ' + (homeTeamLine[0]).getAttribute("bpts") + '
'; htmlAdvancedStats += '
' + htmlTeamLeaders + '
' + visitingTeamAbbrev + ' ' + homeTeamAbbrev + '
'; $("#advancedStatsHolder").remove(); $("#tabHighlights").append(htmlAdvancedStats); } else { currentTabNav = $("#btnTabPreview"); $(currentTabNav).addClass("activeBtn"); loadTabGameday("#tabPreview"); $("#btnTabHighlights").removeClass("btnHoverBG"); $("#btnTabHighlights").addClass("navBtnGrey"); $("#btnTabBoxScore").removeClass("btnHoverBG"); $("#btnTabBoxScore").addClass("navBtnGrey"); $("#btnTabInterviews").removeClass("btnHoverBG"); $("#btnTabInterviews").addClass("navBtnGrey"); $("#btnTabPhotos").removeClass("btnHoverBG"); $("#btnTabPhotos").addClass("navBtnGrey"); $("#btnTabPhotos").attr('href', '#_'); $("#btnTabPhotos").attr('target', '_self'); $("#headerBuyNowBtn").css('display', 'block'); } $("#headerGDScores").html(htmlHeaderGD); // Not calling the team score XML because team records are incorrect in them right now (as of 11/1/12) //IFrameXDR.init("http://data.nba.com/data/tvc/xhr.html").request("GET", "http://data.nba.com/data/5s/xml/mobile_teams/2012/teams/warriors_scores.xml", null, null, teamScoresFeedCallback); // Call after so the calls don't slow each other down, not sure if this actually helps } /* updateStatsXML() * called to initally load in stats * called repeatedly if the game is ongoing to continually update the stats */ function updateStatsXML() { IFrameXDR.init("http://data.nba.com/data/tvc/xhr.html").request("GET", gameDetailFeedUrl, null, null, gameDetailFeedCallback); } /* setupTeamBoxScore(thisTeamLine, thisPlayers, thisTeamScore) * thisTeamLine is the score line of team totals * thisPlayers is an array of the players on either the visiting or home team * thisTeamScore is exactly what its name suggests * Returns the html for the player rows of the box score table */ function setupTeamBoxScore(thisTeamLine, thisPlayers, thisTeamScore) { var htmlThisTeam = "", i, thisPlayerLength = thisPlayers.length; for (i=0; i '; else htmlThisTeam += ''; // Starters (first 5 players) names in bold if (i '; else htmlThisTeam += ''; htmlThisTeam += (thisPlayers[i]).getAttribute("fi") + '. ' + (thisPlayers[i]).getAttribute("ln") + ' ' + (thisPlayers[i]).getAttribute("pos") + ' ' + (thisPlayers[i]).getAttribute("min") + ' ' + (thisPlayers[i]).getAttribute("fgm") + '-' + (thisPlayers[i]).getAttribute("fga") + ' ' + (thisPlayers[i]).getAttribute("tpm") + '-' + (thisPlayers[i]).getAttribute("tpa") + ' ' + (thisPlayers[i]).getAttribute("ftm") + '-' + (thisPlayers[i]).getAttribute("fta") + ' ' + (thisPlayers[i]).getAttribute("oreb") + ' ' + (thisPlayers[i]).getAttribute("dreb") + ' ' + (thisPlayers[i]).getAttribute("reb") + ' ' + (thisPlayers[i]).getAttribute("ast") + ' ' + (thisPlayers[i]).getAttribute("f") + ' ' + (thisPlayers[i]).getAttribute("stl") + ' ' + (thisPlayers[i]).getAttribute("tu") + ' ' + (thisPlayers[i]).getAttribute("blk") + ' ' + (thisPlayers[i]).getAttribute("pts") + ' '; } htmlThisTeam += ' Totals     ' + (thisTeamLine[0]).getAttribute("fgm") + '-' + (thisTeamLine[0]).getAttribute("fga") + ' ' + (thisTeamLine[0]).getAttribute("tpm") + '-' + (thisTeamLine[0]).getAttribute("tpa") + ' ' + (thisTeamLine[0]).getAttribute("ftm") + '-' + (thisTeamLine[0]).getAttribute("fta") + ' ' + (thisTeamLine[0]).getAttribute("oreb") + ' ' + (thisTeamLine[0]).getAttribute("dreb") + ' ' + (thisTeamLine[0]).getAttribute("reb") + ' ' + (thisTeamLine[0]).getAttribute("ast") + ' ' + (thisTeamLine[0]).getAttribute("f") + ' ' + (thisTeamLine[0]).getAttribute("stl") + ' ' + (thisTeamLine[0]).getAttribute("tu") + ' ' + (thisTeamLine[0]).getAttribute("blk") + ' ' + thisTeamScore + ' '; return htmlThisTeam; } function setupTeamLeaders(visitingPlayers, homePlayers) { var i, htmlTeamLeaders = '', visitingPlayersLength = visitingPlayers.length, homePlayersLength = homePlayers.length, visitingTeamLeaderPts, visitingTeamLeaderPtsTied = 1, visitingTeamLeaderPtsNum = 0, visitingTeamLeaderRbs, visitingTeamLeaderRbsTied = 1, visitingTeamLeaderRbsNum = 0, visitingTeamLeaderAst, visitingTeamLeaderAstTied = 1, visitingTeamLeaderAstNum = 0, visitingTeamLeaderStl, visitingTeamLeaderStlTied = 1, visitingTeamLeaderStlNum = 0, visitingTeamLeaderBlk, visitingTeamLeaderBlkTied = 1, visitingTeamLeaderBlkNum = 0, homeTeamLeaderPts, homeTeamLeaderPtsTied = 1, homeTeamLeaderPtsNum = 0, homeTeamLeaderRbs, homeTeamLeaderRbsTied = 1, homeTeamLeaderRbsNum = 0, homeTeamLeaderAst, homeTeamLeaderAstTied = 1, homeTeamLeaderAstNum = 0, homeTeamLeaderStl, homeTeamLeaderStlTied = 1, homeTeamLeaderStlNum = 0, homeTeamLeaderBlk, homeTeamLeaderBlkTied = 1, homeTeamLeaderBlkNum = 0, currentPlayerName, currentPlayerPts, currentPlayerRbs, currentPlayerAst, currentPlayerStl, currentPlayerBlk; for (i=0; i visitingTeamLeaderPtsNum) { visitingTeamLeaderPtsTied = 1; visitingTeamLeaderPts = currentPlayerName; visitingTeamLeaderPtsNum = currentPlayerPts; } else if (currentPlayerPts == visitingTeamLeaderPtsNum) { visitingTeamLeaderPtsTied++; visitingTeamLeaderPts = visitingTeamLeaderPtsTied + ' players'; } if (currentPlayerRbs > visitingTeamLeaderRbsNum) { visitingTeamLeaderRbsTied = 1; visitingTeamLeaderRbs = currentPlayerName; visitingTeamLeaderRbsNum = currentPlayerRbs; } else if (currentPlayerRbs == visitingTeamLeaderRbsNum) { visitingTeamLeaderRbsTied++; visitingTeamLeaderRbs = visitingTeamLeaderRbsTied + ' players'; } if (currentPlayerAst > visitingTeamLeaderAstNum) { visitingTeamLeaderAstTied = 1; visitingTeamLeaderAst = currentPlayerName; visitingTeamLeaderAstNum = currentPlayerAst; } else if (currentPlayerAst == visitingTeamLeaderAstNum) { visitingTeamLeaderAstTied++; visitingTeamLeaderAst = visitingTeamLeaderAstTied + ' players'; } if (currentPlayerStl > visitingTeamLeaderStlNum) { visitingTeamLeaderStlTied = 1; visitingTeamLeaderStl = currentPlayerName; visitingTeamLeaderStlNum = currentPlayerStl; } else if (currentPlayerStl == visitingTeamLeaderStlNum) { visitingTeamLeaderStlTied++; visitingTeamLeaderStl = visitingTeamLeaderStlTied + ' players'; } if (currentPlayerBlk > visitingTeamLeaderBlkNum) { visitingTeamLeaderBlkTied = 1; visitingTeamLeaderBlk = currentPlayerName; visitingTeamLeaderBlkNum = currentPlayerBlk; } else if (currentPlayerBlk == visitingTeamLeaderBlkNum) { visitingTeamLeaderBlkTied++; visitingTeamLeaderBlk = visitingTeamLeaderBlkTied + ' players'; } } for (i=0; i homeTeamLeaderPtsNum) { homeTeamLeaderPtsTied = 1; homeTeamLeaderPts = currentPlayerName; homeTeamLeaderPtsNum = currentPlayerPts; } else if (currentPlayerPts == homeTeamLeaderPtsNum) { homeTeamLeaderPtsTied++; homeTeamLeaderPts = homeTeamLeaderPtsTied + ' players'; } if (currentPlayerRbs > homeTeamLeaderRbsNum) { homeTeamLeaderRbsTied = 1; homeTeamLeaderRbs = currentPlayerName; homeTeamLeaderRbsNum = currentPlayerRbs; } else if (currentPlayerRbs == homeTeamLeaderRbsNum) { homeTeamLeaderRbsTied++; homeTeamLeaderRbs = homeTeamLeaderRbsTied + ' players'; } if (currentPlayerAst > homeTeamLeaderAstNum) { homeTeamLeaderAstTied = 1; homeTeamLeaderAst = currentPlayerName; homeTeamLeaderAstNum = currentPlayerAst; } else if (currentPlayerAst == homeTeamLeaderAstNum) { homeTeamLeaderAstTied++; homeTeamLeaderAst = homeTeamLeaderAstTied + ' players'; } if (currentPlayerStl > homeTeamLeaderStlNum) { homeTeamLeaderStlTied = 1; homeTeamLeaderStl = currentPlayerName; homeTeamLeaderStlNum = currentPlayerStl; } else if (currentPlayerStl == homeTeamLeaderStlNum) { homeTeamLeaderStlTied++; homeTeamLeaderStl = homeTeamLeaderStlTied + ' players'; } if (currentPlayerBlk > homeTeamLeaderBlkNum) { homeTeamLeaderBlkTied = 1; homeTeamLeaderBlk = currentPlayerName; homeTeamLeaderBlkNum = currentPlayerBlk; } else if (currentPlayerBlk == homeTeamLeaderBlkNum) { homeTeamLeaderBlkTied++; homeTeamLeaderBlk = homeTeamLeaderBlkTied + ' players'; } } // if any of the values are 0, then blank them out in the table if (!visitingTeamLeaderPtsNum) {visitingTeamLeaderPts = ''; visitingTeamLeaderPtsNum = ''; } if (!visitingTeamLeaderRbsNum) {visitingTeamLeaderRbs = ''; visitingTeamLeaderRbsNum = ''; } if (!visitingTeamLeaderAstNum) {visitingTeamLeaderAst = ''; visitingTeamLeaderAstNum = ''; } if (!visitingTeamLeaderStlNum) {visitingTeamLeaderStl = ''; visitingTeamLeaderStlNum = ''; } if (!visitingTeamLeaderBlkNum) {visitingTeamLeaderBlk = ''; visitingTeamLeaderBlkNum = ''; } if (!homeTeamLeaderPtsNum) {homeTeamLeaderPts = ''; homeTeamLeaderPtsNum = ''; } if (!homeTeamLeaderRbsNum) {homeTeamLeaderRbs = ''; homeTeamLeaderRbsNum = ''; } if (!homeTeamLeaderAstNum) {homeTeamLeaderAst = ''; homeTeamLeaderAstNum = ''; } if (!homeTeamLeaderStlNum) {homeTeamLeaderStl = ''; homeTeamLeaderStlNum = ''; } if (!homeTeamLeaderBlkNum) {homeTeamLeaderBlk = ''; homeTeamLeaderBlkNum = ''; } htmlTeamLeaders += ' points ' + visitingTeamLeaderPts + '   ' + visitingTeamLeaderPtsNum + ' ' + homeTeamLeaderPts + '   ' + homeTeamLeaderPtsNum + ' rebounds ' + visitingTeamLeaderRbs + '   ' + visitingTeamLeaderRbsNum + ' ' + homeTeamLeaderRbs + '   ' + homeTeamLeaderRbsNum + ' assists ' + visitingTeamLeaderAst + '   ' + visitingTeamLeaderAstNum + ' ' + homeTeamLeaderAst + '   ' + homeTeamLeaderAstNum + ' steals ' + visitingTeamLeaderStl + '   ' + visitingTeamLeaderStlNum + ' ' + homeTeamLeaderStl + '   ' + homeTeamLeaderStlNum + ' blocks ' + visitingTeamLeaderBlk + '   ' + visitingTeamLeaderBlkNum + ''; htmlTeamLeaders += '' + homeTeamLeaderBlk + '   ' + homeTeamLeaderBlkNum + ' '; return htmlTeamLeaders; } /* setupTeamScoreStats() * Called from teamScoreFeedCallback * NOT CALLING AS OF 11/1/12 BECAUSE TEAM RECORDS ARE INCORRECT IN THE XML */ /*function setupTeamScoreStats() { var i, allGames = []; allGames = gameDetailFeedXML.getElementsByTagName("g"); gameStatus = (gameLine[0]).getAttribute("st"); numPeriods = parseInt((gameLine[0]).getAttribute("p")); for (i=0; i
« Playoff Central
(GSW Leads Series 3-2)
The Warriors came back but it was too little, too late as they fell to the Nuggets 107-100 in Game 5 on Tuesday in Denver, bringing the series to 3-2. The Warriors put together a surge late, outscoring the Nuggets by 10 in the fourth quarter, but what was a 22-point deficit was too large to overcome. Harrison Barnes led the way for the Dubs with 23 points, including five three-pointers. Jarrett Jack, Klay Thompson and Stephen Curry all registered in double-digits with 20, 19 and 15 points, respectively. The series now returns to Oracle Arena for Game 6 on Thursday, where the Warriors will have a chance to close the series out in front of their home crowd. Game 5 Reaction Blog
CHANCE TO CLOSE OUT
The Warriors have their first two-game lead in a playoff series since eliminating the Dallas Mavericks in the first round of 2007, thanks to a couple brilliant performances in Sunday’s 115-101 victory over the Nuggets in Game 4. Stephen Curry put on a show of historic proportions, scoring 22 points in the third quarter, including 19 in the final 4:22 on 8-of-8 shooting. Andrew Bogut played his best game in a Warriors uniform, igniting the crowd in the first quarter with a posterizing dunk that will go down forever in Warriors playoff lore. Now it’s back to Denver for Game 5 on Tuesday, where the Nuggets will give everything they have in order to stave off elimination. Tipoff is scheduled for 5:00 p.m., and the game will be broadcast on CSN Bay Area, TNT and KNBR 1050. For full details and in-depth coverage, make sure to check out Warriors Playoff Central.
SUPER STEPH
It seems like every time Stephen Curry does something worth writing about, he goes and tops it before your fingers have even hit the keys. After a couple great performances in games 2 and 3, Curry had already attracted plenty of attention across the league. But after what he did on Sunday night, there isn’t a person in the Association who hasn’t taken notice. After the Nuggets had dwindled the Warriors 12-point halftime lead down to four about halfway through the third quarter, Curry absolutely took over. The 23 points he scored in a 6:22 span ushered memories of Sleepy Floyd’s 29-point fourth quarter back in 1987, and no basket was bigger than the 29-footer he hit from what seemed like the second row of Oracle. This was Stephen Curry showing the league why leaving him off the Western Conference All-Star team was some kind of sick joke, and to the Warriors benefit, it’s apparent Curry took the slight personally. He’s been the best player in this series, and arguably, of any series this year. With each successive game, it’s as if he reaches a new height. There’s no telling what he has in store for us for Game 5, but at this point, we shouldn’t be surprised by anything he does. He’s that good.
THE REAL BOGUT
As good as Curry was in the third quarter, it might not have meant nearly as much if Andrew Bogut hadn’t stolen the show in the first half. With David Lee out for the remainder of the playoffs and Denver continuing to trap Curry and Jarrett Jack in the half-court, Bogut made an adjustment and moved higher towards the top of the key to make himself available to the Warriors’ ballhandlers. The result was everything the Warriors and their fans had hoped for after acquiring him in a trade last March. Playing with an obvious chip on his shoulder, Bogut was livelier and more aggressive on offense than at any other point in his tenure with the Warriors. He scored 12 points in the first half, and no two were more impactful than the crowd-electrifying slam he threw down over JaVale McGee. As he ran back down the court to play defense, screaming the entire way, you could tell the momentum in the building had shifted. When you combine that athleticism and emotion with the work he did on the boards, as well as some pretty incredible behind-the-back passes, it’s obvious that we haven’t really seen the full Andrew Bogut yet this season. And if you think that’s a scary thought, just imagine how the Nuggets feel.
GREEN RIPENING
Draymond Green has had some big moments in his basketball career, but his performance in Game 4 might just take the cake. Sure, he and Magic Johnson are the only former Michigan State Spartans to post multiple triple-doubles in the NCAA Tournament, but that was a different time under different circumstances. Whereas Green was the go-to-guy on those Michigan State teams, his rookie season in the NBA has been somewhat of a rollercoaster ride. While his defense has translated fairly well to the pro game, it was obvious throughout the year that his shot was significantly further behind. Whether it was a lack of confidence or just a lack of touches, Green never seemed to be able to get into a rhythm offensively. However, he rewrote that script on Sunday after setting a new career-high with 13 points and six rebounds in 23 solid minutes off the bench, including two clutch three-pointers. When you consider that Green had never made more than a single three-pointer in any game in his NBA career, it really becomes clear that he took that Game 1 loss personally. Ever since he allowed Andre Miller to drive by him, Green has been a different kind of player, and the Warriors have benefited as a result.
ROOM FOR IMPROVEMENT
As great as it is for the Warriors to be up 3-1, there are still some issues that need to be sorted out. For one, although it was improved over Game 3, the Warriors need to do a better job at taking care of the ball. Too often have Denver’s traps forced the Warriors’ ballhandlers, particularly Jarrett Jack, into careless turnovers that result in a fast break the other way. They could also do a better job at timing possessions, such as managing the clock to assure a 2-for-1 situation at the end of a quarter, as well as improve their defense on inbound plays. In general, the Warriors need to place a greater emphasis on valuing every single possession, as although they’ve seemed to manage just fine so far, there is always room and need for improvement. With their backs against the wall, you can bet Denver will be charged up and ready to go when the game tips off on Tuesday night. It’s never easy to put a team away for good in the playoffs, and if the Warriors want to bring a close to this series as quickly as possible, they’ll need to play a sound game across the board, which means eliminating any mistakes that could give the Nuggets life.
Injury Report
GSW: David Lee (torn hip flexor) and Brandon Rush (torn ACL and MCL, left knee) are out.

DEN: Danilo Gallinari (left ACL tear) is out. Timofey Mozgov (left thumb fracture) is day-to-day.