Mackolik = Mackolik || {};

Mackolik.LiveScore.Survey = {
    surveyOption: [],
    interval: 100,
    bSort: -1,
    bSortDir: 0,
    showType: 1,
    getSurvey: function() {
        Mackolik.LiveScore.type = 4;
        Mackolik.LiveScore.writeLoading();
        var url = APP_ROOT + '/LiveScores/SurveyData.aspx?group=' + Mackolik.LiveScore.groupId + '&live=' + Mackolik.LiveScore.live + '&date=' + Mackolik.LiveScore.date;
        var callback = new AjaxCallback(function(response) { Mackolik.LiveScore.Survey.getSurveyCompleted(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', 'Anket');
    },
    getSurveyCompleted: function(response) {
        var sTab = Mackolik.LiveScore.writeTabRow(4, null);
        var data = response.responseText;
        //document.getElementById('dvScores').innerHTML = sTab + "<div style='width:100%'>" + data + "</div><div id=\"dvSelectionScores\"></div>";
        data.evalScripts();
    },

    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.matchCount = this.chkboxes0.length;
    },

    MMCheckBox: function(obj, idx) {
        var s = "";
        //        var macID = obj.value.substr(0, obj.value.length - 2);
        var sHomeCheck = 'chkboxes1';
        var sAwayCheck = 'chkboxes2';
        var sDrawCheck = 'chkboxes0';
        if (obj.checked) {
            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;
                    }
                }
            }
        }
    },
    givePoll: function() {
        var s = "";
        for (var i = 0; i < this.matchCount; i++) {
            if (this.chkboxes0[i].checked) {
                s += this.chkboxes0[i].value + ";";
                this.chkboxes0[i].checked = false;
            }
            else if (this.chkboxes1[i].checked) {
                s += this.chkboxes1[i].value + ";";
                this.chkboxes1[i].checked = false;
            }
            else if (this.chkboxes2[i].checked) {
                s += this.chkboxes2[i].value + ";";
                this.chkboxes2[i].checked = false;
            }
        }
        if (!s) {
            alert("En az bir maça oy vermelisiniz");
            return;
        }
        this.getPollResponse(s);
    },

    getPollResponse: function(polls) {
        Mackolik.LiveScore.date = '';
        if (!polls) {
            polls = '';
            return;
        }
        var responseString = 'mackolik;uref;1;' + polls;
        var eScript = document.createElement("script");
        eScript.setAttribute("src", "http://www.surveey.com/PollGateway.aspx?QueryString=" + responseString);
        eScript.setAttribute("type", "text/javascript");
        document.getElementsByTagName("head").item(0).appendChild(eScript);
        if (window.surveey) {
            surveey = null;
        }

        Mackolik.LiveScore.Survey.interval = window.setInterval(Mackolik.LiveScore.Survey.checkSurveyResponse, 100);
    },

    checkSurveyResponse: function() {
        if (!window.surveey) {
            return;
        }
        window.clearInterval(Mackolik.LiveScore.Survey.interval);
        for (var j in surveey.surveey.data) {
            Mackolik.LiveScore.Survey.SurveyData.surveey.data[j] = surveey.surveey.data[j];
        }
        Mackolik.LiveScore.Survey.changeSurveyData(surveey);
    },

    changeSurveyData: function(surveeyLst) {

        var surveeyData = surveeyLst.surveey.data;

        for (var matchData in surveeyData) {
            var trMatchId = matchData;
            var p = surveeyData[matchData].p;
            var td1OptionId = "td_" + surveeyData[matchData].o[0][0];
            var td2OptionId = "td_" + surveeyData[matchData].o[1][0];
            var td3OptionId = "td_" + surveeyData[matchData].o[2][0];

            var td1Option = document.getElementById(td1OptionId)
            var td1OptionSpan = td1Option.getElementsByTagName("span")[0];

            td1OptionSpan.title = surveeyData[matchData].o[0][1] + " oy";
            td1OptionSpan.innerHTML = "%" + surveeyData[matchData].o[0][2];
            td1Option.className = "hide" + p;
            td1Option.setAttribute('alt', p);

            var td2Option = document.getElementById(td2OptionId)
            var td2OptionSpan = td2Option.getElementsByTagName("span")[0];

            td2OptionSpan.title = surveeyData[matchData].o[1][1] + " oy";
            td2OptionSpan.innerHTML = "%" + surveeyData[matchData].o[1][2];
            td2Option.className = "hide" + p;
            td2Option.setAttribute('alt', p);

            var td3Option = document.getElementById(td3OptionId)
            var td3OptionSpan = td3Option.getElementsByTagName("span")[0];

            td3OptionSpan.title = surveeyData[matchData].o[2][1] + " oy";
            td3OptionSpan.innerHTML = "%" + surveeyData[matchData].o[2][2];
            td3Option.className = "hide" + p;
            td3Option.setAttribute('alt', p);
        }
    },

    showSurveyResultOrPoll: function(type) {
        this.showType = type;
        var length = document.getElementById('resultsList').getElementsByTagName('tr').length;
        var rows = document.getElementById('resultsList').getElementsByTagName('tr');
        for (var i = 1; i < length; i++) {
            var alt = rows[i].getElementsByTagName('td')[8].getAttribute('alt');
            if (rows[i].getElementsByTagName('input').length > 0 && alt == "1") {
                rows[i].getElementsByTagName('td')[8].className = "hide" + type;
                rows[i].getElementsByTagName('td')[9].className = "hide" + type;
                rows[i].getElementsByTagName('td')[10].className = "hide" + type;
            }
        }
        if (type == 0) {
            document.getElementById('imgAnket').style.display = "";
            document.getElementById('imgSonuc').style.display = "none";
        } else {
            document.getElementById('imgAnket').style.display = "none";
            document.getElementById('imgSonuc').style.display = "";
        }
    },
    changeSort: function(bSort, bSortDir) {
        this.bSort = bSort;
        this.bSortDir = bSortDir;
        Mackolik.LiveScore.Survey.writeMatchesForSurvey();
        if (this.showType == 0) {
            this.showSurveyResultOrPoll(0);
        }
    },

    writeMatchesForSurvey: function() {
        var surveyMatchArray = Mackolik.LiveScore.Survey.SurveyMatchArray;
        var surveyData = Mackolik.LiveScore.Survey.SurveyData;

        if (Mackolik.LiveScore.aGroups.groupId != Mackolik.LiveScore.groupId || Mackolik.LiveScore.aGroups.live != Mackolik.LiveScore.live || Mackolik.LiveScore.aGroups.iddaa != 1 || Mackolik.LiveScore.aGroups.date != Mackolik.LiveScore.date) {
            Mackolik.LiveScore.aGroups = [];
            Mackolik.LiveScore.aSelectedGroups = [];
            Mackolik.LiveScore.aGroups.groupId = Mackolik.LiveScore.groupId;
            Mackolik.LiveScore.aGroups.live = Mackolik.LiveScore.live;
            Mackolik.LiveScore.aGroups.date = Mackolik.LiveScore.date;
            Mackolik.LiveScore.aGroups.iddaa = 1;
        }

        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>';
        headerRow += '<td align=right style="padding-right:5px">1 <img style="cursor: pointer;" src="' + ICON_PATH + 'sort-' + ((this.bSort == 1 && this.bSortDir == 0) ? 'orange' : 'blue') + '-top.gif" onclick="Mackolik.LiveScore.Survey.changeSort(1, 0)"/><img style="cursor: pointer;" src="' + ICON_PATH + 'sort-' + ((this.bSort == 1 && this.bSortDir == 1) ? "orange" : "blue") + '-bottom.gif" onclick="Mackolik.LiveScore.Survey.changeSort(1, 1)"/></td>';
        headerRow += '<td align=right style="padding-right:5px">0 <img style="cursor: pointer;" src="' + ICON_PATH + 'sort-' + ((this.bSort == 0 && this.bSortDir == 0) ? 'orange' : 'blue') + '-top.gif" onclick="Mackolik.LiveScore.Survey.changeSort(0, 0)"/><img style="cursor: pointer;" src="' + ICON_PATH + 'sort-' + ((this.bSort == 0 && this.bSortDir == 1) ? "orange" : "blue") + '-bottom.gif" onclick="Mackolik.LiveScore.Survey.changeSort(0, 1)"/></td>';
        headerRow += '<td align=right style="padding-right:5px">2 <img style="cursor: pointer;" src="' + ICON_PATH + 'sort-' + ((this.bSort == 2 && this.bSortDir == 0) ? 'orange' : 'blue') + '-top.gif" onclick="Mackolik.LiveScore.Survey.changeSort(2, 0)"/><img style="cursor: pointer;" src="' + ICON_PATH + 'sort-' + ((this.bSort == 2 && this.bSortDir == 1) ? "orange" : "blue") + '-bottom.gif" onclick="Mackolik.LiveScore.Survey.changeSort(2, 1)"/></td></tr>';
        var rowFormat = '<tr id="tr_{10}" 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="dvSelection">';
        header = header + '<div><div style="float:left;width:50%"><img src="' + IMG_PATH + '/new.gif" >&nbsp;<a href="javascript:Mackolik.LiveScore.chooseLeague();"><img src="' + IMG_PATH + '/lig-sec2.gif" ></a>&nbsp;';
        if (Mackolik.LiveScore.aSelectedGroups.length > 0) {
            header = header + "<a href='javascript:Mackolik.LiveScore.clearSelection()'><img src='" + IMG_PATH + "/tumligler.gif'></a>";
        }
        header = header + '</div><div style="float:left;width:50%;text-align:right;">';
        header = header + '<img src="' + IMG_PATH + '/oyver.gif" onclick="Mackolik.LiveScore.Survey.givePoll();" style="cursor:pointer;"/>&nbsp;&nbsp;<img id="imgSonuc" src="' + IMG_PATH + '/sonucgoster.gif" onclick="Mackolik.LiveScore.Survey.showSurveyResultOrPoll(0);" style="cursor:pointer;"/><img id="imgAnket" src="' + IMG_PATH + '/anket-goster.gif" onclick="Mackolik.LiveScore.Survey.showSurveyResultOrPoll(1);" style="cursor:pointer;display:none"/>&nbsp;</div><div style="clear:both;"></div></div><table cellspacing=0 cellpadding=0 id="resultsList" width="100%">';
        header = header + '<colgroup><col width=12 /><col width=35 /><col width=70 /><col width=20 /><col width=120 /><col width=30 /><col width=120 /><col width=20 /><col width=35/><col width=35 /><col width=35 /></colgroup>';

        //var bannerRow = '<tr><td class="bannerPlaceHolderTd" align="center" colspan="14" style="display:none;"><div id="bannerPlaceHolder"/></td></tr>';
        var selectionFormat = '<td align=right class="hide{8}" alt="{8}" id="td_{2}"><input type="checkbox" onclick="Mackolik.LiveScore.Survey.MMCheckBox(this,{0})" class="canlichkb" id="chkboxes1" value="{7}={2}" name="chkboxes1" title="{1}" /><span id="span1" {12} title="{9}">{1}</span></td>';
        selectionFormat += '<td align=right class="hide{8}" alt="{8}" id="td_{3}"><input type="checkbox" onclick="Mackolik.LiveScore.Survey.MMCheckBox(this,{0})" class="canlichkb" id="chkboxes0" value="{7}={3}" name="chkboxes0" title="{5}" /><span id="span0" {13} title="{10}">{5}</span></td>';
        selectionFormat += '<td align=right class="hide{8}" alt="{8}" id="td_{4}"><input type="checkbox" onclick="Mackolik.LiveScore.Survey.MMCheckBox(this,{0})" class="canlichkb" id="chkboxes2" value="{7}={4}" name="chkboxes2" title="{6}" /><span id="span2" {14} title="{11}">{6}</span></td>';
        var resultFormat = '<td id="td_{6}" align=center {0}>{1}</td><td id="td_{7}" align=center {2}>{3}</td><td id="td_{8}" align=center {4}>{5}</td>'

        var sbScores = new StringBuilder();

        sbScores.append(header);
        //sbScores.append(bannerRow);
        sbScores.append(headerRow);
        document.getElementById('dvNoMatches').style.display = "none";
        Mackolik.LiveScore.isPlay = false;
        var chckCount = 0;

        if (Mackolik.LiveScore.Survey.bSort != -1) {
            surveyMatchArray.sort(
            function(a, b) {
                var a1, b1;
                if (!surveyData.surveey.data[a[0]] || !surveyData.surveey.data[b[0]]) {
                    return -1;
                }
                switch (Mackolik.LiveScore.Survey.bSort) {
                    case 1:
                        a1 = surveyData.surveey.data[a[0]].o[0][2];
                        b1 = surveyData.surveey.data[b[0]].o[0][2];
                        break;
                    case 0:
                        a1 = surveyData.surveey.data[a[0]].o[1][2];
                        b1 = surveyData.surveey.data[b[0]].o[1][2];
                        break;
                    case 2:
                        a1 = surveyData.surveey.data[a[0]].o[2][2];
                        b1 = surveyData.surveey.data[b[0]].o[2][2];
                        break;
                }
                if (Mackolik.LiveScore.Survey.bSortDir == 0) {
                    return a1 - b1;
                } else {
                    return b1 - a1;
                }
            }
            );
        }

        var iCount = 0;

        for (var i = 0; i < surveyMatchArray.length; i++) {
            var matchData = surveyMatchArray[i];
            var surveeyData = surveyData.surveey.data[matchData[0]];
            if (!surveeyData) {
                continue;
            }
            if (Mackolik.LiveScore.aSelectedGroups.length > 0 && !Mackolik.LiveScore.aSelectedGroups.contains(matchData[6])) {
                continue;
            }
            if (!Mackolik.LiveScore.aGroups.containsProperty(matchData[6], "id")) {
                Mackolik.LiveScore.aGroups.push({ id: matchData[6], gId: matchData[8], name: matchData[7], gName: matchData[9] });
            }
            var sbSelection = new StringBuilder();

            sbSelection.appendFormat(selectionFormat, chckCount, "%" + surveeyData.o[0][2], surveeyData.o[0][0],//2
                                        surveeyData.o[1][0], surveeyData.o[2][0], "%" + surveeyData.o[1][2], "%" + surveeyData.o[2][2], matchData[0],//7
                                        surveeyData.p, surveeyData.o[0][1] + " oy", surveeyData.o[1][1] + " oy", surveeyData.o[2][1] + " oy",//11
                                        (matchData[15] == 1 ? "class=\"cifteSansRatio\"" : ""), (matchData[15] == 0 ? "class=\"cifteSansRatio\"" : ""),//13
                                        (matchData[15] == 2 ? "class=\"cifteSansRatio\"" : "")); //14
            iCount++;
            chckCount++;
            var match_status;
            if (matchData[14] == 1 || matchData[14] == 3) {
                match_status = "<span class='red_score'>" + matchData[13] + "<img src='" + ICON_PATH + "blink_bg.gif'/></span>";
            } else {
                match_status = matchData[13];
            }
            var sbGroupData = new StringBuilder();
            sbGroupData.appendFormat(groupDataFormat, matchData[6], matchData[11]);

            sbScores.appendFormat(rowFormat, iCount % 2 + 1, matchData[8], matchData[2], matchData[9] + ' ' + 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", match_status ? match_status : "&nbsp;");
        }
        sbScores.append("</table></div>");
        var sTab = Mackolik.LiveScore.writeTabRow(4, null);
        document.getElementById('dvScores').innerHTML = sTab + "<div style='width:100%'>" + sbScores + "</div><div id=\"dvSelectionScores\"></div>";
        Mackolik.LiveScore.aGroups.sort(sortGroupArray);
        Mackolik.LiveScore.copyBanner();
        this.initVariables();
    }
};
function sortGroupArray(a, b) {
    var x = a.gName + a.name;
    x = replaceTurkish(x);
    var y = b.gName + b.name;
    y = replaceTurkish(y);

    if (x < y) return -1;
    if (x > y) return +1;
    return 0;
}

