Wrapper Background
Text-Only Site

Men's Basketball

 
2 - Cody Demps
Cody Demps
Height: 6-4
Weight: 200
Year: So.
Hometown: Elk Grove, Calif.
High School: Pleasant Grove HS
Position: G
Experience: 1V
gp 30
pts/g 8.0
fg % 45.0
3pt % 22.2
ft % 69.9
reb/g 4.2
a/g 1.9

2013-14 Demps Photo Gallery

2013-14 Season
One of three players on the Hornets to start all 30 games…averaged 8.0 points, 4.2 rebounds, 1.9 assists and 1.0 steals per game while shooting .450 (86-191) from the field and .699 (58-83) from the free throw line…averaged 29.3 minutes per contest, the third most on the team…that includes 34.2 minutes over the final six games…can play at either guard, or either forward spot…a high level defender, Demps was often called on to guard the opponent’s best offensive player…scored in double figures eight times, including a career-best 17 points in the Hornets’ win against Montana State in the regular season finale…that win allowed the Hornets to clinch their first Big Sky Tournament berth in eight years…followed up that effort with 15 points on 7-of-12 shooting in 39 minutes in Sacramento State’s Big Sky Tournament quarterfinal game against North Dakota…had first career double-double with 10 points and 12 rebounds at CSU Bakersfield…played 43 minutes in the Hornets’ overtime home loss to Portland State…scored 16 points on 7-of-8 shooting in road win at Portland State…has now played in 59 straight games dating back to his freshman season.

2012-13 Season

One of six players to play in all 29 games, including one start…averaged 3.0 points, 1.8 rebounds and 0.6 assists in 13.8 minutes per game…shot .412 (28-68) from the field…saw his minutes increase as the season progressed…averaged 17.2 minutes over the final 11 games of the season after averaging 11.7 minutes during the first 18 games of the year…posted a season-high 13 points on 5-of-6 shooting go along with a season-high tying six rebounds at Northern Colorado…had 10 points in a home win vs. North Dakota…had eight points and six rebounds in a home win vs. Eastern Washington…lone start came in a road win at UC Santa Barbara.

High School
A 2012 graduate of Pleasant Grove High School in Elk Grove, Calif…a two-sport athlete at Pleasant Grove, Demps was named to ESPN’s Cal-Hi Sports Grid-Hoop (basketball and football) first team all-state squad after leading the Eagles to the 2012 Sac-Joaquin Section Div. I basketball semifinals, and quarterbacking the football team to the section championship game…played four years of both basketball (shooting guard) and football (quarterback)…was a three-year starter for the basketball team where he was a two-time first team all-Delta River League selection during his final two seasons, including a first team all-Metro choice his senior year by The Sacramento Bee…during that senior season, he averaged 15.6 points, 8.3 rebounds, 2.4 assists, 1.6 steals and 0.5 blocked shots per game while shooting .486 from the field, .533 from the three-point line and .735 from the free throw line…had five double-doubles during the team’s final 14 games, including 11 points and 17 rebounds vs. Folsom HS, 26 points and 16 rebounds vs. Ponderosa HS, and 13 points and 13 rebounds vs. Oak Ridge HS…during his four seasons with Pleasant Grove, the Eagles combined for an 80-35 record, including a 24-7 mark in 2011-12…other accolades included being named the 2011 Delta River League’s Co-Offensive Player of the Year in football after completing over 67 percent of his passes with 22 touchdowns and just three interceptions.

Personal
A mechanical engineering major…parents are Chris and Beth Demps…has Sacramento State in his bloodlines as his father, Chris, was a defensive lineman for the Hornet football squad from 1984-86…in addition, his high school head basketball coach (John DePonte) and assistant coach (Bill McCoin) are both Sacramento State alums…McCoin played basketball for the Hornets from 1988-91.

Recent Games
Feb 22 Northern Colorado W, 79-58
Feb 27 at Weber State L, 79-67
Mar 1 at Idaho State L, 80-67
Mar 6 Montana L, 70-55
Mar 8 Montana State W, 84-59
Mar 13 vs. North Dakota L, 79-76
Statistics category Overall Conf
Games 30 20
Games started 30 20
Minutes 879 601
Minutes per game 29.3 30.0
FG 86-191 57-130
FG Pct 45.0 43.8
3PT 10-45 5-26
3PT Pct 22.2 19.2
FT 58-83 42-64
FT Pct 69.9 65.6
Off rebounds 29 23
Def rebounds 96 61
Total rebounds 125 84
Rebounds per game 4.2 4.2
Personal fouls 85 51
Disqualifications 5 1
Assists 57 40
Turnovers 54 28
Assist to turnover ratio 1.1 1.4
Steals 31 20
Blocks 3 2
Points 240 161
Points per game 8.0 8.0
Points per 40 min 10.9 10.7
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 8 UC Santa Cruz W, 73-43 1 8 0-0 - 0-0 - 1-2 50.0 1
Nov 13 at Bakersfield L, 74-66 1 39 4-11 36.4 1-4 25.0 1-2 50.0 10
Nov 18 at #22 UCLA L, 86-50 1 38 1-5 20.0 0-3 0.0 0-0 - 2
Nov 26 at UC Davis W, 73-67 1 35 2-6 33.3 0-1 0.0 7-8 87.5 11
Nov 30 UC Irvine L, 79-53 1 34 6-10 60.0 2-4 50.0 2-2 100.0 16
Dec 7 at UTEP L, 69-51 1 21 1-5 20.0 0-2 0.0 0-0 - 2
Dec 14 William Jessup W, 85-54 1 17 4-6 66.7 1-1 100.0 0-0 - 9
Dec 21 at Cal State Fullerton L, 59-51 1 22 2-3 66.7 0-0 - 2-2 100.0 6
Dec 29 UC Riverside W, 69-67 1 25 2-3 66.7 0-1 0.0 3-3 100.0 7
Jan 2 at Montana State L, 70-55 1 26 3-9 33.3 0-1 0.0 0-0 - 6
Jan 4 at Montana L, 82-70 1 27 2-5 40.0 0-2 0.0 1-2 50.0 5
Jan 9 at Northern Arizona L, 75-65 1 33 3-10 30.0 1-3 33.3 2-3 66.7 9
Jan 11 at Southern Utah W, 77-49 1 23 1-2 50.0 0-0 - 4-4 100.0 6
Jan 16 Portland State L, 68-64 1 43 2-6 33.3 0-2 0.0 5-7 71.4 9
Jan 18 Eastern Washington W, 75-64 1 31 3-6 50.0 0-1 0.0 4-8 50.0 10
Jan 23 at North Dakota L, 82-71 1 29 2-6 33.3 0-0 - 2-5 40.0 6
Jan 25 at Northern Colorado L, 72-62 1 35 5-9 55.6 1-3 33.3 5-7 71.4 16
Jan 30 Idaho State W, 84-78 1 19 1-4 25.0 0-0 - 1-1 100.0 3
Feb 1 Weber State W, 78-75 1 32 2-5 40.0 0-0 - 1-2 50.0 5
Feb 6 Northern Arizona W, 87-70 1 25 2-5 40.0 0-2 0.0 4-4 100.0 8
Feb 10 Southern Utah W, 68-56 1 31 3-7 42.9 0-1 0.0 3-5 60.0 9
Feb 13 at Eastern Washington L, 85-72 1 27 3-7 42.9 1-2 50.0 0-0 - 7
Feb 15 at Portland State W, 72-65 1 30 7-8 87.5 0-0 - 2-3 66.7 16
Feb 20 North Dakota W, 71-65 1 24 2-3 66.7 0-0 - 1-2 50.0 5
Feb 22 Northern Colorado W, 79-58 1 34 3-4 75.0 1-2 50.0 0-0 - 7
Feb 27 at Weber State L, 79-67 1 36 4-8 50.0 0-1 0.0 1-2 50.0 9
Mar 1 at Idaho State L, 80-67 1 33 1-7 14.3 0-1 0.0 2-4 50.0 4
Mar 6 Montana L, 70-55 1 29 2-6 33.3 0-1 0.0 0-0 - 4
Mar 8 Montana State W, 84-59 1 34 6-13 46.2 1-4 25.0 4-5 80.0 17
Mar 13 vs. North Dakota L, 79-76 1 39 7-12 58.3 1-3 33.3 0-0 - 15
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 8 UC Santa Cruz W, 73-43 1 8 0 2 2 3 2 1.5 2 0 5 1
Nov 13 at Bakersfield L, 74-66 1 39 4 8 12 0 2 0.0 2 1 1 0
Nov 18 at #22 UCLA L, 86-50 1 38 0 5 5 3 4 0.8 1 0 2 0
Nov 26 at UC Davis W, 73-67 1 35 1 5 6 0 4 0.0 1 0 2 0
Nov 30 UC Irvine L, 79-53 1 34 0 6 6 2 3 0.7 0 0 3 0
Dec 7 at UTEP L, 69-51 1 21 0 0 0 4 3 1.3 1 0 5 1
Dec 14 William Jessup W, 85-54 1 17 0 0 0 2 0 - 1 0 3 0
Dec 21 at Cal State Fullerton L, 59-51 1 22 0 1 1 2 2 1.0 0 0 5 1
Dec 29 UC Riverside W, 69-67 1 25 1 5 6 1 2 0.5 1 0 5 1
Jan 2 at Montana State L, 70-55 1 26 1 5 6 0 1 0.0 2 0 1 0
Jan 4 at Montana L, 82-70 1 27 1 3 4 1 0 - 0 0 1 0
Jan 9 at Northern Arizona L, 75-65 1 33 0 4 4 2 1 2.0 0 0 2 0
Jan 11 at Southern Utah W, 77-49 1 23 1 1 2 2 0 - 1 0 4 0
Jan 16 Portland State L, 68-64 1 43 2 1 3 4 4 1.0 0 0 4 0
Jan 18 Eastern Washington W, 75-64 1 31 2 4 6 3 1 3.0 0 0 3 0
Jan 23 at North Dakota L, 82-71 1 29 3 2 5 2 3 0.7 3 0 3 0
Jan 25 at Northern Colorado L, 72-62 1 35 0 3 3 1 3 0.3 1 2 2 0
Jan 30 Idaho State W, 84-78 1 19 0 2 2 3 0 - 0 0 5 1
Feb 1 Weber State W, 78-75 1 32 0 4 4 1 0 - 2 0 4 0
Feb 6 Northern Arizona W, 87-70 1 25 1 0 1 2 1 2.0 3 0 4 0
Feb 10 Southern Utah W, 68-56 1 31 3 4 7 3 1 3.0 1 0 1 0
Feb 13 at Eastern Washington L, 85-72 1 27 1 4 5 2 0 - 0 0 1 -
Feb 15 at Portland State W, 72-65 1 30 0 4 4 0 2 0.0 2 0 2 0
Feb 20 North Dakota W, 71-65 1 24 0 3 3 2 0 - 1 0 4 0
Feb 22 Northern Colorado W, 79-58 1 34 0 3 3 3 2 1.5 0 0 3 -
Feb 27 at Weber State L, 79-67 1 36 1 3 4 2 0 - 1 0 2 0
Mar 1 at Idaho State L, 80-67 1 33 3 5 8 2 2 1.0 1 0 3 0
Mar 6 Montana L, 70-55 1 29 3 3 6 1 5 0.2 1 0 1 0
Mar 8 Montana State W, 84-59 1 34 1 3 4 4 2 2.0 1 0 1 0
Mar 13 vs. North Dakota L, 79-76 1 39 0 3 3 0 4 0.0 2 0 3 0
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
2012-13 29 1 13.8 1.0-2.3 41.2 0.2-0.7 25.0 0.9-1.6 56.5 3.0
2013-14 30 30 29.3 2.9-6.4 45.0 0.3-1.5 22.2 1.9-2.8 69.9 8.0
Total 59 31 21.7 1.9-4.4 44.0 0.3-1.1 23.1 1.4-2.2 65.1 5.5
  gp gs min fg pct 3pt pct ft pct pts
