<?php 
#include 'header.php';

include_once 'connection.php';

include 'goallinefunctionsJSON.php';

function getPlayerImage ($playerid) {
	$pdoConnect = createNDBH();
	
	$playerimageSQL = $pdoConnect->prepare('SELECT imagelocation FROM CSSplayerassignment WHERE PlayertableRef = "playerassignment" AND PlayeridRef = :idPlayer LIMIT 1');
	$playerimageSQL->bindParam(':idPlayer', $playerid, PDO::PARAM_INT);
	$playerimageSQL->execute();
	$getimage = $playerimageSQL->fetch(PDO::FETCH_ASSOC);
	if (!empty($getimage['imagelocation'])) 
		{
			$playerimagelocation .= '<img class="imagePlayer-small" src="playerimages/'.$getimage['imagelocation'].'">';			
	} else {$playerimagelocation = '';}
return $playerimagelocation;
}

function getTeamImage ($teamid) {
	$pdoConnect = createNDBH();
	
	$teamcustom = $NDBH->prepare('SELECT imagelocation FROM CSSteamassignment WHERE TeamtableRef = "teamassignment" AND TeamidRef = :idteam LIMIT 1');
	$teamcustom->bindParam(':idteam', $teamid, PDO::PARAM_INT);
	$teamcustom->execute();
	$getimage = $teamcustom->fetch(PDO::FETCH_ASSOC);
	if (!empty($getimage['imagelocation'])) 
		{
			$headerimage .= '<img src="teamimages/'.$getimage['imagelocation'].'">';			
	} else {
		$teamstandard = $DBH->prepare('SELECT externalSmallImage FROM team JOIN teamassignment ON team.idTeam = teamassignment.idTeamkey WHERE idTeamAssignment = :idteam LIMIT 1');
		$teamstandard->bindParam(':idteam', $teamid, PDO::PARAM_INT);
		$teamstandard->execute();
		$getAHAimage = $teamstandard->fetch(PDO::FETCH_ASSOC);
		
		if (!empty($getAHAimage['externalSmallImage'])) {	
			$headerimage .= '<img src="'.$getAHAimage['externalSmallImage'].'">';
		}
	}
return $headerimage;
}

