﻿var Mackolik = Mackolik || {};

Mackolik.Basketball = {
    iLeagueId: 1,
    changeTab : function (node, obj) {
        var url = APP_ROOT + '/AjaxHandlers/BasketballHandler.aspx?command=tabs&id=' + Mackolik.Basketball.iLeagueId + '&type=' + node.order;
        var callback = new AjaxCallback(function(response) { 
            obj.panelCallBack.call(obj, response.responseText, node);
            //response.responseText.evalScripts();
        });
        YAHOO.util.Connect.asyncRequest( 'GET', url, callback );
    }
};
Mackolik.Basketball.Standing = {
    HOME_COLOR: "#d9e9bf",
    AWAY_COLOR: "#e8b9b9",
    HIGH_COLOR: "#c7d2df",
    aTeams: new Object(),
    rowOver: function(e) {
        //var target = YAHOO.util.Event.getTarget(e, 1);
        YAHOO.util.Dom.setStyle(this, "background-color", Mackolik.Basketball.Standing.HIGH_COLOR);
        //target.style.backgroundColor = Mackolik.Standing.HIGH_COLOR;
    },
    rowOut: function(e) {
        YAHOO.util.Dom.setStyle(this, "background-color", "");
    },
    changeSeason: function(seasonId) {
        var url = APP_ROOT + '/AjaxHandlers/BasketballHandler.aspx?command=standing&id=' + seasonId;
        var callback = new AjaxCallback(function(response) { Mackolik.Basketball.Standing.changeSeasonCompleted(response) });
        var transaction = YAHOO.util.Connect.asyncRequest('GET', url, callback);
    },
    changeSeasonCompleted: function(response) {
        //this.aStandingDivs = document.getElementById("dvBasketballStandingBody").getElementsByTagName("div");
        document.getElementById('dvStandingWrapper').innerHTML = response.responseText;
        response.responseText.evalScripts();
    },
    changeStandingTab: function(node, obj) {
        var url = APP_ROOT + '/AjaxHandlers/BasketballHandler.aspx?command=tabsStanding&id=' + Mackolik.Basketball.iLeagueId + '&type=' + node.order;
        var callback = new AjaxCallback(function(response) {
            obj.panelCallBack.call(obj, response.responseText, node);
            //response.responseText.evalScripts();
        });
        YAHOO.util.Connect.asyncRequest('GET', url, callback);
    },

    getRegionalTab: function(callback) {
        callback();
        var url = APP_ROOT + '/AjaxHandlers/BasketballHandler.aspx?command=tabsStanding&id=' + Mackolik.Basketball.Standing.iSeasonId;
        var callback = new AjaxCallback(function(response) { Mackolik.Basketball.Standing.getRegionalTabCompleted(response) });
        var transaction = YAHOO.util.Connect.asyncRequest('GET', url, callback);
    },
    getFormTab: function(callback) {
        callback();
        var url = APP_ROOT + '/National/Data/FormData.aspx?basket=1&id=' + Mackolik.Basketball.Standing.iSeasonId;
        var callback = new AjaxCallback(function(response) { Mackolik.Basketball.Standing.getFormTabCompleted(response) });
        var transaction = YAHOO.util.Connect.asyncRequest('GET', url, callback);
    },
    getRegionalTabCompleted: function(response) {
        //this.aStandingDivs = document.getElementById("dvBasketballStandingBody").getElementsByTagName("div");
        document.getElementById('dvStandingByRegion').innerHTML = response.responseText;
        $(".loading_div").remove();
    },
    getFormTabCompleted: function(response) {
        //this.aStandingDivs = document.getElementById("dvBasketballStandingBody").getElementsByTagName("div");
        var data = eval(response.responseText);

        var header = '<table width="100%" cellpadding=1 cellspacing=0 border=0 style="border:1px solid #cccccc;" class="rowData">';
        var headerRow = '<tr class="puan_header"><td rowspan=2 colspan=2 style="padding-left:10px"><b>TAKIM</b></td><td colspan=3 align=center>Toplam</td><td width=2 rowspan=40 bgcolor="#DAE4E5" style="background-image:none;"> </td><td colspan=3 align=center>İçerde</td><td rowspan=40 width=2 bgcolor="#DAE4E5" style="background-image:none;"> </td><td colspan=3 align=center>Dışarda</td></tr>';
        var headerRow2 = '<tr align=center class="puan_header bg2"><td width="19" height="17" align=right>O</td><td width="19" align=right>P</td><td>Son 10 Maç</td><td width="19" align=right>O</td><td width="19" align=right>P</td><td>Son 10 Maç</td><td width="19" align=right>O</td><td width="19" align=right>P</td><td>Son 10 Maç</td></tr>'
        var rowFormat = '<tr class="alt{0} puan_row" align=left onmouseout="standingOut(this)" onmouseover="standingOver(this)" team="{2}"><td width="34" align=right>{1}</td><td width="150" align=left>{13} <a href="javascript:popBasketTeam({2},\'' + Mackolik.Standing.sSeasonName + '\')" class="style3">{3}</a></td><td align=right>{7}</td><td align=right><b>{8}</b></td><td align=left style="padding-left:10px;">{4}</td><td align=right>{9}</td><td align=right><b>{10}</b></td><td align=left style="padding-left:10px;">{5}</td><td align=right>{11}</td><td align=right><b>{12}</b></td><td align=left style="padding-left:10px;">{6}</td></tr>';

        var sbForm = new StringBuilder();
        sbForm.append(header);
        sbForm.append(headerRow);
        sbForm.append(headerRow2);

        var region = 1;
        var rownum = 0;
        var flag = '';
        for (var i = 0; i < data.length; i++) {
            var team = data[i];

            if (team[10]) {
                if (team[10] != region) {
                    sbForm.append('<tr style="background-color:#dae4e5"><td colspan=30>&nbsp;</td></tr>')
                    rownum = 0;
                    region = team[10];
                }
            }

            var allseries = team[1].split("");
            var homeseries = team[2].split("");
            var awayseries = team[3].split("");

            function serieToImage(serie) {
                var format = '<img src="' + ICON_PATH + 'p-form-{0}.gif">&nbsp;';
                var sbSerie = new StringBuilder();

                for (var j = 0; j < serie.length; j++) {
                    if (serie[j] == '1') {
                        sbSerie.appendFormat(format, 'l');
                    }
                    if (serie[j] == '2') {
                        sbSerie.appendFormat(format, 'w');
                    }
                }
                return sbSerie;
            }

            rownum++;
            flag = '';
            if (Mackolik.Standing.aTeams.flags[team[0]]) {
                flag = "<img src='" + IMG_PATH + "/flags/" + Mackolik.Standing.aTeams.flags[team[0]] + ".gif' title='" + Mackolik.Standing.aTeams.countries[team[0]] + "'>";
            }
            /*
            sbForm.appendFormat(rowFormat, i % 2 + 1, rownum, team[0], Mackolik.Standing.aTeams.names[team[0]],
            serieToImage(allseries), serieToImage(homeseries), serieToImage(awayseries),
            team[4], team[5], team[6], team[7], team[8], team[9], flag); */
            sbForm.appendFormat(rowFormat, i % 2 + 1, rownum, team[0], Mackolik.Basketball.Standing.aTeams.names[team[0]],
                serieToImage(allseries), serieToImage(homeseries), serieToImage(awayseries),
                team[4], team[5], team[6], team[7], team[8], team[9], flag);
        }

        sbForm.append('</table>');
        document.getElementById('dvForm').innerHTML = sbForm;
        $(".loading_div").remove();
        /*
        var rows = document.getElementById('dvForm').firstChild.rows;

        for (var i = 0, j = 2; i < data.length; i++, j++) {
        if (rows[j].cells.length == 1) {
        i--;
        continue;
        }
        rows[j].team = data[i][0];
        YAHOO.util.Event.addListener(rows[j], "mouseover", standingOver);
        YAHOO.util.Event.addListener(rows[j], "mouseout", standingOut);
        }
        */
    }

};