2012-13 29 1 399 28-68 41.2 5-20 25.0 26-46 56.5 87
2013-14 30 30 879 86-191 45.0 10-45 22.2 58-83 69.9 240
Total 59 31 1278 114-259 44.0 15-65 23.1 84-129 65.1 327
  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 29 1 13.8 0.2 1.5 1.8 1.4 0.0 0.6 0.7 0.9 0.2 0.1
2013-14 30 30 29.3 1.0 3.2 4.2 2.8 0.2 1.9 1.8 1.1 1.0 0.1
Total 59 31 21.7 0.6 2.4 3.0 2.1 0.1 1.3 1.3 1.0 0.6 0.1
  gp gs min off def reb pf dq ast to a/to stl blk
2012-13 29 1 399 7 44 51 41 0 18 20 0.9 7 4
2013-14 30 30 879 29 96 125 85 5 57 54 1.1 31 3
Total 59 31 1278 36 140 176 126 5 75 74 1.0 38 7
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
Total 30 30 29.3 2.9-6.4 45.0 0.3-1.5 22.2 1.9-2.8 69.9 8.0
Conference 20 20 30.0 2.8-6.5 43.8 0.2-1.3 19.2 2.1-3.2 65.6 8.0
Exhibition - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -

Home 14 14 27.6 2.7-5.6 48.7 0.4-1.4 26.3 2.1-2.9 70.7 7.9
Away 15 15 30.3 2.7-6.7 40.6 0.3-1.5 17.4 1.9-2.8 69.0 7.7
Neutral 1 1 39.0 7.0-12.0 58.3 1.0-3.0 33.3 0.0-0.0 - 15.0

Wins 14 14 26.3 2.7-5.1 52.8 0.2-0.9 23.1 2.5-3.4 74.5 8.1
Losses 16 16 31.9 3.0-7.4 40.3 0.4-2.0 21.9 1.4-2.2 63.9 7.9

November 5 5 30.8 2.6-6.4 40.6 0.6-2.4 25.0 2.2-2.8 78.6 8.0
December 4 4 21.2 2.2-4.2 52.9 0.2-1.0 25.0 1.2-1.2 100.0 6.0
January 9 9 29.6 2.4-6.3 38.6 0.2-1.3 16.7 2.7-4.1 64.9 7.8
February 8 8 29.9 3.2-5.9 55.3 0.2-1.0 25.0 1.5-2.2 66.7 8.2
March 4 4 33.8 4.0-9.5 42.1 0.5-2.2 22.2 1.5-2.2 66.7 10.0
  gp gs min fg pct 3pt pct ft pct pts
Total 30 30 879 86-191 45.0 10-45 22.2 58-83 69.9 240
Conference 20 20 601 57-130 43.8 5-26 19.2 42-64 65.6 161
Exhibition - - - 0-0 - 0-0 - 0-0 - 0

Home 14 14 386 38-78 48.7 5-19 26.3 29-41 70.7 110
Away 15 15 454 41-101 40.6 4-23 17.4 29-42 69.0 115
Neutral 1 1 39 7-12 58.3 1-3 33.3 0-0 - 15

Wins 14 14 368 38-72 52.8 3-13 23.1 35-47 74.5 114
Losses 16 16 511 48-119 40.3 7-32 21.9 23-36 63.9 126

November 5 5 154 13-32 40.6 3-12 25.0 11-14 78.6 40
December 4 4 85 9-17 52.9 1-4 25.0 5-5 100.0 24
January 9 9 266 22-57 38.6 2-12 16.7 24-37 64.9 70
February 8 8 239 26-47 55.3 2-8 25.0 12-18 66.7 66
March 4 4 135 16-38 42.1 2-9 22.2 6-9 66.7 40
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
Total 30 30 29.3 1.0 3.2 4.2 2.8 0.2 1.9 1.8 1.1 1.0 0.1
Conference 20 20 30.0 1.2 3.0 4.2 2.6 0.0 2.0 1.4 1.4 1.0 0.1
Exhibition - - - - - - - - - - - - -

Home 14 14 27.6 0.9 2.9 3.8 3.3 0.2 2.4 1.6 1.5 0.9 0.0
Away 15 15 30.3 1.1 3.5 4.6 2.4 0.1 1.5 1.8 0.9 1.1 0.2
Neutral 1 1 39.0 0.0 3.0 3.0 3.0 0.0 0.0 4.0 0.0 2.0 0.0

Wins 14 14 26.3 0.7 2.9 3.6 3.3 0.2 2.1 1.2 1.7 1.1 0.0
Losses 16 16 31.9 1.2 3.5 4.7 2.4 0.1 1.8 2.3 0.8 0.9 0.2

November 5 5 30.8 1.0 5.2 6.2 2.6 0.2 1.6 3.0 0.5 1.2 0.2
December 4 4 21.2 0.2 1.5 1.8 4.5 0.8 2.2 1.8 1.3 0.8 0.0
January 9 9 29.6 1.1 2.8 3.9 2.8 0.1 2.0 1.4 1.4 0.8 0.2
February 8 8 29.9 0.8 3.1 3.9 2.6 0.0 1.9 0.8 2.5 1.2 0.0
March 4 4 33.8 1.8 3.5 5.2 2.0 0.0 1.8 3.2 0.5 1.2 0.0
  gp gs min off def reb pf dq ast to a/to stl blk
Total 30 30 879 29 96 125 85 5 57 54 1.1 31 3
Conference 20 20 601 23 61 84 51 1 40 28 1.4 20 2
Exhibition - - - - - - - - - - - - -

Home 14 14 386 13 40 53 46 3 34 23 1.5 13 0
Away 15 15 454 16 53 69 36 2 23 27 0.9 16 3
Neutral 1 1 39 0 3 3 3 0 0 4 0.0 2 0

