	
var firstPlayerId = null;
var listDiv = null;
var activePlayerId = null;

function eventCallbackPlayer( eventType)
{
	if ( eventType == eventTypeUnload && listDiv)
	{
		document.getElementById("rightCol").removeChild( listDiv);
	}
}

function playerClick( e)
{
	var target = getTargetFromEvent( e);	
	var player = target.parentNode.id.substr( 10);
	goToMenuP( "players", player, null, null);
}

function showPlayersPanel( playerid)
{
  var playerContainerTable = document.getElementById("playerListTableId");
	registerPageCallback( eventCallbackPlayer);

	if ( !playerContainerTable)
	{ 
	
	  var container = document.getElementById("contentDiv");
		while ( container.childNodes.length)
		{
			container.removeChild( container.childNodes[0]);
		}		  
		
		//player info container table
		
		listDiv = document.createElement("div");
		listDiv.id = "playerInfoDivId";
		listDiv.className = "playerListPopupDivClass";
		
		
		//var div = document.getElementById("playerInfoDivId");
		
		// create playerlist table and header	
		var table = document.createElement("table");
		table.id = "playerListTableId";
		table.className = "playerListTableClass";
		table.style.marginTop = "10px";
	
		var rowIndex = 0;
		
 		var row = table.insertRow( rowIndex++);		
		var cell = row.insertCell(0);
		cell = row.insertCell(1);
	
		//get player list from server
	
  	var params = "rid=getPlayers";
  	params += "&details=no";
  	params += "&active=t";
  
  	xmlHttpRequest( "common/server/players.php", params, 0);
//		testAlert( xmlHttp.responseText);  	
	  var xml = xmlParser( xmlHttp.responseText);  	
  
	  var players = xml.getElementsByTagName("player");
  
  	var position = "";
	  for ( var i = 0; i < players.length; i++)
  	{
 		 	var player = players[i];
 		 	
 		 	var lastGame = parseInt( player.attributes.getNamedItem("lastGame").nodeValue);
 		 	
 		 	if ( lastGame == 0)
 		 	{
 		 		continue;
 		 	}
  	
  		var pos = player.attributes.getNamedItem("position").nodeValue;
  		
  		if ( pos != position )
  		{
 				var row = table.insertRow( rowIndex++);
				var cell = row.insertCell(0);
				cell.id = "playersListHeaderCellId";
				cell.className = "playersListHeaderCellClass fDefaultB";
				if ( pos == "A") cell.innerHTML = "Hyökkääjät:"; 			
				if ( pos == "B") cell.innerHTML = "Puolustajat:"; 			
				if ( pos == "C") cell.innerHTML = "Maalivahdit:"; 			
				position = pos;
  		}
  		
	  	row = table.insertRow( rowIndex++);
  		cell = row.insertCell( 0);
  		cell.className = "playersListCellClass fDefault";
	  	cell.id = "playerList" + player.attributes.getNamedItem("id").nodeValue;
  		cell.innerHTML = "<a class=\"blBlack\" onclick=\"playerClick( event);\">" + player.attributes.getNamedItem("name").nodeValue + "</a>";
  	}
  	
  	firstPlayerId = players[0].attributes.getNamedItem("id").nodeValue;

		listDiv.appendChild( table);
		listDiv.style.visibility = "visible";		

		document.getElementById("rightCol").appendChild( listDiv);		

	} else
	{
  	var playerInfoDiv = document.getElementById("contentDiv");		
  	
  	while ( playerInfoDiv.childNodes.length > 0)
		{
			playerInfoDiv.removeChild( playerInfoDiv.childNodes[0]);
		}		
	}
	
	if ( !playerid )
	{
		playerid = firstPlayerId;
	}

	showPlayer( playerid);
	activePlayerId = playerid;
}

