4 - Kylie Huerta
Kylie Huerta
Height: 5-1
Year: Jr.
Hometown: Covington, Wash.
High School: Kentwood HS '11
Position: G
Experience: 2L
gp 29
pts/g 1.4
fg % 26.2
3pt % 23.3
ft % 25.0
reb/g 1.0
a/g 2.4

2013-14 Big Sky All-Academic Team
2012-13 Big Sky All-Academic Team 

2013-14: Started the first 11 games of the season and saw time in 29 outings in her third year in Cheney, averaging 14.0 minutes per game ... Averaged 1.4 points, 1.0 rebounds and 2.4 assists per game, shooting 26.2 percent from the field and 23.3 percent from three-point range ... Ranked third on the team with 71 assists and finished the year with an assist-turnover ratio of 3.2, committing just 22 turnovers ... Tallied 13 steals ... Went for 10 points and six assists against SMU (Nov. 16) ... Notched four points and dished out four assists against nationally-ranked Iowa State (Nov. 29) ... Recorded five points and six assists in the Eagles' win over Northwest (Wash.) on Dec. 17 ... Registered seven assists and no turnovers in 21 minutes versus Boise State (Dec. 20) ... Recorded seven assists in EWU's victory over Weber State (Jan. 2) ... Dished out a season-high eight assists and committed no turnovers in EWU's win over Northern Arizona (Jan. 16) ... Had 14 assists and just four turnovers in her final 13 appearances of the season ... Earned Big Sky All-Academic honors for the second straight year.

2012-13: Played in all 32 games in her sophomore year at Eastern, starting the last 17 games of the season ... Led the Big Sky in assist/turnover ratio with a 2.0 average, a mark that was also good for 29th in the nation ... Ranked second in the league and 77th nationally in assists with an average of 4.5 helpers per game ... Averaged 5.4 assists in Big Sky games, tallying 108 assists in 20 games ... Led EWU in steals with 49 and finished fifth in scoring with an average of 7.3 points per game, notching 233 total points ... Upped her scoring average to 8.9 points per game in league play while hitting more than 40 percent of her shots in Big Sky contests ... Hit double figures in points nine times during the season, tied for fifth-most on the team ... Connected on nearly 80 percent of her free throws (35-44), the second-highest clip on the squad ... Shot .358 (19-53) from beyond the arc and .846 (33-39) from the charity stripe in conference play ... Played 23 minutes against NCAA Final Four participant California (Nov. 23), registering three assists and two steals ... Went for seven points and added six assists and seven rebounds in 25 minutes versus Idaho (Nov. 27) ... Logged 27 minutes in Eastern’s 74-63 win over Boise State (Dec. 7), contributing six points and five assists ... Tallied a career-high 15 points in EWU’s 61-55 victory over Idaho State (Dec. 22), hitting five of her nine field goal attempts in 33 minutes of action ... Scored eight points in the Eagles’ 58-56 defeat of Big Sky foe Montana (Jan. 3) ... Notched 14 points behind .455 shooting (5-11) against Sacramento State (Jan. 12) ... Took over starting duties versus North Dakota (Jan. 17), leading the Eagles to a 75-72 win behind 13 points and four assists ... Committed just one turnover in 30 minutes against UND while hitting five of her seven field goal attempts ... Recorded seven assists and no turnovers in 27 minutes in the Eagles’ 63-38 win over Northern Colorado (Jan. 19) before tallying eight points, six helpers and five steals in EWU’s 68-56 victory over Portland State (Jan. 21), playing all 40 minutes versus the Vikings ... Went for 12 points and added nine assists in Eastern’s win over Southern Utah (Jan. 26), committing just two turnovers in 37 minutes of action ... Registered nine points and a career-high eight rebounds in the Eagles’ 68-59 defeat of Montana State (Jan. 31) ... Shot .462 (6-13) and finished with 14 points, seven assists, five rebounds and four in EWU’s 63-49 victory over Sacramento State (Feb. 7) before tallying 12 points against Northern Arizona (Feb. 9) ... Recorded a career-best seven steals in Eastern’s 78-70 win over Southern Utah (Feb. 16) ... Made six of eight field goals versus Northern Colorado (Feb. 28), finishing with 14 points and six assists ... Tallied eight assists and connected on three treys in Eastern’s 67-58 victory over North Dakota (Mar. 2) ... Played all 45 minutes of EWU’s 67-61 overtime win over Idaho State (Mar. 7), contributing five assists and committing no turnovers ... Notched a career-best 11 assists in the Eagles’ 70-53 victory over Weber State (Mar. 9), adding five points ... Propelled EWU past Montana State in the Big Sky Tournament Quarterfinals behind a 12-point, nine-assist performance ... Added six steals and played the full 40 minutes versus the Bobcats ... Scored 15 points and hit three triples in the Eagles’ heartbreaking double-overtime loss to Washington in the opening round of the WNIT ... Earned Big Sky All-Academic honors.

2011-12: Huerta made an appearance in 29 of Eastern’s 30 games in 2011-12, averaging 7.6 minutes per game ... She recorded 43 points in her rookie season, as well as 30 assists and 13 steals ... One of her best all-around performances came in a 76-61 win over Idaho (Dec. 21), as she finished with a season-high seven points, including her first-career 3-pointer, and had three assists and one steal ... Her best outing in conference play was against Big Sky tournament participant Sacramento State (Jan. 12), as Huerta tallied four points, two assists, two steals and a career-high six rebounds ... In her very first game as an Eagle on Nov. 11 versus Corban, Huerta contributed five points, four assists and two steals

High School: As a four-year letterwinner out of Kentwood High School, Huerta was ranked among the top 110 point guards in the nation according to ESPN Hoopgurlz.com ... She was named the South Puget Sound League North Division Co-Player of the Year in 2010 and 2011, and was recognized on the Associated Press 4A All-State Honorable Mention squad in 2011 ... She was a two-time All-SPSL First-Team selection, and earned honorable mention accolades as a freshman in 2008 ... As a senior, she was among the top five scorers in the conference, averaging 18.4 points per game, while also contributing an average of four assists, four steals and three rebounds per game ... During her junior campaign, Huerta led the SPSL in points per game (18.9) and steals (57), while ranking second in assists (65) and third in three-point field goal percentage (.403) ... She was selected to the 2010 Seattle Times All-Area Girls Basketball team ... She helped Kentwood capture the school’s first-ever Class 4A State Championship in 2009, and led the team to the quarterfinals in 2010 ... Kentwood is the same school that produced Gonzaga legend and current WNBA star Courtney Vandersloot, as well as Nebraska four-year starter Lindsey Moore, who is a 2013 preseason Wade List and Naismith Trophy candidate ... Huerta was the direct successor of these two nationally-acclaimed point guards ... Kentwood is also the alma-mater of EWU men’s basketball great, Rodney Stuckey.

Personal: Daughter of Travis and Mary Huerta ... Undecided on major.


Huerta's Career Statistics

        Total 3-Point F-Throws Rebounds                
YEAR GP-GS MIN AVG FG FGA PCT FG FGA PCT FT FTA PCT OFF DEF TOT AVG PF FO AST TO BLK STL PTS AVG
2011-12 29-0 220 7.6 17 48 .354 3 12 .250 6 9 .667 9 20 29 1.0 10 0 30 28 1 13 43 1.5
2012-13 32-17 934 29.2 85 227 .374 28 92 .304 35 44 .795 23 62 85 2.7 38 0 143 71 2 49 233 7.3
2013-14 29-11 406 14.0 16 61 .262 7 30 .233 1 4 .250 6 24 30 1.0 22 0 71 22 0 13 40 1.4
TOTAL 90-28 1560 17.3 118 336 .351 38 134 .284 42 57 .737 38 106 144 1.6 70 0 244 121 3 75 316 3.5
                                                 

Huerta's Career Highs

