﻿Sys.Application.add_init(function ()
{
    SportsMenu.LoadSportsMenu();
});

function SportsMenuClass()
{
    this.objItemsArray = new Array();
}

SportsMenuClass.prototype.LoadSportsMenu = function ()
{
    var objSportsMenuMapper = new SportsMenuMapperClass();

    var strSportTypeID = Utilities.GetQueryStringParams()["st"];
    if (strSportTypeID !== undefined && strSportTypeID != "")
    {
        var nSportTypeID = parseInt(strSportTypeID);
        if (0 < nSportTypeID)
            objSportsMenuMapper.GetSportTypeWithTopics(nSportTypeID, this.LoadSportTypeWithTopicsCallback, this.LoadSportsMenuError);
    }
    else
        objSportsMenuMapper.GetSportsMenu(this.LoadSportsMenuCallback, this.LoadSportsMenuError);
}

SportsMenuClass.prototype.LoadSportTypeWithTopicsCallback = function (response)
{
    var objSportsMenuContainer = document.getElementById("SportsMenuContainer");

    var objSportTypeHeaderContainer = document.createElement("div");
    objSportTypeHeaderContainer.className = "sportTypeHeader";

    var objSportTypeHeaderIconContainer = document.createElement("div");
    objSportTypeHeaderIconContainer.className = "ic " + response.Name.replace(/\s/g, "_");

    var objSportTypeHeaderTextContainer = document.createElement("div");
    var objSportTypeHeaderContainerText = document.createTextNode(response.LocalizedName);

    objSportTypeHeaderTextContainer.appendChild(objSportTypeHeaderContainerText);
    objSportTypeHeaderIconContainer.appendChild(objSportTypeHeaderTextContainer);
    objSportTypeHeaderContainer.appendChild(objSportTypeHeaderIconContainer);
    objSportsMenuContainer.appendChild(objSportTypeHeaderContainer);

    var objMenuList = document.createElement("ul");

    $.each(response.Topics, function (index, item)
    {
        var objMenuItem = document.createElement("li");
        objMenuItem.id = item.ID;

        var objMenuItemLink = document.createElement("a");
        objMenuItemLink.href = "#t_" + item.ID;
        objMenuItemLink.title = item.LocalizedName;

        var objMenuItemLinkText = document.createTextNode(item.LocalizedName);

        objMenuItemLink.appendChild(objMenuItemLinkText);
        objMenuItem.appendChild(objMenuItemLink);
        objMenuList.appendChild(objMenuItem);
    });

    objSportsMenuContainer.appendChild(objMenuList);
}

SportsMenuClass.prototype.LoadSportsMenuCallback = function (response)
{
    var objMenuList = document.createElement("ul");
    objMenuList.className = "topLevel";

    $.each(response, function (index, item)
    {
        var objMenuItem = document.createElement("li");
        objMenuItem.className = item.Name.replace(/\s/g, "_");

        var objMenuItemContainer = document.createElement("div");

        var objMenuItemLink = document.createElement("a");
        objMenuItemLink.href = "/Topics/?st=" + item.ID;
        objMenuItemLink.title = item.LocalizedName;

        var objMenuItemLinkText = document.createTextNode(item.LocalizedName);

        objMenuItemLink.appendChild(objMenuItemLinkText);
        objMenuItemContainer.appendChild(objMenuItemLink);
        objMenuItem.appendChild(objMenuItemContainer);
        objMenuList.appendChild(objMenuItem);
    });

    document.getElementById("SportsMenuContainer").appendChild(objMenuList);
}

SportsMenuClass.prototype.LoadSportsMenuError = function (data)
{
    var objErrorMsgP = document.createElement("p");
    var objErrorMsg = document.createTextNode("Ошибка обращения к веб-сервису");

    objErrorMsgP.appendChild(objErrorMsg);

    document.getElementById("SportsMenuContainer").appendChild(objErrorMsgP);
}

var SportsMenu = new SportsMenuClass();