#function that runs query
function playerleaders ($target, $header) {
	$pdoConnect = createDBH();
	
	##Gets necessary starting steps
	$currentteam = ( isset( $_GET['teamid'] ) && is_numeric( $_GET['teamid'] ) ) ? intval( $_GET['teamid'] ) : 0;
	$currentlevel = ( isset( $_GET['levelid'] ) && is_numeric( $_GET['levelid'] ) ) ? intval( $_GET['levelid'] ) : 0;
	$currentdivision = isset($_GET['divid']) ? $_GET['divid'] : NULL;
	$currentseason = ( isset( $_GET['seasonid'] ) && is_numeric( $_GET['seasonid'] ) ) ? intval( $_GET['seasonid'] ) : 0;
	$currentsubseason = ( isset( $_GET['subseasonid'] ) && is_numeric( $_GET['subseasonid'] ) ) ? intval( $_GET['subseasonid'] ) : 0;
	$currentgame = ( isset( $_GET['gameid'] ) && is_numeric( $_GET['gameid'] ) ) ? intval( $_GET['gameid'] ) : 0;
	
	$SQL = 'SELECT DISTINCT teamassignment.idTeamAssignment, skaterstat.idPlayerAssignment AS playerassignid, idPlayers, photoPlayerTeam, photoPlayerMaster, TeamName, photoTeam, photoTeamMaster, team.externalSmallImage, PlayerLast, PlayerFirst, PlayerNumber, PlayerStatus, SUM(PlayerGames), '.$target.' FROM skaterstat JOIN playerassignment ON playerassignment.idPlayerAssignment = skaterstat.idPlayerAssignment LEFT JOIN PlayerPreference ON playerassignment.idPlayerAssignment = PlayerPreference.idPlayerAssignment LEFT JOIN TeamPreference ON playerassignment.idTeamAssignmentkey = TeamPreference.idTeamAssignment JOIN players ON playerassignment.idPlayerskey=players.idPlayers JOIN subseason ON skaterstat.idsubseasonkey = subseason.idsubseason JOIN teamassignment ON playerassignment.idTeamAssignmentkey = teamassignment.idTeamAssignment LEFT JOIN jjglover_GLSHockey_NewsCss.cssteamassignment ON teamassignment.idTeamAssignment = cssteamassignment.TeamidRef AND jjglover_GLSHockey_NewsCss.cssteamassignment.TeamtableRef = "teamassignment" LEFT JOIN jjglover_GLSHockey_NewsCss.cssplayerassignment ON playerassignment.idPlayerAssignment = cssplayerassignment.PlayeridRef AND jjglover_GLSHockey_NewsCss.cssplayerassignment.PlayertableRef = "playerassignment" JOIN team ON teamassignment.idTeamkey = team.idTeam WHERE teamassignment.idTeamAssignment IN (SELECT DISTINCT idteamassignmentkey FROM teamstatassignment';
	$SQLWhere = '';
	$SQLJoin = '';
	$SQLGroup = ') GROUP BY playerassignid HAVING SUM(PlayerGames) > 0 ORDER BY '.$target.' DESC, SUM(PlayerGames) DESC LIMIT 5';

	if ($currentseason != 0) 
	{
		$SQLWhere .= ' WHERE idSeasonkey = :idseason';
	}
	elseif ($currentteam != 0)
	{
		$SQLWhere .= ' WHERE idTeamAssignmentkey = :teamid';
	}
	if ($currentsubseason != 0)
	{
		$SQLWhere .= ' AND idsubseasonkey = :idsubseason';
	}
	if ($currentlevel != 0)
	{
		$SQLWhere .= ' AND idLevelSeasonkey = :idlevel';
	}
	if (!empty($currentdivision))
	{
	$SQLWhere .= ' AND TeamDivision = :division';
	}
	
#Set Query for Skaterstats
	#print($SQL.$SQLWhere.$SQLGroup);
	$Leaderstatquery = $pdoConnect->prepare($SQL.$SQLWhere.$SQLGroup);
	if ($currentseason != 0) 
	{
		$Leaderstatquery->bindParam(':idseason', $currentseason, PDO::PARAM_INT);
	}
	elseif ($currentteam != 0)
	{
		$Leaderstatquery->bindParam(':teamid', $currentteam, PDO::PARAM_INT);
	}
	if ($currentsubseason != 0)
	{
		$Leaderstatquery->bindParam(':idsubseason', $currentsubseason, PDO::PARAM_INT);
	}
	if ($currentlevel != 0)
	{
		$Leaderstatquery->bindParam(':idlevel', $currentlevel, PDO::PARAM_INT);
	}
	if (!empty($currentdivision))
	{
		$Leaderstatquery->bindParam(':division', $currentdivision, PDO::PARAM_STR);
	}
	$Leaderstatquery->execute();
	#Prepare Output for HTML
	$playerleader = '<table id="'.$header.'lead" class="tablesorter"><caption>'.$header.' Leader</caption><thead><tr><th></th><th>Team Name</th><th></th><th>Player</th><th></th><th>GP</th><th>'.$header.'</th></tr></thead><tbody>';

	while($row = $Leaderstatquery->fetch(PDO::FETCH_ASSOC)) {
		/*
		if (!empty($row['photoPlayerTeam'])) {$playerimageFound = '<img class="imagePlayer-small" src="playerimages/'.$row['photoPlayerTeam'].'">';} 
		elseif (!empty($row['photoPlayerMaster'])) {$playerimageFound = '<img class="imagePlayer-small" src="playerimages/'.$row['photoPlayerMaster'].'">';} 
		else {$playerimageFound = '';}
		*/
		$playerimageFound = getPlayerImage($row['playerassignid']);
		
		if (!empty($row['photoTeam'])) {$teamimageFound = '<img src="teamimages/'.$row['photoTeam'].'">';} 
		elseif (!empty($row['photoTeamMaster'])) {$teamimageFound = '<img src="teamimages/'.$row['photoTeamMaster'].'">';} 
		elseif (!empty($row['externalSmallImage'])) {$teamimageFound = '<img src="'.$row['externalSmallImage'].'">';} 
		else {$teamimageFound = '';}
		
		$playerleader .= '<tr><td><a href="index.php?teamid='.$row['idTeamAssignment'].'">'.$teamimageFound.'</td><td>'.$row['TeamName'].'</a></td><td><a href="playercard.php?playerteamid='.$row['playerassignid'].'">'.$playerimageFound.'</td><td>'.$row['PlayerFirst'].' '.$row['PlayerLast'].'</a></td><td>'.$row['PlayerStatus'].'</td><td>'.$row['SUM(PlayerGames)'].'</td><td>'.$row[$target].'</td></tr>';
		}
	$playerleader .= '</tbody></table>';
return $playerleader;
}

