
var dataModel = null;
var viewModel = null;

var sortIndex = 0;

function showStatisticView()
{
	var container = document.getElementById("contentDiv");
	while ( container.childNodes.length)
	{
		container.removeChild( container.childNodes[0]);
	}		 

	//statistic header
	var table = document.createElement("table");	
	table.className = "statisticDetHeaderTableClass";
	var row = table.insertRow( 0);
	var cell = row.insertCell(0);
	cell.className = "statisticDetHeaderClass fResult";
	cell.innerHTML = "Tilastokone"; 

	container.appendChild( table);
	
	printStatTypeSelection( container);
		
	//seasons	
	var table = document.createElement("table");	
	table.className = "statisticDetHeaderTableClass";
	table.style.marginTop = "15px";
	var row = table.insertRow( 0);
	var cell = row.insertCell(0);
	
	cell.className = "playerDetHeaderClass fDefaultB";
	cell.innerHTML = "Valitse kaudet";
	
	container.appendChild( table);	

	printLeagueSelection( container);

	//seasons	
	var table = document.createElement("table");	
	table.className = "statisticDetHeaderTableClass";
	table.style.marginTop = "15px";
	var row = table.insertRow( 0);
	var cell = row.insertCell(0);
	
	cell.className = "buttonHeaderClass fDefaultB";
	cell.innerHTML = "<input type=\"button\" value=\"Hae\" onclick=\"getStatClick();\">";
	
	container.appendChild( table);	
	
	var table = document.createElement("table");	
	table.className = "statisticDetHeaderTableClass";
	table.style.marginTop = "15px";
	
	viewModel = new ViewModel( table);
	
	trace("viewmodel ok");		
	container.appendChild( table);	
}


function printStatTypeSelection( container)
{
	var options = new Array();
	options.push("Pisteet");
	options.push("Polartek-tähdet");
	options.push("Pisteet, yksittäiset pelit");
	options.push("Jäähyt");
	options.push("Hattutemput");
	options.push("Voitto %, kenttäpelaajat");
	options.push("Voitto %, maalivahdit");
	options.push("Voitto %, hallit");
	options.push("Voitto %, rosterin vahvuus");
	options.push("Voitto %, kaudet");
	options.push("Pisteputket");
	
	if ( testMode)
	{
	  options.push("Keski-ikä");
	}
	//options.push("arena");
//	options.push("Joukkuetilasto");
//	options.push("Ennätykset");

	var table = document.createElement("table");	
	table.className = "statisticDetHeaderTableClass";
	table.style.marginTop = "15px";
	var row = null;
	
	for ( var i = 0; i < options.length; i++)
	{
		if ( i % 4 == 0 )
		{
			row = table.insertRow( table.rows.length);
		}	
		
		var cell = row.insertCell( i % 4);
		cell.className = "optionCellClass fDefault";
		cell.innerHTML = "<input type=\"radio\" name=\"staticType\" id=\"type"+ i +"\"/>" + options[i];
	}	
		
	container.appendChild( table);	
}

function printLeagueSelection( container)
{
  xmlHttpRequest( "common/server/games.php", "rid=getLeagues", 0);
  var xml = xmlParser( xmlHttp.responseText);//xmlHttp.responseXML;
  
  
  var leagues = xml.getElementsByTagName("league");
  
	var table = document.createElement("table");	
	table.className = "statisticDetHeaderTableClass";
	table.style.marginTop = "15px";
	var row = null;

  for ( var i = 0; i < leagues.length; i++)
  {
	
    var name = leagues[i].attributes.getNamedItem("longname").nodeValue;
		var id = leagues[i].attributes.getNamedItem("id").nodeValue;

		if ( i % 3 == 0 )
		{
			row = table.insertRow( table.rows.length);
		}	
		
		var cell = row.insertCell( i % 3);
		cell.className = "optionCellClass fDefault";
		cell.innerHTML = "<input type=\"checkbox\" id=\"league"+ id +"\"/>" + name;
	}	
		
	container.appendChild( table);	
}

