25 John Salas
25 John Salas
Height: 6-2
Weight: 190
Year: Senior
Hometown: La Crescenta, CA
Position: LHP
Major: Journalism
Bats/Throws: L/L
EXP: 1V
Previous School: College of the Canyons
app 19
gs 9
w 4
l 4
sv 0
ip 51.0
era 4.24
k 33

2014

John Salas was used as both a starter and reliever in his senior season. He made 10 appearances out of the bullpen and earned nine starts as well, finishing the year with a 4-4 record and a 4.24 ERA. He pitched a complete game, the third of his career, and struck out a career high seven batters in a win over Utah Valley (3/10). In 51.0 innings, Salas recorded 33 strikeouts and walked just nine batters.

2013

Salas worked his way into the starting rotation in his first season with the Matadors. Salas appeared in 21 games and made 13 starts for CSUN while going 4-6 with a 3.49 ERA. He pitched two complete games, at UC Irvine and against UC Riverside, and went into the eighth inning on four different occasions. Salas struck out 52 batters and walked only 12 in 80.0 innings of work as well. He had six strikeouts in two different appearances to set a career high.

COLLEGE OF THE CANYONS

Salas was a starting pitcher for the Cougars from 2011-12. He earned his associate degree in Social Science in 2012.

CRESCENTA VALLEY HIGH SCHOOL

Salas was a pitcher for the Falcons for four seasons. He graduated in 2009.

CAREER PITCHING STATS

Year  GP-GS 
 W-L 
 CG 
SHO SV   IP  H  R  ER BB SO  ERA
2013   21-13   4-6   2
  0
 0  80.0
 76
35
 31
12 52  3.49
2014
  19-9
  4-4
  1
 0/1
 0  51.0
 63 
33
 24 
 9
33
 4.24
 
   
 
 
   
 
 
 
 
 
 
                         
Total   40-22  8-10
  3
 0/1
 0 131.0
139
68
 55
21
85
 3.78
                         