function goalieleader ($target, $header, $sortorder) {
	$pdoConnect = createDBH();
	
	##Gets necessary starting steps
	$currentteam = ( isset( $_GET['teamid'] ) && is_numeric( $_GET['teamid'] ) ) ? intval( $_GET['teamid'] ) : 0;
	$currentlevel = ( isset( $_GET['levelid'] ) && is_numeric( $_GET['levelid'] ) ) ? intval( $_GET['levelid'] ) : 0;
	$currentdivision = isset($_GET['divid']) ? $_GET['divid'] : NULL;
	$currentseason = ( isset( $_GET['seasonid'] ) && is_numeric( $_GET['seasonid'] ) ) ? intval( $_GET['seasonid'] ) : 0;
	$currentsubseason = ( isset( $_GET['subseasonid'] ) && is_numeric( $_GET['subseasonid'] ) ) ? intval( $_GET['subseasonid'] ) : 0;
	$subgoalie = ( isset( $_GET['subgoalie'] ) && is_numeric( $_GET['subgoalie'] ) ) ? intval( $_GET['subgoalie'] ) : 0;

	$SQL = 'SELECT DISTINCT teamassignment.idTeamAssignment, cssCustom, goaliestat.idPlayerAssignment AS playerassignid, idPlayers, jjglover_GLSHockey_NewsCss.cssplayerassignment.imagelocation AS PlayerImage, photoPlayerTeam, photoPlayerMaster, TeamName, photoTeam, photoTeamMaster, team.externalSmallImage, PlayerLast, PlayerFirst, PlayerNumber, PlayerStatus, SUM(GoalieGames), '.$target.' FROM goaliestat JOIN playerassignment ON playerassignment.idPlayerAssignment = goaliestat.idPlayerAssignment LEFT JOIN PlayerPreference ON playerassignment.idPlayerAssignment = PlayerPreference.idPlayerAssignment LEFT JOIN TeamPreference ON playerassignment.idTeamAssignmentkey = TeamPreference.idTeamAssignment JOIN players ON playerassignment.idPlayerskey=players.idPlayers JOIN subseason ON goaliestat.idsubseasonkey = subseason.idsubseason JOIN teamassignment ON playerassignment.idTeamAssignmentkey = teamassignment.idTeamAssignment LEFT JOIN jjglover_GLSHockey_NewsCss.cssteamassignment ON teamassignment.idTeamAssignment = cssteamassignment.TeamidRef AND jjglover_GLSHockey_NewsCss.cssteamassignment.TeamtableRef = "teamassignment" LEFT JOIN jjglover_GLSHockey_NewsCss.cssplayerassignment ON playerassignment.idPlayerAssignment = cssplayerassignment.PlayeridRef AND jjglover_GLSHockey_NewsCss.cssplayerassignment.PlayertableRef = "playerassignment" JOIN team ON teamassignment.idTeamkey = team.idTeam WHERE teamassignment.idTeamAssignment IN (SELECT DISTINCT idteamassignmentkey FROM teamstatassignment';
	$SQLWhere = '';
	$SQLJoin = '';
	$SQLGroup = ') GROUP BY playerassignid HAVING SUM(GoalieGames) > 0 ORDER BY '.$target.' '.$sortorder.', SUM(GoalieGames) DESC LIMIT 5';

	if ($currentseason != 0) 
	{
		$SQLWhere .= ' WHERE idSeasonkey = :idseason';
	}
	elseif ($currentteam != 0)
	{
		$SQLWhere .= ' WHERE idTeamAssignmentkey = :teamid';
	}
	if ($currentsubseason != 0)
	{
		$SQLWhere .= ' AND idsubseasonkey = :idsubseason';
	}
	if ($currentlevel != 0)
	{
		$SQLWhere .= ' AND idLevelSeasonkey = :idlevel';
	}
	if (!empty($currentdivision))
	{
	$SQLWhere .= ' AND TeamDivision = :division';
	}
	if ($subgoalie == 0)
	{
		$SQLWhere .= ' AND (PlayerStatus <> "Sub Goalie" OR PlayerStatus IS NULL)';
	}
	
#Set Query for Skaterstats

	$Goaliestatquery = $pdoConnect->prepare($SQL.$SQLWhere.$SQLGroup);
	if ($currentseason != 0) 
	{
		$Goaliestatquery->bindParam(':idseason', $currentseason, PDO::PARAM_INT);
	}
	elseif ($currentteam != 0)
	{
		$Goaliestatquery->bindParam(':teamid', $currentteam, PDO::PARAM_INT);
	}
	if ($currentsubseason != 0)
	{
		$Goaliestatquery->bindParam(':idsubseason', $currentsubseason, PDO::PARAM_INT);
	}
	if ($currentlevel != 0)
	{
		$Goaliestatquery->bindParam(':idlevel', $currentlevel, PDO::PARAM_INT);
	}
	if (!empty($currentdivision))
	{
		$Goaliestatquery->bindParam(':division', $currentdivision, PDO::PARAM_STR);
	}
	$Goaliestatquery->execute();
	#Prepare Output for HTML
	$playerleader = '<table id="'.$header.'lead" class="tablesorter"><caption>'.$header.' Leader</caption><thead><tr><th></th><th>Team Name</th><th></th><th>Player</th><th></th><th>GP</th><th>'.$header.'</th></tr></thead><tbody>';
	while($row = $Goaliestatquery->fetch(PDO::FETCH_ASSOC)) {
		if (!empty($row['photoPlayerTeam'])) {$playerimageFound = '<img class="imagePlayer-small" src="playerimages/'.$row['photoPlayerTeam'].'">';} 
		elseif (!empty($row['photoPlayerMaster'])) {$playerimageFound = '<img class="imagePlayer-small" src="playerimages/'.$row['photoPlayerMaster'].'">';} 
		else {$playerimageFound = '';}
		
		if (!empty($row['photoTeam'])) {$teamimageFound = '<img src="teamimages/'.$row['photoTeam'].'">';} 
		elseif (!empty($row['photoTeamMaster'])) {$teamimageFound = '<img src="teamimages/'.$row['photoTeamMaster'].'">';} 
		elseif (!empty($row['externalSmallImage'])) {$teamimageFound = '<img src="'.$row['externalSmallImage'].'">';} 
		else {$teamimageFound = '';}
		
		$playerleader .= '<tr><td><a href="index.php?teamid='.$row['idTeamAssignment'].'">'.$teamimageFound.'</td><td>'.$row['TeamName'].'</a></td><td><a href="playercard.php?playerteamid='.$row['playerassignid'].'">'.$playerimageFound.'</td><td>'.$row['PlayerFirst'].' '.$row['PlayerLast'].'</a></td><td>'.$row['PlayerStatus'].'</td><td>'.$row['SUM(GoalieGames)'].'</td><td>'.$row[$target].'</td></tr>';
		}
	$playerleader .= '</tbody></table>';
return $playerleader;
}

