22 - Melissa Zornig
Melissa Zornig
Born: 06/19/1992
Height: 5-8
Year: Junior
Hometown: Coto de Caza, Calif.
High School: Santa Margarita HS
Position: Guard
gp 33
pts/g 8.0
fg % 37.9
3pt % 32.5
ft % 81.0
reb/g 1.8
a/g 2.2

UC SANTA BARBARA
2011-12: 
As a sophomore, she played in every game for the second straight year…Started 12 games, while being one of six players to see action in all 33 games…Totaled 796 minutes (24.1 per game average)…Averaged 6.8 points per game…Shot 35.9 percent from the field (89-for-248) and 81.8 percent from the free throw line (18-for-22)…Second on the team in three point percentage with 30.9 percent…Third on the team in three point field goals made with 29…Had a career high 23 points vs. Pacific on Mar. 9 in which she went 9-for-12 from the floor and 2-for-3 from downtown…Set a new career-high with 37 minutes in the third game of the season vs. St. Mary’s, where she had nine points, seven rebounds and five assists…Matched her career-high 37 minutes vs. New Mexico State on Dec. 19, where she had 13 points and three assists…Third on the team with 64 assists…Had 17 points vs. USF on Dec. 2, going 5-for-7 from three-point range in 27 minutes, tying the team lead for most threes in one game…Dished out a career-high six assists vs. Pepperdine on Dec. 16 and added eight points in 36 minutes…Tallied 225 points, 72 rebounds, 64 assists and 20 steals…In Big West action, Zornig played in all 16 games, with four starts…She played 337 total minutes (21.1 per game average)…Added 84 points (5.3 per game average), 25 assists and 25 rebounds. 

2010-11: As a freshman, was one of only five players to see action in all 31 games, with 2 starts…Played 540 minutes (17.4 per game average)…Shot 33 percent from the floor, and 74 percent from the free-throw line on the season…88 of her 180 shots came from beyond the 3-point line…Hit on 33.0 percent of her 3-pointers…Scored 179 points (5.8 per game average), with 48 assists and 17 steals…Scored career-high 17 points on Jan. 13 against UC Irvine, a game in which she went 7-for-9 from the floor and 2-for-4 from the free-throw line, and continued to see double-digits in 4 out of the 5 following games played…Played career-high 35 minutes on Nov. 20 against University of Idaho, where she had 10 points, 5 rebounds, and 1 assist…In Big West play, Zornig saw 257 minutes of playing time (16.1 per game average)…She had 96 points (6.0 per game average), 3 blocks, 6 steals, 12 assists, and 24 rebounds.  

HIGH SCHOOL
A graduate of Santa Margarita High School, Zornig earned four varsity letters under Coach Matt Houser…From 2006-2009, was recognized with All-State, All-County, All-CIF, and All-League honors…Was a McDonalds All-American her Senior year ...T wo-time league MVP and CIF Player of the Year…Walked away with the CIF All-Star Game MVP honors all four years in which she played…Zornig played in nine high school All-Tournament games, earning Tournament MVP twice…Recognized as the "O.C. 'Athlete of the Year'" from 2007-09…Led her team to the state semi-finals in 2007-08, the CIF Semi-Finals in 2008-09, and the CIF Championships in 2009-10…Averaged 13.5 points, 1.4 assists, 2.8 rebounds, as a freshman…As a sophomore she averaged 19.9 points, 2.4 assists, 4.4 rebounds, and 2.3 steals, as well as completing 84.1% of her free throws and 45.7% of her 3-pointers…Her junior year, she averaged 23.8 points, 3.8 assists, 6.0 rebounds, 2.8 steals…She capped off a great high school career with senior year averages of 23.7 points, 3.2 assists. 2.7 steals, while nailing 82.5% of her free throws and 35.4% of her 3-pointers…Also a great student, Zornig found herself on the Santa Margarita Dean's List five times, as well as receiving a Community Award for her studies in Earth Science and Chemistry.

PERSONAL

Melissa Nicole Zornig was born on June 19, 1992 to Scott and Wendy Zornig…Has an older brother, Jeff, who plays volleyball at Rutgers…She answers to her nickname of "Mel"…Melissa majors in Global Studies while also minoring in Spanish…Aspires to have a career in international business…Favorite movies are "Grease" and "The Hangover"…Favorite team is the Lakers…Favorite athlete is Kobe Bryant…Favorite writer is Nicholas Sparks…Her hobbies include going to the beach, shopping, and hanging out with friends and family…Her favorite TV shows are "Friends", "Family Guy", "C.S.I", and "Jersey Shore"…Most memorable sports moment is winning the CIF Championship her senior year (2010)…Was also recruited by Oregon State, Oregon, Pepperdine, San Diego and Gonzaga.