Wins 14 14 368 10 40 50 46 3 29 17 1.7 16 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 254, 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 ($sport.enumCode == 0 || $sport.enumCode == 1 || $sport.enumCode == 11 || $sport.enumCode == 2)
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 ($sport.enumCode == 0 || $sport.enumCode == 1 || $sport.enumCode == 11 || $sport.enumCode == 2)
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: 
144: 
145: 
146: #macro (careerData $p)
147: 
148: #set ($p = $positions.get($p))
149: #set ($statPosBriefs = $briefs.get($p))
150: 
151: ## SECONDARY TAB CONTENT FOR ONLY FOOTBALL,  BASEBALL, SOFTBALL AND BASKETBALL
152: #if ($sport.enumCode == 0 || $sport.enumCode == 1 || $sport.enumCode == 11 || $sport.enumCode == 2)
153:   #set ($class = "sub-tab-content")
154:   #if ($activePos == $p)
155:     #set ($class = "sub-tab-content active")
156:   #end
157:   #if ($isMobile)
158: 	<div class="mobile-bios-subtab-panel mobile-stats-panel-wrapper #if ($activePos == $p) active #end">
159:   #else
160: 	<div class="$class">
161:   #end
162: #end
163: 	
164: #if (! $isMobile) 
165: 	<div class="stats-fullbox clearfix">
166: #else
167: 	<div class="mobile-stats-panel-container">
168: #end
169: <table>
170:   <tr>
171:     <th #if ($isMobile) class="mobile-stats-fixed-column" #end>&nbsp;</th>
172:     #foreach ($brief in $statPosBriefs)
173:       <th>$brief</th>
174:     #end
175:   </tr>
176: 
177: #set ($careerTotals = $request.getAttribute("careerTotals"))
178: #set ($careerMap = $request.getAttribute("careerMap"))
179: 
180: #foreach ($season in $seasons)
181:   ## Check if we did not get stats for this season
182:   #if ($careerMap.get($season.seasonName))
183:     #split($statPosBriefs, $season.seasonName, $careerMap[$season.seasonName], '')
184:   #elseif ($wiki.valid())
185:     <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>
186:   #end
187: 
188: #end
189: 
190: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall, '')
191: 
192: 
193: </table>
194: 
195: </div> ## stats-fullbox
196: 
197: #if ($sport.enumCode == 0 || $sport.enumCode == 1 || $sport.enumCode == 11 || $sport.enumCode == 2)
198:   </div>
199: #end
200: 
201: #end ## macro splitsData
202: 
203: 
204: 
205: 
206: 
207: 
208: 
209: 
210: #macro (splitsData $p)
211: 
212: #set ($p = $positions.get($p))
213: #set ($statPosBriefs = $briefs.get($p))
214: 
215: ## SECONDARY TAB CONTENT FOR ONLY FOOTBALL,  BASEBALL AND BASKETBALL
216: #if ($sport.enumCode == 0 || $sport.enumCode == 1 || $sport.enumCode == 2)
217:   #set ($class = "sub-tab-content")
218:   #if ($activePos == $p)
219:     #set ($class = "sub-tab-content active")
220:   #end
221:   #if ($isMobile)
222: 	<div class="mobile-bios-subtab-panel mobile-stats-panel-wrapper #if ($activePos == $p) active #end">
223:   #else
224: 	<div class="$class">
225:   #end
226: #end
227: 	
228: #if (! $isMobile) 
229: 	<div class="stats-fullbox clearfix">
230: #else
231: 	<div class="mobile-stats-panel-container">
232: #end
233: <table>
234:   <tr>
235:     <th #if ($isMobile) class="mobile-stats-fixed-column" #end>&nbsp;</th>
236:     #foreach ($brief in $statPosBriefs)
237:       <th>$brief</th>
238:     #end
239:   </tr>
240: 
241: #split($statPosBriefs, "Total", $splits.overall, "odd")
242: #split($statPosBriefs, "Conference", $splits.conference, "even")
243: #split($statPosBriefs, "Exhibition", $splits.exhibition, "odd")
244: 
245: #printSplitsHr()
246: 
247: #split($statPosBriefs, "Home", $splits.home, "odd")
248: #split($statPosBriefs, "Away", $splits.away, "even")
249: #split($statPosBriefs, "Neutral", $splits.neutral, "odd")
250: 
251: #printSplitsHr()
252: 
253: #split($statPosBriefs, "Wins", $splits.inWins, "odd")
254: #split($statPosBriefs, "Losses", $splits.inLosses, "even")
255: #if ($sport.enumCode == 5) ## Ice hockey
256:   #split($statPosBriefs, "Ties", $splits.inTies, "odd")
257: #end
258: 
259: #printSplitsHr()
260: 
261: ## Going to need to replace this with sound logic that does not use the sport to determine dates
262: #if ($sport.enumCode == 5) ## Ice hockey
263:  #split($statPosBriefs, "September", $splits.september, "odd")
264:  #split($statPosBriefs, "October", $splits.october, "even")
265:  #split($statPosBriefs, "November", $splits.november, "odd")
266:  #split($statPosBriefs, "December", $splits.december, "even")
267:  #split($statPosBriefs, "January", $splits.january, "odd")
268:  #split($statPosBriefs, "February", $splits.february, "even")
269:  #split($statPosBriefs, "March", $splits.march, "odd")
270:  #split($statPosBriefs, "April", $splits.april, "even")
271: #elseif ($sport.enumCode == 2) ## Basketball
272:  #split($statPosBriefs, "November", $splits.november, "odd")
273:  #split($statPosBriefs, "December", $splits.december, "even")
274:  #split($statPosBriefs, "January", $splits.january, "odd")
275:  #split($statPosBriefs, "February", $splits.february, "even")
276:  #split($statPosBriefs, "March", $splits.march, "odd")
277: #elseif ($sport.enumCode == 3 or $sport.enumCode == 9) ## Soccer or field hockey
278:  #split($statPosBriefs, "September", $splits.september, "odd")
279:  #split($statPosBriefs, "October", $splits.october, "even")
280:  #split($statPosBriefs, "November", $splits.november, "odd")
281:  #split($statPosBriefs, "December", $splits.december, "even")
282: #elseif ($sport.enumCode == 0) ## Football
283:  #split($statPosBriefs, "August", $splits.august, "odd")
284:  #split($statPosBriefs, "September", $splits.september, "even")
285:  #split($statPosBriefs, "October", $splits.october, "odd")
286:  #split($statPosBriefs, "November", $splits.november, "even")
287:  #split($statPosBriefs, "December", $splits.december, "odd")
288: #elseif ($sport.enumCode == 6 or $sport.enumCode == 10) ## Men's or women's lacrosse
289:  #split($statPosBriefs, "January", $splits.january, "odd")
290:  #split($statPosBriefs, "February", $splits.february, "even")
291:  #split($statPosBriefs, "March", $splits.march, "odd")
292:  #split($statPosBriefs, "April", $splits.april, "even")
293:  #split($statPosBriefs, "May", $splits.may, "odd")
294: #end
295: </table>
296: 
297: </div> ## stats-fullbox
298: 
299: #if ($sport.enumCode == 0 || $sport.enumCode == 1 || $sport.enumCode == 11 || $sport.enumCode == 2)
300:   </div>
301: #end
302: 
303: #end ## macro splitsData
304: 
305: #macro (printRecentGames)
306: <table>
307: <tr><th colspan="3">Recent Games</th></tr>
308: #set ($eventEnd = -1)
309: #foreach ($event in $events)
310:   #if ($event.event.result.resolved)
311:     #set ($eventEnd = $velocityCount)
312:   #end
313: #end
314: #set ($eventStart = $eventEnd - 5)
315: #if ($eventStart < 0) #set ($eventStart = 0) #end
316: 
317: #set ($counter = 0)
318: #foreach ($event in $events)
319: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
320: 
321:  #set ($counter = $counter + 1)
322:  #if ($counter % 2 == 0)
323:   #set ($row = "even")
324:  #else
325:   #set ($row = "odd")
326:  #end
327: 
328:   <tr class="${row}">
329:     <td>$formatter.formatDate($event.event.date, "MMM d")</td>
330:     <td>
331:     #if ($event.event.neutralSite.length() > 0) vs.
332:     #elseif (!$event.event.home) at
333:     #else ## nothing for a home game
334:     #end
335:     $event.event.opponent.name</td>
336:     <td>
337:     #if ($event.event.statusCode >= 0)
338:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
339:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
340:       #else
341:       ${event.event.APResult}
342:       #end
343:     #end
344:   </tr>
345: #end ## if
346: #end
347: </table>
348: #end
349: 
350: #macro (printSubTab $pos $label $activePos $view)
351: 	<option #if ($activePos == $pos) selected="selected" #end value="${bioURL}?view=${view}&pos=${pos}">$!label</option>
352: #end
353: 
354: 
355: #if ($isMobile)
356: 
357: #set ($activePos = $statPos)
358: #if ($request.getParameter("view") == "gamelog" && $positions.get($request.getParameter("pos")).length() > 0)
359: 	#set ($activePos = $positions.get($request.getParameter("pos")))
360: #end
361: 
362: <div id="tab-gamelog">
363: 
364: ## SECONDARY TABS FOR ONLY FOOTBALL,  BASEBALL, SOFTBALL AND BASKETBALL
365: #if ($sport.enumCode == 0 || $sport.enumCode == 1 || $sport.enumCode == 11 || $sport.enumCode == 2)
366: 	
367: <select class="mobile-bios-subtabs clearfix">
368: 
369: #if ($sport.enumCode == 0) ## Football
370: 
371: #printSubTab('gb', 'Passing', $activePos, 'gamelog')
372: #printSubTab('rb', 'Rushing', $activePos, 'gamelog')
373: #printSubTab('wr', 'Receiving', $activePos, 'gamelog')
374: #printSubTab('k', 'Kicking', $activePos, 'gamelog')
375: #printSubTab('p', 'Punting', $activePos, 'gamelog')
376: #printSubTab('kr', 'Returns', $activePos, 'gamelog')
377: #printSubTab('d', $defLabel, $activePos, 'gamelog')
378: 
379: #elseif ($sport.enumCode == 1 || $sport.enumCode == 11) ## Baseball or Softball
380: 
381: #printSubTab('h', 'Hitting', $activePos, 'gamelog')
382: #printSubTab('p', 'Pitching', $activePos, 'gamelog')
383: #printSubTab('f', 'Fielding', $activePos, 'gamelog')
384: 
385: #elseif ($sport.enumCode == 2) ## Basketball
386: 
387: #printSubTab('sh', 'Shooting', $activePos, 'gamelog')
388: #printSubTab('bc', 'Ball control', $activePos, 'gamelog')
389: 
390: #end
391: 
392: </select> ## stats-tabs-secondary
393: 
394: #end ## sport check for secondary tabs
395: 
396: #if ($sport.enumCode == 0) ## Football
397: 
398:   #gamelogData("qb") ## PASSING
399:   #gamelogData("rb") ## RUSHING
400:   #gamelogData("wr") ## RECEIVING
401:   #gamelogData("k") ## KICKING
402:   #gamelogData("p") ## PUNTING
403:   #gamelogData("kr") ## RETURNS
404:   #gamelogData("d") ## DEFENSE
405:   
406: #elseif ($sport.enumCode == 1 || $sport.enumCode == 11) ## Baseball or Softball
407: 
408:   #gamelogData("h") ## HITTING
409:   #gamelogData("p") ## PITCHING
410:   #gamelogData("f") ## FIELDING
411:   
412: #elseif ($sport.enumCode == 2)
413: 
414:   #gamelogData("sh") ## SHOOTING
415:   #gamelogData("bc") ## BALL CONTROL
416:   
417: #else
418: 	
419:   #gamelogData($pos)
420:   
421: #end
422: 	
423: </div> ## tab-content
424: ## END GAMELOG
425: 
426: 
427: 
428: 
429: 
430: 
431: 
432: 
433: 
434: ## CAREER
435: #set ($activePos = $statPos)
436: #if ($request.getParameter("view") == "career" && $positions.get($request.getParameter("pos")).length() > 0)
437: 	#set ($activePos = $positions.get($request.getParameter("pos")))
438: #end
439: 
440: 
441: <div id="tab-career">
442: 
443: ## SECONDARY TABS FOR ONLY FOOTBALL,  BASEBALL, SOFTBALL AND BASKETBALL
444: #if ($sport.enumCode == 0 || $sport.enumCode == 1 || $sport.enumCode == 11 || $sport.enumCode == 2)
445: 	<select class="mobile-bios-subtabs clearfix">
446: 		#if ($sport.enumCode == 0) ## Football
447: 
448: 			#printSubTab('gb', 'Passing', $activePos, 'career')
449: 			#printSubTab('rb', 'Rushing', $activePos, 'career')
450: 			#printSubTab('wr', 'Receiving', $activePos, 'career')
451: 			#printSubTab('k', 'Kicking', $activePos, 'career')
452: 			#printSubTab('p', 'Punting', $activePos, 'career')
453: 			#printSubTab('kr', 'Returns', $activePos, 'career')
454: 			#printSubTab('d', $defLabel, $activePos, 'career')
455: 
456: 		#elseif ($sport.enumCode == 1 || $sport.enumCode == 11) ## Baseball or Softball
457: 
458: 			#printSubTab('h', 'Hitting', $activePos, 'career')
459: 			#printSubTab('p', 'Pitching', $activePos, 'career')
460: 			#printSubTab('f', 'Fielding', $activePos, 'career')
461: 
462: 		#elseif ($sport.enumCode == 2) ## Basketball
463: 
464: 			#printSubTab('sh', 'Shooting per game', $activePos, 'career')
465: 			#printSubTab('st', 'Shooting', $activePos, 'career')
466: 			#printSubTab('bc', 'Ball control per game', $activePos, 'career')
467: 			#printSubTab('bt', 'Ball control', $activePos, 'career')
468: 
469: 		#end
470: 	</select>
471: #end ## sport check for secondary tabs
472: 	
473: #if ($sport.enumCode == 0) ## Football
474: 
475: ## <div class="sub-tab-panels">
476: 	#careerData("qb") ## PASSING
477: 	#careerData("rb") ## RUSHING
478: 	#careerData("wr") ## RECEIVING
479: 	#careerData("k") ## KICKING
480: 	#careerData("p") ## PUNTING
481: 	#careerData("kr") ## RETURNS
482: 	#careerData("d") ## DEFENSE
483: ## </div>
484: 	
485: #elseif ($sport.enumCode == 1 || $sport.enumCode == 11) ## Baseball or Softball
486: 
487: ## <div class="sub-tab-panels">
488: 	#careerData("h") ## HITTING
489: 	#careerData("p") ## PITCHING
490: 	#careerData("f") ## FIELDING
491: ## </div>
492: 	
493: #elseif ($sport.enumCode == 2) ## Basketball
494: 	
495: ## <div class="sub-tab-panels">
496: 	#careerData("sh") ## SHOOTING PER GAME
497: 	#careerData("st") ## SHOOTING
498: 	#careerData("bc") ## BALL CONTROL PER GAME
499: 	#careerData("bt") ## BALL CONTROL
500: ## </div>
501: 
502: #else
503: 
504: 	#careerData($pos)
505: 
506: #end
507: 
508: </div> ## tab-content
509: ## CAREER
510: 
511: 
512: 
513: 
514: 
515: 
516: 
517: 
518: 
519: 
520: 
521: 
522: ## SPLITS
523: #set ($activePos = $statPos)
524: #if ($request.getParameter("view") == "splits" && $positions.get($request.getParameter("pos")).length() > 0)
525: 	#set ($activePos = $positions.get($request.getParameter("pos")))
526: #end
527: 
528: 
529: <div id="tab-splits">
530: 
531: ## SECONDARY TABS FOR ONLY FOOTBALL,  BASEBALL, SOFTBALL AND BASKETBALL
532: #if ($sport.enumCode == 0 || $sport.enumCode == 1 || $sport.enumCode == 11 || $sport.enumCode == 2)
533: 	<select class="mobile-bios-subtabs clearfix">
534: 		#if ($sport.enumCode == 0) ## Football
535: 
536: 			#printSubTab('gb', 'Passing', $activePos, 'splits')
537: 			#printSubTab('rb', 'Rushing', $activePos, 'splits')
538: 			#printSubTab('wr', 'Receiving', $activePos, 'splits')
539: 			#printSubTab('k', 'Kicking', $activePos, 'splits')
540: 			#printSubTab('p', 'Punting', $activePos, 'splits')
541: 			#printSubTab('kr', 'Returns', $activePos, 'splits')
542: 			#printSubTab('d', $defLabel, $activePos, 'splits')
543: 
544: 		#elseif ($sport.enumCode == 1 || $sport.enumCode == 11) ## Baseball or Softball
545: 
546: 			#printSubTab('h', 'Hitting', $activePos, 'splits')
547: 			#printSubTab('p', 'Pitching', $activePos, 'splits')
548: 			#printSubTab('f', 'Fielding', $activePos, 'splits')
549: 
550: 		#elseif ($sport.enumCode == 2) ## Basketball
551: 
552: 			#printSubTab('sh', 'Shooting per game', $activePos, 'splits')
553: 			#printSubTab('st', 'Shooting', $activePos, 'splits')
554: 			#printSubTab('bc', 'Ball control per game', $activePos, 'splits')
555: 			#printSubTab('bt', 'Ball control', $activePos, 'splits')
556: 
557: 		#end
558: 	</select>
559: #end ## sport check for secondary tabs
560: 	
561: #if ($sport.enumCode == 0) ## Football
562: 
563: ## <div class="sub-tab-panels">
564: 	#splitsData("qb") ## PASSING
565: 	#splitsData("rb") ## RUSHING
566: 	#splitsData("wr") ## RECEIVING
567: 	#splitsData("k") ## KICKING
568: 	#splitsData("p") ## PUNTING
569: 	#splitsData("kr") ## RETURNS
570: 	#splitsData("d") ## DEFENSE
571: ## </div>
572: 	
573: #elseif ($sport.enumCode == 1 || $sport.enumCode == 11) ## Baseball or Softball
574: 
575: ## <div class="sub-tab-panels">
576: 	#splitsData("h") ## HITTING
577: 	#splitsData("p") ## PITCHING
578: 	#splitsData("f") ## FIELDING
579: ## </div>
580: 	
581: #elseif ($sport.enumCode == 2) ## Basketball
582: 	
583: ## <div class="sub-tab-panels">
584: 	#splitsData("sh") ## SHOOTING PER GAME
585: 	#splitsData("st") ## SHOOTING
586: 	#splitsData("bc") ## BALL CONTROL PER GAME
587: 	#splitsData("bt") ## BALL CONTROL
588: ## </div>
589: 
590: #else
591: 	
592: 	#splitsData($pos)
593: 	
594: #end
595: 
596: </div> ## tab-content
597: ## SPLITS
598: 
599: 
600: 
601: 
602: 
603: #else
604: 
605: 
606: 
607: ## PROFILE
608: #set ($class = "tab-content clearfix")
609: #if ($view == "profile")
610: 	#set ($class = "tab-content clearfix active")
611: #end
612: <div class="${class}">
613: <div class="stats-wrapper clearfix">
614: 
615: ## LAST SIX GAMES
616: <div class="stats-halfbox-left">
617: #printRecentGames()
618: </div>
619: 
620: ## RANKING
621: $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
622: 
623: </div> ## stats-wrapper	
624: </div> ## tab-content
625: ## PROFILE
626: 
627: ## GAMELOG
628: #set ($class = "tab-content clearfix")
629: #if ($view == "gamelog")
630: 	#set ($class = "tab-content clearfix active")
631: #end
632: 
633: #set ($activePos = $statPos)
634: #if ($request.getParameter("view") == "gamelog" && $positions.get($request.getParameter("pos")).length() > 0)
635: 	#set ($activePos = $positions.get($request.getParameter("pos")))
636: #end
637: 
638: <div class="${class}">
639: <div class="stats-wrapper clearfix">
640: 
641: ## SECONDARY TABS FOR ONLY FOOTBALL,  BASEBALL, SOFTBALL AND BASKETBALL
642: #if ($sport.enumCode == 0 || $sport.enumCode == 1 || $sport.enumCode == 11 || $sport.enumCode == 2)
643: 	
644: <div class="stats-tabs-secondary clearfix">
645: <ul class="clearfix">
646: 
647: #if ($sport.enumCode == 0) ## Football
648: 
649: #if ($activePos == "qb")<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=qb">Passing</a></li>
650: 
651: #if ($activePos == "rb")<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=rb">Rushing</a></li>
652: 
653: #if ($activePos == "wr")<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=wr">Receiving</a></li>
654: 
655: #if ($activePos == "k")<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=k">Kicking</a></li>
656: 
657: #if ($activePos == "p")<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=p">Punting</a></li>
658: 
659: #if ($activePos == "kr")<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=kr">Returns</a></li>
660: 
661: #if ($activePos == "d")<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=d">#if ($locale == "en_us")Defense #elseif ($locale == "en_gb") Defence #end</a></li>
662: 
663: #elseif ($sport.enumCode == 1 || $sport.enumCode == 11) ## Baseball or Softball
664: 
665: #if ($activePos == "h")<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=h">Hitting</a></li>
666: 
667: #if ($activePos == "p")<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=p">Pitching</a></li>
668: 
669: #if ($activePos == "f")<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=f">Fielding</a></li>
670: 
671: #elseif ($sport.enumCode == 2) ## Basketball
672: 
673: #if ($activePos == "sh")<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=sh">Shooting</a></li>
674: 
675: #if ($activePos == "bc")<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=bc">Ball control</a></li>
676: 
677: #end
678: 
679: </ul>
680: </div> ## stats-tabs-secondary
681: 
682: #end ## sport check for secondary tabs
683: 
684: #if ($sport.enumCode == 0) ## Football
685: 
686: <div class="sub-tab-panels">
687:   #gamelogData("qb") ## PASSING
688:   #gamelogData("rb") ## RUSHING
689:   #gamelogData("wr") ## RECEIVING
690:   #gamelogData("k") ## KICKING
691:   #gamelogData("p") ## PUNTING
692:   #gamelogData("kr") ## RETURNS
693:   #gamelogData("d") ## DEFENSE
694: </div>
695:   
696: #elseif ($sport.enumCode == 1 || $sport.enumCode == 11) ## Baseball or Softball
697: 
698: <div class="sub-tab-panels">
699:   #gamelogData("h") ## HITTING
700:   #gamelogData("p") ## PITCHING
701:   #gamelogData("f") ## FIELDING
702: </div>
703:   
704: #elseif ($sport.enumCode == 2)
705: 
706: <div class="sub-tab-panels">
707:   #gamelogData("sh") ## SHOOTING
708:   #gamelogData("bc") ## BALL CONTROL
709: </div>
710:   
711: #else
712: 	
713:   #gamelogData($pos)
714:   
715: #end
716: 	
717: </div> ## stats-wrapper
718: </div> ## tab-content
719: ## GAMELOG
720: 
721: 
722: 
723: 
724: 
725: 
726: 
727: 
728: ## CAREER
729: #if ($showCareer)
730: #set ($class = "tab-content clearfix")
731: #if ($view == "career")
732: 	#set ($class = "tab-content clearfix active")
733: #end
734: 
735: #set ($activePos = $statPos)
736: #if ($request.getParameter("view") == "career" && $positions.get($request.getParameter("pos")).length() > 0)
737: 	#set ($activePos = $positions.get($request.getParameter("pos")))
738: #end
739: 
740: <div class="${class}">
741: <div class="stats-wrapper clearfix">
742: 
743: ## SECONDARY TABS FOR ONLY FOOTBALL,  BASEBALL, SOFTBALL AND BASKETBALL
744: #if ($sport.enumCode == 0 || $sport.enumCode == 1 || $sport.enumCode == 11 || $sport.enumCode == 2)
745: 	
746: <div class="stats-tabs-secondary clearfix">
747: <ul class="clearfix">
748: 
749: #if ($sport.enumCode == 0) ## Football
750: 
751: #if ($activePos == "qb")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=qb">Passing</a></li>
752: 
753: #if ($activePos == "rb")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=rb">Rushing</a></li>
754: 
755: #if ($activePos == "wr")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=wr">Receiving</a></li>
756: 
757: #if ($activePos == "k")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=k">Kicking</a></li>
758: 
759: #if ($activePos == "p")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=p">Punting</a></li>
760: 
761: #if ($activePos == "kr")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=kr">Returns</a></li>
762: 
763: #if ($activePos == "d")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=d">#if ($locale == "en_us")Defense #elseif ($locale == "en_gb") Defence #end</a></li>
764: 
765: #elseif ($sport.enumCode == 1 || $sport.enumCode == 11) ## Baseball or Softball
766: 
767: #if ($activePos == "h")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=h">Hitting</a></li>
768: 
769: #if ($activePos == "p")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=p">Pitching</a></li>
770: 
771: #if ($activePos == "f")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=f">Fielding</a></li>
772: 
773: #elseif ($sport.enumCode == 2) ## Basketball
774: 
775: #if ($activePos == "sh")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=sh">Shooting per game</a></li>
776: 
777: #if ($activePos == "st")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=st">Shooting</a></li>
778: 
779: #if ($activePos == "bc")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=bc">Ball control per game</a></li>
780: 
781: #if ($activePos == "bt")<li class="active">#else <li> #end<a href="${bioURL}?view=career&pos=bt">Ball control</a></li>
782: 
783: #end
784: </ul>
785: </div> ## stats-tabs-secondary
786: #end ## sport check for secondary tabs
787: 	
788: #if ($sport.enumCode == 0) ## Football
789: 
790: <div class="sub-tab-panels">
791: 	#careerData("qb") ## PASSING
792: 	#careerData("rb") ## RUSHING
793: 	#careerData("wr") ## RECEIVING
794: 	#careerData("k") ## KICKING
795: 	#careerData("p") ## PUNTING
796: 	#careerData("kr") ## RETURNS
797: 	#careerData("d") ## DEFENSE
798: </div>
799: 	
800: #elseif ($sport.enumCode == 1 || $sport.enumCode == 11) ## Baseball or Softball
801: 
802: <div class="sub-tab-panels">
803: 	#careerData("h") ## HITTING
804: 	#careerData("p") ## PITCHING
805: 	#careerData("f") ## FIELDING
806: </div>
807: 	
808: #elseif ($sport.enumCode == 2) ## Basketball
809: 	
810: <div class="sub-tab-panels">
811: 	#careerData("sh") ## SHOOTING PER GAME
812: 	#careerData("st") ## SHOOTING
813: 	#careerData("bc") ## BALL CONTROL PER GAME
814: 	#careerData("bt") ## BALL CONTROL
815: </div>
816: 
817: #else
818: 	
819: 	#careerData($pos)
820: 	
821: #end
822: 
823: </div> ## stats-wrapper
824: </div> ## tab-content
825: #end ## show career
826: ## CAREER
827: 
828: 
829: 
830: 
831: 
832: 
833: 
834: 
835: 
836: ## SPLITS
837: #set ($class = "tab-content clearfix")
838: #if ($view == "splits")
839: 	#set ($class = "tab-content clearfix active")
840: #end
841: 
842: #set ($activePos = $statPos)
843: #if ($request.getParameter("view") == "splits" && $positions.get($request.getParameter("pos")).length() > 0)
844: 	#set ($activePos = $positions.get($request.getParameter("pos")))
845: #end
846: 
847: <div class="${class}">
848: <div class="stats-wrapper clearfix">
849: 
850: ## SECONDARY TABS FOR ONLY FOOTBALL,  BASEBALL AND BASKETBALL
851: #if ($sport.enumCode == 0 || $sport.enumCode == 1 || $sport.enumCode == 11 || $sport.enumCode == 2)
852: 	
853: <div class="stats-tabs-secondary clearfix">
854: <ul class="clearfix">
855: 
856: #if ($sport.enumCode == 0) ## Football
857: 
858: #if ($activePos == "qb")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=qb">Passing</a></li>
859: 
860: #if ($activePos == "rb")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=rb">Rushing</a></li>
861: 
862: #if ($activePos == "wr")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=wr">Receiving</a></li>
863: 
864: #if ($activePos == "k")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=k">Kicking</a></li>
865: 
866: #if ($activePos == "p")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=p">Punting</a></li>
867: 
868: #if ($activePos == "kr")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=kr">Returns</a></li>
869: 
870: #if ($activePos == "d")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=d">#if ($locale == "en_us")Defense #elseif ($locale == "en_gb") Defence #end</a></li>
871: 
872: #elseif ($sport.enumCode == 1 || $sport.enumCode == 11) ## Baseball or Softball
873: 
874: #if ($activePos == "h")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=h">Hitting</a></li>
875: 
876: #if ($activePos == "p")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=p">Pitching</a></li>
877: 
878: #if ($activePos == "f")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=f">Fielding</a></li>
879: 
880: #elseif ($sport.enumCode == 2) ## Basketball
881: 
882: #if ($activePos == "sh")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=sh">Shooting per game</a></li>
883: 
884: #if ($activePos == "st")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=st">Shooting</a></li>
885: 
886: #if ($activePos == "bc")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=bc">Ball control per game</a></li>
887: 
888: #if ($activePos == "bt")<li class="active">#else <li> #end<a href="${bioURL}?view=splits&pos=bt">Ball control</a></li>
889: 
890: #end
891: </ul>
892: </div> ## stats-tabs-secondary
893: #end ## sport check for secondary tabs
894: 	
895: #if ($sport.enumCode == 0) ## Football
896: 
897: <div class="sub-tab-panels">
898: 	#splitsData("qb") ## PASSING
899: 	#splitsData("rb") ## RUSHING
900: 	#splitsData("wr") ## RECEIVING
901: 	#splitsData("k") ## KICKING
902: 	#splitsData("p") ## PUNTING
903: 	#splitsData("kr") ## RETURNS
904: 	#splitsData("d") ## DEFENSE
905: </div>
906: 	
907: #elseif ($sport.enumCode == 1 || $sport.enumCode == 11) ## Baseball or Softball
908: 
909: <div class="sub-tab-panels">
910: 	#splitsData("h") ## HITTING
911: 	#splitsData("p") ## PITCHING
912: 	#splitsData("f") ## FIELDING
913: </div>
914: 	
915: #elseif ($sport.enumCode == 2) ## Basketball
916: 	
917: <div class="sub-tab-panels">
918: 	#splitsData("sh") ## SHOOTING PER GAME
919: 	#splitsData("st") ## SHOOTING
920: 	#splitsData("bc") ## BALL CONTROL PER GAME
921: 	#splitsData("bt") ## BALL CONTROL
922: </div>
923: 
924: #else
925: 	
926: 	#splitsData($pos)
927: 	
928: #end
929: 
930: </div> ## stats-wrapper
931: </div> ## tab-content
932: ## SPLITS
933: 
934: #end ## MOBILE / DESKTOP STATS
935: 
936: #else
937: ## BIO
938: 
939: ## CHANGES FOR STATS
940: 
941: ## HACK TO GET STATS URL FROM RENDERER... NEEDS SERVER CHANGE
942: #set ($bioObject = $page.getDataAsObject())
943: #set ($statsURL = $bioObject.statsURL)
944: ## END OF HACK
945: 
946: #if ($statsURL.length() > 0)
947:   $website.includeAgain("${statsURL}?tmpl=bio-stats-template")
948:   ## various settings to get the variables set
949:   #set ($events = $request.getAttribute("bio_events"))
950:   #set ($seasons = $request.getAttribute("bio_seasons"))
951:   #set ($career = $request.getAttribute("bio_career"))
952:   #set ($labels = $request.getAttribute("bio_labels"))
953:   #set ($briefs = $request.getAttribute("bio_briefs"))
954:   #set ($gamelogs = $request.getAttribute("bio_gamelogs"))
955:   #set ($splits = $request.getAttribute("bio_splits"))
956:   #set ($statPosition = $request.getAttribute("bio_position"))
957:   #set ($positions = $request.getAttribute("bio_positions"))
958:   #set ($playerId = $request.getAttribute("bio_player_id"))
959:   #set ($highlights = $request.getAttribute("bio_highlights"))
960:   #set ($formats = $request.getAttribute("bio_formats"))
961: #end
962: 
963: ## END CHANGES FOR STATS
964: 
965: #set ($pos = "")
966: #set ($pos = $attributes.get("position"))
967: #set ($pos = $statPosition)
968: #set ($pos = $pos.toLowerCase())
969: #set ($posVec = $pos.split("/"))
970: #set ($pos = $posVec[0])
971: #set ($pos = $positions.get($pos))
972: #set ($highlights = $highlights.get($pos))
973: 
974: #set ($showHighlights = true)
975: #if ($options.get("bio_show_highlights") && $options.get("bio_show_highlights") == false)
976: 	#set ($showHighlights = false)
977: #end
978: #set ($showCareer = $wiki.valid() && $seasons)
979: #if ("yes" == $options.get("stats_show_career") && $seasons)
980:   #set ($showCareer = "yes")
981: #end
982: 
983: #set ($labels = $labels.get($pos))
984: #set ($briefs = $briefs.get($pos))
985: #set ($gamelogs = $gamelogs.get($pos))
986: #set ($stats = $splits.overall)
987: #set ($hasEvents = $events.size() > 0)
988: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
989: #set ($htmlStatsURL = "${page.url}-stats")
990: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
991: #set ($bioBriefURL = "${page.url}-brief")
992: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
993: #set ($showRoster = ($page.contentType == "loki/bio" && $page.headlinesFeatured.size() > 0) || ($page.contentType == "loki/bio-network" && $page.sectionPage.children.size() > 1))
994: #if ($options.get("bio_hide_roster") == true)
995: 	#set ($showRoster = false)
996: #end
997: 
998: ## Always default to the bio page if available
999: #set ($view = "bio")
1000: 
1001: #if ($hasSynopsis || $hasBioBrief)
1002: 	#set ($view = "bio")
1003: #elseif ($hasEvents)
1004: 	#set ($view = "profile")
1005: #elseif ($hasHTMLStats)
1006: 	#set ($view = "htmlstats")
1007: #else
1008: 	#set ($view = "")
1009: #end
1010: 
1011: #if ($options.get("bio_default_view").length() > 0)
1012: 	#set ($checkView = $options.get("bio_default_view"))
1013: #end
1014: 
1015: #if ($request.getParameter("view"))
1016: 	#set ($checkView = $request.getParameter("view"))
1017: #end
1018: 
1019: #if ($checkView == "profile" && $hasEvents)
1020: 	#set ($view = "profile")
1021: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief))
1022: 	#set ($view = "bio")
1023: #elseif ($checkView == "gamelog" && $hasEvents)
1024: 	#set ($view = "gamelog")
1025: #elseif ($checkView == "career" && $showCareer)
1026: 	#set ($view = "career")
1027: #elseif ($checkView == "splits" && $hasEvents)
1028: 	#set ($view = "splits")
1029: #elseif ($checkView == "htmlstats" && $hasHTMLStats)
1030: 	#set ($view = "htmlstats")
1031: #end
1032: 
1033: #if ($attributes.get("full_name"))
1034: 	#set ($fullName = $attributes.get("full_name"))
1035: #else
1036: 	#set ($firstName = $!attributes.get("first_name"))
1037: 	#set ($lastName = $!attributes.get("last_name"))
1038: 	#set ($fullName = "${firstName} ${lastName}")
1039: #end
1040: 
1041: #macro (printHeadshot $width $height)
1042: 	#if ($headshot.url)
1043: 		<img src="$headshot.url?max_width=$!width&max_height=$!height" alt="$fullName" title="$fullName" class="bio-headshot" />
1044: 	#else
1045: 		#if ($website.exists("/images/setup/headshot_default.jpg"))
1046: 			<img src="/images/setup/headshot_default.jpg?max_width=$!width&max_height=$!height" alt="$fullName" title="$fullName" class="bio-headshot" />
1047: 		#else
1048: 			<img src="/info/images/default_headshot.jpg?max_width=$!width&max_height=$!height" alt="$fullName" title="$fullName" class="bio-headshot" />
1049: 		#end
1050: 	#end
1051: #end
1052: 
1053: #if ($isMobile)
1054: 
1055: #set ($hasBioTab = false)
1056: #if ($hasSynopsis || $hasBioBrief)
1057: 	#set ($hasBioTab = true)
1058: #end
1059: 
1060: #set ($hasProfileTab = false)
1061: #if (($highlights && $showHighlights) || $events.size() > 0 || $website.exists("$statsURL/../players"))
1062: 	#set ($hasProfileTab = true)
1063: #end
1064: 
1065: <script type="text/javascript">
1066: 	window.mobileConf = {
1067: 		page : 'bios',
1068: 		pageParams : {
1069: 			view : '$!view'
1070: 		}
1071: 	}
1072: </script>
1073: 
1074: <div class="bios">
1075: 	<div class="profile">
1076: 		<div class="images">
1077: 			<div class="photo">
1078: 				#printHeadshot(81, 116)
1079: 			</div>				
1080: 			#if ($attributes.get("number"))	<div class="number"> $!attributes.get("number") </div> #end
1081: 		</div>
1082: 		<div class="texts">
1083: 			<div class="name">$!attributes.get("first_name") $!attributes.get("last_name")</div>
1084: 			<div class="data">
1085: 				#foreach ($field in $fields)
1086: 					#if (! $field.key.startsWith("custom"))
1087: 						#if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
1088: 
1089: 							#if ($field.key == "phone1" || $field.key == "phone2")
1090: 								Phone: $!attributes.get($field.key) <br />
1091: 							#elseif ($field.key == "email_address")
1092: 								#set ($emailAdd = $attributes.get($field.key))
1093: 								Email: <a href="mailto:${emailAdd}">$emailAdd</a> <br />
1094: 							#else
1095: 								$field.value: $!attributes.get($field.key) <br />
1096: 							#end
1097: 
1098: 							#set ($counter = $counter + 1)
1099: 						#end
1100: 					#end
1101: 				#end
1102: 					
1103: 				#foreach ($i in [1..10])
1104: 					#set ($customKey = "bio_custom${i}")
1105: 					#if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
1106: 						$options.get($customKey): </td><td class="val">$!attributes.get("custom${i}") <br />
1107: 						#set ($counter = $counter + 1)
1108: 					#end
1109: 				#end
1110: 				
1111: 			</div>
1112: 		</div>
1113: 	</div>	
1114: 
1115: 	#if ($hasBioTab || $hasProfileTab)
1116: 	<div class="details mobile-tabs mobile-stats" id="mobile-bios-tabs-container">
1117: 		<ul class="mobile-bios-tabs">
1118: 			#if ($hasBioTab)
1119: 				<li><a data-view="bio" href="#tab-bios">Bio</a></li>
1120: 			#end
1121: 			#if ($hasProfileTab)
1122: 				<li><a data-view="profile" href="#tab-profile">Profile</a></li>
1123: 			#end
1124: 			#if ($hasEvents)
1125: 				<li><a data-view="gamelog" href="#tab-gamelog">Game Log</a></li>
1126: 				#if ($showCareer)
1127: 				    <li><a data-view="career" href="#tab-career">Career</a></li>
1128: 				#end
1129: 				<li><a data-view="splits" href="#tab-splits">Splits</a></li>
1130: 			#end
1131: 		</ul>
1132: 		
1133: 		#if ($hasBioTab)
1134: 		<div id="tab-bios">
1135: 			#if ($hasSynopsis)
1136: 				$synopsis
1137: 			#elseif ($hasBioBrief)
1138: 				<p>$website.include("$bioBriefURL")</p>
1139: 			#end
1140: 		</div>
1141: 		#end
1142: 		
1143: 		#if ($hasProfileTab)
1144: 		#set ($cellWidth = $tool.math.toInteger($tool.math.div(100, $highlights.size())))
1145: 			
1146: 		<div id="tab-profile">
1147: 			## HIGHLIGHTS
1148: 			#if ($highlights && $showHighlights)
1149: 				<div class="bios-stat-wrapper">
1150: 					<h4>Highlights</h4>
1151: 					<table width="100%"><tr>
1152: 					#foreach ($highlight in $highlights.keySet())
1153: 						<th #if (! $isMobile) width="18%" #else width="${cellWidth}%" #end>$!highlights.get($highlight)</th>
1154: 					#end
1155: 					</tr><tr>
1156: 					#foreach ($highlight in $highlights.keySet())
1157: 						<td>
1158: 						#set ($value = "-")
1159: 						#set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
1160: 						#if ($value.length() > 0)
1161: 							<span class="value">$value</span>
1162: 						#else
1163: 							<span class="value">-</span>
1164: 						#end	
1165: 						</td>
1166: 					#end
1167: 					</tr></table>
1168: 				</div>
1169: 			#end
1170: 			
1171: 			## RECENT GAMES
1172: 			#if ($events.size() > 0)
1173: 			<div class="bios-stat-wrapper">
1174: 				##<h4>Recent Games</h4>
1175: 				#printRecentGames()
1176: 			</div>
1177: 			#end
1178: 			
1179: 			<div class="bios-stat-wrapper">
1180: 				$website.include("$statsURL/../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${pos}")
1181: 			</div>
1182: 			
1183: 		</div>
1184: 		#end
1185: 		
1186: 		## STATS TABS
1187: 		#if ($hasEvents)
1188: 			$website.includeAgain("${statsURL}?tmpl=bio-template&stats=1&biourl=${tool.esc.url($page.url)}&view=${view}&pos=${request.getParameter('pos')}")
1189: 			
1190: 			<div id="tab-splits"></div>
1191: 			
1192: 		#end
1193: 		
1194: 	</div>
1195: 	#end
1196: </div>   
1197:    
1198:    
1199: #else
1200: ## NOT MOBILE
1201: 
1202: <head>
1203: 	<title>$fullName #if ($attributes.get("team")) | $attributes.get("team")#end</title>
1204: 	<link rel="stylesheet" type="text/css" href="/info/bio-styles.css" />
1205: </head>
1206: 
1207: ## FULL ROSTER
1208: <div class="bio-wrap clearfix">
1209: 
1210: <div class="head clearfix">
1211: 
1212: <div class="bio-title">#if ($attributes.get("number"))<span class="number">$!attributes.get("number") - #end</span><span class="name">$fullName</span></div>
1213: 
1214: <div class="about">
1215: 
1216: <div class="clearfix">
1217: 
1218: #printHeadshot(150, 200)
1219: 
1220: #set ($counter = 0)
1221: <table cellpadding="5" cellspacing="5" border="0">
1222: 
1223: #foreach ($i in [1..10])
1224: 	#set ($stickyKey = "bio_custom${i}_sticky")
1225: 	#if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
1226: 		<tr><td class="lbl">$options.get($stickyKey): </td><td class="val">$!attributes.get("custom${i}")</td></tr>
1227: 		#set ($counter = $counter + 1)
1228: 	#end
1229: #end
1230: 
1231: #foreach ($field in $fields)
1232: 	#if (! $field.key.startsWith("custom"))
1233: 		#if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
1234: 
1235: 			#if ($field.key == "phone1" || $field.key == "phone2")
1236: 				<tr><td class="lbl">Phone: </td><td class="val">$!attributes.get($field.key)</td></tr>
1237: 			#elseif ($field.key == "email_address")
1238: 				#set ($emailAdd = $attributes.get($field.key))
1239: 				<tr><td class="lbl">Email: </td><td class="val"><a href="mailto:${emailAdd}">$emailAdd</a></td></tr>
1240: 			#else
1241: 				<tr><td class="lbl">$field.value: </td><td class="val">$!attributes.get($field.key)</td></tr>
1242: 			#end
1243: 
1244: 			#set ($counter = $counter + 1)
1245: 		#end
1246: 	#end
1247: #end
1248: 
1249: #foreach ($i in [1..10])
1250: 	#set ($customKey = "bio_custom${i}")
1251: 	#if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
1252: 		<tr><td class="lbl">$options.get($customKey): </td><td class="val">$!attributes.get("custom${i}")</td></tr>
1253: 		#set ($counter = $counter + 1)
1254: 	#end
1255: #end
1256: 
1257: </table>
1258: 
1259: </div> ## clearfix
1260: </div> ## ends about
1261: 
1262: #if ($highlights && $showHighlights)
1263: <div class="headstats">
1264: 	#foreach ($highlight in $highlights.keySet())
1265: 		<div class="hst">
1266: 		<span class="title" title="$!highlights.get($highlight)">$!highlights.get($highlight)</span>
1267: 		#set ($value = "-")
1268: 		#set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
1269: 		#if ($value.length() > 0)
1270: 			<span class="value">$value</span>
1271: 		#else
1272: 			<span class="value">-</span>
1273: 		#end
1274: 		</div>
1275: 	#end
1276: </div>
1277: #end ## if-highlights
1278: 
1279: </div> ## ends head
1280: 
1281: #if ($hasSynopsis || $hasBioBrief || $hasEvents || $hasHTMLStats || $showRoster)
1282: <div class="stats-tabs clearfix">
1283: 	#if (($hasSynopsis || $hasBioBrief || $hasEvents || $hasHTMLStats) && $view.length() > 0)
1284: 	<ul class="clearfix">
1285: 		#if ($hasSynopsis || $hasBioBrief)
1286: 			#if ($view == "bio")<li class="active">#else<li>#end<a href="${page.url}?view=bio">Bio</a></li>
1287: 		#end
1288: 		
1289: 		#if ($hasEvents)
1290: 			#if ($view == "profile")<li class="active">#else<li>#end<a href="${page.url}?view=profile">Player Profile</a></li>
1291: 			#if ($view == "gamelog")<li class="active">#else<li>#end<a href="${page.url}?view=gamelog">Game Log</a></li>
1292: 			#if ($showCareer)
1293:   			    #if ($view == "career")<li class="active">#else<li>#end<a href="${page.url}?view=career">Career Stats</a></li>
1294:   			#end
1295: 			#if ($view == "splits")<li class="active">#else<li>#end<a href="${page.url}?view=splits">Split Stats</a></li>
1296: 		#end
1297: 
1298: 		#if ($hasHTMLStats)
1299: 			#if ($view == "htmlstats")<li class="active">#else<li>#end<a href="${page.url}?view=htmlstats">HTML Stats</a></li>
1300: 		#end
1301: 	</ul>
1302: 	#end
1303: 	#if ($showRoster)
1304: 		#if ($page.contentType == "loki/bio")
1305: 			#set ($headlinesFeaturedSize = 0)
1306: 			#foreach ($featuredPage in $page.headlinesFeatured)
1307: 				#if ($featuredPage.contentType == "loki/headlines")
1308: 					#set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1)
1309: 				#end
1310: 			#end
1311: 			#if ($headlinesFeaturedSize > 0)
1312: 				<select class="roster-select-list">
1313: 					<option selected="selected" class="bold">Related Bios</option>
1314:     			#foreach ($featuredPage in $page.headlinesFeatured)
1315:     				#if ($featuredPage.contentType == "loki/headlines")
1316:     					$website.includeAgain("${featuredPage.url}?tmpl=roster-list-template&current_url=${page.url}")
1317:     				#end
1318: 				#end
1319: 				</select>
1320: 			#end
1321: 		#elseif ($page.contentType == "loki/bio-network")
1322: 			#set ($relatedPlayers = $page.sectionPage.children)
1323: 			#set ($teamNames = {})
1324: 			#foreach ($relatedPlayer in $relatedPlayers)
1325: 				#if ($relatedPlayer.contentType == "loki/bio-network")
1326: 					#set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
1327: 					## <span class="none relatedplayeratt">$relatedPlayerObj</span>
1328: 					#set ($teamName = $relatedPlayerObj.get("team"))
1329: 					#if ($teamName.length() > 0)
1330:     					#if (!$teamNames.containsValue($teamName))
1331:     						$!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName)
1332:     					#end
1333: 					#end
1334: 				#end
1335: 			#end
1336: 			##<span class="none teamnames">$teamNames</span>
1337: 			<select class="roster-select-list">
1338: 			#foreach ($i in [1..$teamNames.size()])
1339: 				#if ($teamNames.size() > 1)
1340: 					<optgroup label="$teamNames.get($i)">
1341: 				#end
1342: 				
1343: 				#foreach ($relatedPlayer in $relatedPlayers)
1344: 					#if ($relatedPlayer.contentType == "loki/bio-network")
1345: 						#set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
1346: 						#set ($teamName = $relatedPlayerObj.get("team"))
1347: 						#if ($teamName.length() > 0 && $teamName == $teamNames.get($i))
1348: 							#set ($playerFirstName = $relatedPlayerObj.get("first_name"))
1349: 							#set ($playerLastName = $relatedPlayerObj.get("last_name"))
1350: 							#if ($page.url == $relatedPlayer.url)
1351: 								<option value="$relatedPlayer.url" selected="selected" class="bold">${playerFirstName} ${playerLastName}</option>
1352: 							#else
1353: 								<option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option>
1354: 							#end
1355: 						#end
1356: 					#end
1357: 				#end
1358: 				
1359: 				#if ($teamNames.size() > 1)
1360: 					</optgroup>
1361: 				#end
1362: 			#end
1363: 			</select>
1364: 		#end
1365: 	#end
1366: </div>
1367: #end
1368: 
1369: #if ($hasSynopsis || $hasBioBrief || $hasEvents || $hasHTMLStats)
1370: 	<div class="tab-content-panels">
1371: #end
1372: 
1373: ## BIO TAB
1374: #if ($hasSynopsis || $hasBioBrief)
1375: 
1376: #set ($class = "tab-content clearfix")
1377: #if ($view == "bio")
1378: 	#set ($class = "tab-content clearfix active")
1379: #end
1380: <div class="${class}">
1381: 
1382: <div class="synopsis clearfix">
1383: #if ($hasSynopsis)
1384: 	$synopsis
1385: #elseif ($hasBioBrief)
1386: 	$website.include("$bioBriefURL")
1387: #end
1388: </div>
1389: 
1390: </div> ## tab-content
1391: #end ## BIO TAB ENDS
1392: 
1393: ## STATS TABS
1394: #if ($hasEvents)
1395:   $website.includeAgain("${statsURL}?tmpl=bio-template&stats=1&biourl=${tool.esc.url($page.url)}&view=${view}&pos=${request.getParameter('pos')}")
1396: #end
1397: 
1398: ## HTML TAB
1399: #if ($hasHTMLStats)
1400: 
1401: #set ($class = "tab-content clearfix")
1402: #if ($view == "htmlstats")
1403: 	#set ($class = "tab-content clearfix active")
1404: #end
1405: <div class="${class}">
1406: 	<a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a>
1407: </div>
1408: 
1409: #end
1410: 
1411: #if ($hasSynopsis || $hasBioBrief || $hasEvents || $hasHTMLStats)
1412: 	</div>
1413: #end
1414: 
1415: </div> ## ends bio-wrap
1416: 
1417: #if ($request.getAttribute("bioScriptCalled"))
1418:   #set ($scriptCalled = true)
1419: #else
1420:   #set ($scriptCalled = false)
1421: #end
1422: 
1423: #if (!$scriptCalled)
1424: 	
1425: $!request.setAttribute("bioScriptCalled", true)
1426: <script type="text/javascript" src="$website.cdn("/info/jquery.address-1.5.min.js")"></script>
1427: <script type="text/javascript">
1428: 
1429: jQuery.address.strict(false).state('${page.url}').init(function() {
1430: 	$('.bio-wrap .stats-tabs a').address();
1431: 	$('.bio-wrap .stats-tabs-secondary a').address();
1432: });
1433: 
1434: $(function() {
1435: 
1436: $('.bio-wrap .stats-tabs li').click(function(e) {
1437: 	e.preventDefault();
1438: 	if (!$(this).hasClass('active')) {
1439: 		$(this).addClass('active').siblings().removeClass('active');
1440: 		$(this).parent().parent('.stats-tabs').next('.tab-content-panels').children('.tab-content').removeClass('active').eq($(this).index()).addClass('active');
1441: 	}
1442: });
1443: 
1444: $('.bio-wrap .stats-tabs-secondary li').click(function(e) {
1445: 	e.preventDefault();
1446: 	if (!$(this).hasClass('active')) {
1447: 		$(this).addClass('active').siblings().removeClass('active');
1448: 		$(this).parent().parent('.stats-tabs-secondary').next('.sub-tab-panels').children('.sub-tab-content').removeClass('active').eq($(this).index()).addClass('active');
1449: 	}
1450: });
1451: 
1452: #if ($showRoster)
1453: 	$('.bio-wrap .roster-select-list').change(function() {
1454: 		window.location.href = $(this).val();
1455: 	});
1456: #end
1457: 
1458: #if ($hasHTMLStats)
1459: 	$('.bio-htmlstats-identifier').each(function() {
1460: 		var targetElement = $(this);
1461: 		jQuery.get($(this).attr('href'), function(data) {
1462: 			var htmlStats = $(data).find('center').first();
1463: 			htmlStats.add(htmlStats.siblings('center'));
1464: 			if (htmlStats.children().length > 0) {
1465: 				targetElement.replaceWith(htmlStats);
1466: 			}
1467: 		});
1468: 	});
1469: #end
1470: 
1471: });
1472: </script>
1473: #end
1474: 
1475: #end ## MOBILE CHECK
1476: #end ## STATS PARAMETER
1477: 
1478: $wiki

View: Mobile | Desktop