$initialstart = $_SERVER['QUERY_STRING'];
/*
$ChangeLevelNav = createLevelNav('playerleaders.php?seasonid='.$currentseason);
$rightfloatChangeLevel = divBuilder('float-right','class',$ChangeLevelNav);

$PlayerLeaderHeader = '<h1>Player Leaders</h1>
					<a href="playerstats.php?'.$initialstart.'">Full Player Stats</a><br />';
$PlayerLeaderHeader .= divBuilder('GoalsLeader', 'id', playerleaders('SUM(PlayerGoals)', 'Goals'));
$PlayerLeaderHeader .= divBuilder('AssistsLeader', 'id', playerleaders('SUM(PlayerAssists)', 'Assists'));
$PlayerLeaderHeader .= divBuilder('PointsLeader','id', playerleaders('SUM(PlayerPoints)', 'Points'));
$PlayerLeaderHeader .= divBuilder('PPGLeader','id', playerleaders('SUM(PlayerPPG)', 'Powerplay Goals'));
$PlayerLeaderHeader .= divBuilder('PIMLeader','id', playerleaders('SUM(PlayerPIM)', 'Penalty Minutes'));				
					
$PlayerLeaderDiv = divBuilder('playerleader', 'id', $PlayerLeaderHeader);

$GoalieLeaderHeader = '<h1>Goalie Leaders</h1>
					<a href="playerstats.php?'.$initialstart.'&goalie=1">Full Goalie Stats</a><br />';
$GoalieLeaderHeader .= divBuilder('WinsLeader','id', goalieleader('SUM(GoalieWins)', 'Wins', 'DESC'));
$GoalieLeaderHeader .= divBuilder('GAALeader','id', goalieleader('Round(SUM(GoalieGoalsAllowed)/SUM(GoalieGames),2)', 'GAA', 'ASC'));
$GoalieLeaderHeader .= divBuilder('SaveLeader','id', goalieleader('Round(((SUM(GoalieShotsAgainst)-SUM(GoalieGoalsAllowed))/SUM(GoalieShotsAgainst)),3)', 'Save %', 'DESC'));
$GoalieLeaderHeader .= divBuilder('ShutoutLeader','id', goalieleader('SUM(GoalieShutout)', 'Shutouts', 'DESC'));
					
$GoalieLeaderDiv = divBuilder('goalieleader','id', $GoalieLeaderHeader);				

$MainDiv = divBuilder('sectionblock', 'class', $rightfloatChangeLevel."\n\r".$PlayerLeaderDiv."\n\r".$GoalieLeaderDiv);				

#Final Output
$Header = HTMLHeader(NULL);
$TotalContainer = divBuilder('container','id',$HeaderDiv.$MainDiv);

#echo $Header;
#echo $TotalContainer;
#include 'footer.php';

*/
function JSONplayerleaders ($target, $header) {
	$pdoConnect = createDBH();
	
	##Gets necessary starting steps
	$currentteam = ( isset( $_GET['teamid'] ) && is_numeric( $_GET['teamid'] ) ) ? intval( $_GET['teamid'] ) : 0;
	$currentlevel = ( isset( $_GET['levelid'] ) && is_numeric( $_GET['levelid'] ) ) ? intval( $_GET['levelid'] ) : 0;
	$currentdivision = isset($_GET['divid']) ? $_GET['divid'] : NULL;
	$currentseason = ( isset( $_GET['seasonid'] ) && is_numeric( $_GET['seasonid'] ) ) ? intval( $_GET['seasonid'] ) : 0;
	$currentsubseason = ( isset( $_GET['subseasonid'] ) && is_numeric( $_GET['subseasonid'] ) ) ? intval( $_GET['subseasonid'] ) : 0;
	$currentgame = ( isset( $_GET['gameid'] ) && is_numeric( $_GET['gameid'] ) ) ? intval( $_GET['gameid'] ) : 0;
	
	$SQL = 'SELECT DISTINCT teamassignment.idTeamAssignment, cssCustom, skaterstat.idPlayerAssignment AS playerassignid, idPlayers, photoPlayerTeam, photoPlayerMaster, jjglover_GLSHockey_NewsCss.cssplayerassignment.imagelocation AS PlayerImage, TeamName AS Team, photoTeam, photoTeamMaster, team.externalLargeImage, PlayerLast, PlayerFirst, PlayerNumber, SUM(PlayerGames) AS Games, '.$target.' AS :header FROM skaterstat JOIN playerassignment ON playerassignment.idPlayerAssignment = skaterstat.idPlayerAssignment LEFT JOIN PlayerPreference ON playerassignment.idPlayerAssignment = PlayerPreference.idPlayerAssignment LEFT JOIN TeamPreference ON playerassignment.idTeamAssignmentkey = TeamPreference.idTeamAssignment JOIN players ON playerassignment.idPlayerskey=players.idPlayers JOIN subseason ON skaterstat.idsubseasonkey = subseason.idsubseason JOIN teamassignment ON playerassignment.idTeamAssignmentkey = teamassignment.idTeamAssignment LEFT JOIN jjglover_GLSHockey_NewsCss.cssteamassignment ON teamassignment.idTeamAssignment = cssteamassignment.TeamidRef AND jjglover_GLSHockey_NewsCss.cssteamassignment.TeamtableRef = "teamassignment" LEFT JOIN jjglover_GLSHockey_NewsCss.cssplayerassignment ON playerassignment.idPlayerAssignment = cssplayerassignment.PlayeridRef AND jjglover_GLSHockey_NewsCss.cssplayerassignment.PlayertableRef = "playerassignment" JOIN team ON teamassignment.idTeamkey = team.idTeam';
	$SQLWhere = '';
	$SQLJoin = '';
	$SQLGroup = ' GROUP BY playerassignid HAVING SUM(PlayerGames) > 0 ORDER BY '.$target.' DESC, SUM(PlayerGames) DESC LIMIT 5';

	if ($currentseason != 0) 
	{
		$SQLWhere .= ' WHERE idSeasonkey = :idseason';
	}
	elseif ($currentteam != 0)
	{
		$SQLWhere .= ' WHERE idTeamAssignmentkey = :teamid';
	}
	if ($currentsubseason != 0)
	{
		$SQLWhere .= ' AND idsubseasonkey = :idsubseason';
	}
	if ($currentlevel != 0)
	{
		$SQLWhere .= ' AND teamassignment.idTeamAssignment IN (SELECT DISTINCT idteamassignmentkey FROM teamstatassignment WHERE idLevelSeasonkey = :idlevel';
		if (!empty($currentdivision)) {$SQLWhere .= ' AND TeamDivision = :division';}
		$SQLWhere .= ')';
	}
	
#Set Query for Skaterstats
	$Leaderstatquery = $pdoConnect->prepare($SQL.$SQLWhere.$SQLGroup);
	
	$Leaderstatquery->bindParam(':header', $header, PDO::PARAM_STR);
	if ($currentseason != 0) 
	{
		$Leaderstatquery->bindParam(':idseason', $currentseason, PDO::PARAM_INT);
	}
	elseif ($currentteam != 0)
	{
		$Leaderstatquery->bindParam(':teamid', $currentteam, PDO::PARAM_INT);
	}
	if ($currentsubseason != 0)
	{
		$Leaderstatquery->bindParam(':idsubseason', $currentsubseason, PDO::PARAM_INT);
	}
	if ($currentlevel != 0)
	{
		$Leaderstatquery->bindParam(':idlevel', $currentlevel, PDO::PARAM_INT);
	}
	if (!empty($currentdivision))
	{
		$Leaderstatquery->bindParam(':division', $currentdivision, PDO::PARAM_STR);
	}
	$Leaderstatquery->execute();

	$outputArray = array();
	while($row = $Leaderstatquery->fetch(PDO::FETCH_ASSOC)) {
		if (!empty($row['cssCustom'])) {$cssTheme = $row['cssCustom'];} else {$cssTheme = '';}
		$rowArray = array();
		
		$rowArray += ['Team' => $row['Team'], 'idTeamAssignment' => $row['idTeamAssignment'], 'TeamTheme' => $row['cssCustom']];

		$rowArray += ['Player' => $row['PlayerNumber'].' '.$row['PlayerFirst'].' '.$row['PlayerLast'], 'playerassignid'=> $row['playerassignid'], 'PlayerImage' => $row['PlayerImage']];
		unset($rowArray['PlayerNumber']);
		unset($rowArray['PlayerFirst']);
		unset($rowArray['PlayerLast']);

		//$playerimageFound = getPlayerImage($row['playerassignid']);

		if (!empty($row['photoTeam'])) {$rowArray += ['teamimage' => $row['photoTeam']];} 
		elseif (!empty($row['photoTeamMaster'])) {$rowArray += ['teamimage' => $row['photoTeamMaster']];} 
		elseif (!empty($row['externalLargeImage'])) {$rowArray += ['teamimage' => $row['externalLargeImage']];} 
		else {$rowArray += ['teamimage' => null];}
		unset($rowArray['photoPlayerTeam']);
		unset($rowArray['photoPlayerMaster']);
		unset($rowArray['photoTeamMaster']);
		unset($rowArray['photoTeam']);
		unset($rowArray['externalLargeImage']);
		unset($rowArray['idPlayers']);

		$rowArray += ['Games' => $row['Games'], $header => $row[$header]];

		$outputArray[] = $rowArray;
	}
return $outputArray;
}

