﻿var bwesaSeasons = {
    TeamID: null,
    SeasonID: null,
    SelectedGameID: null,
    SeasonsLoad: function(teamID) {
        if (teamID == null) { return; }
        if (teamID != this.TeamID) {
            var _seasons = callGetSeasonsByTeam(teamID);
            if (_seasons != null) {
                $(".seasonsContainer").setTemplate($("#seasonsListTemplate").html())
                                  .processTemplate(_seasons);
                $(".seasonsContainer .seasonItem:even").addClass("rowItemZebra");
            }
            this.TeamID = teamID;
        }
    },
    GamesLoad: function(seasonID, forceReload) {
        if (seasonID == null) { seasonID = $(".seasonsContainer .rowItemSelected:first .seasonItemID").val(); }
        if (forceReload || seasonID != this.SeasonID) {
            //. unselect seasons
            $(".seasonsContainer .seasonItem").removeClass("rowItemSelected");
            // select requested season.
            $(".seasonsContainer #seasonItem" + seasonID).addClass("rowItemSelected");
            $(".statsHeader #statsHeaderSeason").html($(".seasonsContainer #seasonItem" + seasonID + " .seasonName").html());
            // colapse all gamesContainers
            $(".seasonsContainer .gamesContainer").slideUp("slow")
                                                  .toggleClass("dontDisplay", true);
            // 5. load games for requested season.
            var _games = callGetGamesBySeason(seasonID);
            //alert("received teams:" + result.d.length);
            $(".seasonsContainer #gamesContainer" + seasonID).setTemplate($("#gamesListTemplate").html())
                                                             .processTemplate(_games)
                                                             .slideDown("slow")
                                                             .toggleClass("dontDisplay", false);
            $(".seasonsContainer #gamesContainer" + seasonID + " .gamesTable .rowItem:odd").addClass("rowItemZebra");
            this.SeasonID = seasonID;
        }
    },
    GameSelect: function(gameID) {
        // unselect games
        $(".seasonsContainer #gamesContainer" + this.SeasonID + " .gamesTable .gameRow").removeClass("rowItemSelected");
        // select requested game
        $(".seasonsContainer #gamesContainer" + this.SeasonID + " .gamesTable #gameRow" + gameID).addClass("rowItemSelected");
        this.SelectedGameID = gameID;
    }
};

var bwesaGameDetails = {
    Initialize: function(seasonID, gameID) {
        if (seasonID == null) { seasonID = $(".seasonsContainer .rowItemSelected:first .seasonItemID").val(); }

        if (gameID == null) { gameID = "seasonsummary" + seasonID; }
        bwesaSeasons.GameSelect(gameID);

        // if gameID not passed default to seasonsummary
        if (gameID == null) { gameID = "seasonsummary" + seasonID; }
        // load game stats.
        var _gameDetails;
        if (gameID.toLowerCase() == "seasonsummary" + seasonID) {
            _gameDetails = callGetSeasonSummary(seasonID);
            $(".statsHeader #statsHeaderGame").html(" Summary:");
        }
        else {
            _gameDetails = callGetGameDetails(seasonID, gameID);
            //alert("received players:" + result.d.length);
            var selectedGameScore = $(".seasonsContainer #gamesContainer" + seasonID + " .gamesTable #gameRow" + gameID + " td:eq(4)").html();
            if (selectedGameScore != null && selectedGameScore != "") { selectedGameScore = " (" + selectedGameScore + ")" }
            $(".statsHeader #statsHeaderGame").html($(".seasonsContainer #gamesContainer" + seasonID + " .gamesTable #gameRow" + gameID + " td:eq(3)").html() + selectedGameScore + " Game Details:");
        }
        $(".playersContainer").setTemplate($("#playersListTemplate").html())
                              .processTemplate(_gameDetails);
        $(".playersContainer .statsTable tr:odd").addClass("rowItemZebra");
        this.SeasonID = seasonID;
        this.GameID = gameID;
    }
};