function getStatClick()
{
	var inputs = document.getElementsByTagName("input");
	
	var type = null;
	for ( var i = 0; i < inputs.length; i++)
	{
		if ( inputs[i].type == "radio" && inputs[i].checked )
		{
			type = inputs[i].id.substr( 4);
			break;
		}
	}

  dataModel = new DataModel( viewModel);
	var params = "";
	
	if ( type == "0")
	{
		params = "rid=getPlayerPointsStat";
  	viewModel.setCallbacks( playerPointsData, playerPointsHeader, null);
		viewModel.setColCount( 5);
		
	  dataModel.setCallbacks( loadBasicDataDataModel, basicSort);
	}

	if ( type == "1")
	{
		params = "rid=getPlayerStarsStat&update=true";
  	viewModel.setCallbacks( playerStarsData, playerStarsHeader, null);
		viewModel.setColCount( 6);
		
	  dataModel.setCallbacks( loadBasicDataDataModel, customSort);
	}

	if ( type == "2")
	{
		params = "rid=getPlayerGameRecordStat";
  	viewModel.setCallbacks( playerGameRecordData, playerGameRecordHeader, null);
		viewModel.setColCount( 6);
		
	  dataModel.setCallbacks( loadBasicDataDataModel, basicSort);
	}	

	if ( type == "3")
	{
		params = "rid=getPenaltiesStat";
  	viewModel.setCallbacks( penaltiesData, penaltiesHeader, null);
		viewModel.setColCount( 6);
		
	  dataModel.setCallbacks( loadBasicDataDataModel, basicSort);
	}	
	
	if ( type == "4")
	{
		params = "rid=getHattricks";
  	viewModel.setCallbacks( hatTricksData, hatTricksHeader, null);
		viewModel.setColCount( 3);
		
	  dataModel.setCallbacks( loadBasicDataDataModel, basicSort);
	}		
	
	if ( type == "5" || type == "6")
	{
		params = "rid=getWinPercent";
		
		if ( type == "5")
		{
			params += "&type=kp";
		} else
		{
			params += "&type=mv";
		}
			
		viewModel.setCallbacks( winPercentData, winPercentHeader, null);
		viewModel.setColCount( 6);
		
	  dataModel.setCallbacks( loadBasicDataDataModel, customSort);
	}			
	
	if ( type == "7")
	{
		params = "rid=getWinPerLocTeam";
  	viewModel.setCallbacks( teamWinperData, teamWinperHeader, null);
		viewModel.setColCount( 9);
		
	  dataModel.setCallbacks( loadBasicDataDataModel, customSort);		
	}

	if ( type == "8")
	{
		params = "rid=getWinPerRoster";
  	viewModel.setCallbacks( teamWinperData, teamWinperHeader, null);
		viewModel.setColCount( 9);
		
	  dataModel.setCallbacks( loadBasicDataDataModel, customSort);		
	}

	if ( type == "9")
	{
		params = "rid=getWinPerSeason";
  	viewModel.setCallbacks( teamWinperData, teamWinperHeader, null);
		viewModel.setColCount( 9);
		
	  dataModel.setCallbacks( loadBasicDataDataModel, customSort);		
	}
	
	if ( type == "10")
	{
		params = "rid=getPipesPerPlayer";
  	viewModel.setCallbacks( playerPipeData, playerPipeHeader, null);
		viewModel.setColCount( 8);
		
	  dataModel.setCallbacks( loadBasicDataDataModel, basicSort);			
	}
	
	if ( type == "11")
	{
		params = "rid=getAvAge";
  	viewModel.setCallbacks( avAgeData, avAgeHeader, null);
		viewModel.setColCount( 5);
		
	  dataModel.setCallbacks( loadBasicDataDataModel, basicSort);			
	}	

	if ( type == "x")
	{
		params = "rid=updateArenas";
	}			
	
	var paramCount = 0;
	for ( var i = 0; i < inputs.length; i++)
	{
		var input = inputs[i];
		if ( input.type == "checkbox" && input.checked )
		{
			params += "&league" + paramCount++ + "=" + input.id.substr( 6);
		}
	}
	
  xmlHttpRequest( "common/server/stats.php", params, 0);
  testAlert( xmlHttp.responseText);
  
  dataModel.init();
  
}

function headerClick( index)
{
	sortIndex = index;
	dataModel.cSort();
}

function loadBasicDataDataModel( model)
{
  var xml = xmlParser( xmlHttp.responseText);
  
  var players = xml.getElementsByTagName("data");
  for ( var i = 0; i < players.length; i++)
  {
  	var id = players[i].attributes.getNamedItem("id").nodeValue;
  	model.pushData( id, players[i]);
  } 
}

function basicSort( a, b)
{
	var aV = parseInt( a.data.attributes.getNamedItem( sortIndex).nodeValue);
	var bV = parseInt( b.data.attributes.getNamedItem( sortIndex).nodeValue);
	
	return bV - aV;
}