function JSONgoalieleaders ($target, $header, $sortorder) {
	$pdoConnect = createDBH();
	
	##Gets necessary starting steps
	$currentteam = ( isset( $_GET['teamid'] ) && is_numeric( $_GET['teamid'] ) ) ? intval( $_GET['teamid'] ) : 0;
	$currentlevel = ( isset( $_GET['levelid'] ) && is_numeric( $_GET['levelid'] ) ) ? intval( $_GET['levelid'] ) : 0;
	$currentdivision = isset($_GET['divid']) ? $_GET['divid'] : NULL;
	$currentseason = ( isset( $_GET['seasonid'] ) && is_numeric( $_GET['seasonid'] ) ) ? intval( $_GET['seasonid'] ) : 0;
	$currentsubseason = ( isset( $_GET['subseasonid'] ) && is_numeric( $_GET['subseasonid'] ) ) ? intval( $_GET['subseasonid'] ) : 0;
	$subgoalie = ( isset( $_GET['subgoalie'] ) && is_numeric( $_GET['subgoalie'] ) ) ? intval( $_GET['subgoalie'] ) : 0;

	$SQL = 'SELECT DISTINCT teamassignment.idTeamAssignment, cssCustom, goaliestat.idPlayerAssignment AS playerassignid, idPlayers, photoPlayerTeam, photoPlayerMaster, TeamName AS Team, photoTeam, photoTeamMaster, jjglover_GLSHockey_NewsCss.cssplayerassignment.imagelocation AS PlayerImage, team.externalLargeImage, PlayerLast, PlayerFirst, PlayerNumber, PlayerStatus, SUM(GoalieGames) AS Games, '.$target.' AS :header FROM goaliestat JOIN playerassignment ON playerassignment.idPlayerAssignment = goaliestat.idPlayerAssignment LEFT JOIN PlayerPreference ON playerassignment.idPlayerAssignment = PlayerPreference.idPlayerAssignment LEFT JOIN TeamPreference ON playerassignment.idTeamAssignmentkey = TeamPreference.idTeamAssignment JOIN players ON playerassignment.idPlayerskey=players.idPlayers JOIN subseason ON goaliestat.idsubseasonkey = subseason.idsubseason JOIN teamassignment ON playerassignment.idTeamAssignmentkey = teamassignment.idTeamAssignment LEFT JOIN jjglover_GLSHockey_NewsCss.cssteamassignment ON teamassignment.idTeamAssignment = cssteamassignment.TeamidRef AND jjglover_GLSHockey_NewsCss.cssteamassignment.TeamtableRef = "teamassignment" LEFT JOIN jjglover_GLSHockey_NewsCss.cssplayerassignment ON playerassignment.idPlayerAssignment = cssplayerassignment.PlayeridRef AND jjglover_GLSHockey_NewsCss.cssplayerassignment.PlayertableRef = "playerassignment" JOIN team ON teamassignment.idTeamkey = team.idTeam ';
	$SQLWhere = '';
	$SQLJoin = '';
	$SQLGroup = ' GROUP BY playerassignid HAVING SUM(GoalieGames) > 0 ORDER BY '.$target.' '.$sortorder.', SUM(GoalieGames) DESC LIMIT 5';

	if ($currentseason != 0) 
	{
		$SQLWhere .= ' WHERE idSeasonkey = :idseason';
	}
	elseif ($currentteam != 0)
	{
		$SQLWhere .= ' WHERE idTeamAssignmentkey = :teamid';
	}
	if ($currentsubseason != 0)
	{
		$SQLWhere .= ' AND idsubseasonkey = :idsubseason';
	}
	if ($currentlevel != 0)
	{
		$SQLWhere .= ' AND teamassignment.idTeamAssignment IN (SELECT DISTINCT idteamassignmentkey FROM teamstatassignment WHERE idLevelSeasonkey = :idlevel';
		if (!empty($currentdivision)) {$SQLWhere .= ' AND TeamDivision = :division';}
		$SQLWhere .= ')';
	}

	if ($subgoalie == 0)
	{
		$SQLWhere .= ' AND (PlayerStatus <> "Sub Goalie" OR PlayerStatus IS NULL)';
	}
	
#Set Query for Skaterstats
	#echo $SQL.$SQLWhere.$SQLGroup;
	$Goaliestatquery = $pdoConnect->prepare($SQL.$SQLWhere.$SQLGroup);
	
	$Goaliestatquery->bindParam(':header', $header, PDO::PARAM_STR);
	if ($currentseason != 0) 
	{
		$Goaliestatquery->bindParam(':idseason', $currentseason, PDO::PARAM_INT);
	}
	elseif ($currentteam != 0)
	{
		$Goaliestatquery->bindParam(':teamid', $currentteam, PDO::PARAM_INT);
	}
	if ($currentsubseason != 0)
	{
		$Goaliestatquery->bindParam(':idsubseason', $currentsubseason, PDO::PARAM_INT);
	}
	if ($currentlevel != 0)
	{
		$Goaliestatquery->bindParam(':idlevel', $currentlevel, PDO::PARAM_INT);
	}
	if (!empty($currentdivision))
	{
		$Goaliestatquery->bindParam(':division', $currentdivision, PDO::PARAM_STR);
	}
	$Goaliestatquery->execute();
	
	$outputArray = array();

	while($row = $Goaliestatquery->fetch(PDO::FETCH_ASSOC)) {
		if (!empty($row['cssCustom'])) {$cssTheme = $row['cssCustom'];} else {$cssTheme = '';}
		$rowArray = array();

		$rowArray += ['Team' => $row['Team'], 'idTeamAssignment' => $row['idTeamAssignment'],'TeamTheme' => $row['cssCustom'] ];

		$rowArray += ['Player' => $row['PlayerNumber'].' '.$row['PlayerFirst'].' '.$row['PlayerLast'], 'playerassignid'=> $row['playerassignid'], 'PlayerImage' => $row['PlayerImage']];
		unset($rowArray['PlayerNumber']);
		unset($rowArray['PlayerFirst']);
		unset($rowArray['PlayerLast']);

		//$playerimageFound = getPlayerImage($row['playerassignid']);

		if (!empty($row['photoTeam'])) {$rowArray += ['teamimage' => $row['photoTeam']];} 
		elseif (!empty($row['photoTeamMaster'])) {$rowArray += ['teamimage' => $row['photoTeamMaster']];} 
		elseif (!empty($row['externalLargeImage'])) {$rowArray += ['teamimage' => $row['externalLargeImage']];} 
		else {$rowArray += ['teamimage' => null];}
		unset($rowArray['photoPlayerTeam']);
		unset($rowArray['photoPlayerMaster']);
		unset($rowArray['photoTeamMaster']);
		unset($rowArray['photoTeam']);
		unset($rowArray['externalLargeImage']);
		unset($rowArray['idPlayers']);

		$rowArray += ['Games' => $row['Games'], $header => $row[$header]];

		$outputArray[] = $rowArray;
		}
return $outputArray;
}