Year

G/GS

Min

FG/FGA

FG%

3FG/FGA

3FG%

FT/FTA

FT%

Off. Reb

Def. Reb

Tot

Avg

PF

DQ

Ast

TO

Blk

Stl

Pt.

Avg.

10-11

31-2

540

61-180

.339

29-88

.330

28-38

.737

20

30

50

1.6

18

0

48

49

4

17

179

5.8

11-12

33-12

796

89-248

.359

29-94

.309

18-22

.818

21

51

72

2.2

31

0

64

43

4

20

225

6.8

Totals

64-14

1336

150-428

.350

58-182

.319

46-60

.766

41

81

122

1.9

49

0

112

92

8

37

404

6.3

 

 


  Career Highs  
Points 23 vs. Pacific 3/9/12
Rebounds 7 vs. St. Marys    11/17/11
Assists 7 vs. Cal State Northridge 1/29/11
Steals 3 three times three times
Blocks 1 eight times eight times
FG Made 9 vs. Pacific 3/9/12
FG Attempted 15 vs. UC Irvine 3/6/12
FT Made 4 twice twice
FT Attempted 6 vs. UC Irvine 2/10/11

Recent Games
Mar 2 at UC Riverside W, 62-42
Mar 7 Long Beach State W, 59-50
Mar 9 UC Irvine W, 49-41
Mar 13 vs. Cal State Northridge W, 45-31
Mar 15 vs. Cal Poly L, 62-43
Mar 20 at San Diego State L, 69-46
Statistics category Overall Conf
Games 33 18
Games started 20 15
Minutes 930 545
Minutes per game 28.2 30.3
FG 96-253 59-147
FG Pct 37.9 40.1
3PT 39-120 25-70
3PT Pct 32.5 35.7
FT 34-42 19-23
FT Pct 81.0 82.6
Off rebounds 16 8
Def rebounds 42 26
Total rebounds 58 34
Rebounds per game 1.8 1.9
Personal fouls 30 19
Disqualifications 0 0
Assists 71 36
Turnovers 49 24
Assist to turnover ratio 1.4 1.5
Steals 20 12
Blocks 1 1
Points 265 162
Points per game 8.0 9.0
Points per 40 min 11.4 11.9
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 5 Vanguard W, 52-39 1 36 4-12 33.3 1-5 20.0 0-0 - 9
Nov 9 at UNLV L, 58-52 1 34 4-9 44.4 2-7 28.6 1-2 50.0 11
Nov 14 New Mexico St. W, 43-41 1 37 1-6 16.7 1-4 25.0 0-0 - 3
Nov 20 vs. Oregon State L, 49-46 1 21 1-9 11.1 1-7 14.3 0-0 - 3
Nov 21 vs. Mississippi State W, 60-43 - 24 3-6 50.0 0-1 0.0 7-9 77.8 13
Nov 22 vs. Missouri State L, 68-61 - 25 2-8 25.0 0-4 0.0 0-0 - 4
Nov 27 USC L, 62-51 1 18 3-6 50.0 1-2 50.0 0-0 - 7
Dec 1 St .Mary's (CA) L, 49-39 - 30 3-10 30.0 1-6 16.7 2-2 100.0 9
Dec 5 at Loyola Marymount W, 76-69 - 21 3-5 60.0 2-3 66.7 5-6 83.3 13
Dec 15 at Washington W, 54-46 - 27 3-7 42.9 2-5 40.0 0-0 - 8
Dec 18 at BYU L, 67-39 - 24 2-8 25.0 0-1 0.0 0-0 - 4
Dec 21 Kentucky L, 66-38 - 28 4-8 50.0 1-3 33.3 0-0 - 9
Dec 29 Kansas St. L, 60-45 1 25 3-7 42.9 1-1 100.0 0-0 - 7
Jan 3 at UC Irvine W, 51-46 1 28 4-8 50.0 3-6 50.0 0-0 - 11
Jan 5 at Long Beach State L, 52-45 1 31 1-5 20.0 0-3 0.0 0-0 - 2
Jan 10 Pacific L, 64-52 1 32 2-8 25.0 1-4 25.0 4-4 100.0 9
Jan 12 UC Davis W, 58-43 1 39 8-15 53.3 5-9 55.6 3-4 75.0 24
Jan 19 at Cal Poly L, 66-47 1 32 3-10 30.0 2-5 40.0 0-0 - 8
Jan 24 at Cal State Northridge W, 56-37 1 34 4-9 44.4 2-4 50.0 0-0 - 10
Jan 26 at Hawaii W, 51-50 1 34 7-10 70.0 0-3 0.0 1-2 50.0 15
Jan 31 UC Riverside L, 45-42 1 31 2-7 28.6 1-3 33.3 0-0 - 5
Feb 2 Cal State Fullerton W, 60-50 1 27 3-5 60.0 1-2 50.0 0-0 - 7
Feb 7 at UC Davis W, 60-52 1 34 3-8 37.5 2-7 28.6 0-0 - 8
Feb 9 at Pacific W, 52-47 1 37 6-15 40.0 3-5 60.0 3-3 100.0 18
Feb 16 Cal Poly L, 65-56 1 30 1-8 12.5 1-4 25.0 3-4 75.0 6
Feb 21 Hawaii L, 54-51 1 33 2-7 28.6 0-2 0.0 3-4 75.0 7
Feb 23 Cal State Northridge W, 66-55 1 24 4-5 80.0 1-2 50.0 0-0 - 9
Feb 28 at Cal State Fullerton L, 46-38 1 32 0-6 0.0 0-2 0.0 2-2 100.0 2
Mar 2 at UC Riverside W, 62-42 - 24 4-8 50.0 2-4 50.0 0-0 - 10
Mar 7 Long Beach State W, 59-50 - 20 4-10 40.0 1-4 25.0 0-0 - 9
Mar 9 UC Irvine W, 49-41 - 23 1-3 33.3 0-1 0.0 0-0 - 2
Mar 13 vs. Cal State Northridge W, 45-31 - 22 2-3 66.7 0-0 - 0-0 - 4
Mar 15 vs. Cal Poly L, 62-43 - 22 2-6 33.3 2-2 100.0 0-0 - 6
Mar 20 at San Diego State L, 69-46 - 27 1-8 12.5 0-4 0.0 0-0 - 2
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 5 Vanguard W, 52-39 1 36 1 7 8 6 3 2.0 0 0 0 0
Nov 9 at UNLV L, 58-52 1 34 1 1 2 1 2 0.5 0 0 1 0
Nov 14 New Mexico St. W, 43-41 1 37 2 1 3 2 2 1.0 0 0 1 0
Nov 20 vs. Oregon State L, 49-46 1 21 0 1 1 2 2 1.0 1 0 1 0
Nov 21 vs. Mississippi State W, 60-43 - 24 1 1 2 3 0 - 1 0 0 0
Nov 22 vs. Missouri State L, 68-61 - 25 1 1 2 3 0 - 1 0 1 0
Nov 27 USC L, 62-51 1 18 0 0 0 3 1 3.0 1 0 0 0
Dec 1 St .Mary's (CA) L, 49-39 - 30 0 1 1 3 3 1.0 0 0 0 0
Dec 5 at Loyola Marymount W, 76-69 - 21 0 4 4 3 1 3.0 1 0 1 0
Dec 15 at Washington W, 54-46 - 27 0 1 1 1 2 0.5 1 0 2 0
Dec 18 at BYU L, 67-39 - 24 1 0 1 1 2 0.5 1 0 0 0
Dec 21 Kentucky L, 66-38 - 28 0 0 0 3 2 1.5 0 0 0 0
Dec 29 Kansas St. L, 60-45 1 25 0 1 1 2 4 0.5 1 0 1 0
Jan 3 at UC Irvine W, 51-46 1 28 0 1 1 0 1 0.0 0 0 1 0
Jan 5 at Long Beach State L, 52-45 1 31 0 1 1 0 0 - 0 0 1 0
Jan 10 Pacific L, 64-52 1 32 0 0 0 4 1 4.0 1 0 1 0
Jan 12 UC Davis W, 58-43 1 39 0 4 4 5 2 2.5 1 1 2 0
Jan 19 at Cal Poly L, 66-47 1 32 0 1 1 4 1 4.0 0 0 0 0
Jan 24 at Cal State Northridge W, 56-37 1 34 0 2 2 4 3 1.3 4 0 1 0
Jan 26 at Hawaii W, 51-50 1 34 1 1 2 4 1 4.0 0 0 2 0
Jan 31 UC Riverside L, 45-42 1 31 1 3 4 2 4 0.5 0 0 0 0
Feb 2 Cal State Fullerton W, 60-50 1 27 0 1 1 1 1 1.0 0 0 1 0
Feb 7 at UC Davis W, 60-52 1 34 0 1 1 1 4 0.2 2 0 1 0
Feb 9 at Pacific W, 52-47 1 37 1 4 5 2 1 2.0 0 0 1 0
Feb 16 Cal Poly L, 65-56 1 30 0 0 0 1 1 1.0 1 0 0 0
Feb 21 Hawaii L, 54-51 1 33 0 0 0 2 1 2.0 0 0 2 0
Feb 23 Cal State Northridge W, 66-55 1 24 2 1 3 2 1 2.0 0 0 0 0
Feb 28 at Cal State Fullerton L, 46-38 1 32 1 2 3 0 0 - 0 0 2 0
Mar 2 at UC Riverside W, 62-42 - 24 1 0 1 2 0 - 3 0 1 0
Mar 7 Long Beach State W, 59-50 - 20 1 1 2 1 0 - 0 0 2 0
Mar 9 UC Irvine W, 49-41 - 23 0 3 3 1 2 0.5 0 0 1 0
Mar 13 vs. Cal State Northridge W, 45-31 - 22 0 2 2 3 2 1.5 0 0 2 0
Mar 15 vs. Cal Poly L, 62-43 - 22 1 1 2 4 1 4.0 0 0 1 0
Mar 20 at San Diego State L, 69-46 - 27 1 1 2 1 1 1.0 0 0 0 0
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
Total 33 20 28.2 2.9-7.7 37.9 1.2-3.6 32.5 1.0-1.3 81.0 8.0
Conference 18 15 30.3 3.3-8.2 40.1 1.4-3.9 35.7 1.1-1.3 82.6 9.0
Exhibition 1 1 36.0 4.0-12.0 33.3 1.0-5.0 20.0 0.0-0.0 - 9.0