Points: 15, 2x, last at Washington (Mar. 22, 2013)                              
Rebounds: 8 at Montana State (Jan. 31, 2013)                              
Assists: 11 vs. Weber State (Mar. 9, 2013)                              
Steals: 7 at Southern Utah (Feb. 16, 2013)                              
Blocks: 2 vs. Warner Pacific (Dec. 29, 2012)                              
FG Made: 6, 3x, last at Washington (Mar. 22, 2013)                              
FG Attempts: 15 vs. Northern Arizona (Feb. 9, 2013)                              
3FG Made: 3, 2x, last at Washington (Mar. 22, 2013)                              
3FG Attempts: 7, 3x, last at Washington (Mar. 22, 2013)                              
FT Made: 4, 3x, last vs. Idaho State (Mar. 7, 2013)                              
FT Attempts: 4, 5x, last vs. Idaho State (Mar. 7, 2013)                              
Recent Games
Feb 24 at Portland St. W, 61-60
Feb 27 Northern Colo. W, 67-61
Mar 1 North Dakota L, 61-57
Mar 6 at Idaho St. L, 86-62
Mar 8 at Weber St. W, 68-60
Mar 13 vs. Idaho St. L, 70-65
Statistics category Overall Conf
Games 29 19
Games started 11 2
Minutes 406 188
Minutes per game 14.0 9.9
FG 16-61 3-21
FG Pct 26.2 14.3
3PT 7-30 2-11
3PT Pct 23.3 18.2
FT 1-4 0-1
FT Pct 25.0 0.0
Off rebounds 6 0
Def rebounds 24 14
Total rebounds 30 14
Rebounds per game 1.0 0.7
Personal fouls 22 16
Disqualifications 0 0
Assists 71 34
Turnovers 22 9
Assist to turnover ratio 3.2 3.8
Steals 13 4
Blocks 0 0
Points 40 8
Points per game 1.4 0.4
Points per 40 min 3.9 1.7
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 1 Master's College W, 87-74 1 32 5-9 55.6 4-7 57.1 3-4 75.0 17
Nov 8 at Portland L, 68-65 1 26 1-4 25.0 1-2 50.0 1-3 33.3 4
Nov 16 SMU L, 75-70 1 35 4-9 44.4 2-6 33.3 0-0 - 10
Nov 20 at Gonzaga L, 78-58 1 25 0-6 0.0 0-2 0.0 0-0 - 0
Nov 29 vs. Iowa St. L, 88-60 1 26 2-6 33.3 0-2 0.0 0-0 - 4
Nov 30 vs. Butler L, 74-51 1 21 1-3 33.3 0-1 0.0 0-0 - 2
Dec 6 Cal State Northridge W, 73-53 1 20 2-4 50.0 0-0 - 0-0 - 4
Dec 14 Idaho W, 85-84 1 19 1-3 33.3 1-3 33.3 0-0 - 3
Dec 17 Northwest (Wash) W, 90-48 1 18 2-3 66.7 1-2 50.0 0-0 - 5
Dec 20 Boise St. W, 81-66 1 21 0-2 0.0 0-1 0.0 0-0 - 0
Dec 29 Portland St. L, 86-74 1 21 1-6 16.7 1-4 25.0 0-0 - 3
Jan 2 Weber St. W, 78-67 1 17 0-2 0.0 0-1 0.0 0-0 - 0
Jan 4 Idaho St. W, 67-55 - 10 0-2 0.0 0-1 0.0 0-0 - 0
Jan 9 at Montana L, 81-64 - 11 0-0 - 0-0 - 0-0 - 0
Jan 11 at Montana St. L, 78-74 - 8 0-1 0.0 0-1 0.0 0-0 - 0
Jan 16 Northern Ariz. W, 92-68 - 20 0-2 0.0 0-2 0.0 0-0 - 0
Jan 18 Sacramento St. W, 78-65 - 14 1-3 33.3 0-0 - 0-0 - 2
Jan 25 at Southern Utah L, 62-61 - 10 0-1 0.0 0-1 0.0 0-0 - 0
Jan 30 at North Dakota L, 82-60 - 7 0-0 - 0-0 - 0-0 - 0
Feb 1 at Northern Colo. W, 52-51 - 1 0-0 - 0-0 - 0-0 - 0
Feb 6 Montana St. W, 81-66 - - - - - - - - -
Feb 8 Montana W, 71-61 - 3 0-1 0.0 0-0 - 0-0 - 0
Feb 13 at Sacramento St. W, 79-73 - 15 0-1 0.0 0-0 - 0-1 0.0 0
Feb 15 at Northern Ariz. L, 86-78 - 2 0-0 - 0-0 - 0-0 - 0
Feb 20 Southern Utah W, 59-54 - 7 0-0 - 0-0 - 0-0 - 0
Feb 24 at Portland St. W, 61-60 - 6 0-0 - 0-0 - 0-0 - 0
Feb 27 Northern Colo. W, 67-61 - 5 0-0 - 0-0 - 0-0 - 0
Mar 1 North Dakota L, 61-57 - 9 1-1 100.0 1-1 100.0 0-0 - 3
Mar 6 at Idaho St. L, 86-62 - 11 0-0 - 0-0 - 0-0 - 0
Mar 8 at Weber St. W, 68-60 - 11 0-1 0.0 0-0 - 0-0 - 0
Mar 13 vs. Idaho St. L, 70-65 - 7 0-0 - 0-0 - 0-0 - 0
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 1 Master's College W, 87-74 1 32 0 3 3 11 2 5.5 4 0 1 0
Nov 8 at Portland L, 68-65 1 26 0 3 3 2 0 - 1 0 3 0
Nov 16 SMU L, 75-70 1 35 1 2 3 6 2 3.0 0 0 0 0
Nov 20 at Gonzaga L, 78-58 1 25 0 3 3 3 2 1.5 2 0 0 0
Nov 29 vs. Iowa St. L, 88-60 1 26 0 1 1 4 1 4.0 3 0 1 0
Nov 30 vs. Butler L, 74-51 1 21 0 0 0 4 3 1.3 0 0 1 0
Dec 6 Cal State Northridge W, 73-53 1 20 0 0 0 1 2 0.5 1 0 0 0
Dec 14 Idaho W, 85-84 1 19 1 0 1 4 2 2.0 1 0 0 0
Dec 17 Northwest (Wash) W, 90-48 1 18 1 1 2 6 1 6.0 0 0 0 0
Dec 20 Boise St. W, 81-66 1 21 3 0 3 7 0 - 1 0 1 0
Dec 29 Portland St. L, 86-74 1 21 0 2 2 2 1 2.0 0 0 2 0
Jan 2 Weber St. W, 78-67 1 17 0 1 1 7 0 - 0 0 0 0
Jan 4 Idaho St. W, 67-55 - 10 0 1 1 0 1 0.0 0 0 0 0
Jan 9 at Montana L, 81-64 - 11 0 1 1 0 1 0.0 2 0 1 0
Jan 11 at Montana St. L, 78-74 - 8 0 0 0 2 0 - 0 0 2 0
Jan 16 Northern Ariz. W, 92-68 - 20 0 3 3 8 0 - 1 0 2 0
Jan 18 Sacramento St. W, 78-65 - 14 0 1 1 1 2 0.5 1 0 1 0
Jan 25 at Southern Utah L, 62-61 - 10 0 0 0 2 1 2.0 0 0 1 0
Jan 30 at North Dakota L, 82-60 - 7 0 0 0 1 0 - 0 0 0 -
Feb 1 at Northern Colo. W, 52-51 - 1 0 0 0 0 1 0.0 0 0 0 -
Feb 6 Montana St. W, 81-66 - - - - - - - - - - - -
Feb 8 Montana W, 71-61 - 3 0 0 0 1 0 - 0 0 0 -
Feb 13 at Sacramento St. W, 79-73 - 15 0 0 0 3 1 3.0 0 0 2 -
Feb 15 at Northern Ariz. L, 86-78 - 2 0 0 0 0 0 - 0 0 0 -
Feb 20 Southern Utah W, 59-54 - 7 0 1 1 1 0 - 0 0 0 -
Feb 24 at Portland St. W, 61-60 - 6 0 2 2 2 0 - 0 0 3 -
Feb 27 Northern Colo. W, 67-61 - 5 0 0 0 1 0 - 0 0 0 -
Mar 1 North Dakota L, 61-57 - 9 0 2 2 1 1 1.0 0 0 1 -
Mar 6 at Idaho St. L, 86-62 - 11 0 0 0 1 0 - 0 0 1 -
Mar 8 at Weber St. W, 68-60 - 11 0 0 0 1 0 - 0 0 0 -
Mar 13 vs. Idaho St. L, 70-65 - 7 0 0 0 0 0 - 0 0 0 -
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
2012-13 32 17 29.2 2.7-7.1 37.4 0.9-2.9 30.4 1.1-1.4 79.5 7.3
2013-14 29 11 14.0 0.6-2.1 26.2 0.2-1.0 23.3 0.0-0.1 25.0 1.4
Total 61 28 22.0 1.7-4.7 35.1 0.6-2.0 28.7 0.6-0.8 75.0 4.5
  gp gs min fg pct 3pt pct ft pct pts