$skaterLink = array(array('link'=>'playercard?playerteamid=','linktarget'=>'playerassignid','linkname'=>'Player'), array('link'=>'team?teamid=','linktarget'=>'idTeamAssignment','linkname'=>'Team')); 

$skaterImage = array(array('image'=>'teamimage','imagetarget'=>'Team'), array('image'=>'PlayerImage','imagetarget'=>'Player'));

$JSONLeaders = array(
	'goalsLeader' => buildJSONdataTable (JSONplayerleaders('SUM(PlayerGoals)', 'Goals'), null, null, $skaterLink, $skaterImage, null), 
	'assistLeader' => buildJSONdataTable (JSONplayerleaders('SUM(PlayerAssists)', 'Assists'), null, null, $skaterLink, $skaterImage, null), 
	'pointsLeader' => buildJSONdataTable (JSONplayerleaders('SUM(PlayerPoints)', 'Points'), null, null, $skaterLink, $skaterImage, null),
	'ppgLeader' => buildJSONdataTable (JSONplayerleaders('SUM(PlayerPPG)', 'Powerplay Goals'), null, null, $skaterLink, $skaterImage, null), 
	'pimLeader' => buildJSONdataTable (JSONplayerleaders('SUM(PlayerPIM)', 'Penalty Minutes'), null, null, $skaterLink, $skaterImage, null),
	'winsLeader' => buildJSONdataTable (JSONgoalieleaders('SUM(GoalieWins)', 'Wins', 'DESC'), null, null, $skaterLink, $skaterImage, null), 
	'gaaLeader' => buildJSONdataTable (JSONgoalieleaders('Round(SUM(GoalieGoalsAllowed)/SUM(GoalieGames),2)', 'GAA', 'ASC'), null, null, $skaterLink, $skaterImage, null), 
	'saveLeader' => buildJSONdataTable (JSONgoalieleaders('Round(((SUM(GoalieShotsAgainst)-SUM(GoalieGoalsAllowed))/SUM(GoalieShotsAgainst)),3)', 'Save%', 'DESC'), null, null, $skaterLink, $skaterImage, null),
	'shutoutsLeader' => buildJSONdataTable (JSONgoalieleaders('SUM(GoalieShutout)', 'Shutouts', 'DESC'), null, null, $skaterLink, $skaterImage, null)
);

echo json_encode($JSONLeaders);

?>