var xmlRequest;
var wsUrl = "/LiveScoresService.asmx";
var intervalID;
var interval = 60;		//in seconds
var currentSportID = 1;
var currentSportName = "MLB";
var currentLeagueID = 1;
var currentGroupID;
var userID;
var players;
var cookieHours = 24 * 7 * 365;
var playersAdded;
var loaded = false;

function Player(playerNode)
{
	this.ID = playerNode.getAttribute("PlayerID");
	switch (currentSportID)
	{
		case 1:
		  this.InGame = playerNode.getElementsByTagName("InGame")[0].firstChild.nodeValue == "true";
			this.Played = playerNode.getElementsByTagName("Played")[0].firstChild.nodeValue == "true";
			if (playerNode.getAttribute("xsi:type") == "BattingStats")
			{
				this.Pitcher = false;
				this.AtBats = parseInt(playerNode.getElementsByTagName("AtBats")[0].firstChild.nodeValue);
				this.Runs = parseInt(playerNode.getElementsByTagName("Runs")[0].firstChild.nodeValue);
				this.Hits = parseInt(playerNode.getElementsByTagName("Hits")[0].firstChild.nodeValue);
				this.Doubles = parseInt(playerNode.getElementsByTagName("Doubles")[0].firstChild.nodeValue);
				this.Triples = parseInt(playerNode.getElementsByTagName("Triples")[0].firstChild.nodeValue);
				this.Homeruns = parseInt(playerNode.getElementsByTagName("Homeruns")[0].firstChild.nodeValue);
				this.RBI = parseInt(playerNode.getElementsByTagName("RBIs")[0].firstChild.nodeValue);
				this.Walks = parseInt(playerNode.getElementsByTagName("Walks")[0].firstChild.nodeValue);
				this.Strikeouts = parseInt(playerNode.getElementsByTagName("Strikeouts")[0].firstChild.nodeValue);
				this.StolenBases = parseInt(playerNode.getElementsByTagName("StolenBases")[0].firstChild.nodeValue);
			}
			else
			{
				this.Pitcher = true;
				this.Innings = parseFloat(playerNode.getElementsByTagName("InningsPitched")[0].firstChild.nodeValue);
				this.Hits = parseInt(playerNode.getElementsByTagName("Hits")[0].firstChild.nodeValue);
				this.Runs = parseInt(playerNode.getElementsByTagName("Runs")[0].firstChild.nodeValue);
				this.EarnedRuns = parseInt(playerNode.getElementsByTagName("EarnedRuns")[0].firstChild.nodeValue);
				this.Walks = parseInt(playerNode.getElementsByTagName("Walks")[0].firstChild.nodeValue);
				this.Strikeouts = parseInt(playerNode.getElementsByTagName("Strikeouts")[0].firstChild.nodeValue);
				this.Homeruns = parseInt(playerNode.getElementsByTagName("Homeruns")[0].firstChild.nodeValue);
				this.PitchCount = parseInt(playerNode.getElementsByTagName("PitchCount")[0].firstChild.nodeValue);
				this.BattersFaced = parseInt(playerNode.getElementsByTagName("BattersFaced")[0].firstChild.nodeValue);
				this.Win = parseInt(playerNode.getElementsByTagName("Wins")[0].firstChild.nodeValue) == 1;
				this.Loss = parseInt(playerNode.getElementsByTagName("Losses")[0].firstChild.nodeValue) == 1;
				this.Save = parseInt(playerNode.getElementsByTagName("Saves")[0].firstChild.nodeValue) == 1;
			}
			break;
		case 2:
		  var statsType = playerNode.getAttribute("xsi:type");
			switch (statsType)
			{
			  case "FootballPasserStats":
			    this.PositionGroup = 1;
			    this.Completions = parseInt(playerNode.getElementsByTagName("Completions")[0].firstChild.nodeValue);
			    this.PassingAttempts = parseInt(playerNode.getElementsByTagName("PassingAttempts")[0].firstChild.nodeValue);
			    this.PassingYards = parseInt(playerNode.getElementsByTagName("PassingYards")[0].firstChild.nodeValue);
			    this.PassingTDs = parseInt(playerNode.getElementsByTagName("PassingTDs")[0].firstChild.nodeValue);
			    this.INTs = parseInt(playerNode.getElementsByTagName("INTs")[0].firstChild.nodeValue);
			    this.RushingAttempts = parseInt(playerNode.getElementsByTagName("RushingAttempts")[0].firstChild.nodeValue);
			    this.RushingYards = parseInt(playerNode.getElementsByTagName("RushingYards")[0].firstChild.nodeValue);
			    this.RushingTDs = parseInt(playerNode.getElementsByTagName("RushingTDs")[0].firstChild.nodeValue);
			    this.RushingLong = parseInt(playerNode.getElementsByTagName("RushingLong")[0].firstChild.nodeValue);
			    break;
			  case "FootballRunnerReceiverStats":
			    this.PositionGroup = 2;
			    this.RushingAttempts = parseInt(playerNode.getElementsByTagName("RushingAttempts")[0].firstChild.nodeValue);
			    this.RushingYards = parseInt(playerNode.getElementsByTagName("RushingYards")[0].firstChild.nodeValue);
			    this.RushingTDs = parseInt(playerNode.getElementsByTagName("RushingTDs")[0].firstChild.nodeValue);
			    this.RushingLong = parseInt(playerNode.getElementsByTagName("RushingLong")[0].firstChild.nodeValue);
			    this.Receptions = parseInt(playerNode.getElementsByTagName("Receptions")[0].firstChild.nodeValue);
			    this.ReceivingYards = parseInt(playerNode.getElementsByTagName("ReceivingYards")[0].firstChild.nodeValue);
			    this.ReceivingTDs = parseInt(playerNode.getElementsByTagName("ReceivingTDs")[0].firstChild.nodeValue);
			    this.ReceivingLong = parseInt(playerNode.getElementsByTagName("ReceivingLong")[0].firstChild.nodeValue);
			    break;
			  case "FootballDefensiveStats":
			    this.PositionGroup = 4;
			    this.Tackles = parseInt(playerNode.getElementsByTagName("Tackles")[0].firstChild.nodeValue);
			    this.Assists = parseInt(playerNode.getElementsByTagName("Assists")[0].firstChild.nodeValue);
			    this.Sacks = parseFloat(playerNode.getElementsByTagName("Sacks")[0].firstChild.nodeValue);
			    this.Interceptions = parseInt(playerNode.getElementsByTagName("Interceptions")[0].firstChild.nodeValue);
			    this.ForcedFumbles = parseInt(playerNode.getElementsByTagName("ForcedFumbles")[0].firstChild.nodeValue);
			    break;
			  case "FootballKickingStats":
			    this.PositionGroup = 5;
			    this.FieldGoals = parseInt(playerNode.getElementsByTagName("FieldGoals")[0].firstChild.nodeValue);
			    this.FieldGoalAttempts = parseInt(playerNode.getElementsByTagName("FieldGoalAttempts")[0].firstChild.nodeValue);
			    this.FieldGoalLong = parseInt(playerNode.getElementsByTagName("FieldGoalLong")[0].firstChild.nodeValue);
			    this.ExtraPoints = parseInt(playerNode.getElementsByTagName("ExtraPoints")[0].firstChild.nodeValue);
			    this.ExtraPointAttempts = parseInt(playerNode.getElementsByTagName("ExtraPointAttempts")[0].firstChild.nodeValue);
			    break;
			  case "FootballPuntingStats":
			    this.PositionGroup = 6;
			    this.Punts = parseInt(playerNode.getElementsByTagName("Punts")[0].firstChild.nodeValue);
			    this.PuntAvg = parseFloat(playerNode.getElementsByTagName("Avg")[0].firstChild.nodeValue);
			    this.PuntLong = parseInt(playerNode.getElementsByTagName("Long")[0].firstChild.nodeValue);
			    this.PuntTouchbacks = parseInt(playerNode.getElementsByTagName("Touchbacks")[0].firstChild.nodeValue);
			    this.PuntsInside20 = parseInt(playerNode.getElementsByTagName("Inside20")[0].firstChild.nodeValue);
			    break;
			}
			break;
		case 4:
		  this.InGame = playerNode.getElementsByTagName("InGame")[0].firstChild.nodeValue == "true";
			this.PlayTime = parseInt(playerNode.getElementsByTagName("PlayTime")[0].firstChild.nodeValue);
			this.Rebounds = parseInt(playerNode.getElementsByTagName("TotalRebounds")[0].firstChild.nodeValue);
			this.Assists = parseInt(playerNode.getElementsByTagName("Assists")[0].firstChild.nodeValue);
			this.PersonalFouls = parseInt(playerNode.getElementsByTagName("PersonalFouls")[0].firstChild.nodeValue);
			this.Steals = parseInt(playerNode.getElementsByTagName("Steals")[0].firstChild.nodeValue);
			this.Turnovers = parseInt(playerNode.getElementsByTagName("Turnovers")[0].firstChild.nodeValue);
			this.Blocks = parseInt(playerNode.getElementsByTagName("Blocks")[0].firstChild.nodeValue);
			this.Points = parseInt(playerNode.getElementsByTagName("Points")[0].firstChild.nodeValue);
			this.FieldGoalsMade = parseInt(playerNode.getElementsByTagName("FieldGoalsMade")[0].firstChild.nodeValue);
			this.FieldGoalAttempts = parseInt(playerNode.getElementsByTagName("FieldGoalAttempts")[0].firstChild.nodeValue);
			this.FreeThrowsMade = parseInt(playerNode.getElementsByTagName("FreeThrowsMade")[0].firstChild.nodeValue);
			this.FreeThrowAttempts = parseInt(playerNode.getElementsByTagName("FreeThrowAttempts")[0].firstChild.nodeValue);
			break;
	}
}