function playerPointsData( row, object)
{
	row.cells[ 0].innerHTML = object.data.attributes.getNamedItem("name").nodeValue;
	row.cells[ 1].innerHTML = object.data.attributes.getNamedItem("games").nodeValue;
	row.cells[ 2].innerHTML = object.data.attributes.getNamedItem("goals").nodeValue;
	row.cells[ 3].innerHTML = object.data.attributes.getNamedItem("assists").nodeValue;
	row.cells[ 4].innerHTML = object.data.attributes.getNamedItem("total").nodeValue;
	
	for ( var i = 0; i < 5; i++)
	{
		row.cells[ i].className = "fDefault";
	}
}


function playerPointsHeader( row)
{
	row.cells[0].innerHTML = "";
	row.cells[1].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('games');\">Pelit</a>";
	row.cells[2].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('goals');\">Maalit</a>";
	row.cells[3].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('assists');\">Syötöt</a>";
	row.cells[4].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('total');\">Yhteensä</a>";

	for ( var i = 0; i < 5; i++)
	{
		row.cells[ i].className = "fDefaultB";
	}
}

function playerStarsData( row, object)
{
	row.cells[ 0].innerHTML = object.data.attributes.getNamedItem("name").nodeValue;
	
	var games = parseInt( object.data.attributes.getNamedItem("games").nodeValue);
	row.cells[ 1].innerHTML = games;

	var s1 = object.data.attributes.getNamedItem("stars1").nodeValue;
	var s2 = object.data.attributes.getNamedItem("stars2").nodeValue;
	var s3 = object.data.attributes.getNamedItem("stars3").nodeValue;
	row.cells[ 2].innerHTML = s3 + "/" + s2 + "/" + s1;

	row.cells[ 3].innerHTML = object.data.attributes.getNamedItem("stars").nodeValue;
	row.cells[ 4].innerHTML = object.data.attributes.getNamedItem("votes").nodeValue;
	
	var voted = parseInt( object.data.attributes.getNamedItem("voted").nodeValue);
	var num = new Number( voted / games * 100);
	
	row.cells[ 5].innerHTML = num.toFixed(0);
	
	for ( var i = 0; i < 6; i++)
	{
		row.cells[ i].className = "fDefault";
	}	
}

function playerStarsHeader( row)
{
	row.cells[0].innerHTML = "";
	row.cells[1].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('games');\">Pelit</a>";
	row.cells[2].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('total');\">Tähdet</a>";
	row.cells[3].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('stars');\">Yhteensä</a>";
	row.cells[4].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('votes');\">Äänet</a>";
	row.cells[5].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('votePer');\">Äänestys %</a>";

	for ( var i = 0; i < 6; i++)
	{
		row.cells[ i].className = "fDefaultB";
	}	
}