2012-13 32 17 934 85-227 37.4 28-92 30.4 35-44 79.5 233
2013-14 29 11 406 16-61 26.2 7-30 23.3 1-4 25.0 40
Total 61 28 1340 101-288 35.1 35-122 28.7 36-48 75.0 273
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
2012-13 32 17 29.2 3.6-9.7 37.4 1.2-3.9 30.4 1.5-1.9 79.5 10.0
2013-14 29 11 14.0 1.6-6.0 26.2 0.7-3.0 23.3 0.1-0.4 25.0 3.9
Total 61 28 22.0 3.0-8.6 35.1 1.0-3.6 28.7 1.1-1.4 75.0 8.1
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
2012-13 32 17 29.2 0.7 1.9 2.7 1.2 0.0 4.5 2.2 2.0 1.5 0.1
2013-14 29 11 14.0 0.2 0.8 1.0 0.8 0.0 2.4 0.8 3.2 0.4 0.0
Total 61 28 22.0 0.5 1.4 1.9 1.0 0.0 3.5 1.5 2.3 1.0 0.0
  gp gs min off def reb pf dq ast to a/to stl blk
2012-13 32 17 934 23 62 85 38 0 143 71 2.0 49 2
2013-14 29 11 406 6 24 30 22 0 71 22 3.2 13 0
Total 61 28 1340 29 86 115 60 0 214 93 2.3 62 2
  gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
2012-13 32 17 29.2 1.0 2.7 3.6 1.6 0.0 6.1 3.0 2.0 2.1 0.1
2013-14 29 11 14.0 0.6 2.4 3.0 2.2 0.0 7.0 2.2 3.2 1.3 0.0
Total 61 28 22.0 0.9 2.6 3.4 1.8 0.0 6.4 2.8 2.3 1.9 0.1
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
Total 29 11 14.0 0.6-2.1 26.2 0.2-1.0 23.3 0.0-0.1 25.0 1.4
Conference 19 2 9.9 0.2-1.1 14.3 0.1-0.6 18.2 0.0-0.1 0.0 0.4
Exhibition 1 1 32.0 5.0-9.0 55.6 4.0-7.0 57.1 3.0-4.0 75.0 17.0

Home 14 7 15.6 0.9-2.7 31.6 0.4-1.5 28.6 0.0-0.0 - 2.1
Away 12 2 11.1 0.1-1.2 7.1 0.1-0.5 16.7 0.1-0.3 25.0 0.3
Neutral 3 2 18.0 1.0-3.0 33.3 0.0-1.0 0.0 0.0-0.0 - 2.0

Wins 15 5 12.5 0.4-1.6 25.0 0.1-0.7 20.0 0.0-0.1 0.0 0.9
Losses 14 6 15.6 0.7-2.6 27.0 0.4-1.4 25.0 0.1-0.2 33.3 1.9

November 5 5 26.6 1.6-5.6 28.6 0.6-2.6 23.1 0.2-0.6 33.3 4.0
December 5 5 19.8 1.2-3.6 33.3 0.6-2.0 30.0 0.0-0.0 - 3.0
January 8 1 12.1 0.1-1.4 9.1 0.0-0.8 0.0 0.0-0.0 - 0.2
February 7 - 5.6 0.0-0.3 0.0 0.0-0.0 - 0.0-0.1 0.0 0.0
March 4 - 9.5 0.2-0.5 50.0 0.2-0.2 100.0 0.0-0.0 - 0.8
  gp gs min fg pct 3pt pct ft pct pts
Total 29 11 406 16-61 26.2 7-30 23.3 1-4 25.0 40
Conference 19 2 188 3-21 14.3 2-11 18.2 0-1 0.0 8
Exhibition 1 1 32 5-9 55.6 4-7 57.1 3-4 75.0 17

Home 14 7 219 12-38 31.6 6-21 28.6 0-0 - 30
Away 12 2 133 1-14 7.1 1-6 16.7 1-4 25.0 4
Neutral 3 2 54 3-9 33.3 0-3 0.0 0-0 - 6

Wins 15 5 187 6-24 25.0 2-10 20.0 0-1 0.0 14
Losses 14 6 219 10-37 27.0 5-20 25.0 1-3 33.3 26

November 5 5 133 8-28 28.6 3-13 23.1 1-3 33.3 20
December 5 5 99 6-18 33.3 3-10 30.0 0-0 - 15
January 8 1 97 1-11 9.1 0-6 0.0 0-0 - 2
February 7 - 39 0-2 0.0 0-0 - 0-1 0.0 0
March 4 - 38 1-2 50.0 1-1 100.0 0-0 - 3
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
Total 29 11 14.0 1.6-6.0 26.2 0.7-3.0 23.3 0.1-0.4 25.0 3.9
Conference 19 2 9.9 0.6-4.5 14.3 0.4-2.3 18.2 0.0-0.2 0.0 1.7
Exhibition 1 1 32.0 6.2-11.2 55.6 5.0-8.8 57.1 3.8-5.0 75.0 21.2

Home 14 7 15.6 2.2-6.9 31.6 1.1-3.8 28.6 0.0-0.0 - 5.5
Away 12 2 11.1 0.3-4.2 7.1 0.3-1.8 16.7 0.3-1.2 25.0 1.2
Neutral 3 2 18.0 2.2-6.7 33.3 0.0-2.2 0.0 0.0-0.0 - 4.4

Wins 15 5 12.5 1.3-5.1 25.0 0.4-2.1 20.0 0.0-0.2 0.0 3.0
Losses 14 6 15.6 1.8-6.8 27.0 0.9-3.7 25.0 0.2-0.5 33.3 4.7

November 5 5 26.6 2.4-8.4 28.6 0.9-3.9 23.1 0.3-0.9 33.3 6.0
December 5 5 19.8 2.4-7.3 33.3 1.2-4.0 30.0 0.0-0.0 - 6.1
January 8 1 12.1 0.4-4.5 9.1 0.0-2.5 0.0 0.0-0.0 - 0.8
February 7 - 5.6 0.0-2.1 0.0 0.0-0.0 - 0.0-1.0 0.0 0.0
March 4 - 9.5 1.1-2.1 50.0 1.1-1.1 100.0 0.0-0.0 - 3.2
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
Total 29 11 14.0 0.2 0.8 1.0 0.8 0.0 2.4 0.8 3.2 0.4 0.0
Conference 19 2 9.9 0.0 0.7 0.7 0.8 0.0 1.8 0.5 3.8 0.2 0.0
Exhibition 1 1 32.0 0.0 3.0 3.0 1.0 0.0 11.0 2.0 5.5 4.0 0.0