Home 14 10 28.4 2.9-7.5 39.0 1.1-3.4 34.0 1.1-1.3 83.3 8.1
Away 14 9 29.9 3.2-8.3 38.8 1.4-4.2 33.9 0.9-1.1 80.0 8.7
Neutral 5 1 22.8 2.0-6.4 31.2 0.6-2.8 21.4 1.4-1.8 77.8 6.0

Wins 16 9 28.4 3.8-7.7 48.8 1.6-3.8 41.7 1.2-1.5 79.2 10.2
Losses 17 11 27.9 2.1-7.6 27.7 0.8-3.5 23.3 0.9-1.1 83.3 5.9

November 6 4 26.5 2.3-7.3 31.8 0.8-4.2 20.0 1.3-1.8 72.7 6.8
December 6 1 25.8 3.0-7.5 40.0 1.2-3.2 36.8 1.2-1.3 87.5 8.3
January 8 8 32.6 3.9-9.0 43.1 1.8-4.6 37.8 1.0-1.2 80.0 10.5
February 7 7 31.0 2.7-7.7 35.2 1.1-3.4 33.3 1.6-1.9 84.6 8.1
March 6 - 23.0 2.3-6.3 36.8 0.8-2.5 33.3 0.0-0.0 - 5.5
  gp gs min fg pct 3pt pct ft pct pts