function pageLoad()
{
  updateLayout();
	setupXmlRequest();
	var cookie = readCookie("CurrentSportID");
	if (cookie != null)
	{
	  currentSportID = parseInt(cookie);
	  switch (currentSportID)
	  {
	    case 1:
	      currentSportName = "MLB";
	      break;
	    case 2:
	      currentSportName = "NFL";
	      break;
	    case 4:
	      currentSportName = "NBA";
	      break;
	  }
	}
	document.getElementById("sportName").innerText = currentSportName;
	currentGroupID = readCookie(currentSportName + "GroupID");
	if (currentGroupID != null)
	{
	  getGroupPlayers();
	  intervalID = setInterval(getGroupPlayers, interval * 1000);
	}
	else
	  showAddPlayersLink();
}

function updateLayout()
{	
	var orient;
  if (window.orientation == 0 || window.orientation == 180)
  {
    orient = "portrait";
  }
  else
  {
    orient = "landscape";
  }
	document.body.setAttribute("orient", orient);
	setTimeout(hideAddressBar, 100);
	if (loaded)
	{
		displayAllStatFields();
	}
}

function toggleInfoDisplay()
{
	if (infoOn)
	{
	  document.getElementById("subHeader").style.display = "table";
		document.getElementById("center").style.display = "block";
		document.getElementById("info").style.display = "none";
		event.srcElement.className = "right grayButton";
		infoOn = false;
	}
	else
	{
	  document.getElementById("subHeader").style.display = "none";
		document.getElementById("center").style.display = "none";
		document.getElementById("info").style.display = "block";
		event.srcElement.className = "right buttonBright";
		infoOn = true;
	}
}

function showAddPlayers()
{
  if (document.getElementById("tdEdit").className == "done")
		editPlayers(false);		//do this to exit edit mode
  clearInterval(intervalID);
  playersAdded = false;
	document.getElementById("backgroundMask").style.height = document.height + "px";
	document.getElementById("backgroundMask").style.display = "block";
	document.getElementById("addPlayers").style.display = "block";
	getTeams();
}

function hideAddPlayers()
{
	document.getElementById("backgroundMask").style.display = "none";
	document.getElementById("addPlayers").style.display = "none";
	document.getElementById("ad").style.display = "block";
	removeAddPlayersNodes();
	if (playersAdded)
	{
	  loaded = false;
	  removeGroupPlayersNodes();
		showWhiteSpinner();
	}
	if (currentGroupID != null)
	{
		getGroupPlayers();
		intervalID = setInterval(getGroupPlayers, interval * 1000)
	}
}

function removeByPlayerID(id)
{
	for (var i = 0; i < players.length; i++)
	{
		if (players[i].ID == id)
		{
			players.splice(i, 1);
			return;
		}
	}
}

function editPlayers(getPlayers)
{
  var td = document.getElementById("tdEdit");
  if (td.className == "done")
  {
    td.className = "";
    td.childNodes[0].innerText = "Edit";
		if (currentGroupID != null && getPlayers)
		{
			getGroupPlayers();
			intervalID = setInterval(getGroupPlayers, interval * 1000)
		}
  }
  else
  {
    if (players != null && players.length > 0)
	  {
	    td.className = "done";
	    td.childNodes[0].innerText = "Done";
	  }
	  else
	  {
	    alert("no players to edit");
	  }
		clearInterval(intervalID);
  }
  
  if (players != null && players.length > 0)
  {
	  for (var i = 0; i < players.length; i++)
	  {
		  var tr = document.getElementById("Player_" + players[i].ID);
		  if (tr != null)
		  {
			  var images = tr.cells[0].getElementsByTagName("img");
			  images[0].style.display = td.className == "done" ? "none" : "inline";
			  images[1].style.display = td.className == "done" ? "inline" : "none";
		  }
	  }
	}
}

function setupXmlRequest()
{
	xmlRequest = new XMLHttpRequest();
	xmlRequest.onreadystatechange = xmlStateChange;
}

function getTeams()
{
	removeAddPlayersNodes();
	showBlackSpinner();
	xmlRequest.open("POST", wsUrl + "/GetTeams");
	xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlRequest.send("sport=" + currentSportID + "&leagueID=" + currentLeagueID);
}

function getTeamPlayers(teamElement)
{
	removeAddPlayersNodes();
	showBlackSpinner();
  var teamID = teamElement.getAttribute("TeamID");
	xmlRequest.open("POST", wsUrl + "/Get" + currentSportName + "RosterSeasonStats");
	xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	if (currentGroupID == null)
	  xmlRequest.send("teamID=" + teamID + "&groupIDStr=");
	else
	  xmlRequest.send("teamID=" + teamID + "&groupIDStr=" + currentGroupID);
}

function getGroupPlayers()
{
	xmlRequest.open("POST", wsUrl + "/GetGroupPlayers");
	xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlRequest.send("sport=" + currentSportID + "&groupIDStr=" + currentGroupID);
}

function showSportSelect()
{
	document.getElementById("backgroundMask").style.height = document.height + "px";
  document.getElementById("backgroundMask").style.display = "block";
	document.getElementById("sportSelect").style.display = "block";
}

function hideSportSelect()
{
  document.getElementById("backgroundMask").style.display = "none";
	document.getElementById("sportSelect").style.display = "none";
}

function selectSport(sportID, sportName)
{
	if (currentSportID != sportID)
	{
		loaded = false;
		clearInterval(intervalID);
		currentSportID = sportID;
		currentSportName = sportName;
		writeCookie("CurrentSportID", sportID, cookieHours);
		document.getElementById("sportName").innerText = sportName;
		currentLeagueID = 1;
		removeGroupPlayersNodes();
		currentGroupID = readCookie(currentSportName + "GroupID");
		players = null;
		if (currentGroupID != null)
		{
			showWhiteSpinner();
		  getGroupPlayers();
			intervalID = setInterval(getGroupPlayers, interval * 1000);
		}
		else
		  showAddPlayersLink();
	}
	hideSportSelect();
}

function changeLeague(leagueID)
{
	if (currentLeagueID != leagueID)
	{
		currentLeagueID = leagueID;
		getTeams();
	}
}

function showMoreStats(tblID)
{
	var landscape = document.body.getAttribute("orient") == "landscape";
	var tbl = document.getElementById(tblID);
	if (tbl != null)
	{
		var statsPage = tbl.statsPage;
		if (statsPage == 1)
		{
			statsPage = 2;
		}
		else
		{
			statsPage = 1;
		}		
		tbl.statsPage = statsPage;
		displayStatHeaders(tbl.rows[1], statsPage, landscape);
		for (var i = 2; i < tbl.rows.length; i++)
		{
			var tr = tbl.rows[i];
			if (tr.playerIndex != null)
			{
			  displayStatCells(tr, statsPage, landscape);
				displayPlayerStats(tr, players[tr.playerIndex], statsPage, landscape);
		  }
			else if (tr.pitcher || tr.position)
				displayStatHeaders(tr, statsPage, landscape);
		}
	}
}

function bgMaskClick()
{
	if (document.getElementById("sportSelect").style.display == "block")
		hideSportSelect();
	else if (document.getElementById("addPlayers").style.display == "block")
		hideAddPlayers();
}

function displayTeams(doc)
{
  removeAddPlayersNodes();
	var divisionNodes = doc.getElementsByTagName("Division");
	var img;
	var div;
	
	var tbl = document.createElement("table");
	tbl.className = "leagues";
	var tr = tbl.insertRow(-1);
	tr.insertCell(-1);
	tr.insertCell(-1);
	
	switch (currentSportID)
	{
	  case 1:
	    div = document.createElement("div");
	    div.innerText = "AL";
	    if (currentLeagueID == 1) div.className = "selected";
	    div.onclick = function () { changeLeague(1); };
	    tr.cells[0].appendChild(div);
	    div = document.createElement("div");
	    div.innerText = "NL";
	    if (currentLeagueID == 2) div.className = "selected";
	    div.onclick = function () { changeLeague(2); };
	    tr.cells[1].appendChild(div);
	    break;
	  case 2:
	    img = new Image();
	    img.src = "/Images/Logos/NFL/AFCLogo.png";
	    if (currentLeagueID == 1) img.className = "selected";
	    img.onclick = function () { changeLeague(1); };
	    tr.cells[0].appendChild(img);
	    img = new Image();
	    img.src = "/Images/Logos/NFL/NFCLogo.png";
			if (currentLeagueID == 2) img.className = "selected";
	    img.onclick = function () { changeLeague(2); };
	    tr.cells[1].appendChild(img);
	    break;
	  case 4:
	    img = new Image();
	    img.src = "/Images/Logos/NBA/Eastern.gif";
	    if (currentLeagueID == 1) img.className = "selected";
	    img.onclick = function () { changeLeague(1); };
	    tr.cells[0].appendChild(img);
	    img = new Image();
	    img.src = "/Images/Logos/NBA/Western.gif";
	    if (currentLeagueID == 2) img.className = "selected";
	    img.onclick = function () { changeLeague(2); };
	    tr.cells[1].appendChild(img);
	    break;
	}
	document.getElementById("addPlayers").appendChild(tbl);
	
	tbl = document.createElement("table");
	tbl.className = "teams";
	tbl.insertRow(-1);
	tbl.insertRow(-1);
	for (var i = 0; i < divisionNodes.length; i++)
	{
	  var td = tbl.rows[0].insertCell(-1);
	  td.innerText = divisionNodes[i].getAttribute("Name");
	  if (currentSportID == 2) 
			td.style.width = "25%";
		else
			td.style.width = "33%";
	  td.style.textDecoration = "underline";
	  td = tbl.rows[1].insertCell(-1);
	  var teamNodes = divisionNodes[i].getElementsByTagName("Team");
	  for (var j = 0; j < teamNodes.length; j++)
	  {
	    teamID = teamNodes[j].getAttribute("TeamID");
	    switch (currentSportID)
	    {
	      case 1:
	        div = document.createElement("div");
	        div.className = "teamSelect";
	        div.innerText = teamNodes[j].getAttribute("DisplayName");
	        div.setAttribute("teamID", teamID);
	        div.onclick = function() { getTeamPlayers(this); };
	        td.appendChild(div);
	        break;
        case 2:
          img = new Image();
					img.src = "/Images/Logos/NFL/" + teamNodes[j].getAttribute("Abbreviation") + ".gif";
					img.setAttribute("teamID", teamID);
	        img.onclick = function() { getTeamPlayers(this); };
	        td.appendChild(img);
	        break;
				case 4:
				  img = new Image();
					img.src = "/Images/Logos/NBA/" + teamNodes[j].getAttribute("Abbreviation") + ".jpg";
					img.setAttribute("teamID", teamID);
	        img.onclick = function() { getTeamPlayers(this); };
	        td.appendChild(img);
					break;
	    }
	    
	    var br = document.createElement("br");
	    td.appendChild(br);
	  }
	}
	document.getElementById("addPlayers").appendChild(tbl);
}