function standingOver(obj) {
    obj.style.backgroundColor = Mackolik.Basketball.Standing.HIGH_COLOR;
    selectFixture(obj.getAttribute("team"));
    selectResult(obj.getAttribute("team"));
}

function standingOut(obj) {
    obj.style.backgroundColor = "";
    deSelectFixture(obj.getAttribute("team"));
    deSelectResult(obj.getAttribute("team"));
}

function fixtureOver(obj) {
    obj.style.backgroundColor = Mackolik.Basketball.Standing.HIGH_COLOR;
    selectTableRows(obj.getAttribute("team1"), obj.getAttribute("team2"));
    selectResult(obj.getAttribute("team1"), Mackolik.Basketball.Standing.HOME_COLOR);
    selectResult(obj.getAttribute("team2"), Mackolik.Basketball.Standing.AWAY_COLOR);
}

function fixtureOut(obj) {
    obj.style.backgroundColor = "";
    deSelectTableRows(obj.getAttribute("team1"), obj.getAttribute("team2"));
    deSelectResult(obj.getAttribute("team1"));
    deSelectResult(obj.getAttribute("team2"));
}
function resultOver(obj) {
    obj.style.backgroundColor = Mackolik.Basketball.Standing.HIGH_COLOR;
    selectTableRows(obj.getAttribute("team1"), obj.getAttribute("team2"));
    selectFixture(obj.getAttribute("team1"), Mackolik.Basketball.Standing.HOME_COLOR);
    selectFixture(obj.getAttribute("team2"), Mackolik.Basketball.Standing.AWAY_COLOR);
}