Home 14 7 15.6 0.4 1.0 1.4 0.5 0.0 3.3 0.9 3.8 0.4 0.0
Away 12 2 11.1 0.0 0.8 0.8 1.1 0.0 1.4 0.5 2.8 0.4 0.0
There was a problem with a Velocity script
Pagebio-template
ErrorVM #split: too many arguments to macro. Wanted 3 got 4 at bio-template[line 246, column 1]
Page source:
1: #if ($browser.getIphone() || $browser.getMobile())
2: 	#set ($isMobile = true)
3: #else
4: 	#set ($isMobile = false)
5: #end
6: 
7: ## PICK UP OPTIONS
8: $website.include("options")
9: #set ($options = $request.getAttribute("options"))
10: #set ($locale = "en_us")
11: #set ($locale = $options.get("locale"))
12: 
13: ## STATS DATA
14: #if ($request.getParameter("stats"))
15: 
16: #set ($showCareer = $wiki.valid() && $seasons)
17: #if ("yes" == $options.get("stats_show_career") && $seasons)
18:   #set ($showCareer = "yes")
19: #end
20: 	
21: ## FETCH THE BIO URL FROM THE PARAMETER
22: #set ($bioURL = $request.getParameter("biourl"))
23: 
24: ## VIEW IS AVAILABLE PROVIDED WHEN REACHED HERE
25: #set ($view = $request.getParameter("view"))
26: 
27: #set ($pos = "")
28: #set ($pos = $attributes.get("position"))
29: #set ($posVec = $pos.split("/"))
30: #set ($pos = $posVec[0])
31: #set ($pos = $pos.toLowerCase())
32: #set ($statPos = $positions.get($pos))
33: 
34: #set ($playerId = $attributes.get("playerId"))
35: #set ($stats = $splits.overall)
36: 
37: #if ($locale == "en_us")
38: #set ($defLabel = 'Defense')
39: #elseif ($locale == "en_gb") 
40: #set ($defLabel = 'Defence')
41: #end
42:  
43: #macro (gamelogData $p)
44: 
45: #set ($p = $positions.get($p))
46: #set ($gamelogs = $gamelogs.get($p))
47: 
48: ## SECONDARY TAB CONTENT FOR ONLY FOOTBALL,  BASEBALL, SOFTBALL AND BASKETBALL
49: #if($gamelogsCategoriesLabels)
50:   #set ($class = "sub-tab-content")
51:   #if ($activePos == $p)
52:     #set ($class = "sub-tab-content active")
53:   #end
54:   #if ($isMobile)
55: 	<div class="mobile-bios-subtab-panel mobile-stats-panel-wrapper #if ($activePos == $p) active #end">
56:   #else
57: 	<div class="$class">
58:   #end
59: #end
60: 	
61: #if (! $isMobile)
62: 	<div class="stats-fullbox clearfix">
63: #else
64: 	<div class="mobile-stats-panel-container">
65: #end
66: <table>
67:   <tr>
68:     <th #if ($isMobile) width="10%" #end>Date</th>
69:     <th #if ($isMobile) class="mobile-stats-fixed-column" #*width="20%"*# #end>Opponent</th>
70:     <th>Score</th>
71:     #foreach ($gamelog in $gamelogs)
72:       <th>$gamelog</th>
73:     #end
74:   </tr>
75: 
76: #set ($counter = 0)
77: #foreach ($event in $events)
78:  #set ($counter = $counter + 1)
79:  #if ($counter % 2 == 0)
80:   #set ($row = "even")
81:  #else
82:   #set ($row = "odd")
83:  #end
84:   <tr class="${row}">
85:     <td>$formatter.formatDate($event.event.date, "MMM d")</td>
86:     <td #if ($isMobile) class="mobile-stats-fixed-column" #end>
87:     #if ($event.event.neutralSite.length() > 0) vs.
88:     #elseif (!$event.event.home) at
89:     #else ## nothing for a home game
90:     #end
91:     $event.event.opponent.name</td>
92:     <td class="align-center">
93:     #if ($event.event.statusCode >= 0)
94:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
95:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
96:       #else
97:       ${event.event.APResult}
98:       #end
99:     #else &nbsp; #end
100:     </td>
101:     #foreach ($gamelog in $gamelogs.keySet())
102:       #set ($value = "-")
103:       #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
104:       <td class="align-center">
105:       #if ($value.length() > 0)$value#else - #end
106:       </td>
107:     #end
108:   </tr>
109: #end
110: </table>
111: </div>
112: 
113: #if($gamelogsCategoriesLabels)
114:   </div>
115: #end
116: 
117: #end ## macro gamelogData
118: 
119: #macro (split $statPosBriefs $label $stats $class)
120:   <tr class="$!{class}">
121:     <td #if ($isMobile) class="mobile-stats-fixed-column" #end>${label}</td>
122:     #foreach ($brief in $statPosBriefs.keySet())
123:       #set ($value = "-")
124:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
125:       <td class="align-center">#if ($value.length() > 0) $value #else - #end</td>
126:     #end
127:   </tr>
128: #end
129: 
130: #set ($colspan = $statPosBriefs.size() + 1)
131: #macro (printSplitsHr)
132: 	#if ($isMobile)
133: 		<tr>
134: 			<td class="mobile-stats-fixed-column">&nbsp;</td>
135: 			<td colspan="$statPosBriefs.size()">&nbsp;</td>
136: 		</tr>
137: 	#else
138: 		<tr><td colspan="${colspan}"><hr /></td></tr>
139: 	#end
140: #end
141: 
142: 
143: #macro (careerData $p)
144: 
145: #set ($p = $positions.get($p))
146: #set ($statPosBriefs = $briefs.get($p))
147: 
148: ## SECONDARY TAB CONTENT.
149: #if($briefsCategoriesLabels)
150:   #set ($class = "sub-tab-content")
151:   #if ($activePos == $p)
152:     #set ($class = "sub-tab-content active")
153:   #end
154:   #if ($isMobile)
155: 	<div class="mobile-bios-subtab-panel mobile-stats-panel-wrapper #if ($activePos == $p) active #end">
156:   #else
157: 	<div class="$class">
158:   #end
159: #end
160: 
161: 
162: #if (! $isMobile) 
163: 	<div class="stats-fullbox clearfix">
164: #else
165: 	<div class="mobile-stats-panel-container">
166: #end
167: <table>
168:   <tr>
169:     <th #if ($isMobile) class="mobile-stats-fixed-column" #end>&nbsp;</th>
170:     #foreach ($brief in $statPosBriefs)
171:       <th>$brief</th>
172:     #end
173:   </tr>
174: 
175: #set ($careerTotals = $request.getAttribute("careerTotals"))
176: #set ($careerMap = $request.getAttribute("careerMap"))
177: 
178: #foreach ($season in $seasons)
179:   ## Check if we did not get stats for this season
180:   #if ($careerMap.get($season.seasonName))
181:     #split($statPosBriefs, $season.seasonName, $careerMap[$season.seasonName], '')
182:   #elseif ($wiki.valid())
183:     <tr><td class="${mobileNS}fixed-column">${season.seasonName}</td><td colspan="${briefs.size()}" align="center">We could not find the "players" page in the ${season.seasonName} section.</td></tr>
184:   #end
185: 
186: #end
187: 
188: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall, '')
189: 
190: 
191: </table>
192: 
193: </div> ## stats-fullbox
194: 
195: #if($briefsCategoriesLabels)
196: 	</div>
197: #end
198: #end ## macro splitsData
199: 
200: 
201: 
202: 
203: 
204: 
205: 
206: 
207: #macro (splitsData $p)
208: 
209: #set ($p = $positions.get($p))
210: #set ($statPosBriefs = $briefs.get($p))
211: 
212: ## SECONDARY TAB CONTENT.
213: #if($briefsCategoriesLabels)
214:   #set ($class = "sub-tab-content")
215:   #if ($activePos == $p)
216:     #set ($class = "sub-tab-content active")
217:   #end
218:   #if ($isMobile)
219: 	<div class="mobile-bios-subtab-panel mobile-stats-panel-wrapper #if ($activePos == $p) active #end">
220:   #else
221: 	<div class="$class">
222:   #end
223: #end	
224: 	
225: #if (! $isMobile) 
226: 	<div class="stats-fullbox clearfix">
227: #else
228: 	<div class="mobile-stats-panel-container">
229: #end
230: <table>
231:   <tr>
232:     <th #if ($isMobile) class="mobile-stats-fixed-column" #end>&nbsp;</th>
233:     #foreach ($brief in $statPosBriefs)
234:       <th>$brief</th>
235:     #end
236:   </tr>
237: 
238: #split($statPosBriefs, "Total", $splits.overall, "odd")
239: #split($statPosBriefs, "Conference", $splits.conference, "even")
240: #split($statPosBriefs, "Exhibition", $splits.exhibition, "odd")
241: 
242: #printSplitsHr()
243: 
244: #split($statPosBriefs, "Home", $splits.home, "odd")
245: #split($statPosBriefs, "Away", $splits.away, "even")
246: #split($statPosBriefs, "Neutral", $splits.neutral, "odd")
247: 
248: #printSplitsHr()
249: 
250: #set($isOddOrEven = 'odd')
251: 
252: #foreach($gameResult in $gamesResults.entrySet())
253: 	
254: 	#if($gameResult.key == "wins")
255: 		#set($splitGameResult = $splits.inWins)
256: 	#elseif($gameResult.key == "losses")
257: 		#set($splitGameResult = $splits.inLosses)
258: 	#elseif($gameResult.key == "ties")
259: 		#set($splitGameResult = $splits.inTies)
260: 	#end
261: 	
262: 	#split($statPosBriefs, $gameResult.value, $splitGameResult, $isOddOrEven)
263: 	
264: 	#if($isOddOrEven == 'even')
265: 		#set($isOddOrEven = 'odd')
266: 	#else
267: 		#set($isOddOrEven = 'even')
268: 	#end
269: #end
270: 
271: #printSplitsHr()
272: 
273: #if($monthsPlayed and $monthsPlayed.size() > 0)
274: 	
275: 	#set($isOddOrEven = 'odd')
276: 	
277: 	#foreach($month in $monthsPlayed)
278: 		#if($month == 'January')
279: 			#set($splitMonth =  $splits.january)
280: 		#elseif($month == 'February')
281: 			#set($splitMonth =  $splits.february)
282: 		#elseif($month == 'March')
283: 			#set($splitMonth =  $splits.march)
284: 		#elseif($month == 'April')
285: 			#set($splitMonth =  $splits.april)
286: 		#elseif($month == 'May')
287: 			#set($splitMonth =  $splits.may)
288: 		#elseif($month == 'June')
289: 			#set($splitMonth =  $splits.june)
290: 		#elseif($month == 'July')
291: 			#set($splitMonth =  $splits.july)
292: 		#elseif($month == 'August')
293: 			#set($splitMonth =  $splits.august)
294: 		#elseif($month == 'September')
295: 			#set($splitMonth =  $splits.september)
296: 		#elseif($month == 'October')
297: 			#set($splitMonth =  $splits.october)
298: 		#elseif($month == 'November')
299: 			#set($splitMonth =  $splits.november)
300: 		#elseif($month == 'December')
301: 			#set($splitMonth =  $splits.december)
302: 		#end
303: 		
304: 		#split($statPosBriefs, $month, $splitMonth, $isOddOrEven)
305: 		
306: 		#if($isOddOrEven == 'odd')
307: 			#set($isOddOrEven = 'even')
308: 		#else
309: 			#set($isOddOrEven = 'odd')
310: 		#end
311: 	#end	
312: #end	
313: 
314: </table>
315: 
316: </div> ## stats-fullbox
317: 
318: #if($briefsCategoriesLabels)
319: 	</div>
320: #end
321: 
322: #end ## macro splitsData
323: 
324: #macro (printRecentGames)
325: <table>
326: <tr><th colspan="3">Recent Games</th></tr>
327: #set ($eventEnd = -1)
328: #foreach ($event in $events)
329:   #if ($event.event.result.resolved)
330:     #set ($eventEnd = $velocityCount)
331:   #end
332: #end
333: #set ($eventStart = $eventEnd - 5)
334: #if ($eventStart < 0) #set ($eventStart = 0) #end
335: 
336: #set ($counter = 0)
337: #foreach ($event in $events)
338: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
339: 
340:  #set ($counter = $counter + 1)
341:  #if ($counter % 2 == 0)
342:   #set ($row = "even")
343:  #else
344:   #set ($row = "odd")
345:  #end
346: 
347:   <tr class="${row}">
348:     <td>$formatter.formatDate($event.event.date, "MMM d")</td>
349:     <td>
350:     #if ($event.event.neutralSite.length() > 0) vs.
351:     #elseif (!$event.event.home) at
352:     #else ## nothing for a home game
353:     #end
354:     $event.event.opponent.name</td>
355:     <td>
356:     #if ($event.event.statusCode >= 0)
357:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
358:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
359:       #else
360:       ${event.event.APResult}
361:       #end
362:     #end
363:   </tr>
364: #end ## if
365: #end
366: </table>
367: #end
368: 
369: #macro (printSubTab $pos $label $activePos $view)
370: 	<option #if ($activePos == $pos) selected="selected" #end value="${bioURL}?view=${view}&pos=${pos}">$!label</option>
371: #end
372: 
373: 	
374: #macro(printCategories $briefCategoryLabels $viewReport)
375: 	
376: 	#if ($isMobile)
377: 		<select class="mobile-bios-subtabs clearfix">
378: 	#else
379: 		<div class="stats-tabs-secondary clearfix">
380: 		  <ul class="clearfix">
381: 	#end
382: 			
383: 	#foreach($briefCat in $briefCategoryLabels.entrySet())
384: 		#set($briefCatLabel = $briefCat.value)
385: 		#set($briefCatKey = $briefCat.key)
386: 		
387: 		#if($locale == "en_gb" && $briefCatLabel == "Defense")
388: 			#set($briefCatLabel = "Defence")
389: 		#end	
390: 		
391: 		#if ($isMobile)
392: 			#printSubTab($briefCatKey, $briefCatLabel, $activePos, $viewReport)
393: 		#else
394: 			#if ($activePos == $briefCatKey)<li class="active">#else <li> #end<a href="${bioURL}?view=${viewReport}&pos=${briefCatKey}">$briefCatLabel</a></li>
395: 		#end
396: 	#end
397: 	
398: 	#if ($isMobile)
399: 		</select>
400: 	#else
401: 		   </ul>
402: 		</div> ## stats-tabs-secondary
403: 		<div class="sub-tab-panels">
404: 	#end	
405: 	
406: 	#foreach($briefCat in $briefCategoryLabels.entrySet())
407: 		#if($viewReport == "splits")
408: 			#splitsData($briefCat.key)
409: 		#elseif($viewReport == "career")
410: 			#careerData($briefCat.key)
411: 		#end	
412: 	#end
413: 	
414: 	#if (!$isMobile)
415: 		</div>
416: 	#end
417: 	
418: #end
419: 
420: 
421: 
422: #if ($isMobile)
423: 
424: #set ($activePos = $statPos)
425: #if ($request.getParameter("view") == "gamelog" && $positions.get($request.getParameter("pos")).length() > 0)
426: 	#set ($activePos = $positions.get($request.getParameter("pos")))
427: #end
428: 
429: <div id="tab-gamelog">
430: 
431: #if($gamelogsCategoriesLabels)
432: 
433: 	<select class="mobile-bios-subtabs clearfix">
434:     	#foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
435:     		#set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
436:     		
437:     		#if($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
438:     			#set($gamelogsCatLabelVal = "Defence")
439:     		#end
440:     
441:     		#printSubTab($gamelogsCatLabel.key, $gamelogsCatLabelVal, $activePos, 'gamelog')			
442:     	#end	
443:     </select> ## stats-tabs-secondary
444: 
445:     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
446:     	#gamelogData($gamelogsCatLabel.key)
447:     #end
448: 
449: #else
450: 	#gamelogData($pos)
451: #end 
452: 	
453: </div> ## tab-content
454: ## END GAMELOG
455: 
456: 
457: 
458: 
459: 
460: 
461: 
462: 
463: 
464: ## CAREER
465: #set ($activePos = $statPos)
466: #if ($request.getParameter("view") == "career" && $positions.get($request.getParameter("pos")).length() > 0)
467: 	#set ($activePos = $positions.get($request.getParameter("pos")))
468: #end
469: 
470: 
471: <div id="tab-career">
472: 	
473: #if($briefsCategoriesLabels)
474: 	#printCategories($briefsCategoriesLabels, "career")
475: #else
476: 	#careerData($statPos)
477: #end
478: 
479: </div> ## tab-content
480: ## CAREER
481: 
482: 
483: 
484: 
485: 
486: 
487: 
488: 
489: 
490: 
491: 
492: 
493: ## SPLITS
494: #set ($activePos = $statPos)
495: #if ($request.getParameter("view") == "splits" && $positions.get($request.getParameter("pos")).length() > 0)
496: 	#set ($activePos = $positions.get($request.getParameter("pos")))
497: #end
498: 
499: 
500: <div id="tab-splits">
501: 	
502: #if($briefsCategoriesLabels)
503: 	#printCategories($briefsCategoriesLabels, "splits")
504: #else
505: 	#splitsData($statPos)
506: #end
507: 
508: </div> ## tab-content
509: ## SPLITS
510: 
511: 
512: 
513: 
514: 
515: #else
516: 
517: 
518: 
519: ## PROFILE
520: #set ($class = "tab-content clearfix")
521: #if ($view == "profile")
522: 	#set ($class = "tab-content clearfix active")
523: #end
524: <div class="${class}">
525: <div class="stats-wrapper clearfix">
526: 
527: ## LAST SIX GAMES
528: <div class="stats-halfbox-left">
529: #printRecentGames()
530: </div>
531: 
532: ## RANKING
533: $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
534: 
535: </div> ## stats-wrapper	
536: </div> ## tab-content
537: ## PROFILE
538: 
539: ## GAMELOG
540: #set ($class = "tab-content clearfix")
541: #if ($view == "gamelog")
542: 	#set ($class = "tab-content clearfix active")
543: #end
544: 
545: #set ($activePos = $statPos)
546: #if ($request.getParameter("view") == "gamelog" && $positions.get($request.getParameter("pos")).length() > 0)
547: 	#set ($activePos = $positions.get($request.getParameter("pos")))
548: #end
549: 
550: <div class="${class}">
551: <div class="stats-wrapper clearfix">
552: 
553: #if($gamelogsCategoriesLabels)
554: <div class="stats-tabs-secondary clearfix">
555: <ul class="clearfix">
556: 	#foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
557: 		#set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
558: 		
559: 		#if($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
560: 			#set($gamelogsCatLabelVal = "Defence")
561: 		#end
562: 
563: 		#if ($activePos == $$gamelogsCatLabel.key)<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=${gamelogsCatLabel.key}">$gamelogsCatLabelVal</a></li>
564: 	#end
565: </ul>
566: </div> ## stats-tabs-secondary
567: #end
568: 
569: #if($gamelogsCategoriesLabels)
570: 	<div class="sub-tab-panels">
571: 	#foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
572: 		#gamelogData($gamelogsCatLabel.key)
573: 	#end
574: 	</div>	
575: #else
576: 	
577:   #gamelogData($pos)
578:   
579: #end
580: 	
581: </div> ## stats-wrapper
582: </div> ## tab-content
583: ## GAMELOG
584: 
585: 
586: 
587: 
588: 
589: 
590: 
591: 
592: ## CAREER
593: #if ($showCareer)
594: #set ($class = "tab-content clearfix")
595: #if ($view == "career")
596: 	#set ($class = "tab-content clearfix active")
597: #end
598: 
599: #set ($activePos = $statPos)
600: #if ($request.getParameter("view") == "career" && $positions.get($request.getParameter("pos")).length() > 0)
601: 	#set ($activePos = $positions.get($request.getParameter("pos")))
602: #end
603: 
604: <div class="${class}">
605: <div class="stats-wrapper clearfix">
606: 
607: #if($briefsCategoriesLabels)
608: 	#printCategories($briefsCategoriesLabels, "career")
609: #else
610: 	#careerData($statPos)
611: #end		
612: 
613: </div> ## stats-wrapper
614: </div> ## tab-content
615: #end ## show career
616: ## CAREER
617: 
618: 
619: 
620: 
621: 
622: 
623: 
624: 
625: 
626: ## SPLITS
627: #set ($class = "tab-content clearfix")
628: #if ($view == "splits")
629: 	#set ($class = "tab-content clearfix active")
630: #end
631: 
632: #set ($activePos = $statPos)
633: #if ($request.getParameter("view") == "splits" && $positions.get($request.getParameter("pos")).length() > 0)
634: 	#set ($activePos = $positions.get($request.getParameter("pos")))
635: #end
636: 
637: <div class="${class}">
638: <div class="stats-wrapper clearfix">
639: 
640: #if($briefsCategoriesLabels)
641: 	#printCategories($briefsCategoriesLabels, "splits")
642: #else
643: 	#splitsData($statPos)
644: #end		
645: 
646: </div> ## stats-wrapper
647: </div> ## tab-content
648: ## SPLITS
649: 
650: #end ## MOBILE / DESKTOP STATS
651: 
652: #else
653: ## BIO
654: 
655: ## CHANGES FOR STATS
656: 
657: ## HACK TO GET STATS URL FROM RENDERER... NEEDS SERVER CHANGE
658: #set ($bioObject = $page.getDataAsObject())
659: #set ($statsURL = $bioObject.statsURL)
660: ## END OF HACK
661: 
662: #if ($statsURL.length() > 0)
663:   $website.includeAgain("${statsURL}?tmpl=bio-stats-template")
664:   ## various settings to get the variables set
665:   #set ($events = $request.getAttribute("bio_events"))
666:   #set ($seasons = $request.getAttribute("bio_seasons"))
667:   #set ($career = $request.getAttribute("bio_career"))
668:   #set ($labels = $request.getAttribute("bio_labels"))
669:   #set ($briefs = $request.getAttribute("bio_briefs"))
670:   #set ($gamelogs = $request.getAttribute("bio_gamelogs"))
671:   #set ($splits = $request.getAttribute("bio_splits"))
672:   #set ($statPosition = $request.getAttribute("bio_position"))
673:   #set ($positions = $request.getAttribute("bio_positions"))
674:   #set ($playerId = $request.getAttribute("bio_player_id"))
675:   #set ($highlights = $request.getAttribute("bio_highlights"))
676:   #set ($formats = $request.getAttribute("bio_formats"))
677: #end
678: 
679: ## END CHANGES FOR STATS
680: 
681: #set ($pos = "")
682: #set ($pos = $attributes.get("position"))
683: #set ($pos = $statPosition)
684: #set ($pos = $pos.toLowerCase())
685: #set ($posVec = $pos.split("/"))
686: #set ($pos = $posVec[0])
687: #set ($pos = $positions.get($pos))
688: #set ($highlights = $highlights.get($pos))
689: 
690: #set ($showHighlights = true)
691: #if ($options.get("bio_show_highlights") && $options.get("bio_show_highlights") == false)
692: 	#set ($showHighlights = false)
693: #end
694: #set ($showCareer = $wiki.valid() && $seasons)
695: #if ("yes" == $options.get("stats_show_career") && $seasons)
696:   #set ($showCareer = "yes")
697: #end
698: 
699: #set ($labels = $labels.get($pos))
700: #set ($briefs = $briefs.get($pos))
701: #set ($gamelogs = $gamelogs.get($pos))
702: #set ($stats = $splits.overall)
703: #set ($hasEvents = $events.size() > 0)
704: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
705: #set ($htmlStatsURL = "${page.url}-stats")
706: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
707: #set ($bioBriefURL = "${page.url}-brief")
708: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
709: #set ($showRoster = ($page.contentType == "loki/bio" && $page.headlinesFeatured.size() > 0) || ($page.contentType == "loki/bio-network" && $page.sectionPage.children.size() > 1))
710: #if ($options.get("bio_hide_roster") == true)
711: 	#set ($showRoster = false)
712: #end
713: 
714: ## Always default to the bio page if available
715: #set ($view = "bio")
716: 
717: #if ($hasSynopsis || $hasBioBrief)
718: 	#set ($view = "bio")
719: #elseif ($statsURL.length() > 0)
720: 	#set ($view = "profile")
721: #elseif ($hasHTMLStats)
722: 	#set ($view = "htmlstats")
723: #else
724: 	#set ($view = "")
725: #end
726: 
727: #if ($options.get("bio_default_view").length() > 0)
728: 	#set ($checkView = $options.get("bio_default_view"))
729: #end
730: 
731: #if ($request.getParameter("view"))
732: 	#set ($checkView = $request.getParameter("view"))
733: #end
734: 
735: #if ($checkView == "profile" && $statsURL.length() > 0)
736: 	#set ($view = "profile")
737: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief))
738: 	#set ($view = "bio")
739: #elseif ($checkView == "gamelog" && $statsURL.length() > 0)
740: 	#set ($view = "gamelog")
741: #elseif ($checkView == "career" && $showCareer)
742: 	#set ($view = "career")
743: #elseif ($checkView == "splits" && $statsURL.length() > 0)
744: 	#set ($view = "splits")
745: #elseif ($checkView == "htmlstats" && $hasHTMLStats)
746: 	#set ($view = "htmlstats")
747: #end
748: 
749: #if ($attributes.get("full_name"))
750: 	#set ($fullName = $attributes.get("full_name"))
751: #else
752: 	#set ($firstName = $!attributes.get("first_name"))
753: 	#set ($lastName = $!attributes.get("last_name"))
754: 	#set ($fullName = "${firstName} ${lastName}")
755: #end
756: 
757: #macro (printHeadshot $width $height)
758: 	#if ($headshot.url)
759: 		<img src="$headshot.url?max_width=$!width&max_height=$!height" alt="$fullName" title="$fullName" class="bio-headshot" />
760: 	#else
761: 		#if ($website.exists("/images/setup/headshot_default.jpg"))
762: 			<img src="/images/setup/headshot_default.jpg?max_width=$!width&max_height=$!height" alt="$fullName" title="$fullName" class="bio-headshot" />
763: 		#else
764: 			<img src="/info/images/default_headshot.jpg?max_width=$!width&max_height=$!height" alt="$fullName" title="$fullName" class="bio-headshot" />
765: 		#end
766: 	#end
767: #end
768: 
769: #if ($isMobile)
770: 
771: #set ($hasBioTab = false)
772: #if ($hasSynopsis || $hasBioBrief)
773: 	#set ($hasBioTab = true)
774: #end
775: 
776: #set ($hasProfileTab = false)
777: #if (($highlights && $showHighlights) || $events.size() > 0 || $website.exists("$statsURL/../players"))
778: 	#set ($hasProfileTab = true)
779: #end
780: 
781: <script type="text/javascript">
782: 	window.mobileConf = {
783: 		page : 'bios',
784: 		pageParams : {
785: 			view : '$!view'
786: 		}
787: 	}
788: </script>
789: 
790: <div class="bios">
791: 	<div class="profile">
792: 		<div class="images">
793: 			<div class="photo">
794: 				#printHeadshot(81, 116)
795: 			</div>				
796: 			#if ($attributes.get("number"))	<div class="number"> $!attributes.get("number") </div> #end
797: 		</div>
798: 		<div class="texts">
799: 			<div class="name">$!attributes.get("first_name") $!attributes.get("last_name")</div>
800: 			<div class="data">
801: 				#foreach ($field in $fields)
802: 					#if (! $field.key.startsWith("custom"))
803: 						#if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
804: 
805: 							#if ($field.key == "phone1" || $field.key == "phone2")
806: 								Phone: $!attributes.get($field.key) <br />
807: 							#elseif ($field.key == "email_address")
808: 								#set ($emailAdd = $attributes.get($field.key))
809: 								Email: <a href="mailto:${emailAdd}">$emailAdd</a> <br />
810: 							#else
811: 								$field.value: $!attributes.get($field.key) <br />
812: 							#end
813: 
814: 							#set ($counter = $counter + 1)
815: 						#end
816: 					#end
817: 				#end
818: 					
819: 				#foreach ($i in [1..10])
820: 					#set ($customKey = "bio_custom${i}")
821: 					#if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
822: 						$options.get($customKey): </td><td class="val">$!attributes.get("custom${i}") <br />
823: 						#set ($counter = $counter + 1)
824: 					#end
825: 				#end
826: 				
827: 			</div>
828: 		</div>
829: 	</div>	
830: 
831: 	#if ($hasBioTab || $hasProfileTab)
832: 	<div class="details mobile-tabs mobile-stats" id="mobile-bios-tabs-container">
833: 		<ul class="mobile-bios-tabs">
834: 			#if ($hasBioTab)
835: 				<li><a data-view="bio" href="#tab-bios">Bio</a></li>
836: 			#end
837: 			#if ($hasProfileTab)
838: 				<li><a data-view="profile" href="#tab-profile">Profile</a></li>
839: 			#end
840: 			#if ($statsURL.length() > 0)
841: 				<li><a data-view="gamelog" href="#tab-gamelog">Game Log</a></li>
842: 				#if ($showCareer)
843: 				    <li><a data-view="career" href="#tab-career">Career</a></li>
844: 				#end
845: 				<li><a data-view="splits" href="#tab-splits">Splits</a></li>
846: 			#end
847: 		</ul>
848: 		
849: 		#if ($hasBioTab)
850: 		<div id="tab-bios">
851: 			#if ($hasSynopsis)
852: 				$synopsis
853: 			#elseif ($hasBioBrief)
854: 				<p>$website.include("$bioBriefURL")</p>
855: 			#end
856: 		</div>
857: 		#end
858: 		
859: 		#if ($hasProfileTab)
860: 		#set ($cellWidth = $tool.math.toInteger($tool.math.div(100, $highlights.size())))
861: 			
862: 		<div id="tab-profile">
863: 			## HIGHLIGHTS
864: 			#if ($highlights && $showHighlights)
865: 				<div class="bios-stat-wrapper">
866: 					<h4>Highlights</h4>
867: 					<table width="100%"><tr>
868: 					#foreach ($highlight in $highlights.keySet())
869: 						<th #if (! $isMobile) width="18%" #else width="${cellWidth}%" #end>$!highlights.get($highlight)</th>
870: 					#end
871: 					</tr><tr>
872: 					#foreach ($highlight in $highlights.keySet())
873: 						<td>
874: 						#set ($value = "-")
875: 						#set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
876: 						#if ($value.length() > 0)
877: 							<span class="value">$value</span>
878: 						#else
879: 							<span class="value">-</span>
880: 						#end	
881: 						</td>
882: 					#end
883: 					</tr></table>
884: 				</div>
885: 			#end
886: 			
887: 			## RECENT GAMES
888: 			#if ($events.size() > 0)
889: 			<div class="bios-stat-wrapper">
890: 				##<h4>Recent Games</h4>
891: 				#printRecentGames()
892: 			</div>
893: 			#end
894: 			
895: 			<div class="bios-stat-wrapper">
896: 				$website.include("$statsURL/../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${pos}")
897: 			</div>
898: 			
899: 		</div>
900: 		#end
901: 		
902: 		## STATS TABS
903: 		#if ($statsURL.length() > 0)
904: 			$website.includeAgain("${statsURL}?tmpl=bio-template&stats=1&biourl=${tool.esc.url($page.url)}&view=${view}&pos=${request.getParameter('pos')}")
905: 			
906: 			<div id="tab-splits"></div>
907: 			
908: 		#end
909: 		
910: 	</div>
911: 	#end
912: </div>   
913:    
914:    
915: #else
916: ## NOT MOBILE
917: 
918: <head>
919: 	<title>$fullName #if ($attributes.get("team")) | $attributes.get("team")#end</title>
920: 	<link rel="stylesheet" type="text/css" href="/info/bio-styles.css" />
921: </head>
922: 
923: ## FULL ROSTER
924: <div class="bio-wrap clearfix">
925: 
926: <div class="head clearfix">
927: 
928: <div class="bio-title">#if ($attributes.get("number"))<span class="number">$!attributes.get("number") - #end</span><span class="name">$fullName</span></div>
929: 
930: <div class="about">
931: 
932: <div class="clearfix">
933: 
934: #printHeadshot(150, 200)
935: 
936: #set ($counter = 0)
937: <table cellpadding="5" cellspacing="5" border="0">
938: 
939: #foreach ($i in [1..10])
940: 	#set ($stickyKey = "bio_custom${i}_sticky")
941: 	#if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
942: 		<tr><td class="lbl">$options.get($stickyKey): </td><td class="val">$!attributes.get("custom${i}")</td></tr>
943: 		#set ($counter = $counter + 1)
944: 	#end
945: #end
946: 
947: #foreach ($field in $fields)
948: 	#if (! $field.key.startsWith("custom"))
949: 		#if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
950: 
951: 			#if ($field.key == "phone1" || $field.key == "phone2")
952: 				<tr><td class="lbl">Phone: </td><td class="val">$!attributes.get($field.key)</td></tr>
953: 			#elseif ($field.key == "email_address")
954: 				#set ($emailAdd = $attributes.get($field.key))
955: 				<tr><td class="lbl">Email: </td><td class="val"><a href="mailto:${emailAdd}">$emailAdd</a></td></tr>
956: 			#else
957: 				<tr><td class="lbl">$field.value: </td><td class="val">$!attributes.get($field.key)</td></tr>
958: 			#end
959: 
960: 			#set ($counter = $counter + 1)
961: 		#end
962: 	#end
963: #end
964: 
965: #foreach ($i in [1..10])
966: 	#set ($customKey = "bio_custom${i}")
967: 	#if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
968: 		<tr><td class="lbl">$options.get($customKey): </td><td class="val">$!attributes.get("custom${i}")</td></tr>
969: 		#set ($counter = $counter + 1)
970: 	#end
971: #end
972: 
973: </table>
974: 
975: </div> ## clearfix
976: </div> ## ends about
977: 
978: #if ($highlights && $showHighlights)
979: <div class="headstats">
980: 	#foreach ($highlight in $highlights.keySet())
981: 		<div class="hst">
982: 		<span class="title" title="$!highlights.get($highlight)">$!highlights.get($highlight)</span>
983: 		#set ($value = "-")
984: 		#set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
985: 		#if ($value.length() > 0)
986: 			<span class="value">$value</span>
987: 		#else
988: 			<span class="value">-</span>
989: 		#end
990: 		</div>
991: 	#end
992: </div>
993: #end ## if-highlights
994: 
995: </div> ## ends head
996: 
997: #if ($hasSynopsis || $hasBioBrief || $statsURL.length() > 0 || $hasHTMLStats || $showRoster)
998: <div class="stats-tabs clearfix">
999: 	#if (($hasSynopsis || $hasBioBrief || $statsURL.length() > 0 || $hasHTMLStats) && $view.length() > 0)
1000: 	<ul class="clearfix">
1001: 		#if ($hasSynopsis || $hasBioBrief)
1002: 			#if ($view == "bio")<li class="active">#else<li>#end<a href="${page.url}?view=bio">Bio</a></li>
1003: 		#end
1004: 		
1005: 		#if ($statsURL.length() > 0)
1006: 			#if ($view == "profile")<li class="active">#else<li>#end<a href="${page.url}?view=profile">Player Profile</a></li>
1007: 			#if ($view == "gamelog")<li class="active">#else<li>#end<a href="${page.url}?view=gamelog">Game Log</a></li>
1008: 			#if ($showCareer)
1009:   			    #if ($view == "career")<li class="active">#else<li>#end<a href="${page.url}?view=career">Career Stats</a></li>
1010:   			#end
1011: 			#if ($view == "splits")<li class="active">#else<li>#end<a href="${page.url}?view=splits">Split Stats</a></li>
1012: 		#end
1013: 
1014: 		#if ($hasHTMLStats)
1015: 			#if ($view == "htmlstats")<li class="active">#else<li>#end<a href="${page.url}?view=htmlstats">HTML Stats</a></li>
1016: 		#end
1017: 	</ul>
1018: 	#end
1019: 	#if ($showRoster)
1020: 		#if ($page.contentType == "loki/bio")
1021: 			#set ($headlinesFeaturedSize = 0)
1022: 			#foreach ($featuredPage in $page.headlinesFeatured)
1023: 				#if ($featuredPage.contentType == "loki/headlines")
1024: 					#set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1)
1025: 				#end
1026: 			#end
1027: 			#if ($headlinesFeaturedSize > 0)
1028: 				<select class="roster-select-list">
1029: 					<option selected="selected" class="bold">Related Bios</option>
1030:     			#foreach ($featuredPage in $page.headlinesFeatured)
1031:     				#if ($featuredPage.contentType == "loki/headlines")
1032:     					$website.includeAgain("${featuredPage.url}?tmpl=roster-list-template&current_url=${page.url}")
1033:     				#end
1034: 				#end
1035: 				</select>
1036: 			#end
1037: 		#elseif ($page.contentType == "loki/bio-network")
1038: 			#set ($relatedPlayers = $page.sectionPage.children)
1039: 			#set ($teamNames = {})
1040: 			#foreach ($relatedPlayer in $relatedPlayers)
1041: 				#if ($relatedPlayer.contentType == "loki/bio-network")
1042: 					#set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
1043: 					## <span class="none relatedplayeratt">$relatedPlayerObj</span>
1044: 					#set ($teamName = $relatedPlayerObj.get("team"))
1045: 					#if ($teamName.length() > 0)
1046:     					#if (!$teamNames.containsValue($teamName))
1047:     						$!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName)
1048:     					#end
1049: 					#end
1050: 				#end
1051: 			#end
1052: 			##<span class="none teamnames">$teamNames</span>
1053: 			<select class="roster-select-list">
1054: 			#foreach ($i in [1..$teamNames.size()])
1055: 				#if ($teamNames.size() > 1)
1056: 					<optgroup label="$teamNames.get($i)">
1057: 				#end
1058: 				
1059: 				#foreach ($relatedPlayer in $relatedPlayers)
1060: 					#if ($relatedPlayer.contentType == "loki/bio-network")
1061: 						#set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
1062: 						#set ($teamName = $relatedPlayerObj.get("team"))
1063: 						#if ($teamName.length() > 0 && $teamName == $teamNames.get($i))
1064: 							#set ($playerFirstName = $relatedPlayerObj.get("first_name"))
1065: 							#set ($playerLastName = $relatedPlayerObj.get("last_name"))
1066: 							#if ($page.url == $relatedPlayer.url)
1067: 								<option value="$relatedPlayer.url" selected="selected" class="bold">${playerFirstName} ${playerLastName}</option>
1068: 							#else
1069: 								<option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option>
1070: 							#end
1071: 						#end
1072: 					#end
1073: 				#end
1074: 				
1075: 				#if ($teamNames.size() > 1)
1076: 					</optgroup>
1077: 				#end
1078: 			#end
1079: 			</select>
1080: 		#end
1081: 	#end
1082: </div>
1083: #end
1084: 
1085: #if ($hasSynopsis || $hasBioBrief || $statsURL.length() > 0 || $hasHTMLStats)
1086: 	<div class="tab-content-panels">
1087: #end
1088: 
1089: ## BIO TAB
1090: #if ($hasSynopsis || $hasBioBrief)
1091: 
1092: #set ($class = "tab-content clearfix")
1093: #if ($view == "bio")
1094: 	#set ($class = "tab-content clearfix active")
1095: #end
1096: <div class="${class}">
1097: 
1098: <div class="synopsis clearfix">
1099: #if ($hasSynopsis)
1100: 	$synopsis
1101: #elseif ($hasBioBrief)
1102: 	$website.include("$bioBriefURL")
1103: #end
1104: </div>
1105: 
1106: </div> ## tab-content
1107: #end ## BIO TAB ENDS
1108: 
1109: ## STATS TABS
1110: #if ($statsURL.length() > 0)
1111:   $website.includeAgain("${statsURL}?tmpl=bio-template&stats=1&biourl=${tool.esc.url($page.url)}&view=${view}&pos=${request.getParameter('pos')}")
1112: #end
1113: 
1114: ## HTML TAB
1115: #if ($hasHTMLStats)
1116: 
1117: #set ($class = "tab-content clearfix")
1118: #if ($view == "htmlstats")
1119: 	#set ($class = "tab-content clearfix active")
1120: #end
1121: <div class="${class}">
1122: 	<a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a>
1123: </div>
1124: 
1125: #end
1126: 
1127: #if ($hasSynopsis || $hasBioBrief || $statsURL.length() > 0 || $hasHTMLStats)
1128: 	</div>
1129: #end
1130: 
1131: </div> ## ends bio-wrap
1132: 
1133: #if ($request.getAttribute("bioScriptCalled"))
1134:   #set ($scriptCalled = true)
1135: #else
1136:   #set ($scriptCalled = false)
1137: #end
1138: 
1139: #if (!$scriptCalled)
1140: 	
1141: $!request.setAttribute("bioScriptCalled", true)
1142: <script type="text/javascript" src="$website.cdn("/info/jquery.address-1.5.min.js")"></script>
1143: <script type="text/javascript">
1144: 
1145: jQuery.address.strict(false).state('${page.url}').init(function() {
1146: 	$('.bio-wrap .stats-tabs a').address();
1147: 	$('.bio-wrap .stats-tabs-secondary a').address();
1148: });
1149: 
1150: $(function() {
1151: 
1152: $('.bio-wrap .stats-tabs li').click(function(e) {
1153: 	e.preventDefault();
1154: 	if (!$(this).hasClass('active')) {
1155: 		$(this).addClass('active').siblings().removeClass('active');
1156: 		$(this).parent().parent('.stats-tabs').next('.tab-content-panels').children('.tab-content').removeClass('active').eq($(this).index()).addClass('active');
1157: 	}
1158: });
1159: 
1160: $('.bio-wrap .stats-tabs-secondary li').click(function(e) {
1161: 	e.preventDefault();
1162: 	if (!$(this).hasClass('active')) {
1163: 		$(this).addClass('active').siblings().removeClass('active');
1164: 		$(this).parent().parent('.stats-tabs-secondary').next('.sub-tab-panels').children('.sub-tab-content').removeClass('active').eq($(this).index()).addClass('active');
1165: 	}
1166: });
1167: 
1168: #if ($showRoster)
1169: 	$('.bio-wrap .roster-select-list').change(function() {
1170: 		window.location.href = $(this).val();
1171: 	});
1172: #end
1173: 
1174: #if ($hasHTMLStats)
1175: 	$('.bio-htmlstats-identifier').each(function() {
1176: 		var targetElement = $(this);
1177: 		jQuery.get($(this).attr('href'), function(data) {
1178: 			var htmlStats = $(data).find('center').first();
1179: 			htmlStats.add(htmlStats.siblings('center'));
1180: 			if (htmlStats.children().length > 0) {
1181: 				targetElement.replaceWith(htmlStats);
1182: 			}
1183: 		});
1184: 	});
1185: #end
1186: 
1187: });
1188: </script>
1189: #end
1190: 
1191: #end ## MOBILE CHECK
1192: #end ## STATS PARAMETER
1193: 
1194: $wiki

View: Mobile | Desktop