Total 33 20 930 96-253 37.9 39-120 32.5 34-42 81.0 265
Conference 18 15 545 59-147 40.1 25-70 35.7 19-23 82.6 162
Exhibition 1 1 36 4-12 33.3 1-5 20.0 0-0 - 9

Home 14 10 397 41-105 39.0 16-47 34.0 15-18 83.3 113
Away 14 9 419 45-116 38.8 20-59 33.9 12-15 80.0 122
Neutral 5 1 114 10-32 31.2 3-14 21.4 7-9 77.8 30

Wins 16 9 455 60-123 48.8 25-60 41.7 19-24 79.2 164
Losses 17 11 475 36-130 27.7 14-60 23.3 15-18 83.3 101

November 6 4 159 14-44 31.8 5-25 20.0 8-11 72.7 41
December 6 1 155 18-45 40.0 7-19 36.8 7-8 87.5 50
January 8 8 261 31-72 43.1 14-37 37.8 8-10 80.0 84
February 7 7 217 19-54 35.2 8-24 33.3 11-13 84.6 57
March 6 - 138 14-38 36.8 5-15 33.3 0-0 - 33
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
Total 33 20 28.2 0.5 1.3 1.8 0.9 0.0 2.2 1.5 1.4 0.6 0.0
Conference 18 15 30.3 0.4 1.4 1.9 1.1 0.0 2.0 1.3 1.5 0.7 0.1
Exhibition 1 1 36.0 1.0 7.0 8.0 0.0 0.0 6.0 3.0 2.0 0.0 0.0

Home 14 10 28.4 0.4 1.1 1.6 0.8 0.0 2.3 1.8 1.3 0.4 0.1
Away 14 9 29.9 0.5 1.4 1.9 1.0 0.0 1.7 1.4 1.3 0.9 0.0
Neutral 5 1 22.8 0.6 1.2 1.8 1.0 0.0 3.0 1.0 3.0 0.6 0.0

Wins 16 9 28.4 0.6 1.8 2.3 1.2 0.0 2.2 1.4 1.5 0.8 0.1
Losses 17 11 27.9 0.4 0.8 1.2 0.6 0.0 2.1 1.5 1.4 0.4 0.0

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

View: Mobile | Desktop