function highlight(obj) {
    if (obj.style.backgroundColor == "") {
        obj.style.backgroundColor = Mackolik.Basketball.Standing.HIGH_COLOR;
    } else {
        obj.style.backgroundColor = "";
    }
}
function resultOut(obj) {
    obj.style.backgroundColor = "";
    deSelectTableRows(obj.getAttribute("team1"), obj.getAttribute("team2"));
    deSelectFixture(obj.getAttribute("team1"));
    deSelectFixture(obj.getAttribute("team2"));
}

function selectTableRows(team1, team2) {
    $("#league-standing-tab-body .current tr[class^=alt]").each(function(index) {
        if ($(this).attr("team") == team1) {
            selectRow(this, Mackolik.Basketball.Standing.HOME_COLOR);
        }
        if ($(this).attr("team") == team2) {
            selectRow(this, Mackolik.Basketball.Standing.AWAY_COLOR);
        }
    });
}
function deSelectTableRows(team1, team2) {
    $("#league-standing-tab-body .current tr[class^=alt]").each(function(index) {
        if ($(this).attr("team") == team1 || $(this).attr("team") == team2) {
            deSelectRow(this);
        }
    });
}

function selectFixture(team, color) {
    if (document.getElementById('dvFixture') && document.getElementById('dvFixture').firstChild) {
        if (!color) color = Mackolik.Basketball.Standing.HOME_COLOR;
        var rows = document.getElementById('dvFixture').firstChild.rows;
        for (var i = 1; i < rows.length; i++) {
            if (rows[i].getAttribute("team1") == team || rows[i].getAttribute("team2") == team) {
                selectRow(rows[i], color);
                break;
            }
        }
    }
}

function selectResult(team, color) {
    if (document.getElementById('dvResult') && document.getElementById('dvResult').firstChild) {
        var rows = document.getElementById('dvResult').firstChild.rows;
        if (!color) color = Mackolik.Basketball.Standing.AWAY_COLOR;
        for (var i = 1; i < rows.length; i++) {
            if (rows[i].getAttribute("team1") == team || rows[i].getAttribute("team2") == team) {
                selectRow(rows[i], color);
                break;
            }
        }
    }
}

function deSelectFixture(team) {
    if (document.getElementById('dvFixture') && document.getElementById('dvFixture').firstChild) {
        var rows = document.getElementById('dvFixture').firstChild.rows;
        for (var i = 1; i < rows.length; i++) {
            if (rows[i].getAttribute("team1") == team || rows[i].getAttribute("team2") == team) {
                deSelectRow(rows[i]);
                break;
            }
        }
    }
}

function deSelectResult(team) {
    if (document.getElementById('dvResult') && document.getElementById('dvResult').firstChild) {
        var rows = document.getElementById('dvResult').firstChild.rows;
        for (var i = 1; i < rows.length; i++) {
            if (rows[i].getAttribute("team1") == team || rows[i].getAttribute("team2") == team) {
                deSelectRow(rows[i]);
                break;
            }
        }
    }
}

function selectRow(row, color) {
    row.style.backgroundColor = color;
}
function deSelectRow(row) {
    row.style.backgroundColor = '';
}

