Braiden Ward #7 OF/INF Washington

gp 52
avg .321
hr 1
rbi 26
r 41
sb 26
Recent Games
May 13 New Mexico St. W, 10-7
May 17 vs. UCLA L, 8-3
May 18 vs. UCLA L, 4-0
May 19 vs. UCLA L, 14-2
May 23 vs. California L, 18-8
May 24 vs. California L, 4-3
Statistics category Overall Conf
Games 52 37th 29 6th
Plate appearances 233 41st 132 25th
At Bats 193 41st 112 28th
Runs 41 25th 21 27th
Hits 62 27th 33 28th
Doubles 11 32nd 4 59th
Triples 5 5th 1 17th
Home Runs 1 88th 1 66th
Runs Batted In 26 55th 15 41st
Total bases 86 39th 42 46th
Walks 25 41st 11 47th
Hit by pitch 7 17th 3 16th
Strikeouts 41 36th 27 24th
Sacrifice Flies 3 26th 3 6th
Sacrifice Hits 5 16th 3 13th
Hit into double play 3 53rd 2 26th
Stolen Bases 26 1st 9 3rd
Caught Stealing 5 4th 2 7th
Batting Average .321 22nd .295 37th
On Base Percentage .412 24th .364 48th
Slugging Percentage .446 41st .375 59th
Appearances 0 157th 0 142nd
Games started 0 90th 0 60th
Wins 0 106th 0 66th
Losses 0 95th 0 70th
Saves 0 45th 0 33rd
Complete Games - - - -
Shutouts - - - -
Innings Pitched 0.0 356th 0.0 355th
Hits - - - -
Runs - - - -
Earned Runs - - - -
Walks - - - -
Strikeouts - - - -
Strikeouts per Game .00 - .00 -
Doubles Allowed - - - -
Triples Allowed - - - -
Home Runs Allows - - - -
At Bats Against - - - -
Batting Average Against - - - -
Earned Run Average 0.00 - 0.00 -
Wild pitches - - - -
Hit Batters - - - -
Balks - - - -
Sacrifice Flies Allowed - - - -
Sacrifice Hits Allowed - - - -
Total Chances 125 66th 73 62nd
Put Outs 112 40th 66 37th
Assists 11 86th 7 79th
Errors 2 81st 0 129th
Fielding Percentage .984 49th 1.000 1st
Double Plays 2 68th 1 71st
Stolen Bases Allowed - - - -
Runners Caught Stealing - - - -
Runners Caught Stealing Percentage - - - -
Passed Balls - - - -
Catcher's Interference - - - -
Date Opponent Score ab r h 2b 3b hr rbi bb k sb cs
Feb 16 at UC Irvine W, 9-5 4 2 1 - 1 - 0 - 2 - -
Feb 16 at UC Irvine L, 2-1 3 0 0 - - - 0 - 1 - -
Feb 17 at UC Irvine L, 6-4 1 0 0 - - - 0 - - - -
Feb 20 vs. Northern Colo. W, 25-8 6 5 4 1 1 - 2 - - 3 -
Feb 22 vs. Northern Colo.   - - - - - - - - - - -
Feb 23 vs. Northern Colo. W, 3-2 3 1 1 - - - 0 1 - 2 1
Feb 23 vs. Northern Colo. W, 11-1 3 2 2 2 - - 1 1 - - -
Mar 1 Cal Poly W, 9-3 4 1 1 1 - - 1 1 1 - -
Mar 2 Cal Poly W, 11-7 4 3 2 - - - 0 1 - 3 -
Mar 3 Cal Poly W, 5-0 3 0 2 - 1 - 1 1 1 3 -
Mar 5 at Seattle U W, 6-3 5 0 0 - - - 0 - 1 - -
Mar 8 vs. Indiana L, 1-0 3 0 0 - - - 0 - 1 - -
Mar 9 vs. Coastal Caro. L, 5-2 4 0 1 - - - 1 - - - -
Mar 10 vs. Minnesota W, 7-5 5 1 2 - - - 0 - 1 1 -
Mar 15 vs. Oregon W, 9-3 6 0 1 - - - 2 - 3 - -
Mar 16 vs. Oregon W, 19-3 4 3 2 - - - 0 1 2 1 1
Mar 17 vs. Oregon L, 1-0 4 0 3 - - - 0 1 - 1 -
Mar 22 vs. USC W, 7-1 4 0 0 - - - 0 1 2 - -
Mar 23 vs. USC W, 4-3 3 1 0 - - - 1 1 - 1 -
Mar 24 vs. USC W, 3-2 4 2 2 - - - 0 1 - 2 -
Mar 26 vs. Gonzaga L, 5-4 5 0 0 - - - 0 - 2 - -
Mar 29 vs. Oregon State L, 1-0 3 0 0 - - - 0 - 3 - -
Mar 30 vs. Oregon State L, 10-7 3 1 0 - - - 0 1 2 - -
Mar 31 vs. Oregon State L, 4-3 4 1 1 - - - 0 1 1 - -
Apr 5 vs. Arizona L, 9-3 4 1 1 - - - 0 - 1 - -
Apr 6 vs. Arizona L, 14-2 3 0 0 - - - 0 - - - -
Apr 7 vs. Arizona L, 7-4 1 0 0 - - - 0 - 1 - -
Apr 8 California Baptist W, 3-2 2 1 2 - - - 0 2 - 1 1
Apr 12 vs. Stanford L, 8-2 4 0 0 - - - 0 - - - -
Apr 13 vs. Stanford L, 3-2 3 0 0 - - - 0 - 1 - -
Apr 14 vs. Stanford L, 6-1 4 0 1 - - - 0 - 3 - -
Apr 15 at Santa Clara W, 11-1 4 1 2 - - - 2 2 - - -
Apr 18 vs. Brigham Young W, 1-0 0 0 0 - - - 0 - - - -
Apr 19 vs. Brigham Young L, 7-3 3 1 2 - - - 0 1 1 - -
Apr 20 vs. Brigham Young L, 4-0 4 0 1 - - - 0 - - - -
Apr 23 vs. Portland W, 8-3 3 0 1 1 - - 1 2 1 - -
Apr 26 vs. Arizona State W, 10-6 4 2 2 2 - - 1 1 - - -
Apr 27 vs. Arizona State W, 10-9 4 1 1 - - - 1 - - - -
Apr 28 vs. Arizona State L, 11-6 4 1 1 - - - 1 - - - -
Apr 30 Seattle U W, 6-1 2 0 0 - - - 0 2 - 2 -
May 3 vs. Washington State W, 7-2 5 1 2 - - - 0 - - - -
May 4 vs. Washington State W, 10-2 6 2 5 1 - - 3 - - - -
May 5 vs. Washington State L, 13-2 4 1 1 - - 1 1 - - - -
May 8 vs. Portland W, 10-8 5 1 3 - 1 - 0 - 1 1 1
May 10 vs. Utah W, 12-5 4 0 1 - - - 2 1 3 - -
May 11 vs. Utah W, 5-4 2 0 0 - - - 1 1 - - 1
May 12 vs. Utah W, 4-2 4 1 1 1 - - 1 1 - 2 -
May 13 New Mexico St. W, 10-7 5 1 2 2 - - 2 - 1 1 -
May 17 vs. UCLA L, 8-3 4 1 1 - - - 0 - 3 - -
May 18 vs. UCLA L, 4-0 4 0 0 - - - 0 - 2 - -
May 19 vs. UCLA L, 14-2 4 0 2 - - - 0 - - - -
May 23 vs. California L, 18-8 5 1 2 - - - 1 - - 1 -
May 24 vs. California L, 4-3 4 1 3 - 1 - 0 - - 1 -
May 25 vs. California   - - - - - - - - - - -
Date Opponent Score hbp sf sh tb xbh hdp go fo go/fo pa
Feb 16 at UC Irvine W, 9-5 1 - - 3 1 - 1 - - 5
Feb 16 at UC Irvine L, 2-1 - - 1 0 0 - 3 - - 4
Feb 17 at UC Irvine L, 6-4 - - - 0 0 - - 1 - 1
Feb 20 vs. Northern Colo. W, 25-8 1 - - 7 2 - - 2 - 7
Feb 22 vs. Northern Colo.   - - - - - - - - - -
Feb 23 vs. Northern Colo. W, 3-2 - - - 1 0 - - 2 - 4
Feb 23 vs. Northern Colo. W, 11-1 - - - 4 2 - 1 - - 4
Mar 1 Cal Poly W, 9-3 - - - 2 1 - 2 - - 5
Mar 2 Cal Poly W, 11-7 - - - 2 0 - 1 1 1.00 5
Mar 3 Cal Poly W, 5-0 1 - - 4 1 - - - - 5
Mar 5 at Seattle U W, 6-3 - - - 0 0 - 3 1 3.00 5
Mar 8 vs. Indiana L, 1-0 1 - - 0 0 - 1 1 1.00 4
Mar 9 vs. Coastal Caro. L, 5-2 - - - 1 0 - 2 1 2.00 4
Mar 10 vs. Minnesota W, 7-5 - - - 2 0 - 2 - - 5
Mar 15 vs. Oregon W, 9-3 - - - 1 0 - 1 1 1.00 6
Mar 16 vs. Oregon W, 19-3 - - 1 2 0 - - - - 6
Mar 17 vs. Oregon L, 1-0 - - - 3 0 - - 1 - 5
Mar 22 vs. USC W, 7-1 - - - 0 0 1 2 - - 5
Mar 23 vs. USC W, 4-3 - 1 1 0 0 - 2 1 2.00 6
Mar 24 vs. USC W, 3-2 - - - 2 0 - 2 - - 5
Mar 26 vs. Gonzaga L, 5-4 - - - 0 0 - 2 1 2.00 5
Mar 29 vs. Oregon State L, 1-0 - - - 0 0 - - - - 3
Mar 30 vs. Oregon State L, 10-7 - - - 0 0 - - - - 4
Mar 31 vs. Oregon State L, 4-3 - - - 1 0 - 1 1 1.00 5
Apr 5 vs. Arizona L, 9-3 - - - 1 0 - 1 1 1.00 4
Apr 6 vs. Arizona L, 14-2 - - - 0 0 - 2 1 2.00 3
Apr 7 vs. Arizona L, 7-4 - - - 0 0 - - - - 1
Apr 8 California Baptist W, 3-2 - - - 2 0 - - - - 4
Apr 12 vs. Stanford L, 8-2 1 - - 0 0 - 1 3 0.33 5
Apr 13 vs. Stanford L, 3-2 - - - 0 0 - - 2 - 3
Apr 14 vs. Stanford L, 6-1 - - - 1 0 - - - - 4
Apr 15 at Santa Clara W, 11-1 - - - 2 0 - 1 1 1.00 6
Apr 18 vs. Brigham Young W, 1-0 - - - 0 0 - - - - 0
Apr 19 vs. Brigham Young L, 7-3 - - - 2 0 - - - - 4
Apr 20 vs. Brigham Young L, 4-0 - - - 1 0 1 1 2 0.50 4
Apr 23 vs. Portland W, 8-3 - - 1 2 1 - 2 - - 6
Apr 26 vs. Arizona State W, 10-6 - - - 4 2 - 2 - - 5
Apr 27 vs. Arizona State W, 10-9 2 - 1 1 0 - 3 1 3.00 7
Apr 28 vs. Arizona State L, 11-6 - 1 - 1 0 1 3 1 3.00 5
Apr 30 Seattle U W, 6-1 - - - 0 0 - 1 1 1.00 4
May 3 vs. Washington State W, 7-2 - - - 2 0 - 1 2 0.50 5
May 4 vs. Washington State W, 10-2 - - - 6 1 - 1 - - 6
May 5 vs. Washington State L, 13-2 - - - 4 1 - 2 1 2.00 4
May 8 vs. Portland W, 10-8 - - - 5 1 - - 1 - 5
May 10 vs. Utah W, 12-5 - - - 1 0 - - - - 5
May 11 vs. Utah W, 5-4 - 1 - 0 0 - - 3 - 4
May 12 vs. Utah W, 4-2 - - - 2 1 - 3 - - 5
May 13 New Mexico St. W, 10-7 - - - 4 2 - 1 - - 5
May 17 vs. UCLA L, 8-3 - - - 1 0 - - - - 4
May 18 vs. UCLA L, 4-0 - - - 0 0 - 2 - - 4
May 19 vs. UCLA L, 14-2 - - - 2 0 - 1 1 1.00 4
May 23 vs. California L, 18-8 - - - 2 0 - 2 1 2.00 5
May 24 vs. California L, 4-3 - - - 5 1 - - 1 - 4
May 25 vs. California   - - - - - - - - - -
Date Opponent Score gs w l sv ip h r er era bb k hr
Feb 16 at UC Irvine W, 9-5 0 0 0 0 0.0 - - - 0.00 - - -
Feb 16 at UC Irvine L, 2-1 0 0 0 0 0.0 - - - 0.00 - - -
Feb 17 at UC Irvine L, 6-4 0 0 0 0 0.0 - - - 0.00 - - -
Feb 20 vs. Northern Colo. W, 25-8 0 0 0 0 0.0 - - - 0.00 - - -
Feb 22 vs. Northern Colo.   - - - - - - - - - - - -
Feb 23 vs. Northern Colo. W, 3-2 0 0 0 0 0.0 - - - 0.00 - - -
Feb 23 vs. Northern Colo. W, 11-1 0 0 0 0 0.0 - - - 0.00 - - -
Mar 1 Cal Poly W, 9-3 0 0 0 0 0.0 - - - 0.00 - - -
Mar 2 Cal Poly W, 11-7 0 0 0 0 0.0 - - - 0.00 - - -
Mar 3 Cal Poly W, 5-0 0 0 0 0 0.0 - - - 0.00 - - -
Mar 5 at Seattle U W, 6-3 0 0 0 0 0.0 - - - 0.00 - - -
Mar 8 vs. Indiana L, 1-0 0 0 0 0 0.0 - - - 0.00 - - -
Mar 9 vs. Coastal Caro. L, 5-2 0 0 0 0 0.0 - - - 0.00 - - -
Mar 10 vs. Minnesota W, 7-5 0 0 0 0 0.0 - - - 0.00 - - -
Mar 15 vs. Oregon W, 9-3 0 0 0 0 0.0 - - - 0.00 - - -
Mar 16 vs. Oregon W, 19-3 0 0 0 0 0.0 - - - 0.00 - - -
Mar 17 vs. Oregon L, 1-0 0 0 0 0 0.0 - - - 0.00 - - -
Mar 22 vs. USC W, 7-1 0 0 0 0 0.0 - - - 0.00 - - -
Mar 23 vs. USC W, 4-3 0 0 0 0 0.0 - - - 0.00 - - -
Mar 24 vs. USC W, 3-2 0 0 0 0 0.0 - - - 0.00 - - -
Mar 26 vs. Gonzaga L, 5-4 0 0 0 0 0.0 - - - 0.00 - - -
Mar 29 vs. Oregon State L, 1-0 0 0 0 0 0.0 - - - 0.00 - - -
Mar 30 vs. Oregon State L, 10-7 0 0 0 0 0.0 - - - 0.00 - - -
Mar 31 vs. Oregon State L, 4-3 0 0 0 0 0.0 - - - 0.00 - - -
Apr 5 vs. Arizona L, 9-3 0 0 0 0 0.0 - - - 0.00 - - -
Apr 6 vs. Arizona L, 14-2 0 0 0 0 0.0 - - - 0.00 - - -
Apr 7 vs. Arizona L, 7-4 0 0 0 0 0.0 - - - 0.00 - - -
Apr 8 California Baptist W, 3-2 0 0 0 0 0.0 - - - 0.00 - - -
Apr 12 vs. Stanford L, 8-2 0 0 0 0 0.0 - - - 0.00 - - -
Apr 13 vs. Stanford L, 3-2 0 0 0 0 0.0 - - - 0.00 - - -
Apr 14 vs. Stanford L, 6-1 0 0 0 0 0.0 - - - 0.00 - - -
Apr 15 at Santa Clara W, 11-1 0 0 0 0 0.0 - - - 0.00 - - -
Apr 18 vs. Brigham Young W, 1-0 0 0 0 0 0.0 - - - 0.00 - - -
Apr 19 vs. Brigham Young L, 7-3 0 0 0 0 0.0 - - - 0.00 - - -
Apr 20 vs. Brigham Young L, 4-0 0 0 0 0 0.0 - - - 0.00 - - -
Apr 23 vs. Portland W, 8-3 0 0 0 0 0.0 - - - 0.00 - - -
Apr 26 vs. Arizona State W, 10-6 0 0 0 0 0.0 - - - 0.00 - - -
Apr 27 vs. Arizona State W, 10-9 0 0 0 0 0.0 - - - 0.00 - - -
Apr 28 vs. Arizona State L, 11-6 0 0 0 0 0.0 - - - 0.00 - - -
Apr 30 Seattle U W, 6-1 0 0 0 0 0.0 - - - 0.00 - - -
May 3 vs. Washington State W, 7-2 0 0 0 0 0.0 - - - 0.00 - - -
May 4 vs. Washington State W, 10-2 0 0 0 0 0.0 - - - 0.00 - - -
May 5 vs. Washington State L, 13-2 0 0 0 0 0.0 - - - 0.00 - - -
May 8 vs. Portland W, 10-8 0 0 0 0 0.0 - - - 0.00 - - -
May 10 vs. Utah W, 12-5 0 0 0 0 0.0 - - - 0.00 - - -
May 11 vs. Utah W, 5-4 0 0 0 0 0.0 - - - 0.00 - - -
May 12 vs. Utah W, 4-2 0 0 0 0 0.0 - - - 0.00 - - -
May 13 New Mexico St. W, 10-7 0 0 0 0 0.0 - - - 0.00 - - -
May 17 vs. UCLA L, 8-3 0 0 0 0 0.0 - - - 0.00 - - -
May 18 vs. UCLA L, 4-0 0 0 0 0 0.0 - - - 0.00 - - -
May 19 vs. UCLA L, 14-2 0 0 0 0 0.0 - - - 0.00 - - -
May 23 vs. California L, 18-8 0 0 0 0 0.0 - - - 0.00 - - -
May 24 vs. California L, 4-3 0 0 0 0 0.0 - - - 0.00 - - -
May 25 vs. California   - - - - - - - - - - - -
Date Opponent Score tc po a e fpct dp sba rcs rcs% pb ci
Feb 16 at UC Irvine W, 9-5 2 2 0 0 1.000 - - - - - -
Feb 16 at UC Irvine L, 2-1 4 3 0 1 .750 - - - - - -
Feb 17 at UC Irvine L, 6-4 1 1 0 0 1.000 - - - - - -
Feb 20 vs. Northern Colo. W, 25-8 5 5 0 0 1.000 - - - - - -
Feb 22 vs. Northern Colo.   - - - - - - - - - - -
Feb 23 vs. Northern Colo. W, 3-2 1 1 0 0 1.000 - - - - - -
Feb 23 vs. Northern Colo. W, 11-1 0 0 0 0 - - - - - - -
Mar 1 Cal Poly W, 9-3 1 1 0 0 1.000 - - - - - -
Mar 2 Cal Poly W, 11-7 0 0 0 0 - - - - - - -
Mar 3 Cal Poly W, 5-0 0 0 0 0 - - - - - - -
Mar 5 at Seattle U W, 6-3 1 1 0 0 1.000 - - - - - -
Mar 8 vs. Indiana L, 1-0 1 1 0 0 1.000 - - - - - -
Mar 9 vs. Coastal Caro. L, 5-2 2 2 0 0 1.000 - - - - - -
Mar 10 vs. Minnesota W, 7-5 2 2 0 0 1.000 - - - - - -
Mar 15 vs. Oregon W, 9-3 2 2 0 0 1.000 - - - - - -
Mar 16 vs. Oregon W, 19-3 4 4 0 0 1.000 - - - - - -
Mar 17 vs. Oregon L, 1-0 1 1 0 0 1.000 - - - - - -
Mar 22 vs. USC W, 7-1 3 3 0 0 1.000 - - - - - -
Mar 23 vs. USC W, 4-3 1 1 0 0 1.000 - - - - - -
Mar 24 vs. USC W, 3-2 4 4 0 0 1.000 - - - - - -
Mar 26 vs. Gonzaga L, 5-4 4 4 0 0 1.000 - - - - - -
Mar 29 vs. Oregon State L, 1-0 2 1 1 0 1.000 - - - - - -
Mar 30 vs. Oregon State L, 10-7 1 1 0 0 1.000 - - - - - -
Mar 31 vs. Oregon State L, 4-3 3 3 0 0 1.000 - - - - - -
Apr 5 vs. Arizona L, 9-3 2 2 0 0 1.000 - - - - - -
Apr 6 vs. Arizona L, 14-2 2 2 0 0 1.000 - - - - - -
Apr 7 vs. Arizona L, 7-4 2 2 0 0 1.000 - - - - - -
Apr 8 California Baptist W, 3-2 3 3 0 0 1.000 - - - - - -
Apr 12 vs. Stanford L, 8-2 5 5 0 0 1.000 - - - - - -
Apr 13 vs. Stanford L, 3-2 4 2 2 0 1.000 - - - - - -
Apr 14 vs. Stanford L, 6-1 2 2 0 0 1.000 - - - - - -
Apr 15 at Santa Clara W, 11-1 4 4 0 0 1.000 - - - - - -
Apr 18 vs. Brigham Young W, 1-0 0 0 0 0 - - - - - - -
Apr 19 vs. Brigham Young L, 7-3 2 2 0 0 1.000 - - - - - -
Apr 20 vs. Brigham Young L, 4-0 6 3 2 1 .833 - - - - - -
Apr 23 vs. Portland W, 8-3 3 2 1 0 1.000 1 - - - - -
Apr 26 vs. Arizona State W, 10-6 3 3 0 0 1.000 - - - - - -
Apr 27 vs. Arizona State W, 10-9 2 2 0 0 1.000 - - - - - -
Apr 28 vs. Arizona State L, 11-6 1 1 0 0 1.000 - - - - - -
Apr 30 Seattle U W, 6-1 1 1 0 0 1.000 - - - - - -
May 3 vs. Washington State W, 7-2 1 1 0 0 1.000 - - - - - -
May 4 vs. Washington State W, 10-2 2 2 0 0 1.000 - - - - - -
May 5 vs. Washington State L, 13-2 1 1 0 0 1.000 - - - - - -
May 8 vs. Portland W, 10-8 4 3 1 0 1.000 - - - - - -
May 10 vs. Utah W, 12-5 3 3 0 0 1.000 - - - - - -
May 11 vs. Utah W, 5-4 2 2 0 0 1.000 - - - - - -
May 12 vs. Utah W, 4-2 2 1 1 0 1.000 - - - - - -
May 13 New Mexico St. W, 10-7 5 5 0 0 1.000 - - - - - -
May 17 vs. UCLA L, 8-3 5 5 0 0 1.000 - - - - - -
May 18 vs. UCLA L, 4-0 3 2 1 0 1.000 - - - - - -
May 19 vs. UCLA L, 14-2 5 3 2 0 1.000 1 - - - - -
May 23 vs. California L, 18-8 2 2 0 0 1.000 - - - - - -
May 24 vs. California L, 4-3 3 3 0 0 1.000 - - - - - -
May 25 vs. California   - - - - - - - - - - -
There was a problem with a Velocity script
Pagebio-network-template
ErrorVM #printCategories: too many arguments to macro. Wanted 2 got 3 at bio-network-template[line 539, column 11]
Page source:
1: ## PICK UP OPTIONS
2: $website.include("options")
3: #set ($options = $request.getAttribute("options"))
4: #set ($locale = "en_us")
5: #set ($locale = $options.get("locale"))
6: 
7: #set ($showconf = true)
8: #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide"))
9:   #set ($showconf = false)
10: #end
11: 
12: #set ($showCareer = $wiki.valid() && $seasons)
13: #if ("yes" == $options.get("stats_show_career") && $seasons)
14:   #set ($showCareer = "yes")
15: #end
16: 
17: #if ($locale == "en_us")
18:   #set ($defLabel = "Defense")
19: #elseif ($locale == "en_gb")
20:   #set ($defLabel = "Defence")
21: #end
22: 
23: #set ($pos = "")
24: #set ($pos = $attributes.get("position"))
25: #set ($posVec = $pos.split("/"))
26: #set ($pos = $posVec[0])
27: #set ($pos = $pos.toLowerCase())
28: 
29: #set ($statPos = $positions.get($pos))
30: #set ($paramPos = $request.getParameter("pos").toLowerCase())
31: 
32: #*
33: $positions
34: $positions.keySet()
35: $positions.entrySet()
36: $statPos
37: $paramPos
38: *#
39: 
40: #set ($highlights = $highlights.get($statPos))
41: 
42: #set ($url = ${page.url})
43: #set ($playerId = $attributes.get("playerId"))
44: #set ($stats = $splits.overall)
45: 
46: #set ($hasEvents = $events.size() > 0)
47: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
48: #set ($htmlStatsURL = "${page.url}-stats")
49: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
50: #set ($bioBriefURL = "${page.url}-brief")
51: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
52: 
53: $request.setAttribute("careerTotals", $career)
54: ## We track a map of the careers to see if we are missing any seasons
55: #set ($careerMap = {})
56: $request.setAttribute("careerMap", $careerMap)
57: #foreach ($season in $seasons)
58:   ## We need to include this season stats
59:   #set ($path = "${season.path}?tmpl=bio-career-template&name=${season.seasonName}&pos=${statPos}&print=no")
60:   $website.includeAgain($path)
61: #end
62: 
63: #set ($view = "profile")
64: #if ($request.getParameter("view"))
65:   #set ($view = $request.getParameter("view"))
66: #end
67: 
68: #macro (printResultAriaLabel $event)
69:     #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
70:     #if ($event.neutralSite.length() > 0 || $event.home) 
71:     	#set ($ariaLabel = "${ariaLabel} vs.")
72:     #else
73:     	#set ($ariaLabel = "${ariaLabel} at")
74:     #end
75:     #set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:")
76:     #if ($event.neutralSite.length() > 0)
77:     	#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
78:     #end
79:     #set ($ariaLabel = "${ariaLabel} Box Score")
80:     aria-label="$ariaLabel"
81: #end
82: 
83: #macro (printHighlights)
84: #if ($highlights)
85:   <div class="highlights highlights-standalone accent-bg">
86:     #foreach ($highlight in $highlights.keySet())
87:       #set ($value = "-")
88:       #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
89:       <div class="stat clearfix">
90:         <span class="stat-title">$!highlights.get($highlight)</span>
91:         <span class="stat-value">$value</span>
92:       </div>
93:     #end
94:   </div>
95: #end ## has highlights
96: #end ## macro printHighlights
97: 
98: #macro (splitBioNetwork $statPosBriefs $label $stats)
99:   <tr>
100:     <td class="pinned-col text">${label}</td>
101:     #foreach ($brief in $statPosBriefs.keySet())
102:       #set ($value = "-")
103:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
104:       <td>#if ($value.length() > 0) $value #else - #end</td>
105:     #end
106:   </tr>
107: #end ## marco split
108: 
109: #macro (printCategories $briefCategoryLabels $v $ariaLabel)
110:   
111: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
112: <div class="tab-nav" data-module="jscroll" data-momentum="false">
113: <div>
114: <ul class="clearfix">
115: #foreach($briefCat in $briefCategoryLabels.entrySet())
116:   #set ($briefCatLabel = $briefCat.value)
117:   #set ($briefCatKey = $briefCat.key)
118:     
119:   #if ($locale == "en_gb" && $briefCatLabel == "Defense")
120:     #set ($briefCatLabel = "Defence")
121:   #end  
122:   
123:   <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}" role="tab" id="stats-tab-${ariaLabel.toLowerCase().replace(" ", "-")}-${briefCatLabel.toLowerCase()}" aria-label="${ariaLabel}: ${briefCatLabel}">$briefCatLabel</a></li>
124: #end
125: </ul>
126: </div>
127: </div>
128: <div class="tab-panels">
129: #foreach ($briefCat in $briefCategoryLabels.entrySet())
130:   #set ($briefCatLabel = $briefCat.value)
131:   #set ($class = "tab-panel clearfix")
132:   #if ($briefCat.key == $activePos)
133:     #set ($class = "tab-panel active clearfix")
134:   #end
135:   <div class="$class" role="tabpanel" aria-labelledby="stats-tab-${ariaLabel.toLowerCase().replace(" ", "-")}-${briefCatLabel.toLowerCase()}">
136:     <div class="stats-wrap clearfix">
137:     #if ($v == "splits")
138:       #splitsBioNetworkData($briefCat.key)
139:     #elseif ($v == "career")
140:       #careerData($briefCat.key)
141:     #end
142:     </div>
143:   </div>
144: #end  
145: </div>
146: </div> ## tab-container
147: 
148: #end ## macro printCategories
149: 
150: #macro (splitsBioNetworkData $p)
151: 
152: #set ($p = $positions.get($p))
153: #set ($statPosBriefs = $briefs.get($p))
154: #set ($colspan = $statPosBriefs.size())  
155:   
156: <div class="stats-box full clearfix">
157: <div class="scrollable">
158: <div>
159: <table>
160:   <tr class="accent-bg">
161:     <th class="pinned-col">&nbsp;</th>
162:     #foreach ($brief in $statPosBriefs)
163:       <th>$brief</th>
164:     #end
165:   </tr>
166: 
167: #splitBioNetwork($statPosBriefs, "Total", $splits.overall)
168: #if ($showconf)
169:   #splitBioNetwork($statPosBriefs, "Conference", $splits.conference)
170: #end
171: #splitBioNetwork($statPosBriefs, "Exhibition", $splits.exhibition)
172: 
173: <tr class="empty-row">
174: 	<td class="pinned-col">&nbsp;</td>
175: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
176: </tr>
177: 
178: #splitBioNetwork($statPosBriefs, "Home", $splits.home)
179: #splitBioNetwork($statPosBriefs, "Away", $splits.away)
180: #splitBioNetwork($statPosBriefs, "Neutral", $splits.neutral)
181: 
182: <tr class="empty-row">
183: 	<td class="pinned-col">&nbsp;</td>
184: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
185: </tr>
186: 
187: #foreach($gameResult in $gamesResults.entrySet())
188:   #if ($gameResult.key == "wins")
189:     #set ($splitGameResult = $splits.inWins)
190:   #elseif ($gameResult.key == "losses")
191:     #set ($splitGameResult = $splits.inLosses)
192:   #elseif ($gameResult.key == "ties")
193:     #set ($splitGameResult = $splits.inTies)
194:   #end
195:   
196:   #splitBioNetwork($statPosBriefs, $gameResult.value, $splitGameResult)
197: #end
198: 
199: <tr class="empty-row">
200: 	<td class="pinned-col">&nbsp;</td>
201: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
202: </tr>
203: 
204: #if ($monthsPlayed and $monthsPlayed.size() > 0)
205:   #foreach($month in $monthsPlayed)
206:     #if ($month == 'January')
207:       #set ($splitMonth = $splits.january)
208:     #elseif ($month == 'February')
209:       #set ($splitMonth = $splits.february)
210:     #elseif ($month == 'March')
211:       #set($splitMonth = $splits.march)
212:     #elseif ($month == 'April')
213:       #set($splitMonth = $splits.april)
214:     #elseif ($month == 'May')
215:       #set ($splitMonth = $splits.may)
216:     #elseif ($month == 'June')
217:       #set ($splitMonth = $splits.june)
218:     #elseif ($month == 'July')
219:       #set($splitMonth = $splits.july)
220:     #elseif ($month == 'August')
221:       #set ($splitMonth = $splits.august)
222:     #elseif ($month == 'September')
223:       #set($splitMonth = $splits.september)
224:     #elseif ($month == 'October')
225:       #set($splitMonth = $splits.october)
226:     #elseif ($month == 'November')
227:       #set ($splitMonth = $splits.november)
228:     #elseif ($month == 'December')
229:       #set($splitMonth = $splits.december)
230:     #end
231:     
232:     #splitBioNetwork($statPosBriefs, $month, $splitMonth)
233:   #end ## foreach
234: #end
235: </table>
236: </div>
237: </div> ## scrollable
238: </div> ## srollable-table
239: 
240: #end ## macro splitsBioNetworkData
241: 
242: #macro (printRecentGames)
243: <table>
244:     <tr class="thead accent-bg"><th colspan="3" class="text">Recent Games</th></tr>
245: 
246:     #set ($eventEnd = -1)
247:     #foreach ($event in $events)
248:     #if ($event.event.result.resolved)
249:     #set ($eventEnd = $velocityCount)
250:     #end
251:     #end
252: 
253:     #set ($eventStart = $eventEnd - 5)
254:     #if ($eventStart < 0) #set ($eventStart = 0) #end
255: 
256:     #foreach ($event in $events)
257:     #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
258:     <tr>
259:         <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
260:         <td class="text">
261:             #if ($event.event.neutralSite.length() > 0) vs.
262:             #elseif (!$event.event.home) at
263:             #else ## nothing for a home game
264:             #end
265:             $event.event.opponent.name
266:         </td>
267:         <td class="text">
268:             #if ($event.event.statusCode >= 0)
269:             #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
270:                 <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
271:             #else
272:             ${event.event.APResult}
273:             #end
274:             #end
275:         </td>
276:     </tr>
277:     #end ## if
278:     #end
279: </table>
280: #end ## macro printRecentGames
281: 
282: #macro (gamelogData $p)
283: 
284: #set ($p = $positions.get($p))
285: #set ($gamelogs = $gamelogs.get($p))
286: #set ($atLeastOneNotOverall = false)
287: 
288: <div class="stats-box full clearfix">
289:     <div class="scrollable">
290:         <div>
291:             <table>
292:               <tr class="thead accent-bg">
293:                   <th class="text">Date</th>
294:                   <th class="pinned-col text">Opponent</th>
295:                   <th>Score</th>
296: 				  #set ($colspan = 3)
297:                   #if ($p == 'goalie' && ($sport.enumCode == 9 || $sport.enumCode == 3)) ## field hockey: 9   soccer:3
298: 					#set ($colspan = $colspan + 1)
299: 					<th>Dec</th>
300:                   #end
301:                   #foreach ($gamelog in $gamelogs)
302: 					#set ($colspan = $colspan + 1)
303: 					<th>$gamelog</th>
304:                   #end
305:               </tr>
306:               #foreach ($event in $events)
307:               <tr>
308:                   <td class="text">$formatter.formatDate($event.event.date, "MMM d") #if (!$event.event.overall) #set ($atLeastOneNotOverall = true) # #end</</td>
309:                   <td class="pinned-col text">
310:                       #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
311:                       $event.event.opponent.name
312:                   </td>
313:                   <td>
314:                       #if ($event.event.statusCode >= 0)
315:                       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
316:                           <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
317:                       #else
318:                       ${event.event.APResult}
319:                       #end
320:                       #else &nbsp; #end
321:                   </td>
322:                   #if ($p == 'goalie' && ($sport.enumCode == 9 || $sport.enumCode == 3)) ## field hockey: 9   soccer:3
323:                       #if ($event.stats.get('gow') == 1)
324:                           <td>W</td>
325:                       #elseif ($event.stats.get('gol') == 1)
326:                           <td>L</td>
327:                       #elseif ($event.stats.get('got') == 1)
328:                           <td>T</td>
329:                       #else
330:                           <td>-</td>
331:                       #end
332:                   #end
333:                   #foreach ($gamelog in $gamelogs.keySet())
334:                   #set ($value = "-")
335:                   #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
336:                   <td>$value</td>
337:                   #end
338:               </tr>
339:               #end
340:               #if ($atLeastOneNotOverall)
341:                 <tr><td colspan="$colspan"># Stats don't count towards season totals</td></tr>
342:               #end
343:             </table>
344:         </div>
345:     </div> ## scrollable
346: </div> ## stats-box
347: 
348: #end ## macro gamelogData
349: 
350: #macro (careerData $p)
351: #set ($p = $positions.get($p))
352: #set ($statPosBriefs = $briefs.get($p))
353: 
354: <div class="stats-box full clearfix">
355: <div class="scrollable">
356: <div>
357: <table>
358: <tr class="thead accent-bg">
359:   <th class="pinned-col">&nbsp;</th>
360:   #foreach ($brief in $statPosBriefs)
361:     <th>$brief</th>
362:   #end
363: </tr>
364: 
365: #foreach ($season in $seasons)
366:   #if ($careerMap.get($season.seasonName))
367:     #set ($label = "<a href='${season.path}?view=profile'>$season.seasonName</a>")
368:     #splitBioNetwork($statPosBriefs, $label, $careerMap[$season.seasonName])
369:   #elseif ($wiki.valid())
370:     <tr>
371:       <td class="pinned-col text">${season.seasonName}</td>
372:       <td colspan="${briefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
373:     </tr>
374:   #end
375: #end
376: 
377: #splitBioNetwork($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
378: 
379: </table>
380: </div>
381: </div> ## scrollable
382: </div> ## stats-box
383: 
384: #end ## macro careerData
385: 
386: ################################################## END MACROS  #############################################################
387: 
388: <head>
389: <title>
390:     $!attributes.get("first_name") $!attributes.get("last_name") | #if ($attributes.get("number"))#$!attributes.get("number") | #end #if($attributes.get("position_abbr") && !$attributes.get("position_abbr").empty)$!attributes.get("position_abbr") | #elseif ($attributes.get("position"))$!attributes.get("position") | #end  $attributes.get("team")
391: </title>
392: </head>
393: 
394: <div class="bio-wrap bio-wrap-network clearfix" data-module="stats/responsive-container">
395: 
396:     #if ($page.title.length() > 0)
397:     <h1>$page.title</h1>
398:     #end
399: 
400:     <h2 class="player-name">
401:         <span>$!attributes.get("first_name") $!attributes.get("last_name")</span>
402:         #if (!$attributes.get("number").empty)<span>#$!attributes.get("number")</span>#end
403:         #if($attributes.get("position_abbr") && !$attributes.get("position_abbr").empty)
404: 			<span>$!attributes.get("position_abbr")</span>
405: 		#elseif ($attributes.get("position"))
406: 			<span>$!attributes.get("position")</span>
407: 		#end 
408:         <a href="../teams?id=$!{attributes.get("teamId")}" aria-label="Team Stats - ${attributes.get("team")}">$attributes.get("team")</a>
409:     </h2>
410: 	
411:     #printHighlights
412: 
413:     <div class="body clearfix">
414:         <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary">
415:             <div class="tab-nav" data-module="jscroll" data-momentum="false">
416:                 <div>
417:                     <ul class="clearfix">
418:                         <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile" role="tab" id="stats-tab-player-profile">Player Profile</a></li>
419:                         <li #if ($view == "gamelog")class="active"#end><a href="${page.url}?view=gamelog" role="tab" id="stats-tab-game-log">Game Log</a></li>
420:                         #if ($showCareer)
421:                         <li #if ($view == "career")class="active"#end><a href="${page.url}?view=career" role="tab" id="stats-tab-career-stats">Career Stats</a></li>
422:                         #end
423:                         <li #if ($view == "splits")class="active"#end><a href="${page.url}?view=splits" role="tab" id="stats-tab-split-stats">Split Stats</a></li>
424:                     </ul>
425:                 </div>
426:             </div> ## tab-nav
427: 
428:             <div class="tab-panels clearfix">
429: 
430:                 ## PROFILE
431:                 #set ($class = "tab-panel clearfix")
432:                 #if ($view == "profile")
433:                 #set ($class = "tab-panel active clearfix")
434:                 #end
435:                 <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-player-profile">
436: 
437:                     ## Player profile
438:                     <div class="clearfix stats-wrap">
439: 
440:                         ## LAST SIX GAMES
441:                         <div class="stats-box half">
442:                             #printRecentGames()
443:                         </div>
444: 
445:                         ## RANKING
446:                         <div class="stats-box half">
447:                             $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
448:                         </div>
449: 
450:                     </div> ## clearfix
451: 
452:                     #if ($hasSynopsis)
453:                     <div class="clearfix">$!synopsis</div>
454:                     #end
455: 
456:                     #if ($hasBioBrief)
457:                     <div class="clearfix">$website.include($htmlStatsURL)</div>
458:                     #end
459: 
460:                     #if ($htmlStatsURL)
461:                     <div class="clearfix">$website.include($bioBriefURL)</div>
462:                     #end
463: 
464:                 </div>
465:                 ## PROFILE
466: 
467:                 ## GAMELOG
468:                 #set ($class = "tab-panel clearfix")
469:                 #if ($view == "gamelog")
470:                 #set ($class = "tab-panel active clearfix")
471:                 #end
472: 
473:                 #set ($activePos = $statPos)
474:                 #if ($view == "gamelog" && $paramPos.length() > 0)
475:                   #if ($positions.get($paramPos).length() > 0)
476:                     #set ($activePos = $positions.get($paramPos))
477:                   #end
478:                 #end
479: 
480:                 <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-game-log">
481: 
482:                     #if ($gamelogsCategoriesLabels)
483:                     <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
484:                         <div class="tab-nav" data-module="jscroll" data-momentum="false">
485:                             <div>
486:                                 <ul class="clearfix">
487:                                     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
488:                                       #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
489: 
490:                                   #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
491:                       #set($gamelogsCatLabelVal = "Defence")
492:                     #end
493: 
494:                     <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end>
495:                       <a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}" role="tab" id="stats-tab-game-log-${gamelogsCatLabelVal.toLowerCase()}" aria-label="Game Log: ${gamelogsCatLabelVal}">$gamelogsCatLabelVal</a>
496:                     </li>
497:                                     #end
498:                                 </ul>
499:                             </div>
500:                         </div>
501:                         <div class="tab-panels">
502:                 #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
503: 					#set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
504:                 #set ($class = "tab-panel clearfix")
505:                 #if ($gamelogsCatLabel.key == $activePos)
506:                   #set ($class = "tab-panel active clearfix")
507:                 #end
508:                 <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-game-log-${gamelogsCatLabelVal.toLowerCase()}">
509:                   <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
510:                 </div>
511:               #end
512:                         </div>
513:                     </div>
514:                     #else
515:                       <div class="stats-wrap clearfix">#gamelogData($pos)</div>
516:                     #end
517: 
518:                 </div> ## tab-panel
519:                 ## GAMELOG
520: 
521:         ## CAREER
522:         #if ($showCareer)
523: 
524:         #set ($activePos = $statPos)
525:         #if ($view == "career" && $paramPos.length() > 0)
526:           #if ($positions.get($paramPos).length() > 0)
527:           #set ($activePos = $positions.get($paramPos))
528:           #end
529:         #end
530: 
531:         #set ($class = "tab-panel clearfix")
532:         #if ($view == "career")
533:           #set ($class = "tab-panel active clearfix")
534:         #end
535: 
536:         <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-career-stats">
537: 
538:         #if ($briefsCategoriesLabels)
539:           #printCategories($briefsCategoriesLabels "career" "Career Stats")
540:         #else
541:           <div class="stats-wrap clearfix">#careerData($activePos)</div>
542:         #end    
543: 
544:         </div> ## tab-panel
545:         #end ## CAREER
546:         
547:         ## SPLITS
548:         #set ($class = "tab-panel clearfix")
549:         #if ($view == "splits")
550:           #set ($class = "tab-panel active clearfix")
551:         #end
552: 
553:         #set ($activePos = $statPos)
554:         #if ($view == "splits" && $paramPos.length() > 0)
555:           #if ($positions.get($paramPos).length() > 0)
556:           #set ($activePos = $positions.get($paramPos))
557:           #end
558:         #end
559: 
560:         <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-split-stats">
561: 
562:         #if ($briefsCategoriesLabels)
563:           #printCategories($briefsCategoriesLabels "splits" "Splits Stats")
564:         #else
565:           <div class="stats-wrap clearfix">#splitsBioNetworkData($pos)</div>
566:         #end    
567: 
568:         </div> ## tab-panel
569:         ## SPLITS
570:         
571:             </div> ##tab-panels
572: 
573:         </div> ## tab-container
574:     </div> ## body
575: 
576: 
577: </div> ## bio-wrapper
578: $wiki.su