ACADEMIC INTEGRATION COMPETITIVE EXCELLENCE

IN DIVISION I ATHLETICS

22 Christine Clark
22 Christine Clark
Height: 5-11
Year: Senior
Hometown: Tucson, Ariz.
High School: Tucson
Position: Guard
Major: Psychology
House Affiliation: Kirkland

Finished fourth in Harvard history with 1,711 points
Finished second in Harvard history with 447 free throws.
Three-time All-Ivy League first team (2013-14, 2012-13,  2011-12)
2010-11 Ivy League All-Rookie selection.
Has earned 11 Ivy League weekly awards (8 Player of the Week, 3 Rookie of the Week).
Has recorded six double-doubles.

Career Highs
Points:
28, 3 times
FG made:
11, twice
FG attempts:
22 at Michigan (11/23/12)
3FG made:
3, twice
3FG attempts:
7 vs. Dartmouth (1/25/14)
FT made: 12 at Columbia (2/4/12)
FT attempts:
13 vs. Providence (12/4/12)
Rebounds:
11 vs. Princeton (2/11/12)
Assists:
6 at Drexel (3/23/13)
Steals: 5 at Cornell
Blocks: 3, twice

2013-14 (Senior)
Named All-Ivy League first team … College Sports Madness Preseason All-Ivy Player of the Year … College Sports Madness Preseason All-Ivy first team … Team captain … Registered 22 points, pulled down seven rebounds and had five assists versus Cal Poly (Nov. 9) … Notched 21 points against Boston University (Nov. 13) … Tallied 21 points, three rebounds and three assists versus North Dakota State (Nov. 16) … Added 21 points against FIU (Nov. 19) … Dropped 21 points at Colgate on 8-of-18 shooting (Nov. 23) … Contributed 28 points (9-of-17) at Northeastern along with seven rebounds (Nov. 26) … Scored 17 points and had seven rebounds against Dartmouth (Jan. 25) … Scored 25 points and grabbed five rebounds at Princeton (Jan. 31) … Neared a double-double with 10 points and nine rebounds at Penn (Feb. 1) … Netted 19 points, added five rebounds and handed out two helpers at Brown (Feb. 7) … Contributed 21 points, pulled down four rebounds and four assists versus Columbia (Feb. 14) … Posted 20 points and four rebounds versus Cornell (Feb. 15) … Netted 23 points, chipped in nine rebounds and dished out three assists at Cornell (Feb. 28) ... Scored 20 points on 7-of-11 shooting while contributing four rebounds and four assists versus Brown (March 8) … Netted 16 points, including the game-winning basket as time expired, at Iona in the first round of the WNIT (March 20). 

2012-13 (Junior)
Named All-Ivy League first team ... Also named to the College Sports Madness Ivy League preseason first team ... Led the team in scoring in each of the first six games ... Named to the Ivy League Honor Roll after averaging 16.0 ppg, 4.0 rpg and 2.5 apg at North Dakota State and North Dakota ... Scored 15 points with three rebounds at North Dakota State (Nov. 9) ... Netted 17 points on 6-of-10 shooting and dished out four assists at North Dakota (Nov. 11) ... Recorded 18 points, four assists and three steals against BYU (Nov. 16) ... Named the Ivy League Player of the Week Nov. 26 after turning in 21.3 ppg, 6.3 rpg and 2.7 apg in three games ... Registered 25 points on 9-of-17 shooting, 3-of-4 from three, with six rebounds, three assists and three steals at Holy Cross (Nov. 20) ... Went for 23 points on 11-of-22 shooting at Michigan (Nov. 23) while also grabbing eight boards ... Scored 16 points and added four rebounds and four steals at Eastern Michigan (Nov. 24) ... Matched her career-highs in assists (5) and blocks (3) while scoring 14 points at Hofstra (Dec. 1) ... Recorded 17 points, four assists and two steals against Providence (Dec. 4) ... Scored eight points and added six rebounds and four assists at BU (Dec. 10) ... Tallied 15 points and three assists against No. 14/13 Oklahoma State (Dec. 28) ... Registered 11 points with four rebounds and three assists against SMU (Dec. 30) ... Named the Ivy League Player of the Week Jan. 7 after averaging 20.0 ppg and shooting 51.7 percent in a pair of wins ... Scored 19 points to enter Harvard's 1,000-point club against UMass (Jan. 2) and added four assists ... Recorded 21 points on 8-of-14 shooting with six rebounds at Rhode Island (Jan. 6) ... Named the Ivy League Player of the Week after scoring 22 points on 8-of-11 shooting with seven rebounds, two assists and two steals vs. Dartmouth (Jan. 12) ... Turned in her third straight 20-plus point performance with 22 points on 9-of-12 shooting at Dartmouth (Jan. 26) ... Named to the Ivy League Honor Roll after averaging 12.5 ppg and 6.5 rpg at Yale and Brown ... Recorded 19 points, six boards, three assists and three steals at Brown (Feb. 2) ... Just missed a double-double with 15 points and nine rebounds versus Cornell (Feb. 10) ... Named to the Ivy League Honor Roll after averaging 18.0 ppg and 8.0 rpg against Brown and Yale ... Scored 16 points and went 9-of-10 from the line against Brown (Feb. 22) ... Registered her first double-double of the year with 20 points and a career-high 13 rebounds against Yale (Feb. 23) ... Named the Ivy League Player of the Week after averaging 16.0 ppg, 4.5 rpg and shooting 81.3 percent against Princeton and Penn ... Tallied 14 points on 6-of-6 shooting against Princeton (March 1) ... Turned in 18 points on 7-of-10 shooting and grabbed seven rebounds against Penn (March 2) ... Named to the Ivy League Honor Roll after averaging 13.5 ppg and 5.5 rpg at Columbia and Cornell ... Recorded 22 points while going 10-of-11 from the line with six rebounds at Cornell (March 9) ... Posted a double-double with 15 points on 7-of-10 shooting and 10 boards at Hartford (March 21) ... Tallied 15 points and a career-high six assists at Drexel (March 23).