function displayTeamPlayers(doc)
{
	removeAddPlayersNodes();
	var div = document.getElementById("addPlayers");
	var teamName = doc.getAttribute("Name");
	var teamAbbrev = doc.getAttribute("Abbreviation");
	var divSub = document.createElement("div");
	divSub.className = "teamName";
	divSub.align = "left";
	var img = new Image();
	img.align = "absmiddle";
	switch (currentSportID)
	{
		case 2:
			img.src = "/Images/Logos/" + currentSportName + "/" + teamAbbrev + ".gif";
			break;
		case 4:
			img.src = "/Images/Logos/" + currentSportName + "/" + teamAbbrev + ".jpg";
			break;
	}
	divSub.appendChild(img);
	var span = document.createElement("span");
	span.innerText = teamName;
	divSub.appendChild(span);
	var p = document.createElement("p");
	var a = document.createElement("a");
	a.href = "javascript:getTeams();";
	a.innerText = "<- Back to Teams";
	p.appendChild(a);
	divSub.appendChild(p);
	div.appendChild(divSub);
	
	switch (currentSportID)
	{
	  case 1:
	    divSub = document.createElement("div");
	    divSub.align = "left";
			divSub.className = "headerTabs";
	    span = document.createElement("span");
			span.className = "selected";
	    span.innerText = "Hitters";
	    span.onclick = displayHitters;
	    span.style.border = "1px solid black";
	    span.style.width = "80px";
	    divSub.appendChild(span);
	    span = document.createElement("span");
	    span.innerText = "Pitchers";
	    span.onclick = displayPitchers;
	    span.style.border = "1px solid black";
	    span.style.width = "80px";
	    divSub.appendChild(span);
	    div.appendChild(divSub);
	    //batting
	  	var tbl = document.createElement("table");
	  	tbl.id = "tblHitters";
	    tbl.className = "players";
			var tr = tbl.insertRow(-1);
			tr.className = "header";
			td = tr.insertCell(-1);
			td.innerHTML = "&nbsp;";
			td = tr.insertCell(-1);
			td.innerText = "#";
			td = tr.insertCell(-1);
			td.align = "left"
			td.innerText = "Name";
			td = tr.insertCell(-1);
			td.innerText = "Gms";
			td = tr.insertCell(-1);
			td.innerText = "HR";
			td = tr.insertCell(-1);
			td.innerText = "RBI";
			td = tr.insertCell(-1);
			td.innerText = "Avg";
	    var statNodes = doc.getElementsByTagName("BattingStats");
	    for (var i = 0; i < statNodes.length; i++)
	    {
	      tr = tbl.insertRow(-1);
	      var td = tr.insertCell(-1);
	      img = new Image();
	      if (statNodes[i].getAttribute("InGroup") == "true")
	      {
	        tr.className = "selected";
					img.src = imagePrefix + "Check.png";
	      }
	      else
	      {
	        img.src = imagePrefix + "GreenPlus.gif";
	        img.setAttribute("playerID", statNodes[i].getAttribute("PlayerID"));
	        img.onclick = function() { addPlayer(this); };
	      }
	      td.appendChild(img);
				td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getAttribute("JerseyNumber");
	      td = tr.insertCell(-1);
				td.align = "left";
	      td.innerText = statNodes[i].getAttribute("PlayerName");
	      var games = parseInt(statNodes[i].getElementsByTagName("Games")[0].firstChild.nodeValue);
	      if (games != 0)
	      {
	        td = tr.insertCell(-1);
	        td.innerText = games;
					td = tr.insertCell(-1);
					td.innerText = statNodes[i].getElementsByTagName("Homeruns")[0].firstChild.nodeValue;
					td = tr.insertCell(-1);
					td.innerText = statNodes[i].getElementsByTagName("RBIs")[0].firstChild.nodeValue;
					td = tr.insertCell(-1);
					td.innerText = parseFloat(statNodes[i].getElementsByTagName("BattingAvg")[0].firstChild.nodeValue).toFixed(3).replace("0.", ".");
	      }
	      else
	      {
	        td = tr.insertCell(-1);
					td.colSpan = 4;
	        td.innerText = "no stats";
	      }
	    }
	    div.appendChild(tbl);
	    //pitching
	    tbl = document.createElement("table");
	    tbl.id = "tblPitchers";
	    tbl.className = "players";
	    tbl.style.display = "none";
	    tr = tbl.insertRow(-1);
			tr.className = "header";
			td = tr.insertCell(-1);
			td.innerHTML = "&nbsp;";
			td = tr.insertCell(-1);
			td.innerText = "#";
			td = tr.insertCell(-1);
			td.align = "left"
			td.innerText = "Name";
			td = tr.insertCell(-1);
			td.innerText = "IP";
			td = tr.insertCell(-1);
			td.innerText = "W-L";
			td.noWrap = true;
			td = tr.insertCell(-1);
			td.innerText = "S";
			td = tr.insertCell(-1);
			td.innerText = "ERA";
	    var statNodes = doc.getElementsByTagName("PitchingStats");
	    for (var i = 0; i < statNodes.length; i++)
	    {
	      var tr = tbl.insertRow(-1);
	      var td = tr.insertCell(-1);
	      img = new Image();
	      if (statNodes[i].getAttribute("InGroup") == "true")
	      {
	        tr.className = "selected";
					img.src = imagePrefix + "Check.png";
	      }
	      else
	      {
	        img.src = imagePrefix + "GreenPlus.gif";
	        img.setAttribute("playerID", statNodes[i].getAttribute("PlayerID"));
	        img.onclick = function() { addPlayer(this); };
	      }
	      td.appendChild(img);td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getAttribute("JerseyNumber");
	      td = tr.insertCell(-1);
				td.align = "left";
	      td.innerText = statNodes[i].getAttribute("PlayerName");
	      var games = parseInt(statNodes[i].getElementsByTagName("Games")[0].firstChild.nodeValue);
	      if (games != 0)
	      {
	        td = tr.insertCell(-1);
	        td.innerText = parseFloat(statNodes[i].getElementsByTagName("InningsPitched")[0].firstChild.nodeValue).toFixed(1);
	        td = tr.insertCell(-1);
	        td.noWrap = true;
	        td.innerText = statNodes[i].getElementsByTagName("Wins")[0].firstChild.nodeValue + "-" + statNodes[i].getElementsByTagName("Losses")[0].firstChild.nodeValue;
	        td = tr.insertCell(-1);
	        td.innerText = statNodes[i].getElementsByTagName("Saves")[0].firstChild.nodeValue;
	        td = tr.insertCell(-1);
					td.innerText = parseFloat(statNodes[i].getElementsByTagName("EarnedRunAvg")[0].firstChild.nodeValue).toFixed(2);
	      }
	      else
	      {
	        td = tr.insertCell(-1);
					td.colSpan = 4;
	        td.innerText = "no stats";
	      }
	    }
	    div.appendChild(tbl);
	    break;
	  case 2:
	    divSub = document.createElement("div");
	    divSub.align = "left";
			divSub.className = "headerTabs";
	    span = document.createElement("span");
			span.className = "selected";
			span.innerText = "QB";
			span.onclick = function() { displayNFLSeasonStats(1) };
			span.style.border = "1px solid black";
	    divSub.appendChild(span);
	    span = document.createElement("span");
			span.innerText = "RB";
			span.onclick = function() { displayNFLSeasonStats(2) };
			span.style.border = "1px solid black";
	    divSub.appendChild(span);
	    span = document.createElement("span");
			span.innerText = "Rec";
			span.onclick = function() { displayNFLSeasonStats(3) };
			span.style.border = "1px solid black";
	    divSub.appendChild(span);
	    span = document.createElement("span");
			span.innerText = "Def";
			span.onclick = function() { displayNFLSeasonStats(4) };
			span.style.border = "1px solid black";
	    divSub.appendChild(span);
	    span = document.createElement("span");
			span.innerHTML = "&nbsp;K&nbsp;";
			span.onclick = function() { displayNFLSeasonStats(5) };
			span.style.border = "1px solid black";
	    divSub.appendChild(span);
	    span = document.createElement("span");
			span.innerHTML = "&nbsp;P&nbsp;";
			span.onclick = function() { displayNFLSeasonStats(6) };
			span.style.border = "1px solid black";
	    divSub.appendChild(span);
	    div.appendChild(divSub);
	    // QB
	    var tbl = document.createElement("table");
	    tbl.id = "tblNFLSeasonGroup1";
	    tbl.className = "players";
	    var tr = tbl.insertRow(-1);
			tr.className = "header";
			td = tr.insertCell(-1);
			td.innerHTML = "&nbsp;";
			td = tr.insertCell(-1);
			td.innerText = "#";
			td = tr.insertCell(-1);
			td.align = "left"
			td.innerText = "Name";
			td = tr.insertCell(-1);
			td.innerText = "Cmp%";
			td = tr.insertCell(-1);
			td.innerText = "Yds";
			td = tr.insertCell(-1);
			td.innerText = "TD";
			td = tr.insertCell(-1);
			td.innerText = "INT";
			var statNodes = doc.getElementsByTagName("FootballPassingStats");
			for (var i = 0; i < statNodes.length; i++)
			{
			  tr = tbl.insertRow(-1);
	      var td = tr.insertCell(-1);
	      img = new Image();
	      if (statNodes[i].getAttribute("InGroup") == "true")
	      {
	        tr.className = "selected";
					img.src = imagePrefix + "Check.png";
	      }
	      else
	      {
	        img.src = imagePrefix + "GreenPlus.gif";
	        img.setAttribute("playerID", statNodes[i].getAttribute("PlayerID"));
	        img.onclick = function() { addPlayer(this); };
	      }
	      td.appendChild(img);
				td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getAttribute("JerseyNumber");
	      td = tr.insertCell(-1);
				td.align = "left";
	      td.innerText = statNodes[i].getAttribute("PlayerName");
	      td = tr.insertCell(-1);
	      var attempts = parseInt(statNodes[i].getElementsByTagName("Attempts")[0].firstChild.nodeValue);
	      if (attempts > 0)
	        td.innerText = (parseFloat(statNodes[i].getElementsByTagName("Completions")[0].firstChild.nodeValue) / attempts * 100).toFixed(1);
	      else
	        td.innerText = "-";
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Yards")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("TDs")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("INTs")[0].firstChild.nodeValue;
			}
			div.appendChild(tbl);
			// RB
	    var tbl = document.createElement("table");
	    tbl.id = "tblNFLSeasonGroup2";
	    tbl.className = "players";
	    tbl.style.display = "none";
	    var tr = tbl.insertRow(-1);
			tr.className = "header";
			td = tr.insertCell(-1);
			td.innerHTML = "&nbsp;";
			td = tr.insertCell(-1);
			td.innerText = "#";
			td = tr.insertCell(-1);
			td.align = "left"
			td.innerText = "Name";
			td = tr.insertCell(-1);
			td.innerText = "Att";
			td = tr.insertCell(-1);
			td.innerText = "Yds";
			td = tr.insertCell(-1);
			td.innerText = "TD";
			td = tr.insertCell(-1);
			td.innerText = "Lng";
			var statNodes = doc.getElementsByTagName("FootballRushingStats");
			for (var i = 0; i < statNodes.length; i++)
			{
			  tr = tbl.insertRow(-1);
	      var td = tr.insertCell(-1);
	      img = new Image();
	      if (statNodes[i].getAttribute("InGroup") == "true")
	      {
	        tr.className = "selected";
					img.src = imagePrefix + "Check.png";
	      }
	      else
	      {
	        img.src = imagePrefix + "GreenPlus.gif";
	        img.setAttribute("playerID", statNodes[i].getAttribute("PlayerID"));
	        img.onclick = function() { addPlayer(this); };
	      }
	      td.appendChild(img);
				td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getAttribute("JerseyNumber");
	      td = tr.insertCell(-1);
				td.align = "left";
	      td.innerText = statNodes[i].getAttribute("PlayerName");
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Attempts")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Yards")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("TDs")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Long")[0].firstChild.nodeValue;
	    }
	    div.appendChild(tbl);
	    // Rec
	    var tbl = document.createElement("table");
	    tbl.id = "tblNFLSeasonGroup3";
	    tbl.className = "players";
	    tbl.style.display = "none";
	    var tr = tbl.insertRow(-1);
			tr.className = "header";
			td = tr.insertCell(-1);
			td.innerHTML = "&nbsp;";
			td = tr.insertCell(-1);
			td.innerText = "#";
			td = tr.insertCell(-1);
			td.align = "left"
			td.innerText = "Name";
			td = tr.insertCell(-1);
			td.innerText = "Rec";
			td = tr.insertCell(-1);
			td.innerText = "Yds";
			td = tr.insertCell(-1);
			td.innerText = "TD";
			td = tr.insertCell(-1);
			td.innerText = "Lng";
			var statNodes = doc.getElementsByTagName("FootballReceivingStats");
			for (var i = 0; i < statNodes.length; i++)
			{
			  tr = tbl.insertRow(-1);
	      var td = tr.insertCell(-1);
	      img = new Image();
	      if (statNodes[i].getAttribute("InGroup") == "true")
	      {
	        tr.className = "selected";
					img.src = imagePrefix + "Check.png";
	      }
	      else
	      {
	        img.src = imagePrefix + "GreenPlus.gif";
	        img.setAttribute("playerID", statNodes[i].getAttribute("PlayerID"));
	        img.onclick = function() { addPlayer(this); };
	      }
	      td.appendChild(img);
				td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getAttribute("JerseyNumber");
	      td = tr.insertCell(-1);
				td.align = "left";
	      td.innerText = statNodes[i].getAttribute("PlayerName");
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Receptions")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Yards")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("TDs")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Long")[0].firstChild.nodeValue;
	    }
	    div.appendChild(tbl);
	    // Def
	    var tbl = document.createElement("table");
	    tbl.id = "tblNFLSeasonGroup4";
	    tbl.className = "players";
	    tbl.style.display = "none";
	    var tr = tbl.insertRow(-1);
			tr.className = "header";
			td = tr.insertCell(-1);
			td.innerHTML = "&nbsp;";
			td = tr.insertCell(-1);
			td.innerText = "#";
			td = tr.insertCell(-1);
			td.align = "left"
			td.innerText = "Name";
			td = tr.insertCell(-1);
			td.innerText = "Tac";
			td = tr.insertCell(-1);
			td.innerText = "Ast";
			td = tr.insertCell(-1);
			td.innerText = "Sac";
			td = tr.insertCell(-1);
			td.innerText = "Int";
			var statNodes = doc.getElementsByTagName("FootballDefensiveStats");
			for (var i = 0; i < statNodes.length; i++)
			{
			  tr = tbl.insertRow(-1);
	      var td = tr.insertCell(-1);
	      img = new Image();
	      if (statNodes[i].getAttribute("InGroup") == "true")
	      {
	        tr.className = "selected";
					img.src = imagePrefix + "Check.png";
	      }
	      else
	      {
	        img.src = imagePrefix + "GreenPlus.gif";
	        img.setAttribute("playerID", statNodes[i].getAttribute("PlayerID"));
	        img.onclick = function() { addPlayer(this); };
	      }
	      td.appendChild(img);
				td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getAttribute("JerseyNumber");
	      td = tr.insertCell(-1);
				td.align = "left";
	      td.innerText = statNodes[i].getAttribute("PlayerName");
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Tackles")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Assists")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Sacks")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Interceptions")[0].firstChild.nodeValue;
	    }
	    div.appendChild(tbl);
	    // K
	    var tbl = document.createElement("table");
	    tbl.id = "tblNFLSeasonGroup5";
	    tbl.className = "players";
	    tbl.style.display = "none";
	    var tr = tbl.insertRow(-1);
			tr.className = "header";
			td = tr.insertCell(-1);
			td.innerHTML = "&nbsp;";
			td = tr.insertCell(-1);
			td.innerText = "#";
			td = tr.insertCell(-1);
			td.align = "left"
			td.innerText = "Name";
			td = tr.insertCell(-1);
			td.innerText = "0-29";
			td = tr.insertCell(-1);
			td.innerText = "30-39";
			td = tr.insertCell(-1);
			td.innerText = "40-49";
			td = tr.insertCell(-1);
			td.innerText = "50+";
			var statNodes = doc.getElementsByTagName("FootballFieldGoalStats");
			for (var i = 0; i < statNodes.length; i++)
			{
			  tr = tbl.insertRow(-1);
	      var td = tr.insertCell(-1);
	      img = new Image();
	      if (statNodes[i].getAttribute("InGroup") == "true")
	      {
	        tr.className = "selected";
					img.src = imagePrefix + "Check.png";
	      }
	      else
	      {
	        img.src = imagePrefix + "GreenPlus.gif";
	        img.setAttribute("playerID", statNodes[i].getAttribute("PlayerID"));
	        img.onclick = function() { addPlayer(this); };
	      }
	      td.appendChild(img);
				td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getAttribute("JerseyNumber");
	      td = tr.insertCell(-1);
				td.align = "left";
	      td.innerText = statNodes[i].getAttribute("PlayerName");
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Made20")[0].firstChild.nodeValue + "-" + statNodes[i].getElementsByTagName("Attempts20")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Made30")[0].firstChild.nodeValue + "-" + statNodes[i].getElementsByTagName("Attempts30")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Made40")[0].firstChild.nodeValue + "-" + statNodes[i].getElementsByTagName("Attempts40")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Made50")[0].firstChild.nodeValue + "-" + statNodes[i].getElementsByTagName("Attempts50")[0].firstChild.nodeValue;
	    }
	    div.appendChild(tbl);
	    // P
	    var tbl = document.createElement("table");
	    tbl.id = "tblNFLSeasonGroup6";
	    tbl.className = "players";
	    tbl.style.display = "none";
	    var tr = tbl.insertRow(-1);
			tr.className = "header";
			td = tr.insertCell(-1);
			td.innerHTML = "&nbsp;";
			td = tr.insertCell(-1);
			td.innerText = "#";
			td = tr.insertCell(-1);
			td.align = "left"
			td.innerText = "Name";
			td = tr.insertCell(-1);
			td.innerText = "NP";
			td = tr.insertCell(-1);
			td.innerText = "Avg";
			td = tr.insertCell(-1);
			td.innerText = "TB";
			td = tr.insertCell(-1);
			td.innerText = "In20";
			var statNodes = doc.getElementsByTagName("FootballPuntingStats");
			for (var i = 0; i < statNodes.length; i++)
			{
			  tr = tbl.insertRow(-1);
	      var td = tr.insertCell(-1);
	      img = new Image();
	      if (statNodes[i].getAttribute("InGroup") == "true")
	      {
	        tr.className = "selected";
					img.src = imagePrefix + "Check.png";
	      }
	      else
	      {
	        img.src = imagePrefix + "GreenPlus.gif";
	        img.setAttribute("playerID", statNodes[i].getAttribute("PlayerID"));
	        img.onclick = function() { addPlayer(this); };
	      }
	      td.appendChild(img);
				td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getAttribute("JerseyNumber");
	      td = tr.insertCell(-1);
				td.align = "left";
	      td.innerText = statNodes[i].getAttribute("PlayerName");
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Punts")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = parseFloat(statNodes[i].getElementsByTagName("Avg")[0].firstChild.nodeValue).toFixed(1);
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Touchbacks")[0].firstChild.nodeValue;
	      td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getElementsByTagName("Inside20")[0].firstChild.nodeValue;
	    }
	    div.appendChild(tbl);
	    break;
		case 4:
			var tbl = document.createElement("table");
	    tbl.className = "players";
			tr = tbl.insertRow(-1);
			tr.className = "header";
			td = tr.insertCell(-1);
			td.innerHTML = "&nbsp;";
			td = tr.insertCell(-1);
			td.innerText = "#";
			td = tr.insertCell(-1);
			td.align = "left"
			td.innerText = "Name";
			td = tr.insertCell(-1);
			td.innerText = "G";
			td = tr.insertCell(-1);
			td.innerText = "Pts";
			td = tr.insertCell(-1);
			td.innerText = "Reb";
			td = tr.insertCell(-1);
			td.innerText = "Asst";
	    var statNodes = doc.getElementsByTagName("BasketballSeasonStats");
	    for (var i = 0; i < statNodes.length; i++)
	    {
	      var tr = tbl.insertRow(-1);
	      var td = tr.insertCell(-1);
	      img = new Image();
	      if (statNodes[i].getAttribute("InGroup") == "true")
	      {
	        tr.className = "selected";
					img.src = imagePrefix + "Check.png";
	      }
	      else
	      {
	        img.src = imagePrefix + "GreenPlus.gif";
	        img.setAttribute("playerID", statNodes[i].getAttribute("PlayerID"));
	        img.onclick = function() { addPlayer(this); };
	      }
	      td.appendChild(img);td = tr.insertCell(-1);
	      td.innerText = statNodes[i].getAttribute("JerseyNumber");
	      td = tr.insertCell(-1);
				td.align = "left";
	      td.innerText = statNodes[i].getAttribute("PlayerName");
	      var games = parseInt(statNodes[i].getElementsByTagName("Games")[0].firstChild.nodeValue);
	      if (games != 0)
	      {
	        td = tr.insertCell(-1);
	        td.innerText = games;
					td = tr.insertCell(-1);
					td.innerText = parseFloat(statNodes[i].getElementsByTagName("Points")[0].firstChild.nodeValue).toFixed(1);
					td = tr.insertCell(-1);
					td.innerText = parseFloat(statNodes[i].getElementsByTagName("Rebounds")[0].firstChild.nodeValue).toFixed(1);
					td = tr.insertCell(-1);
					td.innerText = parseFloat(statNodes[i].getElementsByTagName("Assists")[0].firstChild.nodeValue).toFixed(1);
	      }
	      else
	      {
	        td = tr.insertCell(-1);
					td.colSpan = 4;
	        td.innerText = "no stats";
	      }
	    }
	    div.appendChild(tbl);
	}
	
}