function customSort( a, b)
{
	if ( sortIndex == "total")
	{
		for ( var i = 3; i > 0; i--)
		{
			var aV = parseInt( a.data.attributes.getNamedItem("stars" + i).nodeValue);
			var bV = parseInt( b.data.attributes.getNamedItem("stars" + i).nodeValue);
		
			if ( aV != bV ) 
			{
				return bV - aV;
			}
		}
				
		return 0;
	}
	
	if ( sortIndex == "votePer")
	{
		var gamesA = parseInt( a.data.attributes.getNamedItem("games").nodeValue);
		var votedA = parseInt( a.data.attributes.getNamedItem("voted").nodeValue);
		var gamesB = parseInt( b.data.attributes.getNamedItem("games").nodeValue);
		var votedB = parseInt( b.data.attributes.getNamedItem("voted").nodeValue);
	
		var aV = votedA / gamesA;
		var bV = votedB / gamesB;
		
		return bV - aV;		
	}
	
	if ( sortIndex == "winPer")
	{
		var gamesA = parseInt( a.data.attributes.getNamedItem("games").nodeValue);
		var winsA = parseInt( a.data.attributes.getNamedItem("wins").nodeValue);
		var gamesB = parseInt( b.data.attributes.getNamedItem("games").nodeValue);
		var winsB = parseInt( b.data.attributes.getNamedItem("wins").nodeValue);
	
		var aV = winsA / gamesA;
		var bV = winsB / gamesB;
		
		return bV - aV;		
	}

	
	if ( sortIndex == "goalsAva")
	{
		var gamesA = parseInt( a.data.attributes.getNamedItem("games").nodeValue);
		var goalsA = parseInt( a.data.attributes.getNamedItem("goals").nodeValue);
		var gamesB = parseInt( b.data.attributes.getNamedItem("games").nodeValue);
		var goalsB = parseInt( b.data.attributes.getNamedItem("goals").nodeValue);
	
		var aV = goalsA / gamesA;
		var bV = goalsB / gamesB;
		
		return bV - aV;		
	}

	if ( sortIndex == "goalsAAva")
	{
		var gamesA = parseInt( a.data.attributes.getNamedItem("games").nodeValue);
		var goalsA = parseInt( a.data.attributes.getNamedItem("goalsA").nodeValue);
		var gamesB = parseInt( b.data.attributes.getNamedItem("games").nodeValue);
		var goalsB = parseInt( b.data.attributes.getNamedItem("goalsA").nodeValue);
	
		var aV = goalsA / gamesA;
		var bV = goalsB / gamesB;
		
		return bV - aV;		
	}

	if ( sortIndex == "pointsAva")
	{
		var gamesA = parseInt( a.data.attributes.getNamedItem("games").nodeValue);
		var winsA = parseInt( a.data.attributes.getNamedItem("wins").nodeValue);
		var drawsA = parseInt( a.data.attributes.getNamedItem("draws").nodeValue);
		var gamesB = parseInt( b.data.attributes.getNamedItem("games").nodeValue);
		var winsB = parseInt( b.data.attributes.getNamedItem("wins").nodeValue);
		var drawsB = parseInt( b.data.attributes.getNamedItem("draws").nodeValue);
	
		var aV = (winsA *2 + drawsA) / gamesA;
		var bV = (winsB *2 + drawsB) / gamesB;
		
		return bV - aV;		
	}	
	

}


function playerGameRecordData( row, object) 
{
	row.cells[ 0].innerHTML = object.data.attributes.getNamedItem("name").nodeValue;
	
	var assists = parseInt( object.data.attributes.getNamedItem("assists").nodeValue);
	var goals = parseInt( object.data.attributes.getNamedItem("goals").nodeValue);
	var total = parseInt( object.data.attributes.getNamedItem("total").nodeValue);
	var id = parseInt( object.data.attributes.getNamedItem("gameid").nodeValue);
	
	row.cells[ 1].innerHTML = total + " (" + goals + "+" + assists + ")";
	
	row.cells[ 4].innerHTML = object.data.attributes.getNamedItem("league").nodeValue;
	
	var str = object.data.attributes.getNamedItem("team1").nodeValue + "-" + object.data.attributes.getNamedItem("team2").nodeValue;
	row.cells[ 2].innerHTML = "<a class=\"blBlack\" onclick=\"goToMenu('report#" + id +"')\">"+ str +"</a>";
	
	
	var timestamp = parseInt( object.data.attributes.getNamedItem("timestamp").nodeValue);

	row.cells[ 3].innerHTML = object.data.attributes.getNamedItem("s1").nodeValue + "-" + object.data.attributes.getNamedItem("s2").nodeValue; 

	
	var dateVar = new Date( timestamp *1000);
	row.cells[ 5].innerHTML = makeDate( dateVar, 0);
	
	for ( var i = 0; i < 6; i++)
	{
		row.cells[ i].className = "fDefault";
	}	
}

function playerGameRecordHeader( row)
{
	row.cells[0].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('name');\">Pelaaja</a>";
	row.cells[1].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('total');\">Pisteet</a>";
	row.cells[4].innerHTML = "Sarja";
	row.cells[2].innerHTML = "Peli";
	row.cells[3].innerHTML = "Tulos";
	row.cells[5].innerHTML = "Päiväys";
	
	for ( var i = 0; i < 6; i++)
	{
		row.cells[ i].className = "fDefaultB";
	}	
	
}

function penaltiesData( row, object)
{
	row.cells[ 0].innerHTML = object.data.attributes.getNamedItem("name").nodeValue;
	row.cells[ 1].innerHTML = object.data.attributes.getNamedItem("games").nodeValue;
	row.cells[ 2].innerHTML = object.data.attributes.getNamedItem("min2").nodeValue;
	row.cells[ 3].innerHTML = object.data.attributes.getNamedItem("min5").nodeValue;
	row.cells[ 4].innerHTML = object.data.attributes.getNamedItem("min10").nodeValue;
	row.cells[ 5].innerHTML = object.data.attributes.getNamedItem("total").nodeValue;
	
	for ( var i = 0; i < 6; i++)
	{
		row.cells[ i].className = "fDefault";
	}	
}

