var teamListDiv;
var squadInitialised = false;
var imagePath = "/CleverTV/clients/tmg/you-the-manager-2009-10/images/teams/Pitch/";
var blankImagePath = "/CleverTV/clients/tmg/you-the-manager-2009-10/images/teams/Pitch/BLANK.png"; // Override this in jsp

function init() {
	//THIS BROKE THINGS 
  	//imagePath = blankImagePath.substring(0, blankImagePath.lastIndexOf("/") + 1);    
	// playerListHeadingCount = document.getElementById('playerlisttable').getElementsByTagName('tr').length - 1;
	// playerListRowClone = document.getElementById('playerlisttable').getElementsByTagName('tr')[playerListHeadingCount].cloneNode(true);
	// playerListRoot = document.getElementById('playerlisttable').getElementsByTagName('tr')[playerListHeadingCount].parentNode;
  teamListDiv = getElementsByClassName(document, 'div', 'teamlist')[0];
  initialised = true;
  
}

function resetPlayers() {

  clearSelectedSquad();
}

function clearSelectedSquad() {

  var index = 1;
  selectedSquad = [];
  for (var i=0; i<aiSquadFormation_l.length; i++) {

    var categoryName = axCatNames_l[i];
    for (var j=0; j<aiSquadFormation_l[i]; j++) {

      selectedSquad.push(0); 
      drawPlayer(index, 0, categoryName);
      index++;
    }
  }
  updateBudget();
}

function drawPlayer(index, playerId, categoryName) {
  
  var innerHTML = ""
    
  if (playerId == 0) {
  
    var onClick = "return populatePlayerList('" + categoryName + "')";
    var imageUrl = imagePath+"BLANK.png";
    
    innerHTML += '<a href="javascript:void(null)" onclick="'+onClick+'"  onkeypress="'+onClick+'"><img src="'+imageUrl+'" /></a>';
 
  } else {
  
    var playerIndex = getMatchingIndex(aiPlayerIDs_l, playerId);
    var playerName = axPlayerNames_l[playerIndex];
    var playerValue = aiPlayerValues_l[playerIndex];
    var sideId = aiPlayerSides_l[playerIndex];
    var sideName = axSideNames_l[getMatchingIndex(aiSideIDs_l, sideId)];
    var sideAbbreviation = abbreviate(sideName, 3);
    var onClick = "return removePlayer(" + playerId + ")";
    var imageUrl = imagePath + "shirt_pitch_" + sideName + ".png";

      
    innerHTML += '<a href="javascript:void(null)" onclick="'+onClick+'" onkeypress="'+onClick+'">';
    innerHTML += '<img class="playershirt" src="'+imageUrl+'" alt="'+playerName+'" />';    
    innerHTML += '</a>'; 
	innerHTML += '<div class="labelContainer">'
    innerHTML += '<div class="t_label">'+playerName+'</div>';    
    
    
    // Lines below inserted by SH
    if (sideAbbreviation == 'Net') {
      sideAbbreviation = 'Ned';
    }
    if (playerValue % 1) {
  innerHTML += '<div class="b_label">'+sideAbbreviation+' '+ budgetPrefix + playerValue+'<span>'+ budgetSuffix+'</span></div>';
    } else {
      innerHTML += '<div class="b_label">'+sideAbbreviation+' '+ budgetPrefix +playerValue+'<span>.0'+budgetSuffix+'</span></div>';    
    }
    // Ends
    
    innerHTML += '</div></div></div>';  

  }
  
  getPlayerLI(index).innerHTML = innerHTML;
  return false;
}

function getPlayerLI(index) {
  
  return getElementsByClassName(document, 'li', 'player' + index)[0];
}

function countPlayers(categoryId) {

  var count=0;
  for (var i=0; i<selectedSquad.length; i++) {
    
    var playerIndex = getMatchingIndex(aiPlayerIDs_l, selectedSquad[i]);
    var playerCategoryId = aiPlayerCats_l[playerIndex]; 
    if (playerCategoryId == categoryId) {
      
      count++;
    }
  }
  
  return count;
}

function populateTeamList(formation) {

  var error = false;

  // Check that no categories have too many players selected already 
  for (var i=0; i<formation.length && !error; i++) {

    var catId = aiCatIDs_l[i];
    if (countPlayers(catId) > formation[i]) {
    
      error = "You need to remove a " + axCatNames_l[i];
    }
  }

  if (error) {

    alert(error);
  } else {
    
    // Populate with the selected squad
    selectedSquadClone = selectedSquad;
    setFormation(formation);
    for (var i=0; i<selectedSquadClone.length; i++) {

      selectPlayer(selectedSquadClone[i]);
    }
  }

  return false;
}

function removePlayer(playerId) {
  var index = 0;
  for (var i=0; i<aiSquadFormation_l.length; i++) {

    var categoryName = axCatNames_l[i];
    for (var j=0; j<aiSquadFormation_l[i]; j++) {

      if (selectedSquad[index] == playerId) {

        selectedSquad[index] = 0;
        updateBudget();
        populatePlayerList(categoryName);
		selectTable(categoryName);
        drawPlayer(index + 1, 0, categoryName);
      }
      index++;
    }
  }
  
  return false;
}

function setFormation(formation) {

  aiSquadFormation_l = formation;
  clearSelectedSquad();
  
  var className = "teamlist";
  for (var i=0; i<formation.length; i++) {

    className += formation[i];
  }

  teamListDiv.className=className;
}

function selectPlayer(playerId) {

  if (playerId == 0) {
    
    return 1;
  }
  
  var playerIndex = getMatchingIndex(aiPlayerIDs_l, playerId);
  var categoryId = aiPlayerCats_l[playerIndex];
  var sideId = aiPlayerSides_l[playerIndex];
  var playerName = axPlayerNames_l[playerIndex];
  var categoryIndex = getMatchingIndex(aiCatIDs_l, categoryId);
  var categoryName = axCatNames_l[categoryIndex];
  var sideName = axSideNames_l[getMatchingIndex(aiSideIDs_l, sideId)];
  var inserted = false;
  var error = 0;
  
  if (getRemainingTransfers() <= 0) {

    error =  translate("NO_MORE_TRANSFERS");
  } 

  for (var i=0; i<selectedSquad.length; i++) {

    if (selectedSquad[i] == playerId) {

      error = "You have already selected " + playerName;  
    } 
  }
    
  var index = 0;
  for (var i=0; i<aiSquadFormation_l.length && !inserted && !error; i++) {

    for (var j=0; j<aiSquadFormation_l[i] && !inserted; j++) {
    
      if (categoryIndex == i && selectedSquad[index] == 0) {
      
        selectedSquad[index] = playerId;
        updateBudget();
        inserted = true;
        drawPlayer(index + 1, playerId, categoryName);
      }
      
      index++;
    }
  }
  
  if (!inserted && !error) {

    error = "You do not have space for another " + categoryName;
  }

  if (error) {

    alert(error);
  }
  
  getRemainingTransfers();
  return inserted;
}