function displayHitters()
{
	var span = event.srcElement;
	span.className = "selected";
	span.nextSibling.className = "";
  document.getElementById("tblHitters").style.display = "table";
  document.getElementById("tblPitchers").style.display = "none";
}

function displayPitchers()
{
	var span = event.srcElement;
	span.className = "selected";
	span.previousSibling.className = "";
  document.getElementById("tblHitters").style.display = "none";
  document.getElementById("tblPitchers").style.display = "table";
}

function displayNFLSeasonStats(group)
{
  var span = event.srcElement;
  span.className = "selected";
  var tempSpan = span.previousSibling;
  while (tempSpan)
  {
    tempSpan.className = "";
    tempSpan = tempSpan.previousSibling;
  }
  tempSpan = span.nextSibling;
  while (tempSpan)
  {
    tempSpan.className = "";
    tempSpan = tempSpan.nextSibling;
  }
  for (var i = 1; i <= 6; i++)
  {
    document.getElementById("tblNFLSeasonGroup" + i).style.display = (i == group ? "table" : "none");
  }
}

function addPlayer(img)
{
	var tr = img.parentElement.parentElement;
  var playerID = parseInt(img.getAttribute("playerID"));
  if (currentGroupID == null)    //create default group
  {
    xmlRequest.open("POST", wsUrl + "/CreateDefaultPlayerGroup", false);
    xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xmlRequest.send("sport=" + currentSportID);
    currentGroupID = xmlRequest.responseXML.documentElement.firstChild.nodeValue;
		writeCookie(currentSportName + "GroupID", currentGroupID, cookieHours);
	}
	xmlRequest.open("POST", wsUrl + "/AddPlayerToGroup");
	xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlRequest.send("sport=" + currentSportID + "&groupIDStr=" + currentGroupID + "&playerID=" + playerID);
	tr.className = "selected";
	tr.cells[0].getElementsByTagName("img")[0].src = imagePrefix + "Check.png";
  playersAdded = true;
}