2011-12 (Sophomore)
First Team All-Ivy League ... Ranked third in the Ivy League in free-throw percentage (84.6), fifth in scoring (15.3), eighth in minutes played (31.8), 10th in steals (1.5), 12th in rebounding (5.6) and 12th in field-goal percentage (41.3) ... Named to the Ivy League Honor Roll, Hawkeye Challenge All-Tournament Team and CollegeSportsMadness Ivy League Player of the Week after averaging 22.5 ppg, 5.5 rpg, 3.0 apg and shooting 55.5 percent at the Hawkeye Challege ... Matched her career-high of 28 points at Iowa (Nov. 12) with six rebounds, three assists and three blocks ... Scored 17 points, including 15 in the second half, on 5-of-7 shooting from the floor and 7-of-8 at the line vs. Butler (Nov. 13) ... Tallied 10 points, five rebounds, two assists and three steals at Providence (Nov. 18) ... Named the Ivy League Player of the Week Nov. 28 after averaging 17.5 ppg and 7.0 rpg against Rhode Island and Holy Cross ... Scored 18 points and grabbed nine rebounds versus Rhode Island (Nov. 22) ... Notched 18 points on 8-of-12 shooting with five rebounds, two assists and two steals against Holy Cross (Nov. 27) ... Went 11-of-11 at the line and finished with 16 points, seven rebounds and three assists at New Hampshire (Dec. 6) ... Scored 16 points and was 8-of-8 at the line against Alcorn State (Dec. 9) ... Tallied 12 points, nine rebounds and three steals against St. John's (Dec. 22) ... Named to the Ivy League Honor Roll after scoring 15 points with nine rebounds and three steals at Hartford (Dec. 29) ... Registered 13 points and a season-high four assists at UMass (Jan. 3) ... Scored 13 points, grabbed four rebounds, dished out three assists and blocked two shots at TCU (Jan. 7) ... Named to the Ivy League Honor Roll after registering a 17-point, 10-rebound double-double at Dartmouth (Jan. 14) ... Tallied 13 points on 5-of-7 shooting and three steals in just 15 minutes of action against Brown (Jan. 29) ... Named the Ivy League Player of the Week Feb. 6 after averaging 22.0 ppg at Cornell and Columbia and going 17-of-17 at the line ... Scored 23 points at Cornell (Feb. 3) with six rebounds and a career-high five steals ... Notched 21 points at Columbia (Feb. 4) while going 12-of-12 from the line, matching Reka Cserny '05 for the best single-game performance in program history ... Recorded back-to-back double-doubles with 17 points and 11 rebounds against Princeton (Feb. 11) and 20 points with 10 reboundsat Brown (Feb. 17) ... Named the Ivy League Player of the Week Feb. 20 after averaging 21.5 ppg and 8.5 rpg, including back-to-back 20-point performances, at Brown and Yale ... Netted 23 points on 10-of-12 shooting and grabbed seven rebounds at Yale (Feb. 18) ... Scored 18 points, grabbed seven boards and dished out three assists against Columbia (March 2) ... Tallied 23 points on 9-of-15 shooting with seven rebounds and two steals at Hofstra (March 15).

2010-11 (Freshman)
Named to the Ivy League all-rookie team ... Started all 28 games thiss season ... Was fourth on the team and eighth in the Ivy League in scoring, averaging 12.1 points per game ... Made 50.6 percent of her field goal attempts ... Was second on the team and 18th in the Ancient Eight in rebounds per game, averaging 4.7 boards ... Made 33 steals ... Scored seven points, handed out two assists, grabbed two rebounds and collected a steal in collegiate debut against Maine (Nov. 13) ... Named Ivy League Rookie of the Week (Nov. 22) for averaging  12.5 points, 5.5 rebounds and 2.5 assists per game in a win and loss for Harvard ... Scored a career-high 13 points, grabbed a career-high seven rebounds and handed out a career-best four assists in an 84-76 win over Oral Roberts (Nov. 19) .... Led the Crimson with 12 points at Navy (Nov. 20) ... Scored 11 points, grabbed five rebounds and handed out three assists against BU (Nov. 23) ... Scored a team-high 12 points which included a 4-for-4 effort from the free throw line at Holy Cross (Nov. 28) ... Went 4-for-6 from the field for 11 points and three rebounds in win over Hartford (Dec. 3) ... Named Ivy Leage Rookie of the Week (Dec. 6) ... Posted 10 points which included a 6-for-6 effort from the free throw line and a career-best five assists at Florida (Dec. 7) ... Scored a career-high 18 points on a 6-for-11 performance from the field, grabbed three rebounds and handed out three assists in win over UNH (Dec. 10) ... Led the Crimson with 18 points on a 7-for-9 effort from the field and grabbed five rbounds in loss to Sacred Heart (Dec. 22) ... Named to the Ivy League Honor Roll on Dec. 23 ... Had nine points and three assists at Dayton (Dec. 30) ... Made 7-of-8 attempts from the field for 16 points and grabbed six rebounds in win over UMass (Jan. 2) ... Named to the Ivy League Honor Roll on Jan. 3 ... Converted on 5-of-11 shots for 11 points at Boston College (Jan. 6) .... Grabbed a career-high eight reounds, scored six points and handed out four assists in win over NJIT (Jan. 9) ... Notched first collegiate double-double with 18 points and 10 rebounds on a 7-of-10 effort from the floor against Dartmouth (Jan. 15) ... Named to the Ivy League Honor Roll on Jan. 17 ... Scored the game winning basket against Columbia with 3.5 seconds left on the clock. Had 10 points against the Lions (Jan. 28) ... Named to the Ivy League Honor Roll on Jan. 31 ... Had game-high 18 points on an 8-for-8 effort from the line, five rebounds and two assists in win over Princeton (Feb. 4) ... Scored 13 points against Penn (Feb. 5) ... Named to the Ivy League Honor Roll on Feb. 7 ... Scored a career-high 28 points on an 11-for-13 effort from the field in win over Columbia (Feb. 19) ... Named Ivy League Rookie of the Week for Feb. 21 ... Dropped in 19 points in season finale at Dartmouth (Mar. 8).