function penaltiesHeader( row)
{
	row.cells[0].innerHTML = "";
	row.cells[1].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('games');\">Pelit</a>";
	row.cells[2].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('min2');\">2 min</a>";
	row.cells[3].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('min5');\">5 mint</a>";
	row.cells[4].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('min10');\">10 min</a>";
	row.cells[5].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('total');\">Yhteensä</a>";

	for ( var i = 0; i < 6; i++)
	{
		row.cells[ i].className = "fDefaultB";
	}	
}

function hatTricksData( row, object)
{
	row.cells[ 0].innerHTML = object.data.attributes.getNamedItem("name").nodeValue;
	row.cells[ 1].innerHTML = object.data.attributes.getNamedItem("games").nodeValue;
	row.cells[ 2].innerHTML = object.data.attributes.getNamedItem("hattricks").nodeValue;
	
	for ( var i = 0; i < 3; i++)
	{
		row.cells[ i].className = "fDefault";
	}		
}

function hatTricksHeader( row)
{
	row.cells[0].innerHTML = "";
	row.cells[1].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('games');\">Pelit</a>";
	row.cells[2].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('hattricks');\">Hattutemput</a>";

	for ( var i = 0; i < 3; i++)
	{
		row.cells[ i].className = "fDefaultB";
	}		
}

function winPercentData( row, object)
{
	var games = parseInt( object.data.attributes.getNamedItem("games").nodeValue);
	var wins = parseInt( object.data.attributes.getNamedItem("wins").nodeValue);
	
	row.cells[ 0].innerHTML = object.data.attributes.getNamedItem("name").nodeValue;
	row.cells[ 1].innerHTML = games;
	row.cells[ 2].innerHTML = wins;
	row.cells[ 3].innerHTML = object.data.attributes.getNamedItem("draws").nodeValue;
	row.cells[ 4].innerHTML = object.data.attributes.getNamedItem("loses").nodeValue;
	
	var num = new Number( wins / games * 100);
	row.cells[ 5].innerHTML = num.toFixed(0);
	
	for ( var i = 0; i < 6; i++)
	{
		row.cells[ i].className = "fDefault";
	}		
}

function winPercentHeader( row)
{
	row.cells[0].innerHTML = "";
	row.cells[1].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('games');\">Pelit</a>";
	row.cells[2].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('wins');\">Voitot</a>";
	row.cells[3].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('draws');\">Tasapelit</a>";
	row.cells[4].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('loses');\">Tappiot</a>";
	row.cells[5].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('winPer');\">Voitto %</a>";

	for ( var i = 0; i < 6; i++)
	{
		row.cells[ i].className = "fDefaultB";
	}		
}


function teamWinperData( row, object)
{
	var games = parseInt( object.data.attributes.getNamedItem("games").nodeValue);
	var wins = parseInt( object.data.attributes.getNamedItem("wins").nodeValue);
	var draws = parseInt( object.data.attributes.getNamedItem("draws").nodeValue);
	
	row.cells[ 0].innerHTML = object.data.attributes.getNamedItem("name").nodeValue;
	row.cells[ 1].innerHTML = games;
	row.cells[ 2].innerHTML = wins;
	row.cells[ 3].innerHTML = draws;
	row.cells[ 4].innerHTML = object.data.attributes.getNamedItem("loses").nodeValue;
	
	var goals = parseInt( object.data.attributes.getNamedItem("goals").nodeValue);
	var goalsA = parseInt( object.data.attributes.getNamedItem("goalsA").nodeValue);

	var num = new Number( goals / games);
	row.cells[ 5].innerHTML = num.toFixed(2);

	var num = new Number( goalsA / games);
	row.cells[ 6].innerHTML = num.toFixed(2);

	var num = new Number( (wins * 2 + draws) / games);
	row.cells[ 7].innerHTML = num.toFixed(2);

	var num = new Number( wins / games * 100);
	row.cells[ 8].innerHTML = num.toFixed(0);
	
	for ( var i = 0; i < 9; i++)
	{
		row.cells[ i].className = "fDefault";
	}			
}