function deletePlayer(img)
{
	var tr = img.parentElement.parentElement
	var table = tr.parentElement.parentElement;
	var playerID = img.getAttribute("playerID");
	xmlRequest.open("POST", wsUrl + "/RemovePlayerFromGroup");
	xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlRequest.send("sport=" + currentSportID + "&groupIDStr=" + currentGroupID + "&playerID=" + playerID);
	
	if (currentSportID == 1)
	{
		if (table.countB + table.countP == 1)
		{
			document.getElementById("center").removeChild(table);
			table = null;
		}
		else
		{
			var index = tr.rowIndex;
			var pitcher = tr.pitcher;
			table.deleteRow(index);
			if (pitcher)
			{
				if (table.countP == 1)
					table.deleteRow(index - 1);
				table.countP--;
			}
			else
			{
				if (table.countB == 1)
					table.deleteRow(index - 1);
				table.countB--;
			}
		}
	}
	else if (currentSportID == 2)
	{
	  if (table.count1 + table.count2 + table.count4 + table.count5 + table.count6 == 1)
	  {
	    document.getElementById("center").removeChild(table);
			table = null;
	  }
	  else
	  {
	    var index = tr.rowIndex;
	    table.deleteRow(index);
	    var count;
	    switch (tr.position)
	    {
	      case 1:
	        if (table.count1 == 1)
	          table.deleteRow(index - 1);
	        table.count1--;
	        break;
	      case 2:
	        if (table.count2 == 1)
	          table.deleteRow(index - 1);
	        table.count2--;
	        break;
	      case 4:
	        if (table.count4 == 1)
	          table.deleteRow(index - 1);
	        table.count4--;
	        break;
	      case 4:
	        if (table.count5 == 1)
	          table.deleteRow(index - 1);
	        table.count5--;
	        break;
	      case 4:
	        if (table.count6 == 1)
	          table.deleteRow(index - 1);
	        table.count6--;
	        break;
	    }
	  }
	}
	else if (currentSportID == 4)
	{
		if (table.count == 1)
		{
			document.getElementById("center").removeChild(table);
			table = null;
		}
		else
		{
			table.deleteRow(tr.rowIndex);
			table.count--;
		}
	}
	
	removeByPlayerID(playerID);
	var tables = document.getElementById("center").getElementsByTagName("table");
	if (tables.length > 0)
	  reindexPlayers(tables);
	else
	  showAddPlayersLink();
}

function reindexPlayers(tables)
{
	var counter = 0;
	
	for (var i = 0; i < tables.length; i++)
	{
		var table = tables[i];
		for (var j = 0; j < table.rows.length; j++)
		{
			var row = table.rows[j];
			if (row.playerIndex != null)
			{
				row.playerIndex = counter;
				counter++;
			}
		}
	}
}