Before Harvard
A McDonald’s All American Nominee and four-sport athlete from Tucson Magnet High School, is ranked No. 57 as a point guard on ESPN HoopGurlz. ... Led her team to a compelling 26-2 record averaging 18.5 points, 4.3 assist, 8.7 rebounds and 4.4 steals a game in senior season ... A three- time 5A All-State and three-time first-team All-Southern Arizona region honoree ... Three-time 5A Southern Arizona Player of the Year ... Nominee for the USA Basketball U-18 team as a senior ... A two-time Tucson Magnet High School Athlete of the Year ...  The 2009 State Champion in the 300-meter hurdles, 2010 state champion in the 100 and 300-meter hurdles and finished fifth in the 2010 high jump ...  Holds the high jump and 100 meter hurdles record at her school ... A finalist for the 2010 Arizona Scholar-Athlete of the Year.

Recent Games
Feb 28 at Cornell W, 70-66
Mar 1 at Columbia W, 64-51
Mar 7 Yale W, 69-65
Mar 8 Brown W, 87-67
Mar 20 at Iona W, 90-89
Mar 24 at Rutgers L, 63-52
Statistics category Overall Conf
Games 27 14
Games started 27 14
Minutes 786 417
Minutes per game 29.1 29.8
FG 147-375 76-196
FG Pct 39.2 38.8
3PT 27-93 16-50
3PT Pct 29.0 32.0
FT 125-151 67-78
FT Pct 82.8 85.9
Off rebounds 44 26
Def rebounds 86 50
Total rebounds 130 76
Rebounds per game 4.8 5.4
Personal fouls 62 35
Disqualifications 0 0
Assists 56 23
Turnovers 76 39
Assist to turnover ratio 0.7 0.6
Steals 23 15
Blocks 4 2
Points 446 235
Points per game 16.5 16.8
Points per 40 min 22.7 22.5
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 8 at DePaul L, 99-75 1 18 4-12 33.3 1-3 33.3 0-1 0.0 9
Nov 9 vs. California Poly W, 83-76 1 37 6-14 42.9 0-5 0.0 10-11 90.9 22
Nov 13 Boston University W, 76-67 1 27 7-15 46.7 1-3 33.3 6-6 100.0 21
Nov 16 North Dakota St. W, 84-56 1 24 8-17 47.1 2-5 40.0 3-4 75.0 21
Nov 19 Florida Int'l W, 64-52 1 27 7-15 46.7 2-2 100.0 5-7 71.4 21
Nov 23 at Colgate W, 91-76 1 31 8-18 44.4 1-5 20.0 4-5 80.0 21
Nov 26 at Northeastern W, 81-74 1 33 9-17 52.9 1-5 20.0 9-11 81.8 28
Dec 1 at St. John's L, 81-76 1 27 4-10 40.0 0-2 0.0 4-5 80.0 12
Dec 7 vs. Long Beach State L, 72-67 - - - - - - - - -
Dec 8 vs. Sacred Heart W, 74-63 - - - - - - - - -
Dec 21 Hofstra W, 60-41 - - - - - - - - -
Dec 29 vs. Tulsa W, 61-57 1 30 2-11 18.2 0-3 0.0 5-8 62.5 9
Dec 30 at Fordham L, 64-44 1 27 2-8 25.0 2-2 100.0 4-6 66.7 10
Jan 11 at Dartmouth W, 73-63 1 32 4-18 22.2 0-2 0.0 4-4 100.0 12
Jan 15 at NJIT W, 75-56 1 28 4-13 30.8 0-2 0.0 2-2 100.0 10
Jan 25 Dartmouth W, 77-59 1 28 5-13 38.5 2-7 28.6 5-6 83.3 17
Jan 31 at Princeton W, 78-68 1 35 6-12 50.0 2-4 50.0 11-12 91.7 25
Feb 1 at Penn L, 67-38 1 36 2-13 15.4 1-4 25.0 5-6 83.3 10
Feb 7 at Brown W, 91-71 1 24 7-11 63.6 1-2 50.0 4-5 80.0 19
Feb 8 at Yale W, 58-57 1 33 3-16 18.8 1-5 20.0 3-4 75.0 10
Feb 14 Columbia W, 99-64 1 20 7-11 63.6 1-1 100.0 6-9 66.7 21
Feb 15 Cornell W, 84-69 1 33 6-15 40.0 1-5 20.0 7-8 87.5 20
Feb 21 Penn L, 63-50 1 29 6-14 42.9 1-4 25.0 5-5 100.0 18
Feb 22 Princeton L, 69-64 1 39 8-22 36.4 3-8 37.5 4-4 100.0 23
Feb 28 at Cornell W, 70-66 1 34 6-19 31.6 2-5 40.0 4-4 100.0 18
Mar 1 at Columbia W, 64-51 1 23 5-10 50.0 0-1 0.0 2-3 66.7 12
Mar 7 Yale W, 69-65 1 26 4-11 36.4 0-0 - 2-2 100.0 10
Mar 8 Brown W, 87-67 1 25 7-11 63.6 1-2 50.0 5-6 83.3 20
Mar 20 at Iona W, 90-89 1 31 6-19 31.6 1-3 33.3 3-4 75.0 16
Mar 24 at Rutgers L, 63-52 1 29 4-10 40.0 0-3 0.0 3-3 100.0 11
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 8 at DePaul L, 99-75 1 18 3 1 4 4 2 2.0 1 1 0 0
Nov 9 vs. California Poly W, 83-76 1 37 2 5 7 5 7 0.7 1 0 1 0
Nov 13 Boston University W, 76-67 1 27 0 3 3 0 0 - 1 0 0 0
Nov 16 North Dakota St. W, 84-56 1 24 1 2 3 3 0 - 0 0 0 0
Nov 19 Florida Int'l W, 64-52 1 27 0 1 1 2 2 1.0 1 0 3 0
Nov 23 at Colgate W, 91-76 1 31 1 1 2 3 2 1.5 2 0 4 0
Nov 26 at Northeastern W, 81-74 1 33 1 6 7 3 6 0.5 0 0 2 0
Dec 1 at St. John's L, 81-76 1 27 0 7 7 2 2 1.0 0 0 2 0
Dec 7 vs. Long Beach State L, 72-67 - - - - - - - - - - - -
Dec 8 vs. Sacred Heart W, 74-63 - - - - - - - - - - - -
Dec 21 Hofstra W, 60-41 - - - - - - - - - - - -
Dec 29 vs. Tulsa W, 61-57 1 30 1 3 4 4 6 0.7 0 1 1 0
Dec 30 at Fordham L, 64-44 1 27 0 2 2 1 3 0.3 2 0 3 0
Jan 11 at Dartmouth W, 73-63 1 32 1 5 6 2 3 0.7 0 0 2 0
Jan 15 at NJIT W, 75-56 1 28 3 2 5 1 3 0.3 0 0 3 0
Jan 25 Dartmouth W, 77-59 1 28 0 7 7 1 1 1.0 1 0 0 0
Jan 31 at Princeton W, 78-68 1 35 4 1 5 1 1 1.0 0 1 1 -
Feb 1 at Penn L, 67-38 1 36 4 5 9 0 2 0.0 1 0 3 -
Feb 7 at Brown W, 91-71 1 24 1 4 5 2 1 2.0 1 1 3 -
Feb 8 at Yale W, 58-57 1 33 1 6 7 2 2 1.0 2 0 3 0
Feb 14 Columbia W, 99-64 1 20 1 3 4 4 3 1.3 0 0 0 -
Feb 15 Cornell W, 84-69 1 33 2 2 4 1 5 0.2 1 0 3 -
Feb 21 Penn L, 63-50 1 29 2 2 4 1 5 0.2 3 0 4 -
Feb 22 Princeton L, 69-64 1 39 5 4 9 3 2 1.5 1 0 4 -
Feb 28 at Cornell W, 70-66 1 34 3 4 7 0 6 0.0 2 0 3 -
Mar 1 at Columbia W, 64-51 1 23 2 2 4 1 3 0.3 1 0 4 -
Mar 7 Yale W, 69-65 1 26 0 1 1 1 3 0.3 1 0 3 -
Mar 8 Brown W, 87-67 1 25 0 4 4 4 2 2.0 1 0 2 -
Mar 20 at Iona W, 90-89 1 31 4 2 6 3 0 - 0 0 4 -
Mar 24 at Rutgers L, 63-52 1 29 2 1 3 2 4 0.5 0 0 4 -
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
2010-11 28 28 27.6 4.2-8.2 50.6 0.6-1.8 35.3 3.1-3.8 81.9 12.1
2011-12 30 30 31.8 5.1-12.4 41.3 0.6-3.0 20.2 4.4-5.2 84.6 15.3
2012-13 30 30 31.0 5.7-12.1 47.3 0.7-2.1 33.9 3.5-4.1 84.6 15.6
2013-14 27 27 29.1 5.4-13.9 39.2 1.0-3.4 29.0 4.6-5.6 82.8 16.5
Total 115 115 29.9 5.1-11.7 43.9 0.7-2.6 28.5 3.9-4.7 83.6 14.9
  gp gs min fg pct 3pt pct ft pct pts
