﻿var Mackolik = Mackolik || {};

Mackolik.Program = {
    sport: 1,
    type: 0,
    sortValue: 'ALTG_ADI10',
    day: '',
    week: '',
    groupId: '',
    sort: '-1',
    sortDir: '1',
    loadingMsg: "<div class='loading_div'><h3>Yükleniyor</h3><img src='" + ICON_PATH + "loading.gif' alt=''></div>",
    MSCSdata: '',
    IYTGdata: '',
    Largedata: '',
    lastMSCSSort: '-1',
    lastIYTGSort: '-1',
    lastLargeSort: '-1',
    lastMSCSSortDir: '1',
    lastIYTGSortDir: '1',
    lastLargeSortDir: '1',
    screenPos: 0,

    getSportData: function(sportId) {
        if (this.sport == sportId) {
            return;
        }
        this.sport = sportId;

        this.groupId = '';

        if (this.sport == 1) {
            this.type = iFActiveTabOrder;
            YAHOO.util.Dom.removeClass("basketballProgram", "on");
            YAHOO.util.Dom.removeClass("footballProgram", "off");
            YAHOO.util.Dom.addClass("footballProgram", "on");
            document.getElementById("dvFootballPage").style.display = "";
            document.getElementById("dvBasketballPage").style.display = "none";
        } else {
            this.type = iBActiveTabOrder;
            YAHOO.util.Dom.removeClass("footballProgram", "on");
            YAHOO.util.Dom.addClass("basketballProgram", "on");
            YAHOO.util.Dom.addClass("footballProgram", "off");
            document.getElementById("dvFootballPage").style.display = "none";
            document.getElementById("dvBasketballPage").style.display = "";
        }
        this.getProgram();
    },

    getProgram: function() {
        Mackolik.Program.getComboData();
        if (this.sport == 1 && this.type == 0) {
            Mackolik.Program.MSCS.getProgram();
        }
        if (this.sport == 1 && this.type == 1) {
            Mackolik.Program.IYMS.getProgram();
        }
        if (this.sport == 1 && this.type == 2) {
            Mackolik.Program.SK.getProgram();
        }
        if (this.sport == 1 && this.type == 3) {
            Mackolik.Program.IYTG.getProgram();
        }
        if (this.sport == 1 && this.type == 4) {
            Mackolik.Program.HND.getProgram();
        }
        if (this.sport == 1 && this.type == 5) {
            if (Mackolik.Program.Large) {
                Mackolik.Program.Large.getProgram();
            }
        }
        if (this.sport == 2 && this.type == 0) {
            Mackolik.Program.BasketMS.getProgram();
        }
        if (this.sport == 2 && this.type == 1) {
            Mackolik.Program.BasketIYMS.getProgram();
        }
    },

    compareObjects: function(a, b) {
        var ret = 0, aVal, bVal;
        if (Mackolik.Program.sort == -1) {
            aVal = a[10]; bVal = b[10];
        } else if (Mackolik.Program.sort == 1) {
            aVal = a[16]; bVal = b[16];
        } else if (Mackolik.Program.sort == 2) {
            aVal = a[17]; bVal = b[17];
        } else if (Mackolik.Program.sort == 3) {
            aVal = a[18]; bVal = b[18];
        } else if (Mackolik.Program.sort == 4) {
            aVal = a[19]; bVal = b[19];
        } else if (Mackolik.Program.sort == 5) {
            aVal = a[20]; bVal = b[20];
        } else if (Mackolik.Program.sort == 6) {
            aVal = a[21]; bVal = b[21];
        } else if (Mackolik.Program.sort == 7) {
            aVal = a[22]; bVal = b[22];
        } else if (Mackolik.Program.sort == 8) {
            aVal = a[23]; bVal = b[23];
        } else if (Mackolik.Program.sort == 9) {
            aVal = replaceTurkish(a[18]); bVal = replaceTurkish(b[18]);
        } else if (Mackolik.Program.sort == 10) {
            aVal = replaceTurkish(a[19]); bVal = replaceTurkish(b[19]);
        } else if (Mackolik.Program.sort == 11) {
            aVal = replaceTurkish(a[20]); bVal = replaceTurkish(b[20]);
        } else if (Mackolik.Program.sort == 12) {
            aVal = replaceTurkish(a[14]); bVal = replaceTurkish(b[14]);
        } else if (Mackolik.Program.sort == 13) {
            aVal = replaceTurkish(a[15]); bVal = replaceTurkish(b[15]);
        } else if (Mackolik.Program.sort == 14) {
            aVal = replaceTurkish(a[16]); bVal = replaceTurkish(b[16]);
        } else if (Mackolik.Program.sort == 15) {
            aVal = replaceTurkish(a[17]); bVal = replaceTurkish(b[17]);
        } else if (Mackolik.Program.sort == 16) {
            if (Mackolik.Program.type == 0) {
                aVal = replaceTurkish(a[26]); bVal = replaceTurkish(b[26]);
            } else if (Mackolik.Program.type == 3) {
                aVal = replaceTurkish(a[22]); bVal = replaceTurkish(b[22]);
            }
        }

        if (aVal == "-" || aVal == "0") ret = 1;
        if (bVal == "-" || bVal == "0") ret = -1;

        if (ret == 0) {
            if (Mackolik.Program.sort != 16 && Mackolik.Program.sort != -1) {
                if (Mackolik.Program.sortDir == 1)
                    ret = parseFloat2(aVal) > parseFloat2(bVal) ? 1 : -1
                else
                    ret = parseFloat2(aVal) > parseFloat2(bVal) ? -1 : 1
            } else {
                if (Mackolik.Program.sortDir == 1)
                    ret = aVal > bVal ? 1 : -1
                else
                    ret = aVal > bVal ? -1 : 1
            }

        }

        if (ret == 0) {
            ret = a[10] > b[10] ? 1 : -1 /*hepsi aynı ise iddaaid*/
        }

        return ret;
    }
    ,

    compareObjectsLarge: function(a, b) {
        var ret = 0, aVal, bVal;

        if (Mackolik.Program.sort == 1) {
            aVal = a[16]; bVal = b[16];
        } else if (Mackolik.Program.sort == 2) {
            aVal = a[17]; bVal = b[17];
        } else if (Mackolik.Program.sort == 3) {
            aVal = a[18]; bVal = b[18];
        } else if (Mackolik.Program.sort == 4) {
            aVal = a[33]; bVal = b[33];
        } else if (Mackolik.Program.sort == 5) {
            aVal = a[34]; bVal = b[34];
        } else if (Mackolik.Program.sort == 6) {
            aVal = a[35]; bVal = b[35];
        } else if (Mackolik.Program.sort == 7) {
            aVal = a[19]; bVal = b[19];
        } else if (Mackolik.Program.sort == 8) {
            aVal = a[20]; bVal = b[20];
        } else if (Mackolik.Program.sort == 9) {
            aVal = a[21]; bVal = b[21];
        } else if (Mackolik.Program.sort == 10) {
            aVal = a[22]; bVal = b[22];
        } else if (Mackolik.Program.sort == 11) {
            aVal = a[23]; bVal = b[23];
        } else if (Mackolik.Program.sort == 12) {
            aVal = a[10]; bVal = b[10];
        } else if (Mackolik.Program.sort == 13) {
            aVal = replaceTurkish(a[26]); bVal = replaceTurkish(b[26]);
        } else if (Mackolik.Program.sort == 14) {
            aVal = a[29]; bVal = b[29];
        } else if (Mackolik.Program.sort == 15) {
            aVal = a[30]; bVal = b[30];
        } else if (Mackolik.Program.sort == 16) {
            aVal = a[31]; bVal = b[31];
        } else if (Mackolik.Program.sort == 17) {
            aVal = a[32]; bVal = b[32];
        } else if (Mackolik.Program.sort == 18) {
            aVal = a[36]; bVal = b[36];
        } else if (Mackolik.Program.sort == 19) {
            aVal = a[37]; bVal = b[37];
        } else if (Mackolik.Program.sort == 20) {
            aVal = a[38]; bVal = b[38];
        }

        if (aVal == "-" || aVal == "0" || aVal == "") ret = 1;
        if (bVal == "-" || bVal == "0" || bVal == "") ret = -1;

        if (ret == 0) {
            if (Mackolik.Program.sort != 13 && Mackolik.Program.sort != 12) {
                if (Mackolik.Program.sortDir == 1)
                    ret = parseFloat2(aVal) > parseFloat2(bVal) ? 1 : -1
                else
                    ret = parseFloat2(aVal) > parseFloat2(bVal) ? -1 : 1
            } else {
                if (Mackolik.Program.sortDir == 1)
                    ret = aVal > bVal ? 1 : -1
                else
                    ret = aVal > bVal ? -1 : 1
            }

        }

        if (ret == 0) {
            ret = a[10] > b[10] ? 1 : -1 /*hepsi aynı ise iddaaid*/
        }

        return ret;
    },

    sortRatio2: function() {
        var data;
        if (this.type == 0)
            data = Mackolik.Program.MSCSdata.m;
        else if (this.type == 3)
            data = Mackolik.Program.IYTGdata.m;
        else if (this.type == 5)
            data = Mackolik.Program.Largedata.m;

        for (var i = 0; i < data.length; i++) {
            if (this.type == 0) Mackolik.Program.MSCSdata.m[i].m.sort(Mackolik.Program.compareObjects);
            else if (this.type == 3) Mackolik.Program.IYTGdata.m[i].m.sort(Mackolik.Program.compareObjects);
            else if (this.type == 5) Mackolik.Program.Largedata.m[i].m.sort(Mackolik.Program.compareObjectsLarge);
        }

        if (this.sport == 1 && this.type == 0 && this.sortValue == "DATE")
            Mackolik.Program.MSCS.writeProgramByDate(Mackolik.Program.MSCSdata);
        else if (this.sport == 1 && this.type == 3 && this.sortValue == "DATE")
            Mackolik.Program.IYTG.writeProgramByDate(Mackolik.Program.IYTGdata);
        else if (this.sport == 1 && this.type == 5 && this.sortValue == "DATE")
            Mackolik.Program.Large.writeProgramByDate(Mackolik.Program.Largedata);

        if (this.type != 5 && this.type != 0)
            window.scrollTo(0, Mackolik.Program.screenPos);
        else {
            window.scrollTo(0, 0);
            document.getElementById("dvLargeHead").style.display="none";
        }

    },

    sortRatio: function(sort, sortDir) {
        this.sort = sort;
        this.sortDir = sortDir;

        this.screenPos = document.documentElement.scrollTop;
        if (this.sport == 1 && this.type == 0 && this.sortValue == "DATE") {
            Mackolik.Program.MSCS.writeLoading();
            Mackolik.Program.lastMSCSSort = sort;
            Mackolik.Program.lastMSCSSortDir = sortDir;
        } else if (this.sport == 1 && this.type == 3 && this.sortValue == "DATE") {
            Mackolik.Program.IYTG.writeLoading();
            Mackolik.Program.lastIYTGSort = sort;
            Mackolik.Program.lastIYTGSortDir = sortDir;
        } else if (this.sport == 1 && this.type == 5 && this.sortValue == "DATE") {
            Mackolik.Program.Large.writeLoading();
            Mackolik.Program.lastLargeSort = sort;
            Mackolik.Program.lastLargeSortDir = sortDir;
        }
        setTimeout("Mackolik.Program.sortRatio2();", 1); /*aksi takdirde loading yazılmıyor*/
    }
    ,

    getDataBySortValue: function(sortval) {
        if (sortval == 1) {
            if (this.sortValue == 'ALTG_ADI10') {
                return;
            }
            this.sortValue = 'ALTG_ADI10';
            this.sort = '-1';
            this.sortDir = '1';
            YAHOO.util.Dom.removeClass("sortByDate", "on");
            YAHOO.util.Dom.removeClass("sortByLeague", "off");
            YAHOO.util.Dom.addClass("sortByLeague", "on");
        } else {
            if (this.sortValue == 'DATE') {
                return;
            }
            this.sortValue = 'DATE';
            YAHOO.util.Dom.removeClass("sortByLeague", "on");
            YAHOO.util.Dom.addClass("sortByDate", "on");
            YAHOO.util.Dom.addClass("sortByLeague", "off");
        }
        aFTabsProcessed = [];
        aFTabsProcessed[this.type] = 1;
        aBTabsProcessed = [];
        aBTabsProcessed[this.type] = 1;
        this.getProgram();
    },
    getComboData: function() {
        var url = APP_ROOT + '/Program/ProgramComboFiller.aspx?sport=' + this.sport + '&type=' + this.type + '&sortValue=' + this.sortValue + '&week=' + this.week + '&day=' + this.day + '&sortDir=' + this.sortDir + '&groupId=' + this.groupId;
        var callback = new AjaxCallback(
            function(response) { Mackolik.Program.getComboDataCompleted(response) }, null,
            function(response) { });
        var transaction = YAHOO.util.Connect.asyncRequest('GET', url, callback);
    },

    getComboDataCompleted: function(response) {
        data = eval("(" + response.responseText + ")");
        Mackolik.Program.fillCombo(document.getElementById("weekId"), data.w);
        Mackolik.Program.fillCombo(document.getElementById("dayId"), data.d);
        Mackolik.Program.fillCombo(document.getElementById("groupId"), data.l);
    },

    fillCombo: function(combo, data) {
        var seletedValue;
        combo.innerHTML = "";
        for (var i = 0; i < data.length; i++) {
            var option = document.createElement("option");
            option.value = data[i][0];
            option.innerHTML = data[i][1];
            if (data[i][2] == 1) option.setAttribute("selected", "selected");
            combo.appendChild(option);
        }
    }
}