Recent Games
May 16 #6 Cal Poly L, 16-10
May 17 #6 Cal Poly L, 6-3
May 18 #6 Cal Poly L, 3-2
May 22 at Cal State Fullerton L, 4-2
May 23 at Cal State Fullerton L, 3-0
May 24 at Cal State Fullerton L, 6-0
Statistics category Overall Conf
Games 19 6
Plate appearances 0 0
At Bats 0 0
Runs 0 0
Hits 0 0
Doubles - -
Triples - -
Home Runs - -
Runs Batted In 0 0
Total bases 0 0
Walks - -
Hit by pitch - -
Strikeouts - -
Sacrifice Flies - -
Sacrifice Hits - -
Hit into double play - -
Stolen Bases - -
Caught Stealing - -
Batting Average - -
On Base Percentage - -
Slugging Percentage - -
Appearances 19 6
Games started 9 3
Wins 4 2
Losses 4 2
Saves 0 0
Complete Games 1 -
Shutouts - -
Innings Pitched 51.0 20.1
Hits 63 23
Runs 33 15
Earned Runs 24 10
Walks 9 5
Strikeouts 33 11
Strikeouts per Game 5.82 4.87
Doubles Allowed 14 6
Triples Allowed 5 3
Home Runs Allows 2 -
At Bats Against 207 81
Batting Average Against .304 .284
Earned Run Average 4.24 4.43
Wild pitches 2 2
Hit Batters 8 3
Balks 2 2
Sacrifice Flies Allowed 5 4
Sacrifice Hits Allowed 5 1
Total Chances 12 5
Put Outs 3 1
Assists 7 3
Errors 2 1
Fielding Percentage .833 .800
Double Plays - -
Stolen Bases Allowed 2 -
Runners Caught Stealing 1 -
Runners Caught Stealing Percentage .333 -
Passed Balls - -
Catcher's Interference - -
Date Opponent Score ab r h 2b 3b hr rbi bb k sb cs
Feb 1 Alumni W, 5-2 - - - - - - - - - - -
Feb 14 at Bethune-Cookman L, 2-1 - - - - - - - - - - -
Feb 15 at Bethune-Cookman W, 2-1 0 0 0 - - - 0 - - - -
Feb 16 at Bethune-Cookman W, 2-0 0 0 0 - - - 0 - - - -
Feb 18 at #12 UCLA L, 7-1 0 0 0 - - - 0 - - - -
Feb 21 Seattle University L, 4-2 - - - - - - - - - - -
Feb 22 Seattle University W, 14-4 - - - - - - - - - - -
Feb 22 Seattle University W, 4-3 0 0 0 - - - 0 - - - -
Feb 23 Seattle University L, 4-2 - - - - - - - - - - -
Feb 27 Washington State W, 3-2 0 0 0 - - - 0 - - - -
Feb 28 Washington State   - - - - - - - - - - -
Mar 2 Washington State L, 1-0 0 0 0 - - - 0 - - - -
Mar 2 Washington State W, 1-0 - - - - - - - - - - -
Mar 4 at CSU Bakersfield L, 3-1 - - - - - - - - - - -
Mar 5 at Loyola Marymount L, 12-11 0 0 0 - - - 0 - - - -
Mar 7 at #20 Sam Houston State L, 6-0 - - - - - - - - - - -
Mar 8 at #20 Sam Houston State L, 2-1 - - - - - - - - - - -
Mar 9 at #20 Sam Houston State L, 3-2 - - - - - - - - - - -
Mar 10 Utah Valley University W, 7-1 0 0 0 - - - 0 - - - -
Mar 11 San Diego State L, 12-0 - - - - - - - - - - -
Mar 13 West Virginia L, 5-4 - - - - - - - - - - -
Mar 14 West Virginia W, 4-2 - - - - - - - - - - -
Mar 15 West Virginia L, 14-11 0 0 0 - - - 0 - - - -
Mar 18 CSU Bakersfield L, 3-2 0 0 0 - - - 0 - - - -
Mar 19 Stony Brook W, 1-0 - - - - - - - - - - -
Mar 24 Washington State W, 2-1 - - - - - - - - - - -
Mar 25 at Pepperdine W, 4-2 0 0 0 - - - 0 - - - -
Mar 28 Long Beach State L, 10-5 - - - - - - - - - - -
Mar 29 Long Beach State L, 4-3 - - - - - - - - - - -
Mar 30 Long Beach State W, 6-5 0 0 0 - - - 0 - - - -
Apr 4 at UC Riverside L, 4-2 - - - - - - - - - - -
Apr 5 at UC Riverside L, 6-2 - - - - - - - - - - -
Apr 6 at UC Riverside W, 7-1 0 0 0 - - - 0 - - - -
Apr 8 at Fresno State L, 8-2 - - - - - - - - - - -
Apr 11 at UC Irvine L, 7-5 - - - - - - - - - - -
Apr 12 at UC Irvine L, 5-4 - - - - - - - - - - -
Apr 13 at UC Irvine L, 10-2 0 0 0 - - - 0 - - - -
Apr 15 Pepperdine L, 9-5 - - - - - - - - - - -
Apr 17 Hawai'i W, 6-2 - - - - - - - - - - -
Apr 18 Hawai'i W, 2-1 - - - - - - - - - - -
Apr 19 Hawai'i L, 9-1 0 0 0 - - - 0 - - - -
Apr 22 at San Diego State L, 7-5 - - - - - - - - - - -
Apr 25 at #23 TCU L, 6-2 - - - - - - - - - - -
Apr 26 at #23 TCU L, 1-0 - - - - - - - - - - -
Apr 27 at #23 TCU L, 3-0 0 0 0 - - - 0 - - - -
Apr 29 at CSU Bakersfield W, 9-8 0 0 0 - - - 0 - - - -
May 2 UC Davis W, 13-6 - - - - - - - - - - -
May 3 UC Davis L, 11-0 - - - - - - - - - - -
May 4 UC Davis L, 3-2 - - - - - - - - - - -
May 9 at UC Santa Barbara L, 4-3 - - - - - - - - - - -
May 10 at UC Santa Barbara L, 6-0 - - - - - - - - - - -
May 11 at UC Santa Barbara W, 4-1 - - - - - - - - - - -
May 16 #6 Cal Poly L, 16-10 0 0 0 - - - 0 - - - -
May 17 #6 Cal Poly L, 6-3 - - - - - - - - - - -
May 18 #6 Cal Poly L, 3-2 - - - - - - - - - - -
May 22 at Cal State Fullerton L, 4-2 - - - - - - - - - - -
May 23 at Cal State Fullerton L, 3-0 - - - - - - - - - - -
May 24 at Cal State Fullerton L, 6-0 0 0 0 - - - 0 - - - -
Date Opponent Score hbp sf sh tb xbh hdp go fo go/fo pa
Feb 1 Alumni W, 5-2 - - - - - - - - - -
Feb 14 at Bethune-Cookman L, 2-1 - - - - - - - - - -
Feb 15 at Bethune-Cookman W, 2-1 - - - 0 0 - - - - 0
Feb 16 at Bethune-Cookman W, 2-0 - - - 0 0 - - - - 0
Feb 18 at #12 UCLA L, 7-1 - - - 0 0 - - - - 0
Feb 21 Seattle University L, 4-2 - - - - - - - - - -
Feb 22 Seattle University W, 14-4 - - - - - - - - - -
Feb 22 Seattle University W, 4-3 - - - 0 0 - - - - 0
Feb 23 Seattle University L, 4-2 - - - - - - - - - -
Feb 27 Washington State W, 3-2 - - - 0 0 - - - - 0
Feb 28 Washington State   - - - - - - - - - -
Mar 2 Washington State L, 1-0 - - - 0 0 - - - - 0
Mar 2 Washington State W, 1-0 - - - - - - - - - -
Mar 4 at CSU Bakersfield L, 3-1 - - - - - - - - - -
Mar 5 at Loyola Marymount L, 12-11 - - - 0 0 - - - - 0
Mar 7 at #20 Sam Houston State L, 6-0 - - - - - - - - - -
Mar 8 at #20 Sam Houston State L, 2-1 - - - - - - - - - -
Mar 9 at #20 Sam Houston State L, 3-2 - - - - - - - - - -
Mar 10 Utah Valley University W, 7-1 - - - 0 0 - - - - 0
Mar 11 San Diego State L, 12-0 - - - - - - - - - -
Mar 13 West Virginia L, 5-4 - - - - - - - - - -
Mar 14 West Virginia W, 4-2 - - - - - - - - - -
Mar 15 West Virginia L, 14-11 - - - 0 0 - - - - 0
Mar 18 CSU Bakersfield L, 3-2 - - - 0 0 - - - - 0
Mar 19 Stony Brook W, 1-0 - - - - - - - - - -
Mar 24 Washington State W, 2-1 - - - - - - - - - -
Mar 25 at Pepperdine W, 4-2 - - - 0 0 - - - - 0
Mar 28 Long Beach State L, 10-5 - - - - - - - - - -
Mar 29 Long Beach State L, 4-3 - - - - - - - - - -
Mar 30 Long Beach State W, 6-5 - - - 0 0 - - - - 0
Apr 4 at UC Riverside L, 4-2 - - - - - - - - - -
Apr 5 at UC Riverside L, 6-2 - - - - - - - - - -
Apr 6 at UC Riverside W, 7-1 - - - 0 0 - - - - 0
Apr 8 at Fresno State L, 8-2 - - - - - - - - - -
Apr 11 at UC Irvine L, 7-5 - - - - - - - - - -
Apr 12 at UC Irvine L, 5-4 - - - - - - - - - -
Apr 13 at UC Irvine L, 10-2 - - - 0 0 - - - - 0
Apr 15 Pepperdine L, 9-5 - - - - - - - - - -
Apr 17 Hawai'i W, 6-2 - - - - - - - - - -
Apr 18 Hawai'i W, 2-1 - - - - - - - - - -
Apr 19 Hawai'i L, 9-1 - - - 0 0 - - - - 0
Apr 22 at San Diego State L, 7-5 - - - - - - - - - -
Apr 25 at #23 TCU L, 6-2 - - - - - - - - - -
Apr 26 at #23 TCU L, 1-0 - - - - - - - - - -
Apr 27 at #23 TCU L, 3-0 - - - 0 0 - - - - 0
Apr 29 at CSU Bakersfield W, 9-8 - - - 0 0 - - - - 0
May 2 UC Davis W, 13-6 - - - - - - - - - -
May 3 UC Davis L, 11-0 - - - - - - - - - -
May 4 UC Davis L, 3-2 - - - - - - - - - -
May 9 at UC Santa Barbara L, 4-3 - - - - - - - - - -
May 10 at UC Santa Barbara L, 6-0 - - - - - - - - - -
May 11 at UC Santa Barbara W, 4-1 - - - - - - - - - -
May 16 #6 Cal Poly L, 16-10 - - - 0 0 - - - - 0
May 17 #6 Cal Poly L, 6-3 - - - - - - - - - -
May 18 #6 Cal Poly L, 3-2 - - - - - - - - - -
May 22 at Cal State Fullerton L, 4-2 - - - - - - - - - -
May 23 at Cal State Fullerton L, 3-0 - - - - - - - - - -
May 24 at Cal State Fullerton L, 6-0 - - - 0 0 - - - - 0
Date Opponent Score w l sv ip h r er era bb k hr
Feb 1 Alumni W, 5-2 - - - - - - - - - - -
Feb 14 at Bethune-Cookman L, 2-1 - - - - - - - - - - -
Feb 15 at Bethune-Cookman W, 2-1 0 0 0 0.2 1 - - 0.00 - - -
Feb 16 at Bethune-Cookman W, 2-0 0 0 0 1.0 - - - 0.00 - 1 -
Feb 18 at #12 UCLA L, 7-1 0 0 0 1.1 1 1 - 0.00 - - -
Feb 21 Seattle University L, 4-2 - - - - - - - - - - -
Feb 22 Seattle University W, 14-4 - - - - - - - - - - -
Feb 22 Seattle University W, 4-3 0 0 0 4.1 9 3 3 6.23 - 2 -
Feb 23 Seattle University L, 4-2 - - - - - - - - - - -
Feb 27 Washington State W, 3-2 1 0 0 0.2 1 - - 0.00 - - -
Feb 28 Washington State   - - - - - - - - - - -
Mar 2 Washington State L, 1-0 0 0 0 1.1 1 - - 0.00 - 1 -
Mar 2 Washington State W, 1-0 - - - - - - - - - - -
Mar 4 at CSU Bakersfield L, 3-1 - - - - - - - - - - -
Mar 5 at Loyola Marymount L, 12-11 0 0 0 2.2 6 3 2 6.75 - 1 -
Mar 7 at #20 Sam Houston State L, 6-0 - - - - - - - - - - -
Mar 8 at #20 Sam Houston State L, 2-1 - - - - - - - - - - -
Mar 9 at #20 Sam Houston State L, 3-2 - - - - - - - - - - -
Mar 10 Utah Valley University W, 7-1 1 0 0 9.0 4 1 - 0.00 1 7 -
Mar 11 San Diego State L, 12-0 - - - - - - - - - - -
Mar 13 West Virginia L, 5-4 - - - - - - - - - - -
Mar 14 West Virginia W, 4-2 - - - - - - - - - - -
Mar 15 West Virginia L, 14-11 0 0 0 1.2 3 2 2 10.80 - 3 1
Mar 18 CSU Bakersfield L, 3-2 0 1 0 4.1 8 3 3 6.23 - 5 1
Mar 19 Stony Brook W, 1-0 - - - - - - - - - - -
Mar 24 Washington State W, 2-1 - - - - - - - - - - -
Mar 25 at Pepperdine W, 4-2 0 0 0 2.1 1 - - 0.00 - 1 -
Mar 28 Long Beach State L, 10-5 - - - - - - - - - - -
Mar 29 Long Beach State L, 4-3 - - - - - - - - - - -
Mar 30 Long Beach State W, 6-5 1 0 0 2.2 1 - - 0.00 1 2 -
Apr 4 at UC Riverside L, 4-2 - - - - - - - - - - -
Apr 5 at UC Riverside L, 6-2 - - - - - - - - - - -
Apr 6 at UC Riverside W, 7-1 1 0 0 7.1 6 1 1 1.23 1 4 -
Apr 8 at Fresno State L, 8-2 - - - - - - - - - - -
Apr 11 at UC Irvine L, 7-5 - - - - - - - - - - -
Apr 12 at UC Irvine L, 5-4 - - - - - - - - - - -
Apr 13 at UC Irvine L, 10-2 0 1 0 3.1 8 7 6 16.20 1 - -
Apr 15 Pepperdine L, 9-5 - - - - - - - - - - -
Apr 17 Hawai'i W, 6-2 - - - - - - - - - - -
Apr 18 Hawai'i W, 2-1 - - - - - - - - - - -
Apr 19 Hawai'i L, 9-1 0 1 0 6.0 5 4 3 4.50 2 4 -
Apr 22 at San Diego State L, 7-5 - - - - - - - - - - -
Apr 25 at #23 TCU L, 6-2 - - - - - - - - - - -
Apr 26 at #23 TCU L, 1-0 - - - - - - - - - - -
Apr 27 at #23 TCU L, 3-0 0 1 0 1.0 - 1 - 0.00 2 - -
Apr 29 at CSU Bakersfield W, 9-8 0 0 0 0.1 5 4 4 108.00 1 1 -
May 2 UC Davis W, 13-6 - - - - - - - - - - -
May 3 UC Davis L, 11-0 - - - - - - - - - - -
May 4 UC Davis L, 3-2 - - - - - - - - - - -
May 9 at UC Santa Barbara L, 4-3 - - - - - - - - - - -
May 10 at UC Santa Barbara L, 6-0 - - - - - - - - - - -
May 11 at UC Santa Barbara W, 4-1 - - - - - - - - - - -
May 16 #6 Cal Poly L, 16-10 0 0 0 0.2 2 3 - 0.00 - 1 -
May 17 #6 Cal Poly L, 6-3 - - - - - - - - - - -
May 18 #6 Cal Poly L, 3-2 - - - - - - - - - - -
May 22 at Cal State Fullerton L, 4-2 - - - - - - - - - - -
May 23 at Cal State Fullerton L, 3-0 - - - - - - - - - - -
May 24 at Cal State Fullerton L, 6-0 0 0 0 0.1 1 - - 0.00 - - -
Date Opponent Score tc po a e fpct dp sba rcs rcs% pb ci
Feb 1 Alumni W, 5-2 - - - - - - - - - - -
Feb 14 at Bethune-Cookman L, 2-1 - - - - - - - - - - -
Feb 15 at Bethune-Cookman W, 2-1 1 0 1 0 1.000 - - - - - -
Feb 16 at Bethune-Cookman W, 2-0 0 0 0 0 - - - - - - -
Feb 18 at #12 UCLA L, 7-1 1 1 0 0 1.000 - - - - - -
Feb 21 Seattle University L, 4-2 - - - - - - - - - - -
Feb 22 Seattle University W, 14-4 - - - - - - - - - - -
Feb 22 Seattle University W, 4-3 0 0 0 0 - - - - - - -
Feb 23 Seattle University L, 4-2 - - - - - - - - - - -
Feb 27 Washington State W, 3-2 0 0 0 0 - - - - - - -
Feb 28 Washington State   - - - - - - - - - - -
Mar 2 Washington State L, 1-0 1 0 1 0 1.000 - - - - - -
Mar 2 Washington State W, 1-0 - - - - - - - - - - -
Mar 4 at CSU Bakersfield L, 3-1 - - - - - - - - - - -
Mar 5 at Loyola Marymount L, 12-11 1 0 1 0 1.000 - 2 - - - -
Mar 7 at #20 Sam Houston State L, 6-0 - - - - - - - - - - -
Mar 8 at #20 Sam Houston State L, 2-1 - - - - - - - - - - -
Mar 9 at #20 Sam Houston State L, 3-2 - - - - - - - - - - -
Mar 10 Utah Valley University W, 7-1 0 0 0 0 - - - - - - -
Mar 11 San Diego State L, 12-0 - - - - - - - - - - -
Mar 13 West Virginia L, 5-4 - - - - - - - - - - -
Mar 14 West Virginia W, 4-2 - - - - - - - - - - -
Mar 15 West Virginia L, 14-11 1 1 0 0 1.000 - - - - - -
Mar 18 CSU Bakersfield L, 3-2 1 0 1 0 1.000 - - 1 1.000 - -
Mar 19 Stony Brook W, 1-0 - - - - - - - - - - -
Mar 24 Washington State W, 2-1 - - - - - - - - - - -
Mar 25 at Pepperdine W, 4-2 0 0 0 0 - - - - - - -
Mar 28 Long Beach State L, 10-5 - - - - - - - - - - -
Mar 29 Long Beach State L, 4-3 - - - - - - - - - - -
Mar 30 Long Beach State W, 6-5 0 0 0 0 - - - - - - -
Apr 4 at UC Riverside L, 4-2 - - - - - - - - - - -
Apr 5 at UC Riverside L, 6-2 - - - - - - - - - - -
Apr 6 at UC Riverside W, 7-1 2 0 2 0 1.000 - - - - - -
Apr 8 at Fresno State L, 8-2 - - - - - - - - - - -
Apr 11 at UC Irvine L, 7-5 - - - - - - - - - - -
Apr 12 at UC Irvine L, 5-4 - - - - - - - - - - -
Apr 13 at UC Irvine L, 10-2 2 1 0 1 .500 - - - - - -
Apr 15 Pepperdine L, 9-5 - - - - - - - - - - -
Apr 17 Hawai'i W, 6-2 - - - - - - - - - - -
Apr 18 Hawai'i W, 2-1 - - - - - - - - - - -
Apr 19 Hawai'i L, 9-1 1 0 1 0 1.000 - - - - - -
Apr 22 at San Diego State L, 7-5 - - - - - - - - - - -
Apr 25 at #23 TCU L, 6-2 - - - - - - - - - - -
Apr 26 at #23 TCU L, 1-0 - - - - - - - - - - -
Apr 27 at #23 TCU L, 3-0 1 0 0 1 .000 - - - - - -
Apr 29 at CSU Bakersfield W, 9-8 0 0 0 0 - - - - - - -
May 2 UC Davis W, 13-6 - - - - - - - - - - -
May 3 UC Davis L, 11-0 - - - - - - - - - - -
May 4 UC Davis L, 3-2 - - - - - - - - - - -
May 9 at UC Santa Barbara L, 4-3 - - - - - - - - - - -
May 10 at UC Santa Barbara L, 6-0 - - - - - - - - - - -
May 11 at UC Santa Barbara W, 4-1 - - - - - - - - - - -
May 16 #6 Cal Poly L, 16-10 0 0 0 0 - - - - - - -
May 17 #6 Cal Poly L, 6-3 - - - - - - - - - - -
May 18 #6 Cal Poly L, 3-2 - - - - - - - - - - -
May 22 at Cal State Fullerton L, 4-2 - - - - - - - - - - -
May 23 at Cal State Fullerton L, 3-0 - - - - - - - - - - -
May 24 at Cal State Fullerton L, 6-0 0 0 0 0 - - - - - - -
  g ab r h 2b 3b hr rbi bb k sb cs avg obp slg
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

Text-Only Website