function displayGroupPlayers(doc)
{
	var teamNodes = doc.getElementsByTagName("Team");
	if (teamNodes.length == 0)
	{
	  showAddPlayersLink();
	}
	else
	{
  	players = new Array();
	  var playerCount = 0;
	  var landscape = document.body.getAttribute("orient") == "landscape";
	  for (var i = 0; i < teamNodes.length; i++)
	  {
		  var inProgress;
		  var tblTeam = document.createElement("table");
		  tblTeam.id = "tbl_" + teamNodes[i].getAttribute("Abbreviation");
		  tblTeam.className = "team";
		  tblTeam.border = "1";
		  tblTeam.cellPadding = 0;
		  tblTeam.statsPage = 1;
		  if (currentSportID == 1)
		  {
			  tblTeam.countB = 0;
			  tblTeam.countP = 0;
		  }
		  else if (currentSportID == 2)
		  {
		    tblTeam.count1 = 0;
		    tblTeam.count2 = 0;
		    tblTeam.count4 = 0;
		    tblTeam.count5 = 0;
		    tblTeam.count6 = 0;
		  }
		  else
		  {
			  tblTeam.count = 0;
		  }
		  var tr = tblTeam.insertRow(-1);
		  var td = tr.insertCell(-1);
		  td.className = "game";
		  if (landscape)
			  td.colSpan = 10;
		  else
			  td.colSpan = 7;
		  var imgTeam;
		  switch (currentSportID)
		  {
			  case 1:
				  var divTeam = document.createElement("div");
				  divTeam.className = "team";
				  divTeam.innerText = teamNodes[i].getAttribute("Abbreviation");
				  td.appendChild(divTeam);
				  break;
				case 2:
				  imgTeam = new Image();
				  imgTeam.src = "/Images/Logos/NFL/" + teamNodes[i].getAttribute("Abbreviation") + ".gif";
				  td.appendChild(imgTeam);
				  break;
			  case 4:
			    imgTeam = new Image();
				  imgTeam.src = "/Images/Logos/NBA/" + teamNodes[i].getAttribute("Abbreviation") + ".jpg";
				  td.appendChild(imgTeam);
				  break;
		  }
		  
			var div = document.createElement("div");
		  var gameNode = teamNodes[i].getElementsByTagName("LastGame");
		  if (gameNode.length == 1)
		  {
			  gameNode = gameNode[0];
				var subDiv = document.createElement("div");
				div.appendChild(subDiv);
				subDiv = document.createElement("div");
				subDiv.className = "score";
				div.appendChild(subDiv);
				subDiv = document.createElement("div");
			  subDiv.className = "status";
			  div.appendChild(subDiv);
				inProgress = updateGameDisplay(gameNode, div);
				if (inProgress) tblTeam.className += " inProgress";
		  }
			td.appendChild(div);
		  div = td.appendChild(createMoreStatsLink(tblTeam.id));
		  if (landscape) div.style.visibility = "hidden";
  		
		  var playerNodes = teamNodes[i].getElementsByTagName("PlayerStats");
		  for (var j = 0; j < playerNodes.length; j++)
		  {
			  var playerNode = playerNodes[j];
			  players[playerCount] = new Player(playerNode);
			  if (j == 0)
			  {
				  tr = tblTeam.insertRow(-1);
				  tr.className = "statsHeader";
				  td = tr.insertCell(-1);
				  td.colSpan = 2;
				  td.align = "right";
				  td.style.paddingRight = "5px";
				  td.style.color = "#E43C15";
				  td.innerHTML = "&nbsp;";
				  if (currentSportID == 1)
				  {
					  tr.pitcher = players[playerCount].Pitcher;
				  }
				  else if (currentSportID == 2)
				  {
				    tr.position = players[playerCount].PositionGroup;
				  }
				  displayStatHeaders(tr, 1, landscape);
			  }
			  else
			  {
				  if (currentSportID == 1 && !players[playerCount - 1].Pitcher && players[playerCount].Pitcher)
				  {
					  tr = tblTeam.insertRow(-1);
					  tr.className = "statsHeader";
					  tr.pitcher = true;
					  td = tr.insertCell(-1);
					  td.colSpan = 2;
					  td.innerHTML = "&nbsp;";
					  displayStatHeaders(tr, 1, landscape);
				  }
				  else if (currentSportID == 2 && players[playerCount - 1].PositionGroup != players[playerCount].PositionGroup)
				  {
				    tr = tblTeam.insertRow(-1);
				    tr.className = "statsHeader";
				    td = tr.insertCell(-1);
				    td.colSpan = 2;
				    td.align = "right";
				    td.style.paddingRight = "5px";
				    td.style.color = "#E43C15";
				    tr.position = players[playerCount].PositionGroup;
				    td.innerHTML = "&nbsp;";
				    displayStatHeaders(tr, 1, landscape);
				  }
			  }
			  if (currentSportID == 1)
			  {
				  if (players[playerCount].Pitcher)
					  tblTeam.countP++;
				  else
					  tblTeam.countB++;
			  }
			  else if (currentSportID == 2)
			  {
			    switch (players[playerCount].PositionGroup)
			    {
			      case 1:
			        tblTeam.count1++;
			        break;
			      case 2:
			        tblTeam.count2++;
			        break;
			      case 4:
			        tblTeam.count4++;
			        break;
			      case 5:
			        tblTeam.count5++;
			        break;
			      case 6:
			        tblTeam.count6++;
			        break;
			    }
			  }
			  else
			  {
				  tblTeam.count++;
			  }
			  var playerID = players[playerCount].ID;
			  tr = tblTeam.insertRow(-1);
			  tr.id = "Player_" + playerID;
			  tr.playerIndex = playerCount;
			  if (currentSportID == 1)
				  tr.pitcher = players[playerCount].Pitcher;
				else if (currentSportID == 2)
				  tr.position = players[playerCount].PositionGroup;
			  tr.className = "player";
			  td = tr.insertCell(-1);
			  td.width = "40px";
			  var img = new Image();
			  img.src = "/Images/" + currentSportName + "/Player_" + playerID + ".jpg";
			  img.style.width = "40px";
			  td.appendChild(img);
			  img = new Image();
			  img.setAttribute("playerID", playerID);
			  img.src = imagePrefix + "CloseBox.png";
			  img.style.display = "none";
			  img.onclick = function() { deletePlayer(this); };
			  td.appendChild(img);
			  td = tr.insertCell(-1);
				td.width = "75px";
				img = new Image();
				img.src = imagePrefix + "BlueCheck.png";
				img.style.float = "right";
				img.style.display = (inProgress && players[playerCount].InGame) ? "" : "none";
				td.appendChild(img);
			  div = document.createElement("div");
			  div.className = "name";
			  div.innerHTML = playerNode.getAttribute("FirstName") + "<br/>" + playerNode.getAttribute("LastName");
			  td.appendChild(div);
			  div = document.createElement("div");
			  div.className = "jersey";
			  div.innerText = "#" + playerNode.getAttribute("JerseyNumber");
			  td.appendChild(div);
			  displayStatCells(tr, 1, landscape);
			  displayPlayerStats(tr, players[playerCount], 1, landscape);
			  playerCount++;
		  }
  		
			tr = tblTeam.insertRow(-1);
			td = tr.insertCell(-1);
			td.className = "game";
			if (landscape)
				td.colSpan = 10;
			else
				td.colSpan = 7;
			td.style.lineHeight = "20px";
		  
			if (!inProgress)
			{
				gameNode = teamNodes[i].getElementsByTagName("NextGame");
				if (gameNode.length == 1)
					displayNextGame(teamNodes[i], gameNode[0], td);
			}
			else
			{
				tr.style.display = "none";
			}
			
		  document.getElementById("center").appendChild(tblTeam);
	  }
	}
}

function createMoreStatsLink(tblID)
{
	var div = document.createElement("div");
	div.className = "moreStats";
	var a = document.createElement("a");
	a.innerText = "more stats...";
	a.onclick = function () { showMoreStats(tblID); };
	div.appendChild(a);
	return div;
}

function displayNextGame(teamNode, gameNode, td)
{
	td.innerHTML = "Next Game: " + getDateTimeText(gameNode.getElementsByTagName("StartTime")[0].firstChild.nodeValue);
	var teamName = gameNode.getElementsByTagName("AwayTeam")[0].firstChild.nodeValue;
	if (teamNode.getAttribute("Abbreviation") != teamName)
		td.innerHTML += " vs. " + teamName;
	else
	{
		teamName = gameNode.getElementsByTagName("HomeTeam")[0].firstChild.nodeValue;
		if (teamNode.getAttribute("Abbreviation") != teamName)
			td.innerHTML += " @ " + teamName;
	}
}

function displayAllStatFields()
{
  var landscape = document.body.getAttribute("orient") == "landscape";
	var tables = document.getElementById("center").getElementsByTagName("table");
	for (var i = 0; i < tables.length; i++)
	{
		var table = tables[i];
		var a = table.rows[0].cells[0].getElementsByTagName("a")[0];
		a.parentElement.style.visibility = landscape ? "hidden" : "visible";
		table.rows[0].cells[0].colSpan = landscape ? 10 : 7;
		displayStatHeaders(table.rows[1], table.statsPage, landscape);
		for (var j = 2; j < table.rows.length; j++)
		{
			var tr = table.rows[j];
			if (tr.playerIndex != null)
			{
			  displayStatCells(tr, table.statsPage, landscape);
				displayPlayerStats(tr, players[tr.playerIndex], table.statsPage, landscape);
			}
			else if (tr.pitcher || tr.position) 
				displayStatHeaders(tr, table.statsPage, landscape);
		  else if (j == table.rows.length - 1)
				tr.cells[0].colSpan = landscape ? 10 : 7;
		}
	}
}