2010-11 28 28 773 117-231 50.6 18-51 35.3 86-105 81.9 338
2011-12 30 30 955 154-373 41.3 18-89 20.2 132-156 84.6 458
2012-13 30 30 930 172-364 47.3 21-62 33.9 104-123 84.6 469
2013-14 27 27 786 147-375 39.2 27-93 29.0 125-151 82.8 446
Total 115 115 3444 590-1343 43.9 84-295 28.5 447-535 83.6 1711
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
2010-11 28 28 27.6 6.1-12.0 50.6 0.9-2.6 35.3 4.5-5.4 81.9 17.5
2011-12 30 30 31.8 6.5-15.6 41.3 0.8-3.7 20.2 5.5-6.5 84.6 19.2
2012-13 30 30 31.0 7.4-15.7 47.3 0.9-2.7 33.9 4.5-5.3 84.6 20.2
2013-14 27 27 29.1 7.5-19.1 39.2 1.4-4.7 29.0 6.4-7.7 82.8 22.7
Total 115 115 29.9 6.9-15.6 43.9 1.0-3.4 28.5 5.2-6.2 83.6 19.9
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
2010-11 28 28 27.6 1.7 3.0 4.7 2.5 0.1 1.9 3.1 0.6 1.2 0.4
2011-12 30 30 31.8 2.1 3.5 5.6 2.0 0.0 1.7 3.5 0.5 1.5 0.5
2012-13 30 30 31.0 1.6 3.5 5.1 2.2 0.1 2.3 3.5 0.7 1.2 0.2
2013-14 27 27 29.1 1.6 3.2 4.8 2.3 0.0 2.1 2.8 0.7 0.9 0.1
Total 115 115 29.9 1.8 3.3 5.1 2.3 0.0 2.0 3.2 0.6 1.2 0.3
  gp gs min off def reb pf dq ast to a/to stl blk