function teamWinperHeader( row)
{
	row.cells[0].innerHTML = "";
	row.cells[1].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('games');\">Pelit</a>";
	row.cells[2].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('wins');\">Voitot</a>";
	row.cells[3].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('draws');\">Tasapelit</a>";
	row.cells[4].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('loses');\">Tappiot</a>";
	row.cells[5].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('goalsAva');\">Maali ka.</a>";
	row.cells[6].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('goalsAAva');\">Päästetyt ka.</a>";
	row.cells[7].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('pointsAva');\">Piste ka.</a>";
	row.cells[8].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('winPer');\">Voitto %</a>";

	for ( var i = 0; i < 9; i++)
	{
		row.cells[ i].className = "fDefaultB";
	}			
}


function playerPipeData( row, object)
{
	row.cells[ 0].innerHTML = object.data.attributes.getNamedItem("name").nodeValue;
	row.cells[ 1].innerHTML = object.data.attributes.getNamedItem("pipe").nodeValue;
	row.cells[ 2].innerHTML = object.data.attributes.getNamedItem("goals").nodeValue;
	row.cells[ 3].innerHTML = object.data.attributes.getNamedItem("assists").nodeValue;
	row.cells[ 4].innerHTML = object.data.attributes.getNamedItem("points").nodeValue;
	row.cells[ 5].innerHTML = object.data.attributes.getNamedItem("hattricks").nodeValue;

	var firstId = parseInt( object.data.attributes.getNamedItem("first").nodeValue);
	var first = parseInt( object.data.attributes.getNamedItem("firstTime").nodeValue);
	var dateVar = new Date( first *1000);
	first = makeDate( dateVar, 0);
	row.cells[6].innerHTML = "<a class=\"blBlack\" onclick=\"goToMenu('report#" + firstId +"')\">" + first + "</a>";

	var lastId = parseInt( object.data.attributes.getNamedItem("last").nodeValue);
	var last = parseInt( object.data.attributes.getNamedItem("lastTime").nodeValue);
	var dateVar = new Date( last *1000);
	last = makeDate( dateVar, 0);
	row.cells[7].innerHTML = "<a class=\"blBlack\" onclick=\"goToMenu('report#" + lastId +"')\">" + last + "</a>";
	
	for ( var i = 0; i < 8; i++)
	{
		row.cells[ i].className = "fDefault";
	}			
}

function playerPipeHeader( row)
{
	row.cells[0].innerHTML = "";
	row.cells[1].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('pipe');\">Pituus/peliä</a>";
	row.cells[2].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('goals');\">Maalit</a>";
	row.cells[3].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('assists');\">Syötöt</a>";
	row.cells[4].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('points');\">Pisteet</a>";
	row.cells[5].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('hattricks');\">Hattutemput</a>";
	row.cells[6].innerHTML = "Ensimmäinen";
	row.cells[7].innerHTML = "Viimeinen";

	for ( var i = 0; i < 8; i++)
	{
		row.cells[ i].className = "fDefaultB";
	}				
}


function avAgeData( row, object)
{
	row.cells[ 0].innerHTML = object.data.attributes.getNamedItem("name").nodeValue;
	row.cells[ 1].innerHTML = statAgeString( object.data.attributes.getNamedItem("avAge").nodeValue);
	row.cells[ 2].innerHTML = statAgeString( object.data.attributes.getNamedItem("avAgeW").nodeValue);
	row.cells[ 3].innerHTML = statAgeString( object.data.attributes.getNamedItem("avAgeD").nodeValue);
	row.cells[ 4].innerHTML = statAgeString( object.data.attributes.getNamedItem("avAgeL").nodeValue);
	
	for ( var i = 0; i < 5; i++)
	{
		row.cells[ i].className = "fDefault";
	}			
}

function avAgeHeader( row)
{
	row.cells[0].innerHTML = "";
	row.cells[1].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('avAge');\">Keski-ikä</a>";
	row.cells[2].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('avAgeW');\">Voitot, keski-ikä</a>";
	row.cells[3].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('avAgeD');\">Tasapelit, keski-ikä</a>";
	row.cells[4].innerHTML = "<a class=\"blBlack\" onclick=\"headerClick('avAgeL');\">Häviöt, keski-ikä</a>";

	for ( var i = 0; i < 5; i++)
	{
		row.cells[ i].className = "fDefaultB";
	}				
}

function statAgeString( ageStr)
{
  var age = new Number( ageStr);
  
  if ( age == 0 )
  {
    return "--"; 
  }
  
  var sid = 24 * 3600;
  var siy = 365 * sid;
  
  var years = age / siy;
  age = age % siy;
  
  var days = age / sid;
  
  return Math.floor( years) + "v " + Math.floor( days) + "p";    
}