function showPlayer( playerid)
{
  var params = "rid=getPlayers";
  params += "&id=" + playerid;
  params += "&details=all";
  xmlHttpRequest( "common/server/players.php", params, 0);
//	testAlert( xmlHttp.responseText);  	
	var xml = xmlParser( xmlHttp.responseText);  	
  
	var players = xml.getElementsByTagName("player");	
	var player = null;
	
	if ( players.length )
	{
		player = players[0];
	} else
	{
		return;
	}
	
  var container = document.getElementById("contentDiv");	

	//player header
	var table = document.createElement("table");	
	table.className = "playerDetHeaderTableClass";
	var row = table.insertRow( 0);
	var cell = row.insertCell(0);
	
	cell.className = "playerDetHeaderClass fResult";
	
	var playerName = player.attributes.getNamedItem("name").nodeValue;
	var forumName = player.attributes.getNamedItem("forumname").nodeValue;
	var number = parseInt( player.attributes.getNamedItem("number").nodeValue);

	var headerStr = playerName;
	if ( number )
	{
		headerStr += " #" + number;
	}
	
	if ( forumName.length )
	{
		forumName = forumName.substr( 0, 1).toUpperCase() + forumName.substr(1);
		
		headerStr += "<font class=\"forumNameTextClass\">foorumilla " + forumName + "</font>";
	}
	
	cell.innerHTML = headerStr; 

	container.appendChild( table);
	
	//picture table
	var table = document.createElement("table");
	table.className = "playerPictureTableClass";
	var row = table.insertRow(0);

	var cell = row.insertCell(0);
	cell.className = "playerPictureCellClass";
	
	var img = document.createElement( "img");
	img.style.width = "240px";
	img.style.height = "180px";
	
	var picName = player.attributes.getNamedItem("picfile").nodeValue;
	img.src = "common/pics/players/" + picName;
	cell.appendChild( img);
	
	container.appendChild( table);

	//seasons	
	var table = document.createElement("table");	
	table.className = "playerDetHeaderTableClass";
	var row = table.insertRow( 0);
	var cell = row.insertCell(0);
	
	cell.className = "playerDetHeaderClass fDefaultB";
	cell.innerHTML = "Kaudet";
	
	container.appendChild( table);

	//season details
	var table = document.createElement("table");
	table.className = "playerDetHeaderTableClass";
	table.style.marginTop = "10px";
	var rowIndex = 0;
	var row = table.insertRow( rowIndex++);

	var cellIndex = 0;	
	insertCell( row, cellIndex++, "", "fDefaultB");	
	insertCell( row, cellIndex++, "Pelit", "playerSeasonCells fDefaultB");	
	insertCell( row, cellIndex++, "Maalit", "playerSeasonCells fDefaultB");	
	insertCell( row, cellIndex++, "Syötöt", "playerSeasonCells fDefaultB");	
	insertCell( row, cellIndex++, "Jäähyt", "playerSeasonCells fDefaultB");	
	insertCell( row, cellIndex++, "Pisteet", "playerSeasonCells fDefaultB");	
	insertCell( row, cellIndex++, "Piste KA", "playerSeasonCells fDefaultB");	
	
	var seasons = xml.getElementsByTagName("season");
	for ( var i = 0; i < seasons.length; i++)
	{
		var season = seasons[i].attributes;
		var row = table.insertRow( rowIndex);

		var cellIndex = 0;		

		year = parseInt( season.getNamedItem("year").nodeValue);
		
		var str;
		if ( year )
		{
			str = "Kausi " + year + "-" + (year + 1);
		} else
		{
			str = "Yhteensä";
		}

		insertCell( row, cellIndex++, str, "fDefault");
		var games = parseInt( season.getNamedItem("games").nodeValue);
		insertCell( row, cellIndex++, games, "playerSeasonCells fDefault");
		insertCell( row, cellIndex++, season.getNamedItem("goals").nodeValue, "playerSeasonCells fDefault");
		insertCell( row, cellIndex++, season.getNamedItem("assists").nodeValue, "playerSeasonCells fDefault");
		insertCell( row, cellIndex++, season.getNamedItem("penalty").nodeValue, "playerSeasonCells fDefault");
		var points = parseInt( season.getNamedItem("points").nodeValue);
		insertCell( row, cellIndex++, points, "playerSeasonCells fDefault");
		
		var num = new Number( points/games);
		insertCell( row, cellIndex++, num.toFixed(2), "playerSeasonCells fDefault");
		
	}

	container.appendChild( table);

	//statics
	var table = document.createElement("table");	
	table.className = "playerDetHeaderTableClass";
	table.style.marginTop = "10px";
	var row = table.insertRow( 0);
	var cell = row.insertCell(0);
	
	cell.className = "playerDetHeaderClass fDefaultB";
	cell.innerHTML = "Tilastoja";

	container.appendChild( table);

	//static details
	var rowIndex = 0;
	var stat = xml.getElementsByTagName("stat")[0].attributes;
	
	var table = document.createElement("table");	
	table.style.marginTop = "10px";
	table.className = "playerDetHeaderTableClass";
	var row = table.insertRow( rowIndex++);

	var hattricks = stat.getNamedItem("hattricks").nodeValue;
	insertCell( row, 0, "Hattutemput: " + hattricks, "fDefault");
	var row = table.insertRow( rowIndex++);
	var piperec = stat.getNamedItem("piperec").nodeValue;
	var pipea = parseInt( stat.getNamedItem("pipeassists").nodeValue);
	var pipeg = parseInt( stat.getNamedItem("pipegoals").nodeValue);
	insertCell( row, 0, "Pisin pisteputki: " + piperec + " peliä, Pisteitä " + (pipea+pipeg) + " (" + pipeg + "+"+ pipea+").", "fDefault");
	container.appendChild( table);

	//goals rec table (header)
	var goalrecs = xml.getElementsByTagName("goalrecgame");

	if ( goalrecs.length)
	{
		var table = document.createElement("table");	
		table.className = "playerDetHeaderTableClass";
		table.style.marginTop = "10px";
		var row = table.insertRow( 0);
		var cell = row.insertCell(0);
		cell.className = "playerDetHeaderClass fDefaultB";
		cell.innerHTML = "Maaliennätys: " + goalrecs[0].attributes.getNamedItem("goals").nodeValue;

		container.appendChild( table);	
	
		//points rec table
		rowIndex = 0;
		var table = document.createElement("table");	
		table.className = "playerDetHeaderTableClass";
		table.style.marginTop = "10px";
		var row = table.insertRow( rowIndex++);

		gameTableConf( table, false, false);
	
		for ( var i = 0; i < goalrecs.length; i++)
		{
			addGameToTable( goalrecs[i]);
		}

		container.appendChild( table);
	}

	//points rec table (header)
	var pointrecs = xml.getElementsByTagName("pointrecgame");

	if ( pointrecs.length)
	{
		var table = document.createElement("table");	
		table.className = "playerDetHeaderTableClass";
		table.style.marginTop = "10px";
		var row = table.insertRow( 0);
		var cell = row.insertCell(0);
		cell.className = "playerDetHeaderClass fDefaultB";
		cell.innerHTML = "Piste-ennätys: " + pointrecs[0].attributes.getNamedItem("points").nodeValue;

		container.appendChild( table);	
	
		//points rec table
		rowIndex = 0;
		var table = document.createElement("table");	
		table.className = "playerDetHeaderTableClass";
		table.style.marginTop = "10px";
		var row = table.insertRow( rowIndex++);

		gameTableConf( table, false, false);
	
		for ( var i = 0; i < pointrecs.length; i++)
		{
			addGameToTable( pointrecs[i]);
		}

		container.appendChild( table);
	}
		
	//statics
	var table = document.createElement("table");	
	table.className = "playerDetHeaderTableClass";
	table.style.marginTop = "10px";
	var row = table.insertRow( 0);
	var cell = row.insertCell(0);
	
	cell.className = "playerDetHeaderClass fDefaultB";
	cell.innerHTML = "Kommentit";

	container.appendChild( table);		
		
	createEditor( container, sendPlayerComment, "Lisää kommenttisi pelaajasta");
	
	//create table
	var table = document.createElement("table");
	table.id = "playerCommentTableId";
	table.className = "commentTableClass";
	table.style.marginTop = "15px";

	var params = "rid=getComments";
	params += "&playerid=" + playerid;
	params += "&type=i";
	
  xmlHttpRequest( "common/server/comments.php", params, 0);
  var xml = xmlParser( xmlHttp.responseText);  
  var comments = xml.getElementsByTagName("comment");
  
  for ( var i = 0; i < comments.length; i++)
  {
  	addComment( table, comments[i]);
  }	

  container.appendChild( table);
  
}

