﻿Mackolik = Mackolik || {};

Mackolik.LiveScore.MatchSelection = {
    odds: [],
    iddaaMatches: [],
    closeDiv: function() {
        document.getElementById("dvSelection").style.display = "none";
        document.getElementById("dvOpenSelection").style.display = "";
        Mackolik.LiveScore.copyBanner();
        Mackolik.LiveScore.writeBanner();
    },
    openDiv: function() {
        document.getElementById("dvOpenSelection").style.display = "none";
        document.getElementById("dvSelection").style.display = "";
        Mackolik.LiveScore.copyBanner();
        Mackolik.LiveScore.writeBanner();
    },
    initVariables: function() {
        function getElementsById(tagName, whichId) {
            var objs = document.getElementsByTagName(tagName);
            var returnArray = [];
            for (var i = 0, n = objs.length; i < n; i++) {
                if (objs[i].id == whichId) {
                    returnArray[returnArray.length] = objs[i];
                }
            }
            return returnArray;
        }
        this.chkboxes0 = getElementsById("input", "chkboxes0");
        this.chkboxes1 = getElementsById("input", "chkboxes1");
        this.chkboxes2 = getElementsById("input", "chkboxes2");
        this.chkboxesU = getElementsById("input", "chkboxesU");
        this.chkboxesO = getElementsById("input", "chkboxesO");
        this.matchCount = this.chkboxes0.length;
    },
    sendCoupon: function(couponNo) {
        var liveCoupons = getCookie("LIVE_COUPON");
        var coupons = liveCoupons.split("&");
        if (couponNo > coupons.length) {
            alert("Hata oluştu");
            return false;
        }
        var coupon = coupons[couponNo];
        var sbCoupon = new StringBuilder();
        var oyun, tahmin;
        var matches = coupon.split("|");
        for (var j = 0; j < matches.length; j++) {
            var matchData = matches[j].split("_");
            if (matchData[2] != 0) {
                for (var k = 0; k < this.iddaaMatches.length; k++) {
                    if (this.iddaaMatches[k][0] == parseInt(matchData[0])) {
                        var couponMatch = this.iddaaMatches[k];
                        if (matchData[1] == "1" || matchData[1] == "0" || matchData[1] == "2") {
                            tahmin = matchData[1];
                            if (matchData[1] == "0") {
                                tahmin = "X";
                            }
                            oyun = "MS";
                        } else if (matchData[1] == "01" || matchData[1] == "02" || matchData[1] == "12") {
                            if (matchData[1] == "01") {
                                tahmin = "1-X";
                            }
                            if (matchData[1] == "02") {
                                tahmin = "X-2";
                            }
                            if (matchData[1] == "12") {
                                tahmin = "1-2";
                            }
                            oyun = "CS";
                        } else if (matchData[1] == "U" || matchData[1] == "O") {
                            if (matchData[1] == "U") {
                                tahmin = "1";
                            } else {
                                tahmin = "2"
                            }
                            oyun = "UO";
                        }
                        sbCoupon.appendFormat("{0}*0*{1}*{2}*{3}*{4}*{5}*{6}~", couponMatch[1], matchData[2], oyun, tahmin, couponMatch[2], couponMatch[3], couponMatch[4] == 0 ? 4 : couponMatch[4]);

                        break;
                    }
                }
            }
        }
        window.open(USR_APP_ROOT + "/Bilyoner/CreateCoupons/Coupon.aspx?si=0&ks=" + sbCoupon);
    },
    createCoupon: function() {
        var s = "";
        for (var i = 0; i < this.matchCount; i++) {
            var odd = 0;
            if (this.chkboxesU[i].checked) {
                if (s != "") {
                    s += "|";
                }
                if (this.odds[i][6]) {
                    odd = this.odds[i][6];
                }
                s += this.chkboxesU[i].value + "_" + odd;
                this.chkboxesU[i].checked = false;
                continue;
            }
            if (this.chkboxesO[i].checked) {
                if (s != "") {
                    s += "|";
                }
                if (this.odds[i][7]) {
                    odd = this.odds[i][7];
                }
                s += this.chkboxesO[i].value + "_" + odd;
                this.chkboxesO[i].checked = false;
                continue;
            }

            if (this.chkboxes0[i].checked || this.chkboxes1[i].checked || this.chkboxes2[i].checked) {
                if (s != "") {
                    s += "|";
                }
                var macId = this.chkboxes0[i].value.substr(0, this.chkboxes0[i].value.length - 2);
                if (this.chkboxes0[i].checked && this.chkboxes1[i].checked) {
                    if (this.odds[i][3]) {
                        odd = this.odds[i][3];
                    }
                    s2 = macId + "_01_" + odd;
                    this.chkboxes0[i].checked = false;
                    this.chkboxes1[i].checked = false;
                }
                else if (this.chkboxes0[i].checked && this.chkboxes2[i].checked) {
                    if (this.odds[i][5]) {
                        odd = this.odds[i][5];
                    }
                    s2 = macId + "_02_" + odd;
                    this.chkboxes0[i].checked = false;
                    this.chkboxes2[i].checked = false;
                }
                else if (this.chkboxes1[i].checked && this.chkboxes2[i].checked) {
                    if (this.odds[i][4]) {
                        odd = this.odds[i][4];
                    }
                    s2 = macId + "_12_" + odd;
                    this.chkboxes1[i].checked = false;
                    this.chkboxes2[i].checked = false;
                }
                else if (this.chkboxes0[i].checked) {
                    if (this.odds[i][1]) {
                        odd = this.odds[i][1];
                    }
                    s2 = macId + "_0_" + odd;
                    this.chkboxes0[i].checked = false;
                }
                else if (this.chkboxes1[i].checked) {
                    if (this.odds[i][0]) {
                        odd = this.odds[i][0];
                    }
                    s2 = macId + "_1_" + odd;
                    this.chkboxes1[i].checked = false;
                }
                else if (this.chkboxes2[i].checked) {
                    if (this.odds[i][2]) {
                        odd = this.odds[i][2];
                    }
                    s2 = macId + "_2_" + odd;
                    this.chkboxes2[i].checked = false;
                }
                s += s2;
            }
        }
        if (!s) {
            alert("Kupon oluşturmak için maç seçmelisiniz");
            return;
        }
        var liveCoupon = getCookie("LIVE_COUPON");

        if (s) {
            if (liveCoupon) {
                liveCoupon = liveCoupon + "&" + s;
            } else {
                liveCoupon = s;
            }
        }

        var expiration = new Date();
        expiration.setTime(expiration.getTime() + (6 * 60 * 60 * 1000)); // 6 saat
        setCookie("LIVE_COUPON", liveCoupon, expiration);
        Mackolik.LiveScore.getLiveScores(3);
        this.closeDiv();
    },
    deleteCoupon: function(no) {
        var liveCoupon = getCookie("LIVE_COUPON");

        var couponArray = liveCoupon.split("&");
        couponArray.remove(no);
        liveCoupon = couponArray.join("&");
        var expiration = new Date();
        expiration.setTime(expiration.getTime() + (6 * 60 * 60 * 1000)); // 6 saat
        setCookie("LIVE_COUPON", liveCoupon, expiration);

        Mackolik.LiveScore.getLiveScores(3);

    },
    MMCheckBox: function(obj, idx) {
        var s = "";
        var macID = obj.value.substr(0, obj.value.length - 2);
        var sUnderCheck = 'chkboxesU';
        var sOverCheck = 'chkboxesO';
        var sHomeCheck = 'chkboxes1';
        var sAwayCheck = 'chkboxes2';
        var sDrawCheck = 'chkboxes0';

        if (obj.checked) {
            if (obj.name == sUnderCheck || obj.name == sOverCheck) {
                if (obj.name == sUnderCheck) {
                    if (this.chkboxesO[idx].checked) {
                        obj.checked = false;
                        return;
                    }
                } else if (obj.name == sOverCheck) {
                    if (this.chkboxesU[idx].checked) {
                        obj.checked = false;
                        return;
                    }
                }
                this.chkboxes1[idx].checked = false;
                this.chkboxes0[idx].checked = false;
                this.chkboxes2[idx].checked = false;
            } else if (obj.name == sHomeCheck || obj.name == sDrawCheck || obj.name == sAwayCheck) {
                if (obj.name == sHomeCheck) {
                    if (this.chkboxes0[idx].checked && this.chkboxes2[idx].checked) {
                        obj.checked = false;
                        return;
                    }
                } else if (obj.name == sAwayCheck) {
                    if (this.chkboxes0[idx].checked && this.chkboxes1[idx].checked) {
                        obj.checked = false;
                        return;
                    }
                } else if (obj.name == sDrawCheck) {
                    if (this.chkboxes1[idx].checked && this.chkboxes2[idx].checked) {
                        obj.checked = false;
                        return;
                    }
                }
                this.chkboxesU[idx].checked = false;
                this.chkboxesO[idx].checked = false;
            }
        }
    },
    getSelection: function() {
        Mackolik.LiveScore.date = '';
        var url = APP_ROOT + '/LiveScores/SelectionData.aspx?live=' + Mackolik.LiveScore.live + '&iddaa=' + Mackolik.LiveScore.iddaa;
        Mackolik.LiveScore.type = 3;
        var callback = new AjaxCallback(function(response) { Mackolik.LiveScore.MatchSelection.getSelectionCompleted(response) }, null,
        function(response) { Mackolik.LiveScore.errorHandler(); });
        var transaction = YAHOO.util.Connect.asyncRequest('GET', url, callback);

        if (Mackolik.LiveScore.timeout) {
            clearTimeout(Mackolik.LiveScore.timeout);
        }
        Mackolik.Analytics.trackEvent('Canlı Sonuçlar', 'Maç Seçme');
    },
    getSelectionCompleted: function(response) {
        var data = eval("(" + response.responseText + ")");
        this.writeMatchesForSelection(data);
        Mackolik.LiveScore.getLiveScores(3);
    },
    writeMatchesForSelection: function(data) {
        var groupDataFormat = '<div><a href="javascript:popLeague({0})">{1}</a></div>';
        var headerRow = '<tr class="livescore-header"><td colspan=2>Lig</td><td>Saat</td><td>Kod</td><td colspan=3>Maç</td><td>&nbsp;</td><td>1</td><td>0</td><td>2</td><td>A</td><td>Ü</td></tr>'
        var rowFormat = '<tr class="alt{0}" onmouseover="highlight(this);" onmouseout="highlight(this);"><td nowrap><img src="' + GROUP_FLAG_PATH + '{1}.gif"/></td><td title="{3}" nowrap>{5}</td><td nowrap align=center>{6}</td><td align=center><a href="javascript:popComparison({10})">{9}</a></td><td align=right><a href="javascript:popTeam({7})">{2}</a></td><td align=center><a href="javascript:popMatch({10})"><b>{12}</b></a></td><td align=left><a href="javascript:popTeam({8})">{4}</a></td><td align=center><b>{13}</b></td>{11}</tr>';
        var header = '<div id="dvOpenSelection" style="display:none;text-align:right"><img src="' + IMG_PATH + '/mac-sec.gif" onclick="Mackolik.LiveScore.MatchSelection.openDiv();" style="cursor:pointer;">&nbsp;&nbsp;</div><div id="dvSelection"><div style="text-align: right;"><img src="' + IMG_PATH + '/kuponolustur.gif" onclick="Mackolik.LiveScore.MatchSelection.createCoupon();" style="cursor:pointer;">&nbsp;&nbsp;<img src="' + IMG_PATH + '/kapat-buton.gif" onclick="Mackolik.LiveScore.MatchSelection.closeDiv();" style="cursor:pointer;">&nbsp;&nbsp;</div><table cellspacing=0 cellpadding=0 id="resultsList" width="100%">';
        header = header + '<colgroup><col width=12 /><col width=35 /><col width=30 /><col width=20 /><col width=140 /><col width=30 /><col width=140 /><col width=20 /><col width=15 /><col width=15 /><col width=15 /><col width=15 /><col width=15 /></colgroup>';
        var selectionFormat = '<td align=center><input type="checkbox" onclick="Mackolik.LiveScore.MatchSelection.MMCheckBox(this,{0})" class="canlichkb" id="chkboxes1" value="{1}_1" name="chkboxes1" {2} /></td><td align=center><input type="checkbox" onclick="Mackolik.LiveScore.MatchSelection.MMCheckBox(this,{0})" class="canlichkb" id="chkboxes0" value="{1}_0" name="chkboxes0" {3} /></td><td align=center><input type="checkbox" onclick="Mackolik.LiveScore.MatchSelection.MMCheckBox(this,{0})" class="canlichkb" id="chkboxes2" value="{1}_2" name="chkboxes2" {4} /></td><td align=center><input type="checkbox" onclick="Mackolik.LiveScore.MatchSelection.MMCheckBox(this,{0})" class="canlichkb" id="chkboxesU" value="{1}_U" name="chkboxesU" {5} /></td><td align=center><input type="checkbox" onclick="Mackolik.LiveScore.MatchSelection.MMCheckBox(this,{0})" class="canlichkb" id="chkboxesO" value="{1}_O" name="chkboxesO" {6} /></td>';

        var sbScores = new StringBuilder();

        sbScores.append(header);
        sbScores.append(headerRow);
        document.getElementById('dvNoMatches').style.display = "none";
        Mackolik.LiveScore.isPlay = false;

        for (var i = 0; i < data.length; i++) {
            var matchData = data[i];

            this.odds[i] = [];
            this.odds[i][0] = matchData[14];
            this.odds[i][1] = matchData[15];
            this.odds[i][2] = matchData[16];
            this.odds[i][3] = matchData[17];
            this.odds[i][4] = matchData[18];
            this.odds[i][5] = matchData[19];
            this.odds[i][6] = matchData[20];
            this.odds[i][7] = matchData[21];

            if (matchData[5] != 0) {
                this.iddaaMatches.push(new Array(matchData[0], matchData[5], matchData[2], matchData[4], matchData[22], matchData[14], matchData[15], matchData[16], matchData[17], matchData[18], matchData[19], matchData[20], matchData[21]));
            }

            var sbGroupData = new StringBuilder();
            sbGroupData.appendFormat(groupDataFormat, matchData[6], matchData[11]);

            var sbSelection = new StringBuilder();
            sbSelection.appendFormat(selectionFormat, i, matchData[0], matchData[14] ? "title='" + matchData[14].toFixed(2) + "'" : "", matchData[15] ? "title='" + matchData[15].toFixed(2) + "'" : "", matchData[16] ? "title='" + matchData[16].toFixed(2) + "'" : "", matchData[20] ? "title='" + matchData[20].toFixed(2) + "'" : "", matchData[21] ? "title='" + matchData[21].toFixed(2) + "'" : "");

            sbScores.appendFormat(rowFormat, i % 2 + 1, matchData[8], matchData[2], matchData[7], matchData[4],  //4
                sbGroupData, matchData[10], matchData[1], matchData[3], matchData[5] ? matchData[5] : '&nbsp;',  // 9
                matchData[0], sbSelection, matchData[12] ? matchData[12] : "v", matchData[13] ? matchData[13] : "&nbsp;");
        }

        sbScores.append("</table></div>");
        var sTab = Mackolik.LiveScore.writeTabRow(3, null);
        document.getElementById('dvScores').innerHTML = sTab + "<div style='width:100%'>" + sbScores + "</div><div id=\"dvSelectionScores\"></div>";
        Mackolik.LiveScore.copyBanner();
        this.initVariables();
    },
    writeLiveScoresBySelection: function(livedata) {
        var groupDataFormat = '<div><a href="javascript:popLeague({3})">{1}</a></div>';
        var headerRow = '<tr class="livescore-header"><td colspan=2>Lig</td><td>Saat</td><td>Kod</td><td colspan=5>Maç</td><td colspan=3></td><td colspan=2><img src="' + IMG_PATH + '/sil-buton.gif" onclick="Mackolik.LiveScore.MatchSelection.deleteCoupon({0})" style="cursor:pointer;"></td></tr>'
        var rowFormat = '<tr class="alt{0}" id="row_{16}"><td nowrap><img src="' + GROUP_FLAG_PATH + '{12}.gif"/></td><td title="{14}" nowrap>{13}</td><td nowrap align=center>{17}</td><td nowrap><a href="javascript:popComparison({16})">{9}</a></td><td align=right><a href="javascript:popTeam({7})">{2}</a></td><td nowrap align=right class="td_red1">{5}</td><td nowrap class="score">{3}</td><td nowrap class="td_red2">{6}</td><td><a href="javascript:popTeam({8})">{4}</a></td><td align=center class="td_status">{1}</td><td nowrap align=center style="font-weight:bold" class="td_option">{18}</td><td nowrap>{11}</td><td>{19}</td><td class="td_statusIcon">{20}</td></tr>';
        var header = '<table cellspacing=0 cellpadding=0 border=0 id="resultsList" width="100%">';
        header = header + '<colgroup><col width=12 /><col width=40 /><col width=40 /><col width=30 /><col width=130 /><col width=8 /><col width=70 /><col width=8 /><col width=130 /><col width=30 /><col width=30 /><col width=10 /><col width=30 /><col width=15 /></colgroup>';
        //var bannerRow = '<tr><td class="bannerPlaceHolderTd" align="center" colspan="14"><div id="bannerPlaceHolder"/></td></tr>';
        var footer = '</table>';

        var sbScores = new StringBuilder();

        var serverTime = livedata.t;
        var data = livedata.m;
        if (livedata.t && document.getElementById('spTime')) {
            document.getElementById('spTime').innerHTML = livedata.t;
        }

        document.getElementById('dvNoMatches').style.display = "none";
        Mackolik.LiveScore.isPlay = false;
        var liveCoupons = getCookie("LIVE_COUPON");
        sbScores.append(header);
        //sbScores.append(bannerRow);
        sbScores.append(footer);
        if (!liveCoupons) {
            document.getElementById('dvSelectionScores').innerHTML = sbScores + "<div style='color:red;font-weight:bold;height:20px;padding-top:10px;text-align:center'>Maç seçmelisiniz</div>";
            return;
        }
        var coupons = liveCoupons.split("&");
        for (var i = 0; i < coupons.length; i++) {
            var matches = coupons[i].split("|");
            sbScores.append(header);
            sbScores.appendFormat(headerRow, i);
            var rowNumber = 0;

            for (var j = 0; j < matches.length; j++) {
                var matchData = matches[j].split("_");
                var macId = matchData[0];
                var option = matchData[1];
                var odd = matchData[2];

                for (var k = 0; k < data.length; k++) {
                    if (data[k][0] == parseInt(macId)) {
                        var strRow = writeMatchRow(data[k], option, odd);
                        sbScores.append(strRow);
                        break;
                    }
                }
            }
            sbScores.append(footer);
        }
        document.getElementById('dvSelectionScores').innerHTML = "<div style='float:left;width:100%'>" + sbScores + "</div>";

        function writeMatchRow(matchData, option, odd) {
            if (odd == 0) {
                odd = null;
            }
            var score = '';
            var oldScore2 = '';
            var oldScore1 = '';
            var scoreUpdate1 = "", scoreUpdate2 = "";
            var match_status = '';
            var stadium_status = '&nbsp;';
            var matchDetail = matchData[15];
            var redCard1 = '&nbsp;', redCard2 = '&nbsp;';
            var statusFormat = '<img src="' + ICON_PATH + 'p-form-{0}.gif">&nbsp;';
            var sbStatus = new StringBuilder();

            if (matchDetail.f2 || matchDetail.f2 == 0) {
                oldScore1 = "<span class='oldScore'>(" + matchDetail.f2 + ")</span> ";
            }
            if (matchDetail.t) {
                stadium_status = '<span title="Tarafsız Saha" style="color:red;font-weight:bold">T</span>';
            }
            if (matchDetail.s) {
                stadium_status = '<span title="Seyircisiz" style="color:red;font-weight:bold">S</span>';
            }
            if (matchData[8] == 1) {
                scoreUpdate1 = '<img src="' + ICON_PATH + 'ball.gif">';
            }
            if (matchData[5] == 0) {
                score = score + '&nbsp;<a href="javascript:popMatch(' + matchData[0] + ')">v</a>&nbsp;';
            } else {
                if (matchDetail.k1) {
                    redCard1 = '<img src="' + ICON_PATH + 'kk-' + matchDetail.k1 + '.gif">';
                }
                var score1 = parseInt(matchData[12]);
                var score2 = parseInt(matchData[13]);
                var scoreStyle = "boldScore";
                if (
                 (score1 > score2 && (option == "1" || option == "01" || option == "12")) ||
                 (score1 == score2 && (option == "0" || option == "01" || option == "02")) ||
                 (score1 < score2 && (option == "2" || option == "02" || option == "12")) ||
                 (option == "U" && score1 + score2 < 3) ||
                 (option == "O" && score1 + score2 > 2)) {
                    scoreStyle = "green_score";
                    sbStatus.appendFormat(statusFormat, 'w');
                }
                else {
                    scoreStyle = "red_score";
                    sbStatus.appendFormat(statusFormat, 'l');
                }
                score = score + '<a href="javascript:popMatch(' + matchData[0] + ')" class="' + scoreStyle + '">' + matchData[12] + " - " + matchData[13] + '</a>';

                if (matchDetail.k2) {
                    redCard2 = '<img src="' + ICON_PATH + 'kk-' + matchDetail.k2 + '.gif">';
                }
            }
            if (matchData[9] == 1) {
                scoreUpdate2 = '<img src="' + ICON_PATH + 'ball.gif">';
            }
            if (matchData[5] == 0) {
                match_status = "&nbsp;";
            } else if (matchData[5] == 2) {
                match_status = "<span class='red_score'>" + matchData[6] + "</span>";
            } else if (matchData[5] == 1 || matchData[5] == 3 || matchData[5] == 5) {
                if (parseInt(matchData[6]) < 0) {
                    match_status = "<span class='red_score'><span class='sp_minute'>0</span><img src='" + ICON_PATH + "blink_bg.gif'/></span>";
                } else {
                    match_status = "<span class='red_score'><span class='sp_minute'>" + matchData[6] + "</span><img src='" + ICON_PATH + "blink_bg.gif'/></span>";
                }
            } else {
                match_status = "<span class='bold_score sp_minute'>" + matchData[6] + "</span>";
            }

            if (matchDetail.f1 || matchDetail.f1 == 0) {
                oldScore2 = " <span class='oldScore'>(" + matchDetail.f1 + ")</span> ";
            }
            var rowType = (rowNumber % 2) + 1;
            rowNumber++;

            if (matchData[8] == 1 || matchData[9] == 1) {
                rowType = "goal";
                Mackolik.LiveScore.isPlay = true;
                Mackolik.LiveScore.sNewGoals += matchData[0] + '_' + matchData[12] + '_' + matchData[13] + "|";
            }
            var sbGroupData = new StringBuilder();

            sbGroupData.appendFormat(groupDataFormat, matchData[17], matchData[22], matchData[18], matchData[16]);

            if (!match_status) {
                match_status = "&nbsp;";
            }

            var team1 = matchData[2];
            if (matchDetail.e == 1) {
                team1 = "<b>" + matchData[2] + "</b>";
            }

            var team2 = matchData[4];
            if (matchDetail.e == 2) {
                team2 = "<b>" + matchData[4] + "</b>";
            }
            var optionText = option;
            switch (option) {
                case "U":
                    optionText = "A";
                    break;
                case "O":
                    optionText = "U";
                    break;
                case "01":
                    optionText = "1-X";
                    break;
                case "02":
                    optionText = "X-2";
                    break;
                case "12":
                    optionText = "1-2";
                    break;
                case "0":
                    optionText = "X";
                    break;
            }

            score = oldScore1 + "<span class=\"td_update1\">" + scoreUpdate1 + "</span><span class=\"td_score\">" + score + "</span><span class=\"td_update2\">" + scoreUpdate2 + "</span>" + oldScore2;

            sbScores.appendFormat(rowFormat,
                rowType, match_status, team1, score, team2,  //4
                redCard1, redCard2, matchData[1], matchData[3], matchData[14] ? matchData[14] : '<img src="' + ICON_PATH + 'compare.gif">',  // 9
                matchData[7] ? matchData[7] : '&nbsp;', stadium_status, matchData[17], sbGroupData, matchData[18] + ' ' + matchData[19], // 14
                matchData[21], matchData[0], matchData[21], optionText, odd ? parseFloat(odd).toFixed(2) : "&nbsp;", sbStatus); // 20

            return sbScores;
        }
    }
}
