var TeamRanking = function () {
    var rankingLeague = {
        soccer: {
            epl: 'EPL',
            bundesliga: '분데스리가',
            primera: '라리가',
            seriea: '세리에',
            ligue1: '리그1',
            eredivisie: '에레디비지에',
            k_classic: 'K리그 1',
            k_challenge: 'K리그 2',
        },
        baseball: {
            kbo: 'KBO',
            futures: '퓨처스',
            National: 'MLB(NL)',
            American: 'MLB(AL)',
            central: 'NPB(CL)',
            pacific: 'NPB(PL)',
        },
        basketball: {
            kbl: 'KBL',
            wkbl: 'WKBL',
            nba_east: 'NBA(동부)',
            nba_west: 'NBA(서부)',
        },
        volleyball: {
            kovo_vl: '남자배구',
            kovo_wvl: '여자배구',
        },
        hockey: {
            nhl:'NHL',
            KHL:'KHL'
        },
        football: {
            AFC: 'AFC',
            NFC: 'NFC',
        },
        tennis: {
            tennis_M: '남자테니스',
            tennis_W: '여자테니스',
        },
    };

    var rankingData = {};
    return {
        renderRanking: function (jongmok, league) {
            $(`.team-ranking .jongmoks a`).removeClass('active');
            $(`.team-ranking .jongmoks a[data-id='${jongmok}']`).addClass('active');
            // create league list
            var html = '';
            for(var _league in rankingLeague[jongmok]) {
                var _class = league == _league ? 'active' : '';
                html += `<a onclick="TeamRanking.renderRanking('${jongmok}', '${_league}')" class="${_class}">${rankingLeague[jongmok][_league]}</a>`;
            }
            $('.team-ranking .leagues').html(html);
            html = '';

            // create team list
            var teams = rankingData[league];
            if(teams) {
                var title = teams.TITLE;
                var data = teams.DATA;
                $('.team-ranking-table tbody').html("");
                if(!Array.isArray(teams.TITLE)) {
                    var keys = Object.keys(teams.TITLE);                    
                    for(var ii = 0; ii < keys.length; ii++){
                        var firstKey = keys[ii];
                        title = [teams.TITLE[firstKey]];
                        data = [teams.DATA[firstKey]];
                        
                        var tr = '';
                        tr += `<tr><td colspan="${title[0].length}">${firstKey}</td></tr><tr>`
                        for(var i = 0; i < title[0].length; i++) {
                            tr += `<td>${title[0][i]}</td>`;
                        }
                        tr += `</tr>`;
                        $('.team-ranking-table tbody').append(`${tr}`);

                        var tbody = '';
                        if(Array.isArray(data[0])){
                            for(var i = 0; i < data[0].length; i++) {
                                var tr = ``;
                                var rank = data[0][i][0] * 1;
                                for(var j = 0; j < data[0][i].length;j++) {
                                    if(j == 1 && jongmok != 'tennis') {
                                        var hash = MD5(data[0][i][j]);
                                        tr += `<td><img src="/theme/toto/ranking/img/team/${league}_${hash}.png">${data[0][i][j]}</td>`;
                                        // tr += `<td><img src="${BASE_URL}/freeboard/downloadTeamFlag?flag=${league}_${hash}.png">${data[0][i][j]}</td>`;
                                        // tr += `<td>${data[0][i][j]}</td>`;
                                    } else {
                                        tr += `<td>${data[0][i][j]}</td>`;
                                    }
                                }
                                tbody += `<tr>${tr}</tr>`;
                            }
                            $('.team-ranking-table tbody').append(tbody);
                        }else{
                            tbody = '';
                            for(value in data[0]){
                                var tr = '';
                                var rank = data[0][value][0]*1;
                                for(var j = 0; j < data[0][value].length;j++) {
                                    if(j == 1 && jongmok != 'tennis') {
                                        var hash = MD5(data[0][value][j]);
                                        tr += `<td><img src="/theme/toto/ranking/img/team/${league}_${hash}.png">${data[0][value][j]}</td>`;
                                    } else {
                                        tr += `<td>${data[0][value][j]}</td>`;
                                    }
                                }
                                tbody += `<tr>${tr}</tr>`;
                            }
                            $('.team-ranking-table tbody').append(tbody);
                        }
                    }
                }else{
                    var tr = '';
                    for(var i = 0; i < title[0].length; i++) {
                        tr += `<td>${title[0][i]}</td>`;
                    }
                    $('.team-ranking-table tbody').append(`<tr>${tr}</tr>`);
    
                    var tbody = '';
                    if(Array.isArray(data[0])){
                        for(var i = 0; i < data[0].length; i++) {
                            var tr = ``;
                            var rank = data[0][i][0] * 1;
                            for(var j = 0; j < data[0][i].length;j++) {
                                if(j == 1 && jongmok != 'tennis') {
                                    var hash = MD5(data[0][i][j]);
                                    tr += `<td><img src="/theme/toto/ranking/img/team/${league}_${hash}.png">${data[0][i][j]}</td>`;
                                    // tr += `<td><img src="${BASE_URL}/freeboard/downloadTeamFlag?flag=${league}_${hash}.png">${data[0][i][j]}</td>`;
                                    // tr += `<td>${data[0][i][j]}</td>`;
                                } else {
                                    tr += `<td>${data[0][i][j]}</td>`;
                                }
                            }
                            tbody += `<tr>${tr}</tr>`;
                        }
                        $('.team-ranking-table tbody').append(tbody);
                    }else{
                        tbody = '';
                        for(value in data[0]){
                            var tr = '';
                            var rank = data[0][value][0]*1;
                            for(var j = 0; j < data[0][value].length;j++) {
                                if(j == 1 && jongmok != 'tennis') {
                                    var hash = MD5(data[0][value][j]);
                                    tr += `<td><img src="/theme/toto/ranking/img/team/${league}_${hash}.png">${data[0][value][j]}</td>`;
                                } else {
                                    tr += `<td>${data[0][value][j]}</td>`;
                                }
                            }
                            tbody += `<tr>${tr}</tr>`;
                        }
                        $('.team-ranking-table tbody').append(tbody);
                    }
                }                
            } else {
            }
        },
        init: function () {
            var self = this;
            $(document).ready(function () {
                if(ranking_data != undefined) {
                    if (ranking_data != "ranking_data = ''" && ranking_data.length > 17)
                        rankingData = JSON.parse(ranking_data);
                    else{
                        rankingData = ranking_data;
                    }
                }
                self.renderRanking('soccer', 'epl');
            });
        }
    }
}();
TeamRanking.init();