function insertCell( row, index, innerHTML, className)
{
	var cell = row.insertCell( index);
	cell.innerHTML = innerHTML;
	cell.className = className;
	return cell;
}

function sendPlayerComment()
{
  if ( !checkComment( document.getElementById("commentTextAreaId").value))
  {
  	return;
  }
	
  var container = document.getElementById("contentDiv");
  var params = "rid=addPlayerComment";
  params += "&playerid=" + activePlayerId;
  params += "&type=i";
  params += "&comment=" + document.getElementById("commentTextAreaId").value;

  if ( userid )
  {
  	params += "&userid=" + userid;
  	params += "&sid=" + sessionid;
  } else
  {
  params += "&name=" + document.getElementById("nameEditId").value;
  }
  
//  testAlert( params);
  xmlHttpRequest( "common/server/comments.php", params, 0);
//  testAlert( xmlHttp.responseText);
  var xml = xmlParser( xmlHttp.responseText);  
  
  var comments = xml.getElementsByTagName("comment");
  
  if ( comments.length > 0)
  {
  	addComment( document.getElementById("playerCommentTableId"), comments[0]);
  } else
  {
   	var fail = xml.getElementsByTagName("fail");
  	if ( fail.length > 0)
  	{
  		showError( fail[0].attributes.getNamedItem("reason").nodeValue);
  	} else
  	{
  		showError("nk");
  	}  	 		
  }  
}