There was a problem with a Velocity script
Pagebio-template
ErrorVM #split: too few arguments to macro. Wanted 4 got 3 at bio-template[line 178, column 5]
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: ## HACK TO GET STATS URL FROM RENDERER... NEEDS SERVER CHANGE
8: #set ($bioObject = $page.getDataAsObject())
9: #set ($statsURL = $bioObject.statsURL)
10: 
11: #if ($statsURL.length() > 0)
12:   $website.includeAgain("${statsURL}?tmpl=bio-stats-template")
13:   ## various settings to get the variables set
14:   #set ($events = $request.getAttribute("bio_events"))
15:   #set ($seasons = $request.getAttribute("bio_seasons"))
16:   #set ($career = $request.getAttribute("bio_career"))
17:   #set ($labels = $request.getAttribute("bio_labels"))
18:   #set ($briefs = $request.getAttribute("bio_briefs"))
19:   #set ($gamelogs = $request.getAttribute("bio_gamelogs"))
20:   #set ($splits = $request.getAttribute("bio_splits"))
21:   #set ($statPosition = $request.getAttribute("bio_position"))
22:   #set ($positions = $request.getAttribute("bio_positions"))
23:   #set ($playerId = $request.getAttribute("bio_player_id"))
24:   #set ($highlights = $request.getAttribute("bio_highlights"))
25:   #set ($formats = $request.getAttribute("bio_formats"))
26:   #set ($gamelogsCategoriesLabels = $request.getAttribute("bio_gamelogs_labels"))
27:   #set ($briefsCategoriesLabels = $request.getAttribute("bio_briefs_labels"))
28:   #set ($gamesResults = $request.getAttribute("bio_games_results"))
29:   #set ($monthsPlayed = $request.getAttribute("bio_months_played"))
30: #end
31: 
32: #set ($pos = "")
33: #set ($pos = $attributes.get("position"))
34: #set ($pos = $statPosition)
35: #set ($posVec = $pos.split("/"))
36: #set ($pos = $posVec[0])
37: #set ($pos = $pos.toLowerCase())
38: #set ($statPos = $positions.get($pos))
39: #set ($paramPos = $request.getParameter("pos"))
40: 
41: #set ($playerId = $attributes.get("playerId"))
42: #set ($stats = $splits.overall)
43: #set ($highlights = $highlights.get($statPos))
44: 
45: #set ($showHighlights = true)
46: #if ($options.get("bio_show_highlights") && $options.get("bio_show_highlights") == false)
47: 	#set ($showHighlights = false)
48: #end
49: 
50: #set ($showCareer = $wiki.valid() && $seasons)
51: #if ("yes" == $options.get("stats_show_career") && $seasons)
52:   #set ($showCareer = true)
53: #end
54: 
55: #set ($hasEvents = $events.size() > 0)
56: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
57: #set ($htmlStatsURL = "${page.url}-stats")
58: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
59: #set ($bioBriefURL = "${page.url}-brief")
60: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
61: #set ($showRoster = ($page.contentType == "loki/bio" && $page.headlinesFeatured.size() > 0) || ($page.contentType == "loki/bio-network" && $page.sectionPage.children.size() > 1))
62: #if ($options.get("bio_hide_roster") == true)
63:   #set ($showRoster = false)
64: #end
65: 
66: #set ($view = "")
67: #if ($hasSynopsis || $hasBioBrief)
68:   #set ($view = "bio")
69: #elseif ($statsURL.length() > 0)
70:   #set ($view = "profile")
71: #elseif ($hasHTMLStats)
72:   #set ($view = "htmlstats")
73: #end
74: 
75: #if ($options.get("bio_default_view").length() > 0)
76:   #set ($checkView = $options.get("bio_default_view"))
77: #end
78: 
79: #if ($request.getParameter("view"))
80:   #set ($checkView = $request.getParameter("view"))
81: #end
82: 
83: #if ($checkView == "profile" && $statsURL.length() > 0)
84:   #set ($view = "profile")
85: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief))
86:   #set ($view = "bio")
87: #elseif ($checkView == "gamelog" && $statsURL.length() > 0)
88:   #set ($view = "gamelog")
89: #elseif ($checkView == "career" && $showCareer)
90:   #set ($view = "career")
91: #elseif ($checkView == "splits" && $statsURL.length() > 0)
92:   #set ($view = "splits")
93: #elseif ($checkView == "htmlstats" && $hasHTMLStats)
94:   #set ($view = "htmlstats")
95: #end
96: 
97: #macro (gamelogData $p)
98: 
99: #set ($p = $positions.get($p))
100: #set ($gamelogs = $gamelogs.get($p))
101: 	
102: #if ($hasEvents)
103: <div class="stats-box full clearfix">
104: <div class="scrollable">
105: <div>
106: <table>
107:   <tr class="thead">
108:     <th class="text">Date</th>
109:     <th class="pinned-col text">Opponent</th>
110:     <th>Score</th>
111:     #foreach ($gamelog in $gamelogs)
112:       <th>$gamelog</th>
113:     #end
114:   </tr>
115: #foreach ($event in $events)
116:   <tr>
117:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
118:     <td class="pinned-col text">
119:       #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
120:       $event.event.opponent.name
121:     </td>
122:     <td>
123:     #if ($event.event.statusCode >= 0)
124:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
125:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
126:       #else
127:       ${event.event.APResult}
128:       #end
129:     #else &nbsp; #end
130:     </td>
131:     #foreach ($gamelog in $gamelogs.keySet())
132:       #set ($value = "-")
133:       #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
134:       <td>$value</td>
135:     #end
136:   </tr>
137: #end
138: </table>
139: </div>
140: </div> ## scrollable
141: </div> ## stats-box
142: #end
143: 
144: #end ## macro gamelogData
145: 
146: #macro (split $statPosBriefs $label $stats)
147:   <tr>
148:     <td class="pinned-col text">${label}</td>
149:     #foreach ($brief in $statPosBriefs.keySet())
150:       #set ($value = "-")
151:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
152:       <td>#if ($value.length() > 0) $value #else - #end</td>
153:     #end
154:   </tr>
155: #end
156: 
157: #macro (careerData $p)
158: #set ($p = $positions.get($p))
159: #set ($statPosBriefs = $briefs.get($p))
160: 
161: <div class="stats-box full clearfix">
162: <div class="scrollable">
163: <div>
164: <table>
165: <tr class="thead">
166:   <th class="pinned-col">&nbsp;</th>
167:   #foreach ($brief in $statPosBriefs)
168:     <th>$brief</th>
169:   #end
170: </tr>
171: 
172: #set ($careerTotals = $request.getAttribute("careerTotals"))
173: #set ($careerMap = $request.getAttribute("careerMap"))
174: 
175: #foreach ($season in $seasons)
176:   ## Check if we did not get stats for this season
177:   #if ($careerMap.get($season.seasonName))
178:     #split($statPosBriefs, $season.seasonName, $careerMap[$season.seasonName])
179:   #elseif ($wiki.valid())
180:     <tr>
181:       <td class="text">${season.seasonName}</td>
182:       <td colspan="${briefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
183:     </tr>
184:   #end
185: #end
186: 
187: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
188: 
189: </table>
190: </div>
191: </div> ## scrollable
192: </div> ## stats-box
193: 
194: #end ## macro careerData
195: 
196: #macro (splitsData $p)
197: 
198: #set ($p = $positions.get($p))
199: #set ($statPosBriefs = $briefs.get($p))
200: #set ($colspan = $tool.math.add($statPosBriefs.size(), 1))	
201: 	
202: #if ($statPosBriefs.size() > 0)
203: <div class="stats-box full clearfix">
204: <div class="scrollable">
205: <div>
206: <table>
207:   <tr>
208:     <th class="pinned-col">&nbsp;</th>
209:     #foreach ($brief in $statPosBriefs)
210:       <th>$brief</th>
211:     #end
212:   </tr>
213: 
214: #split($statPosBriefs, "Total", $splits.overall)
215: #split($statPosBriefs, "Conference", $splits.conference)
216: #split($statPosBriefs, "Exhibition", $splits.exhibition)
217: 
218: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
219: 
220: #split($statPosBriefs, "Home", $splits.home)
221: #split($statPosBriefs, "Away", $splits.away)
222: #split($statPosBriefs, "Neutral", $splits.neutral)
223: 
224: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
225: 
226: #foreach($gameResult in $gamesResults.entrySet())
227:   #if ($gameResult.key == "wins")
228:     #set ($splitGameResult = $splits.inWins)
229:   #elseif ($gameResult.key == "losses")
230:     #set ($splitGameResult = $splits.inLosses)
231:   #elseif ($gameResult.key == "ties")
232:     #set ($splitGameResult = $splits.inTies)
233:   #end
234: 	
235:   #split($statPosBriefs, $gameResult.value, $splitGameResult)
236: #end
237: 
238: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
239: 
240: #if ($monthsPlayed and $monthsPlayed.size() > 0)
241:   #foreach($month in $monthsPlayed)
242:     #if ($month == 'January')
243:       #set ($splitMonth = $splits.january)
244:     #elseif ($month == 'February')
245:       #set ($splitMonth = $splits.february)
246:     #elseif ($month == 'March')
247:       #set($splitMonth = $splits.march)
248:     #elseif ($month == 'April')
249:       #set($splitMonth = $splits.april)
250:     #elseif ($month == 'May')
251:       #set ($splitMonth = $splits.may)
252:     #elseif ($month == 'June')
253:       #set ($splitMonth = $splits.june)
254:     #elseif ($month == 'July')
255:       #set($splitMonth = $splits.july)
256:     #elseif ($month == 'August')
257:       #set ($splitMonth = $splits.august)
258:     #elseif ($month == 'September')
259:       #set($splitMonth = $splits.september)
260:     #elseif ($month == 'October')
261:       #set($splitMonth = $splits.october)
262:     #elseif ($month == 'November')
263:       #set ($splitMonth = $splits.november)
264:     #elseif ($month == 'December')
265:       #set($splitMonth = $splits.december)
266:     #end
267: 		
268:     #split($statPosBriefs, $month, $splitMonth)
269:   #end ## foreach
270: #end
271: </table>
272: </div>
273: </div> ## scrollable
274: </div> ## srollable-table
275: #end
276: 
277: #end ## macro splitsData
278: 
279: #macro (printRecentGames)
280: #if ($hasEvents)
281: <table>
282:   <tr class="thead"><th colspan="3">Recent Games</th></tr>
283:   
284: #set ($eventEnd = -1)
285: #foreach ($event in $events)
286:   #if ($event.event.result.resolved)
287:     #set ($eventEnd = $velocityCount)
288:   #end
289: #end
290: 
291: #set ($eventStart = $eventEnd - 5)
292: #if ($eventStart < 0) #set ($eventStart = 0) #end
293: 
294: #foreach ($event in $events)
295: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
296:   <tr>
297:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
298:     <td class="text">
299:       #if ($event.event.neutralSite.length() > 0) vs.
300:       #elseif (!$event.event.home) at
301:       #else ## nothing for a home game
302:       #end
303:       $event.event.opponent.name
304:     </td>
305:     <td class="text">
306:     #if ($event.event.statusCode >= 0)
307:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
308:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
309:       #else
310:       ${event.event.APResult}
311:       #end
312: 	#end
313: 	</td>
314:   </tr>
315: #end ## if
316: #end
317: </table>
318: #end
319: #end ## macro printRecentGames
320: 
321: #macro (printCategories $briefCategoryLabels $v)
322: 	
323: <div class="tab-container secondary clearfix">
324: <div class="tab-nav" data-jscroll="true" data-momentum="false">
325: <div>
326: <ul class="clearfix">
327: #foreach($briefCat in $briefCategoryLabels.entrySet())
328:   #set ($briefCatLabel = $briefCat.value)
329:   #set ($briefCatKey = $briefCat.key)
330: 		
331:   #if ($locale == "en_gb" && $briefCatLabel == "Defense")
332:     #set ($briefCatLabel = "Defence")
333:   #end	
334: 	
335:   <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}">$briefCatLabel</a></li>
336: #end
337: </ul>
338: </div>
339: </div>
340: <div class="tab-panels">
341: #foreach ($briefCat in $briefCategoryLabels.entrySet())
342:   #set ($class = "tab-panel clearfix")
343:   #if ($briefCat.key == $activePos)
344:     #set ($class = "tab-panel active clearfix")
345:   #end
346:   <div class="$class">
347:     <div class="stats-wrap clearfix">
348:     #if ($v == "splits")
349:       #splitsData($briefCat.key)
350:     #elseif ($v == "career")
351:       #careerData($briefCat.key)
352:     #end
353:     </div>
354:   </div>
355: #end	
356: </div>
357: </div> ## tab-container
358: 
359: #end ## macro printCategories
360: 	
361: #macro (printHeadshot)
362: 
363: #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
364: 
365: #if ($headshot.url)
366:   <img src="$headshot.url?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
367: #else
368:   #if ($website.exists("/images/setup/headshot_default.jpg"))
369:     <img src="/images/setup/headshot_default.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
370:   #else
371:     <img src="/info/images/default_headshot.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
372:   #end
373: #end
374: #end ## macro printHeadshot
375: 	
376: #macro (printBioInfo)
377: <div class="player-name">
378:   #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
379:   <span class="name">$fullName</span>
380: </div>	
381: 	
382: <table>
383: #foreach ($i in [1..10])
384:   #set ($stickyKey = "bio_custom${i}_sticky")
385:   #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
386:     <tr>
387:       <td class="label">$options.get($stickyKey): </td>
388:       <td class="value">$!attributes.get("custom${i}")</td>
389:     </tr>
390:   #end
391: #end
392: 
393: #foreach ($field in $fields)
394:   #if (!$field.key.startsWith("custom"))
395:     #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
396:       #if ($field.key == "phone1" || $field.key == "phone2")
397:         <tr>
398:           <td class="label">Phone: </td>
399:           <td class="value">$!attributes.get($field.key)</td>
400:         </tr>
401:       #elseif ($field.key == "email_address")
402:         #set ($emailAdd = $attributes.get($field.key))
403:         <tr>
404:           <td class="label">Email: </td>
405:           <td class="value"><a href="mailto:${emailAdd}">$emailAdd</a></td>
406:         </tr>
407:       #else
408:         <tr>
409:           <td class="label">$field.value: </td>
410:           <td class="value">$!attributes.get($field.key)</td>
411:         </tr>
412:       #end
413:     #end
414:   #end
415: #end
416: 
417: #foreach ($i in [1..10])
418:   #set ($customKey = "bio_custom${i}")
419:   #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
420:     <tr>
421:       <td class="label">$options.get($customKey): </td>
422:       <td class="value">$!attributes.get("custom${i}")</td>
423:     </tr>
424:   #end
425: #end
426: </table>
427: #end ## macro printBioInfo
428: 	
429: #macro (printHighlights)
430: #foreach ($highlight in $highlights.keySet())
431:   #set ($value = "-")
432:   #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
433:   <div class="stat clearfix">
434:     <span class="stat-title">$!highlights.get($highlight)</span>
435:     <span class="stat-value">$value</span>
436:   </div>
437: #end
438: #end ## macro printHighlights
439: 	
440: #macro (printRoster)
441: #if ($page.contentType == "loki/bio")
442:   #set ($headlinesFeaturedSize = 0)
443:   #foreach ($featuredPage in $page.headlinesFeatured)
444:     #if ($featuredPage.contentType == "loki/headlines")
445:       #set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1)
446:     #end
447:   #end
448:   #if ($headlinesFeaturedSize > 0)
449:     <select class="roster-select-list">
450:       <option selected="selected">Related Bios</option>
451:       #foreach ($featuredPage in $page.headlinesFeatured)
452:         #if ($featuredPage.contentType == "loki/headlines")
453:           $website.includeAgain("${featuredPage.url}?tmpl=roster-list-template&current_url=${page.url}")
454: 		#end
455: 	  #end
456:     </select>
457:   #end
458: #elseif ($page.contentType == "loki/bio-network")
459:   #set ($relatedPlayers = $page.sectionPage.children)
460:   #set ($teamNames = {})
461:   #foreach ($relatedPlayer in $relatedPlayers)
462:     #if ($relatedPlayer.contentType == "loki/bio-network")
463:       #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
464:       #set ($teamName = $relatedPlayerObj.get("team"))
465:       #if ($teamName.length() > 0)
466:         #if (!$teamNames.containsValue($teamName))
467:           $!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName)
468:         #end
469:       #end
470:     #end
471:   #end
472: 
473:   <select class="roster-select-list">
474:   #foreach ($i in [1..$teamNames.size()])
475:     #if ($teamNames.size() > 1)
476:       <optgroup label="$teamNames.get($i)">
477:     #end
478: 				
479:     #foreach ($relatedPlayer in $relatedPlayers)
480:       #if ($relatedPlayer.contentType == "loki/bio-network")
481:         #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
482:         #set ($teamName = $relatedPlayerObj.get("team"))
483:         #if ($teamName.length() > 0 && $teamName == $teamNames.get($i))
484:           #set ($playerFirstName = $relatedPlayerObj.get("first_name"))
485:           #set ($playerLastName = $relatedPlayerObj.get("last_name"))
486:           #if ($page.url == $relatedPlayer.url)
487:             <option value="$relatedPlayer.url" selected="selected">${playerFirstName} ${playerLastName}</option>
488:           #else
489:             <option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option>
490:           #end
491:         #end
492:       #end
493:     #end
494: 				
495:     #if ($teamNames.size() > 1)
496:       </optgroup>
497:     #end
498:   #end
499:   </select>
500: #end
501: #end ## macro printRoster
502: 	
503: ################################################## END MACROS  #############################################################
504: 
505: #if ($attributes.get("full_name"))
506:   #set ($fullName = $attributes.get("full_name"))
507: #else
508:   #set ($firstName = $!attributes.get("first_name"))
509:   #set ($lastName = $!attributes.get("last_name"))
510:   #set ($fullName = "${firstName} ${lastName}")
511: #end
512: 
513: ## FULL ROSTER
514: <div class="bio-wrap clearfix">
515: 	
516: ## RELATED BIOS
517: #if ($showRoster)
518:   <div class="related-bios clearfix">#printRoster</div>
519: #end
520:   
521: <div class="head clearfix">
522: <div class="clearfix">
523:     
524: <div class="player-about clearfix">
525:   <div class="player-headshot">#printHeadshot</div>
526:   <div class="player-info">#printBioInfo</div>
527: </div>
528: 
529: #if ($highlights && $showHighlights)
530:   <div class="player-highlights clearfix">#printHighlights</div>
531: #end
532: 
533: </div>
534: </div> ## head
535: 
536: #if ($view.length() > 0)
537: <div class="body clearfix">
538:   
539: <div class="tab-container primary clearfix">
540:   
541: <div class="tab-nav" data-jscroll="true" data-momentum="false">
542:   <div>
543:   <ul class="clearfix">
544:   #if ($hasSynopsis || $hasBioBrief)
545:     <li #if ($view == "bio") class="active" #end><a href="${page.url}?view=bio">Bio</a></li>
546:   #end
547: 		
548:   #if ($statsURL.length() > 0)
549:     <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile">Player Profile</a></li>
550:     <li #if ($view == "gamelog") class="active" #end><a href="${page.url}?view=gamelog">Game Log</a></li>
551:     #if ($showCareer)
552:       <li #if ($view == "career") class="active" #end><a href="${page.url}?view=career">Career Stats</a></li>
553:     #end
554:     <li #if ($view == "splits") class="active" #end><a href="${page.url}?view=splits">Split Stats</a></li>
555:   #end
556: 
557:   #if ($hasHTMLStats)
558:     <li #if ($view == "htmlstats") class="active" #end><a href="${page.url}?view=htmlstats">HTML Stats</a></li>
559:   #end
560:   </ul>
561:   </div>
562: </div> ## tab-nav
563: 
564: <div class="tab-panels clearfix">
565: 	
566: ## BIO
567: #if ($hasSynopsis || $hasBioBrief)
568: 
569: #set ($class = "tab-panel clearfix")
570: #if ($view == "bio")
571:   #set ($class = "tab-panel active clearfix")
572: #end
573: <div class="${class}">
574: 
575: <div class="synopsis clearfix">
576: #if ($hasSynopsis)
577:   $synopsis
578: #elseif ($hasBioBrief)
579:   $website.include("$bioBriefURL")
580: #end
581: </div>
582: 
583: </div> ## tab-panel
584: #end 
585: ## BIO
586: 
587: ## STATS
588: #if ($statsURL.length() > 0)
589: 
590: ## PROFILE
591: #set ($class = "tab-panel clearfix")
592: #if ($view == "profile")
593:   #set ($class = "tab-panel active clearfix")
594: #end
595: <div class="${class}">
596: <div class="stats-wrap clearfix">
597: 
598: ## LAST SIX GAMES
599: <div class="stats-box half">
600: #printRecentGames()
601: </div>
602: 
603: ## RANKING
604: <div class="stats-box half">
605: #if ($statPos.length() > 0)
606:   $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
607: #end
608: </div>
609: 
610: </div> ## stats-wrap	
611: </div> ## tab-content
612: ## PROFILE
613: 
614: ## GAMELOG
615: #set ($class = "tab-panel clearfix")
616: #if ($view == "gamelog")
617:   #set ($class = "tab-panel active clearfix")
618: #end
619: 
620: #set ($activePos = $statPos)
621: #if ($view == "gamelog" && $paramPos.length() > 0)
622:   #if ($positions.get($paramPos).length() > 0)
623:     #set ($activePos = $positions.get($paramPos))
624:   #end
625: #end
626: 
627: <div class="${class}">
628: 
629: #if ($gamelogsCategoriesLabels)
630: <div class="tab-container secondary clearfix">
631:   <div class="tab-nav" data-jscroll="true" data-momentum="false">
632:     <div>
633:     <ul class="clearfix">
634:     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
635:       #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
636: 		
637:       #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
638:         #set($gamelogsCatLabelVal = "Defence")
639:       #end
640: 
641:       <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end><a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}">$gamelogsCatLabelVal</a></li>
642:     #end
643:     </ul>
644: 	</div>
645:   </div>
646:   <div class="tab-panels">
647:   #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
648:     #set ($class = "tab-panel clearfix")
649:     #if ($gamelogsCatLabel.key == $activePos)
650:       #set ($class = "tab-panel active clearfix")
651:     #end
652:     <div class="${class}">
653:       <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
654: 	</div>
655:   #end   
656:   </div>
657: </div>	
658: #else
659:   <div class="stats-wrap clearfix">#gamelogData($pos)</div>
660: #end
661: 	
662: </div> ## tab-panel
663: ## GAMELOG
664: 
665: 
666: ## CAREER
667: #if ($showCareer)
668: 
669: #set ($activePos = $statPos)
670: #if ($view == "career" && $paramPos.length() > 0)
671:   #if ($positions.get($paramPos).length() > 0)
672:     #set ($activePos = $positions.get($paramPos))
673:   #end
674: #end
675: 
676: #set ($class = "tab-panel clearfix")
677: #if ($view == "career")
678:   #set ($class = "tab-panel active clearfix")
679: #end
680: 
681: <div class="${class}">
682: 
683: #if ($briefsCategoriesLabels)
684:   #printCategories($briefsCategoriesLabels "career")
685: #else
686:   <div class="stats-wrap clearfix">#careerData($activePos)</div>
687: #end		
688: 
689: </div> ## tab-panel
690: #end
691: ## CAREER
692: 
693: ## SPLITS
694: #set ($class = "tab-panel clearfix")
695: #if ($view == "splits")
696: 	#set ($class = "tab-panel active clearfix")
697: #end
698: 
699: #set ($activePos = $statPos)
700: #if ($view == "splits" && $paramPos.length() > 0)
701:   #if ($positions.get($paramPos).length() > 0)
702:     #set ($activePos = $positions.get($paramPos))
703:   #end
704: #end
705: 
706: <div class="${class}">
707: 
708: #if ($briefsCategoriesLabels)
709:   #printCategories($briefsCategoriesLabels "splits")
710: #else
711:   <div class="stats-wrap clearfix">#splitsData($pos)</div>
712: #end		
713: 
714: </div> ## tab-panel
715: ## SPLITS
716: 
717: #end 
718: ## STATS
719: 
720: ## HTML STATS
721: #if ($hasHTMLStats)
722: 
723: #set ($class = "tab-panel clearfix")
724: #if ($view == "htmlstats")
725:   #set ($class = "tab-panel active clearfix")
726: #end
727: <div class="${class}">
728:   <a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a>
729: </div>
730: 
731: #end
732: ## HTML STATS
733: 	
734: </div> ## tab-panels
735: </div> ## tab-container
736: </div> ## body
737: #end
738: 
739: $wiki
740: </div> ## ends bio-wrap