function displayStatHeaders(tr, statsPage, landscape)
{
	while (tr.cells.length > 1)
		tr.deleteCell(1);
		
	switch (currentSportID)
	{
		case 1:
			if (statsPage == 1 || landscape)
			{
				td = tr.insertCell(-1);
				td.innerText = tr.pitcher ? "IP" : "AB";
				td = tr.insertCell(-1);
				td.innerText = tr.pitcher ? "H" : "R";
				td = tr.insertCell(-1);
				td.innerText = tr.pitcher ? "R" : "H";
				td = tr.insertCell(-1);
				td.innerText = tr.pitcher ? "ER": "RBI";
				td = tr.insertCell(-1);
				td.innerText = tr.pitcher ? "K" : "HR";
			}
			if (statsPage == 2 || landscape)
			{
				td = tr.insertCell(-1);
				td.innerText = tr.pitcher ? "BB" : "2B";
				td = tr.insertCell(-1);
				td.innerText = tr.pitcher ? "HR" : "3B";
				td = tr.insertCell(-1);
				td.innerText = tr.pitcher ? (landscape ? "W/L/S" : "PC") : "SB";
			}
			if (statsPage == 2 && !landscape)
			{
			  td = tr.insertCell(-1);
			  td.innerText = tr.pitcher ? "BF" : "BB";
			  td = tr.insertCell(-1);
			  td.innerText = tr.pitcher ? "W/L/S" : "K";
			}
			break;
		case 2:
		  if (landscape)
		  {
		    tr.cells[0].innerHTML = "&nbsp;";
		  }
		  else
		  {
		    if (tr.position == 1)
		    {
		      if (statsPage == 1)
		        tr.cells[0].innerText = "Passing ->";
		      else if (statsPage == 2)
		        tr.cells[0].innerText = "Rushing - >";
		    }
		    else if (tr.position == 2)
		    {
		      if (statsPage == 1)
		        tr.cells[0].innerText = "Rushing ->";
		      else if (statsPage == 2)
		        tr.cells[0].innerText = "Receiving - >";
		    }
		  }
		  if (statsPage == 1 || landscape)
			{
				switch (tr.position)
				{
				  case 1:
				    td = tr.insertCell(-1);
				    td.innerText = "CMP";
				    td = tr.insertCell(-1);
				    td.innerText = "ATT";
				    td = tr.insertCell(-1);
				    td.innerText = "YDS";
				    td = tr.insertCell(-1);
				    td.innerText = "TD";
				    td = tr.insertCell(-1);
				    td.innerText = "INT";
				    break;
				  case 2:
				    td = tr.insertCell(-1);
				    td.innerText = landscape ? "Rush ATT" : "ATT";
				    td = tr.insertCell(-1);
				    td.innerText = landscape ? "Rush YDS" : "YDS";
				    td = tr.insertCell(-1);
				    td.innerText = landscape ? "Rush AVG" : "AVG";
				    td = tr.insertCell(-1);
				    td.innerText = landscape ? "Rush TD" : "LNG";
				    td = tr.insertCell(-1);
				    td.innerText = landscape ? "REC" : "TD";
				    break;
				  case 4:
				    td = tr.insertCell(-1);
				    td.innerText = "TAC";
				    td = tr.insertCell(-1);
				    td.innerText = "AST";
				    td = tr.insertCell(-1);
				    td.innerText = "SAC";
				    td = tr.insertCell(-1);
				    td.innerText = "INT";
				    td = tr.insertCell(-1);
				    td.innerText = "FF";
				    break;
				  case 5:
				    td = tr.insertCell(-1);
				    td.innerText = "FG";
				    td = tr.insertCell(-1);
				    td.innerText = "FGA";
				    td = tr.insertCell(-1);
				    td.innerText = "LNG";
				    td = tr.insertCell(-1);
				    td.innerText = "XP";
				    td = tr.insertCell(-1);
				    td.innerText = "XPA";
				    break;
				  case 6:
				    td = tr.insertCell(-1);
				    td.innerText = "NP";
				    td = tr.insertCell(-1);
				    td.innerText = "AVG";
				    td = tr.insertCell(-1);
				    td.innerText = "LNG";
				    td = tr.insertCell(-1);
				    td.innerText = "TB";
				    td = tr.insertCell(-1);
				    td.innerText = "In 20";
				    break;
				}
			}
			if (statsPage == 2 || landscape)
			{
			  switch (tr.position)
			  {
			    case 1:
			      td = tr.insertCell(-1);
			      td.innerText = landscape ? "Rush ATT" : "ATT";
			      td = tr.insertCell(-1);
			      td.innerText = landscape ? "Rush YDS" : "YDS";
			      td = tr.insertCell(-1);
			      td.innerText = landscape ? "Rush TD" : "AVG";
			      break;
			    case 2:
			      td = tr.insertCell(-1);
			      td.innerText = landscape ? "Rec YDS" : "REC";
			      td = tr.insertCell(-1);
			      td.innerText = landscape ? "Rec AVG" : "YDS";
			      td = tr.insertCell(-1);
			      td.innerHTML = landscape ? "Rec<br/>TD" : "AVG";
			      break;
			    case 4: case 5: case 6:
			      td = tr.insertCell(-1);
			      td.colSpan = landscape ? 3 : 5;
			  }
			}
			if (statsPage == 2 && !landscape)
			{
			  switch (tr.position)
			  {
			    case 1:
			      td = tr.insertCell(-1);
			      td.innerText = "LNG";
			      td = tr.insertCell(-1);
			      td.innerText = "TD";
			      break;
			    case 2:
			      td = tr.insertCell(-1);
			      td.innerText = "LNG";
			      td = tr.insertCell(-1);
			      td.innerText = "TD";
			      break;
			  }
			}
		  break;
		case 4:
			if (statsPage == 1 || landscape)
			{
				td = tr.insertCell(-1);
				td.style.width = "60px";
				td.innerText = "Min";
				td = tr.insertCell(-1);
				td.style.width = landscape ? "40px" : "35px";
				td.innerText = "Pts";
				td = tr.insertCell(-1);
				td.style.width = landscape ? "40px" : "35px";
				td.innerText = "Reb";
				td = tr.insertCell(-1);
				td.style.width = landscape ? "40px" : "35px";
				td.innerText = "Asst";
				td = tr.insertCell(-1);
				td.style.width = landscape ? "40px" : "35px";
				td.innerText = "Stl";
			}
			if (statsPage == 2 || landscape)
			{
				td = tr.insertCell(-1);
				td.style.width = landscape ? "40px" : "30px";
				td.innerText = "TO";
				td = tr.insertCell(-1);
				td.style.width = landscape ? "40px" : "30px";
				td.innerText = "Blk";
				td = tr.insertCell(-1);
				td.style.width = landscape ? "40px" : "30px";
				td.innerText = "PF";
			}
			if (statsPage == 2 && !landscape)
			{
			  td = tr.insertCell(-1);
				td.style.width = "55px";
			  td.innerText = "FG";
			  td = tr.insertCell(-1);
				td.style.width = "55px";
			  td.innerText = "FT";
			}
			break;
	}
}

function displayStatCells(tr, statsPage, landscape)
{
  while (tr.cells.length > 2)
		tr.deleteCell(2);
		
	var td;
	var cellCount;
	switch (currentSportID)
	{
		case 1:
			cellCount = landscape ? 8 : 5;
			break;
	  case 2:
	    if (landscape)
	    {
	      if (tr.position == 1 || tr.position == 2)
	        cellCount = 8;
	      else
	        cellCount = 6;
	    }
	    else
	    {
	      if (statsPage == 1 || (tr.position == 1 || tr.position == 2))
	        cellCount = 5;
	      else
	        cellCount = 1;
	    }
	    break;
		case 4:
			cellCount = landscape ? 8 : 5;
			break;
	}
	
	for (var i = 1; i <= cellCount; i++)
	{
		td = tr.insertCell(-1);
		td.className = "stats";
		td.noWrap = true;
		if (currentSportID == 2 && (landscape || statsPage == 2) && tr.position != 1 && tr.position != 2 && i == cellCount)
		  td.colSpan = landscape ? 3 : 5;
	}
}

function updateGroupPlayers(doc)
{ 
	var landscape = document.body.getAttribute("orient") == "landscape";
	var teamNodes = doc.getElementsByTagName("Team");
	var tables = document.getElementById("center").getElementsByTagName("table");
	if (teamNodes.length == tables.length)
	{
		for (var i = 0; i < tables.length; i++)
		{
			if (tables[i].id != "tbl_" + teamNodes[i].getAttribute("Abbreviation"))
				return false;
			var gameNode = teamNodes[i].getElementsByTagName("LastGame");
		  if (gameNode.length == 1)
		  {
				inProgress = updateGameDisplay(gameNode[0], tables[i].rows[0].cells[0].getElementsByTagName("div")[0]);
				if (inProgress) 
					tables[i].className = "team inProgress"
				else
					tables[i].className = "team";
				var playerNodes = teamNodes[i].getElementsByTagName("PlayerStats");
				var counter = 0;
				for (var j = 2; j < tables[i].rows.length - 1; j++)
				{
					var row = tables[i].rows[j];
					if (row.playerIndex != null)
					{
						var player = new Player(playerNodes[counter]);
						if (player.ID == players[row.playerIndex].ID)
						{
							row.cells[1].getElementsByTagName("img")[0].style.display = (inProgress && player.InGame) ? "" : "none";
							displayPlayerStats(row, player, tables[i].statsPage, landscape);
							players[row.playerIndex] = player;
							counter++;
						}
						else
						{
							return false;
						}
					}
				}
			}
			
			if (!inProgress)
			{
				gameNode = teamNodes[i].getElementsByTagName("NextGame");
				if (gameNode.length == 1)
				{
					displayNextGame(teamNodes[i], gameNode[0], tables[i].rows[tables[i].rows.length-1].cells[0]);
					tables[i].rows[tables[i].rows.length-1].style.display = "";
				}
			}
			else
			{
				tables[i].rows[tables[i].rows.length-1].style.display = "none";
			}
		}
		return true;
	}
	else
	{
		return false;
	}
}

//returns inProgress
function updateGameDisplay(gameNode, div)
{
	var inProgress;
	var subDiv = div.getElementsByTagName("div");
	if (subDiv.length == 3)
	{
		if (gameNode.getElementsByTagName("InProgress")[0].firstChild.nodeValue == "true")
		{
			inProgress = true;
			subDiv[0].innerHTML =  "<u>Current Game (in progress)</u>";
		}
		else
		{
			inProgress = false;
			var gameDate = getDateText(gameNode.getElementsByTagName("StartTime")[0].firstChild.nodeValue);
			subDiv[0].innerHTML = "<u>Last Game (" + gameDate + ")</u>";
		}
		var period = gameNode.getElementsByTagName("Period")[0].firstChild.nodeValue;
		if (period == "Cancelled" || period == "Postponed")
		{
		  subDiv[1].innerText = gameNode.getElementsByTagName("AwayTeam")[0].firstChild.nodeValue + " vs. " + gameNode.getElementsByTagName("HomeTeam")[0].firstChild.nodeValue;
		}
		else
		{
	    subDiv[1].innerText = gameNode.getElementsByTagName("AwayTeam")[0].firstChild.nodeValue + " " + gameNode.getElementsByTagName("AwayScore")[0].firstChild.nodeValue + ", " +
	      gameNode.getElementsByTagName("HomeTeam")[0].firstChild.nodeValue + " " + gameNode.getElementsByTagName("HomeScore")[0].firstChild.nodeValue;
	  }
	  if (inProgress)
    {
	    if (currentSportID == 1)
	    {
		    var outs = parseInt(gameNode.getElementsByTagName("Outs")[0].firstChild.nodeValue);
		    if (period.indexOf("Top") == 0 || period.indexOf("Bot") == 0)
		    {
			    subDiv[2].innerText = period + ", " + outs + " Out";
			    if (outs != 1) subDiv.innerText += "s";
		    }
		    else
		    {
			    subDiv[2].innerText = period;
		    }
	    }
	    else
	    {
		    var timeRemaining = parseInt(gameNode.getElementsByTagName("TimeRemaining")[0].firstChild.nodeValue);
		    if (timeRemaining == 0)
		    {
			    subDiv[2].innerText = period;
		    }
		    else
		    {
			    var minutes = Math.floor(timeRemaining / 60);
			    var seconds = timeRemaining - minutes * 60;
			    if (seconds < 10) seconds = 0 + "" + seconds;
			    subDiv[2].innerText = period + ", " + minutes + ":" + seconds;
		    }
	    }
    }
	  else
	  {
		  subDiv[2].innerText = period;
	  }
  }
  
  return inProgress;
}

