/*
 * This function gets run as soon as the document is ready.
 * Does not wait for images,iframes, etc. to load up.
 */
function doOnReady() {
  $(document).ready(function() {
    if(g_isHasSquad) {
      //if is head to head league
      // will uncomment this bit when all the bits are ready
      if (g_isHeadToHead) {
        addRoundSelectOptions();
        // load the data for the league_ladder_table (into div league_stand_table)
        var params = new Object;
        params["rowId"] = g_sUSquad;
        params["finalsType"] = g_sFinalsCode;
        if (g_sFinalsCode != undefined && g_sFinalsCode != "") {
          loadFinalsTable(g_sBaseLocation + "/xmldata/uleagueResults.jsp?competitionid=" + g_sCompetitionId + "&uleagueid=" + g_sLeagueId + "&isfinal=true", "league_finals_table", "fnl_table", params);
        }
        loadTable(g_sBaseLocation + "/xmldata/uleagueLadder.jsp?uleagueid=" + g_sLeagueId, "league_stand_table", "llTable", params);

        // load the data for the league_results_table
        loadResultsTable('league_results_table');
      } else {
        // Display results simply sorted by points.
        $("#round_select_container").hide();

        // load the data for the league_stand_table
        var params = new Object;
        params["rowId"] = g_sUSquad;
        params["currentPage"] = 1;
        params["findRow"] = "false";
        params["sortableCols"] = "1 2 3 4 5 6";
        params["sortColumn"] = 1;
        params["sortOrder"] = "ascending";
        params["data-type"] = "number";
        params["pointsFormat"] = g_sPointsPrefix + "###,###";
        loadTable(g_sBaseLocation + "/xmldata/uleagueList.jsp?competitionid=" + g_sCompetitionId + "&sportid=" + g_sSportId + "&leagueid=" + g_sLeagueId, 'league_stand_table', 'lsTable', params);
        g_xmlDocTables["lsTable"].onXMLLoadedStateChange = function () { showHideSearchForm(); }
      }
      var params = new Object;
      params["rowId"] = g_sUSquad;
      params["sportId"] = g_sSportId;
      params["baseLocation"] = g_sBaseLocation;
      params["pointsFormat"] = g_sPointsPrefix + "###,###";
      //get round by round Table
      loadRbRTable(g_sBaseLocation + "/xmldata/myUleagueRbR.jsp?competitionid=" + g_sCompetitionId + "&usquadid=" + g_sUSquad + "&compstatus=" + g_sCompStatus, "league_rbr_table", 'secondListTable', params);
    }
    if(g_sInviteUsersResultMessage != "") {
      alert(g_sInviteUsersResultMessage.split("<br />").join("\n"));
    }
  });
}

function search() {
  if (document.getElementById("team_search") != undefined) {
    var sSearchStr = $.trim($("#searchTag").val()).toLowerCase();
    searchTable("lsTable", sSearchStr);
  }
}

function refreshTable(button) {
  // reset the form to default values
  button.form.reset();
  var params = new Object;
  // reset the search parameters
  params["searchStr"] = '';
  params["currentPage"] = 1;
  params["findRow"] = 'false';
  updateTable("lsTable", params);
}

/*
 * Trigger the team or coach name search.
 */
function findMe() {
  var params = new Object;
  params["searchStr"] = '';
  params["currentPage"] = 1;
  params["sortColumn"] = 1;
  params["sortOrder"] = "ascending";
  params["data-type"] = "number";
  params["findRow"] = 'true';
  updateTable("lsTable", params);
}

function showResultsTable (roundSelect) {
  var params = Object;
  if (roundSelect != null) {
    var index = roundSelect.selectedIndex;
    if (index >= 0) {
      params["round"] = roundSelect.options[index].value;
    }
  }
  updateTable("lrTable", params);
}

function loadResultsTable (divTable) {
  var params = Object;
  var roundSelect = document.getElementById('round_select');
  if (roundSelect != null) {
    var index = roundSelect.selectedIndex;
    if (index >= 0) {
      params["round"] = roundSelect.options[index].value;
    }
  }
  loadTable(g_sBaseLocation + "/xmldata/uleagueResults.jsp?competitionid=" + g_sCompetitionId + "&uleagueid=" + g_sLeagueId, divTable, 'lrTable', params);
}

function addRoundSelectOptions() {
  var roundSelect = document.getElementById('round_select');
  if (roundSelect != null) {
    var iMaxRound = (g_iMaxRoundInPhase > g_iCurrentCompetitionRoundNo) ? g_iMaxRoundInPhase : g_iCurrentCompetitionRoundNo;
    for (var i = g_iRoundNo; i < iMaxRound + 1; i++) {
      var selectedOption = (i == g_iCurrentCompetitionRoundNo); // true or false
      roundSelect.options[i - g_iRoundNo] = new Option("Round " + i, i, selectedOption);
    }
  }
}


function showLeagueTabs(){
  if(g_aaLeagues.length < 2){
    return;
  }
  var iTabsShown = 0;
  var sOut = "";
  sOut = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:97%;margin-left:15px;margin-bottom:10px;\">";
  sOut += "<tr>";
  for(var iLC = 0; iLC < g_aaLeagues.length; iLC++){
    sOut += "<td class=\"leagueTab";
    if(g_aaLeagues[iLC][1] == g_sLeagueId){
      sOut += "On";
    } else {
      sOut += "Off";
    }
    if(iLC == 0){
      sOut += " leagueTabZero";
    }
    sOut += "\"";
    if(g_aaLeagues[iLC][1] != g_sLeagueId){
      // Non AJAX solution // sOut += " onclick=\"document.location = g_sBaseLocation + \'/jsp/myUleague.jsp?edituleagueid=" + g_aaLeagues[iLC][1] + "';\"";
      sOut += " onclick=\"doLeagueTabClick(" + g_aaLeagues[iLC][1] + ");\"";
    }
    sOut += ">" + g_aaLeagues[iLC][0] + "</td>";
    iTabsShown++;
  }
  if(iTabsShown < 3){
    sOut += "<td class=\"leagueTabBlank\">&nbsp;</td>";
  }
  sOut += "</tr>";
  sOut += "</table>";
  document.getElementById("divLeagueTabDisplay").innerHTML = sOut;
}

function rewriteHeadings(){
  var asHeadingInfo = new Array();
  asHeadingInfo[asHeadingInfo.length] = new Array("divHeading_finalsLadder", g_sLeagueName + " - Finals Ladder");
  asHeadingInfo[asHeadingInfo.length] = new Array("divHeading_leagueLadder", g_sLeagueName + " - League Ladder");
  asHeadingInfo[asHeadingInfo.length] = new Array("divHeading_standings", g_sLeagueName + " - Standings");
  asHeadingInfo[asHeadingInfo.length] = new Array("divHeading_fixtureAndResults", g_sLeagueName + " - League Fixture & Results");
  for(var iH = 0; iH < asHeadingInfo.length; iH++){
    var divTrg = document.getElementById(asHeadingInfo[iH][0]);
    if(divTrg){
      divTrg.innerHTML = asHeadingInfo[iH][1];
    }
  }
}

function doLeagueTabClick(iLeagueClicked){
  g_sLeagueId = "" + iLeagueClicked;
  for(var iL = 0; iL < g_aaLeagues.length; iL++){
    if (g_aaLeagues[iL][1] == g_sLeagueId) {
      g_sLeagueName = g_aaLeagues[iL][0];
      break;
    }
  }
  doOnReady();
  showLeagueTabs();
  if(g_sDesignId != "1")
    rewriteHeadings();
}

function constructGoToInvitaionPage(){
  goToPage('/jspforms/inviteUsers.jsp?edituleagueid=' + g_sLeagueId);
}

/*
 * Add stuff in here that you want to run when the page finishes loading.
 */
function doOnLoad() {
  showLeagueTabs();
  reloadPageBaseline(); // Must be last, URL can pause main-page load.
}

function doNameOver(elTrg){
  elTrg.className = "fnl-teamNameHover";
}
function doNameOut(elTrg){
  elTrg.className = 'fnl-teamName';
}

function showHideSearchForm() {
  var searchForm = document.getElementById("team_search");
  var xmlDoc = g_xmlDocTables["lsTable"].getXML();
  var xmlTagEl = xmlDoc.getElementsByTagName("rw");
  if (xmlTagEl.length > 20) { // 20 is the page size ...
    searchForm.style.display = "block";
  }
}