function displayPlayerStats(tr, player, statsPage, landscape)
{
	switch (currentSportID)
	{
		case 1:
			if (player.Played)
			{
				if (player.Pitcher)
				{
					if (statsPage == 1 || landscape)
					{
						tr.cells[2].innerText = player.Innings;
						tr.cells[3].innerText = player.Hits;
						tr.cells[4].innerText = player.Runs;
						tr.cells[5].innerText = player.EarnedRuns;
						tr.cells[6].innerText = player.Strikeouts;
					}
					else if (statsPage == 2)
					{
						tr.cells[2].innerText = player.Walks;
						tr.cells[3].innerText = player.Homeruns;
						tr.cells[4].innerText = player.PitchCount;
						tr.cells[5].innerText = player.BattersFaced;
						if (player.Win)
							tr.cells[6].innerText = "W";
						else if (player.Loss)
							tr.cells[6].innerText = "L";
						else if (player.Save)
							tr.cells[6].innerText = "S";
						else
							tr.cells[6].innerText = "";
					}
					if (landscape)
					{
						tr.cells[7].innerText = player.Walks;
						tr.cells[8].innerText = player.Homeruns;
						if (player.Win)
							tr.cells[9].innerText = "W";
						else if (player.Loss)
							tr.cells[9].innerText = "L";
						else if (player.Save)
							tr.cells[9].innerText = "S";
						else
							tr.cells[9].innerText = "";
					}
				}
				else
				{
					if (statsPage == 1 || landscape)
					{
						tr.cells[2].innerText = player.AtBats;
						tr.cells[3].innerText = player.Runs;
						tr.cells[4].innerText = player.Hits;
						tr.cells[5].innerText = player.RBI;
						tr.cells[6].innerText = player.Homeruns;
					}
					else if (statsPage == 2)
					{
						tr.cells[2].innerText = player.Doubles;
						tr.cells[3].innerText = player.Triples;
						tr.cells[4].innerText = player.StolenBases;
						tr.cells[5].innerText = player.Walks;
						tr.cells[6].innerText = player.Strikeouts;
					}
					if (landscape)
					{
						tr.cells[7].innerText = player.Doubles;
						tr.cells[8].innerText = player.Triples;
						tr.cells[9].innerText = player.StolenBases;
					}
				}
			}
			else
			{
			  for (var i = 2; i < tr.cells.length; i++)
			  {
			    tr.cells[i].innerText = "-";
			  }
			}
			break;
	  case 2:
	    if (statsPage == 1 || landscape)
	    {
	      switch (player.PositionGroup)
	      {
	        case 1:
	          tr.cells[2].innerText = player.Completions;
	          tr.cells[3].innerText = player.PassingAttempts;
	          tr.cells[4].innerText = player.PassingYards;
  	        tr.cells[5].innerText = player.PassingTDs;
  	        tr.cells[6].innerText = player.INTs;
	          break;
	        case 2:
	          tr.cells[2].innerText = player.RushingAttempts;
	          tr.cells[3].innerText = player.RushingYards;
	          if (player.RushingAttempts == 0)
	          {
	            tr.cells[4].innerText = "-";
	          }
	          else
	          {
	            tr.cells[4].innerText = (player.RushingYards / player.RushingAttempts).toFixed(1);
	          }
	          tr.cells[5].innerText = landscape ? player.RushingTDs : player.RushingLong;
	          tr.cells[6].innerText = landscape ? player.Receptions : player.RushingTDs;
	          break;
	        case 4:
	          tr.cells[2].innerText = player.Tackles;
	          tr.cells[3].innerText = player.Assists;
	          tr.cells[4].innerText = player.Sacks;
	          tr.cells[5].innerText = player.Interceptions;
	          tr.cells[6].innerText = player.ForcedFumbles;
	          break;
	        case 5:
	          tr.cells[2].innerText = player.FieldGoals;
	          tr.cells[3].innerText = player.FieldGoalAttempts;
	          tr.cells[4].innerText = player.FieldGoalLong;
	          tr.cells[5].innerText = player.ExtraPoints;
	          tr.cells[6].innerText = player.ExtraPointAttempts;
	          break;
	        case 6:
	          tr.cells[2].innerText = player.Punts;
	          tr.cells[3].innerText = player.PuntAvg;
	          tr.cells[4].innerText = player.PuntLong;
	          tr.cells[5].innerText = player.PuntTouchbacks;
	          tr.cells[6].innerText = player.PuntsInside20;
	          break;
	      }
	    }
	    else if (statsPage == 2)
	    {
	      switch (tr.position)
	      {
	        case 1:
	          tr.cells[2].innerText = player.RushingAttempts;
	          tr.cells[3].innerText = player.RushingYards;
	          if (player.RushingAttempts == 0)
	          {
	            tr.cells[4].innerText = "-";
	          }
	          else
	          {
	            tr.cells[4].innerText = (player.RushingYards / player.RushingAttempts).toFixed(1);
	          }
	          tr.cells[5].innerText = player.RushingLong;
	          tr.cells[6].innerText = player.RushingTDs;
	          break;
	        case 2:
	          tr.cells[2].innerText = player.Receptions;
	          tr.cells[3].innerText = player.ReceivingYards;
	          if (player.Receptions == 0)
	          {
	            tr.cells[4].innerText = "-";
	          }
	          else
	          {
	            tr.cells[4].innerText = (player.ReceivingYards / player.Receptions).toFixed(1);
	          }
	          tr.cells[5].innerText = player.ReceivingLong;
	          tr.cells[6].innerText = player.ReceivingTDs;
	          break;
	      }
	    }
	    if (landscape)
	    {
	      switch (tr.position)
	      {
	        case 1:
	          tr.cells[7].innerText = player.RushingAttempts;
	          tr.cells[8].innerText = player.RushingYards;
	          tr.cells[9].innerText = player.RushingTDs;
	          break;
	        case 2:
	          tr.cells[7].innerText = player.ReceivingYards;
	          if (player.Receptions == 0)
	          {
	            tr.cells[8].innerText = "-";
	          }
	          else
	          {
	            tr.cells[8].innerText = (player.ReceivingYards / player.Receptions).toFixed(1);
	          }
	          tr.cells[9].innerText = player.ReceivingTDs;
	          break;
	      }
	    }
	    break;
		case 4:
			if (player.PlayTime > 0)
			{
				if (statsPage == 1 || landscape)
				{
					var minutes = Math.floor(player.PlayTime / 60);
					var seconds = player.PlayTime - minutes * 60;
					if (seconds < 10) seconds = 0 + "" + seconds;
					tr.cells[2].innerText = minutes + ":" + seconds;
					tr.cells[3].innerText = player.Points;
					tr.cells[4].innerText = player.Rebounds;
					tr.cells[5].innerText = player.Assists;
					tr.cells[6].innerText = player.Steals;
				}
				else if (statsPage == 2)
				{
					tr.cells[2].innerText = player.Turnovers;
					tr.cells[3].innerText = player.Blocks;
					tr.cells[4].innerText = player.PersonalFouls;
					tr.cells[5].innerText = player.FieldGoalsMade + "-" + player.FieldGoalAttempts;
					tr.cells[6].innerText = player.FreeThrowsMade + "-" + player.FreeThrowAttempts;
				}
				if (landscape)
				{
					tr.cells[7].innerText = player.Turnovers;
					tr.cells[8].innerText = player.Blocks;
					tr.cells[9].innerText = player.PersonalFouls;
				}
			}
			else
			{
			  for (var i = 2; i < tr.cells.length; i++)
			  {
			    tr.cells[i].innerText = "-";
			  }
			}
			break;
	}
}

function showAddPlayersLink()
{
  var div = document.createElement("div");
  div.innerText = "Add Players";
  div.className = "addPlayers";
  div.onclick = showAddPlayers;
  document.getElementById("center").appendChild(div);
}

function removeGroupPlayersNodes()
{
	var div = document.getElementById("center");
	while (div.childNodes.length > 0)
	{
		var child = div.childNodes[0];
		removeChildNodes(child);
		div.removeChild(child);
		child = null;
	}
}

function removeAddPlayersNodes()
{
	var div = document.getElementById("addPlayers");
	while (div.childNodes.length > 4)
	{
		var child = div.childNodes[4];
		removeChildNodes(child);
		div.removeChild(child);
		child = null;
	}
}

function xmlStateChange()
{
	if (xmlRequest.readyState == 4)
	{
	  if (xmlRequest.responseXML)
	  {
		  var doc = xmlRequest.responseXML.documentElement;
		  if (doc.tagName == "ArrayOfDivision")
		  {
			  displayTeams(doc);
			  hideSpinner();
		  }
		  else if (doc.tagName == "BaseballTeamStats" || doc.tagName == "FootballTeamStats" || doc.tagName == "BasketballTeamStats")
		  {
			  displayTeamPlayers(doc);
			  hideSpinner();
		  }
		  else if (doc.tagName == "ArrayOfTeam")		//players in group
		  {
		    if (!loaded)
		    {
			    displayGroupPlayers(doc);
			    loaded = true;
			    hideSpinner();
			  }
			  else
			  {
			    if (!updateGroupPlayers(doc))
				  {
					  loaded = false;
					  removeGroupPlayersNodes();
					  showWhiteSpinner();
					  getGroupPlayers();
				  }
			  }
		  }
		}
	}
}
