var Mackolik = Mackolik || {};
Mackolik.LiveScore = Mackolik.LiveScore || {};

Mackolik.LiveScore.Menu = {
    continents: [[1, 'AVRUPA'], [2, 'G.AMERİKA'], [3, 'K.AMERİKA'], [4, 'ASYA'], [6, 'AFRİKA'], [8, 'AVUSTRALYA'], [5, 'CONMEBOL'], [7, 'DİĞER']],
    favoriteLeagues: [{ id: 1, name: "Türkiye" }, { id: 17, name: "İngiltere" }, { id: 14, name: "İspanya" }, { id: 10, name: "İtalya" }, { id: 2, name: "Almanya" }, { id: 3, name: "Fransa" }, { id: 11, name: "Hollanda" }, { id: 5, name: "Belçika" }, { id: 18, name: "İskoçya" }, { id: 13, name: "Portekiz" }, { id: 24, name: "Hazırlık" }, { id: 22, name: "Şampiyonlar Ligi" }, { id: 203, name: "UEFA Avrupa Ligi"}],
    showLeagues: function(obj) {
        if (obj.style.display == "none") {
            obj.style.display = "block";
        } else {
            obj.style.display = "none";
        }
    },
    liveGroup: function(id, name) {
        Mackolik.LiveScore.clearOptions();
        Mackolik.LiveScore.getGroupScores(id, name);
        /*Mackolik.LiveScore.groupId = id;
        Mackolik.LiveScore.groupName = name;
        Mackolik.LiveScore.clearOptions();
        Mackolik.LiveScore.getScores(); */
    },
    showGroups: function(obj, id) {
        if (obj.nextSibling.childNodes.length == 0) {
            this.getGroups(obj.nextSibling, id);
        } else {
            if (obj.nextSibling.style.display == 'none') {
                obj.nextSibling.style.display = '';
            } else {
                obj.nextSibling.style.display = 'none';
            }
        }
    },
    getGroups: function(obj, id) {
        var url = APP_ROOT + '/LiveScores/GroupData.aspx?id=' + id;
        var callback = new AjaxCallback(function(response) { Mackolik.LiveScore.Menu.getGroupsCompleted(obj, response) });
        var transaction = YAHOO.util.Connect.asyncRequest('GET', url, callback);
    },
    getGroupsCompleted: function(obj, response) {
        var data = eval("(" + response.responseText + ")");
        var submenuFormat = '<li class="group fnt-mavi" onclick="setupMenu(this);javascript:Mackolik.LiveScore.Menu.liveGroup({0},\'{1}\')" {2}><img src="' + GROUP_FLAG_PATH + '{0}.gif" />&nbsp;{1}</li>';
        var sbGroups = new StringBuilder();
        for (var i = 0; i < data.length; i++) {
            var group = data[i];
            sbGroups.appendFormat(submenuFormat, group[0], group[1], i % 2 == 1 ? 'style="background-color:#e4e4e4"' : '');
        }
        obj.style.display = "";
        obj.innerHTML = sbGroups.toString();
        var aMenuElements = YAHOO.util.Dom.getElementsBy(function() { return true; }, "li", obj);
        //YAHOO.util.Event.addListener(aMenuElements, 'click', setupMenu);

    },
    writeMenu: function() {
        var header = '<table width="150" cellspacing="0" cellpadding="0" border="0" align="center"><tr><td valign="top" class="boyut karakter mavi bld">';
        var iddaaMenu = '<li class="root" onclick="setupMenu(this);Mackolik.LiveScore.Menu.showLeagues(this.nextSibling)">İDDAA</li><ul><li class="group" onclick="javascript:setupMenu(this);Mackolik.LiveScore.Menu.liveGroup(\'iddaa\',\'İDDAA\');"><div style="width: 20px; float: left;"><img src="' + ICON_PATH + 'iddaa-icon.gif"/></div><div>Hepsi</div></li><li class="group menurow2" onclick="javascript:setupMenu(this);Mackolik.LiveScore.Menu.liveGroup(\'iddaaOLD\', \'İDDAA Geçmiş\');"><div style="width: 20px; float: left;"><img src="' + ICON_PATH + 'iddaa-icon.gif"/></div><div>Geçmiş</div></li><li class="group" onclick="javascript:setupMenu(this);Mackolik.LiveScore.Menu.liveGroup(\'iddaaNEXT\', \'İDDAA Oynanmayan\');"><div style="width: 20px; float: left;"><img src="' + ICON_PATH + 'iddaa-icon.gif"/></div><div>Oynanmayan</div></li><li class="group menurow2" onclick="javascript:setupMenu(this);Mackolik.LiveScore.Menu.liveGroup(\'iddaaLIVE\', \'İDDAA Canlı\');"><div style="width: 20px; float: left;"><img src="' + ICON_PATH + 'iddaa-icon.gif"/></div><div>Canlı</div></li></ul>';
        var list = '<ul id="liveMenu" style="margin-top:0px;"><li class="root" onclick="javascript:document.location.href=\'' + APP_ROOT + '/Basketbol/Canli-Sonuclar\'">BASKETBOL <img src="' + ICON_PATH + 'basketbol-ikon.gif" align="top" /></li><li class="root selected" onclick="javascript:setupMenu(this);Mackolik.LiveScore.Menu.liveGroup(0,\'BUGÜN ÖZET\');">BUGÜN ÖZET</li><li class="root" onclick="javascript:setupMenu(this);Mackolik.LiveScore.Menu.liveGroup(\'all\', \'BUGÜN HEPSİ\');">BUGÜN HEPSİ</li><li class="root" onclick="javascript:setupMenu(this);Mackolik.LiveScore.Menu.liveGroup(\'live\', \'CANLI HEPSİ\');">CANLI HEPSİ</li>{0}{1}{2}<li class="root" onclick="setupMenu(this);Mackolik.LiveScore.Menu.showLeagues(this.nextSibling)" style="cursor:pointer">FAVORİ LİGLER</li><ul>{3}</ul>';
        var submenuFormat = '<li class="group fnt-mavi {2}" onClick="setupMenu(this);Mackolik.LiveScore.Menu.liveGroup({0},\'{1}\');"><div style="width:20px;float:left"><img src="' + GROUP_FLAG_PATH + '{0}.gif"/></div><div>{1}</div></li>';
        var continentFormat = '<li class="root" onclick="setupMenu(this);Mackolik.LiveScore.Menu.showGroups(this,{0});">{1}</li><ul style="display:none;"></ul>';
        var footer = '</td></tr></table>';

        var sbMenu = new StringBuilder();

        sbMenu.append(header);

        var sbBanner = new StringBuilder();
        sbBanner.append("<li style='padding:0;width:150px'>");
        sbBanner.append(document.getElementById("menuBannerContainer").innerHTML);
        sbBanner.append("</li>");

        var sbBanner2 = new StringBuilder();
        sbBanner2.append("<li style='padding:0;width:150px'>");
        sbBanner2.append(document.getElementById("menuBannerContainer2").innerHTML);
        sbBanner2.append("</li>");

        var sbSubMenu = new StringBuilder();
        for (var i = 0; i < this.favoriteLeagues.length; i++) {
            sbSubMenu.appendFormat(submenuFormat, this.favoriteLeagues[i].id, this.favoriteLeagues[i].name, i % 2 == 1 ? 'menurow2' : '');
        }

        sbMenu.appendFormat(list, sbBanner.toString(), iddaaMenu, sbBanner2.toString(), sbSubMenu.toString());
        for (var i = 0; i < this.continents.length; i++) {
            sbMenu.appendFormat(continentFormat, this.continents[i][0], this.continents[i][1]);
        }
        sbMenu.append('</ul>');
        sbMenu.append(footer);

        document.getElementById("dvMenu").innerHTML = sbMenu.toString();
        var aMenuElements = YAHOO.util.Dom.getElementsBy(function() { return true; }, "li", "liveMenu");

        //YAHOO.util.Event.addListener(aMenuElements, 'click', setupMenu);
    },
    clearMenu: function() {
        var aRoots = YAHOO.util.Dom.getElementsByClassName("root", "li", "liveMenu");
        var aMenuElements = YAHOO.util.Dom.getElementsByClassName("group", "li", "liveMenu");

        YAHOO.util.Dom.removeClass(aMenuElements, 'group_selected');
        YAHOO.util.Dom.removeClass(aRoots, 'selected');
    }
}

function setupMenu(obj) {
    var Dom = YAHOO.util.Dom;
    var Event = YAHOO.util.Event;
    var aMenuElements = YAHOO.util.Dom.getElementsBy(function(){return true;}, "li", "liveMenu");
    var aSelected = YAHOO.util.Dom.getElementsByClassName("group_selected");
    Dom.removeClass(aSelected, 'group_selected');
    
    var aRoots = Dom.getElementsByClassName("root", "div", "liveMenu");
    
    for (var index=0;index<aRoots.length;index++) {
        if(Dom.hasClass(aRoots[index], 'selected')) {
            Dom.removeClass(aRoots[index], 'selected');        
            break;
        }
    }
    if(Dom.hasClass(obj, 'root')) {
        Dom.addClass(obj, 'selected');
    } else {
        var ancestor = obj.parentNode.parentNode;
        ancestor = ancestor.getElementsByTagName("div")[0];
        obj.parentNode.style.display = "";
        Dom.addClass(ancestor, 'selected');
        Dom.addClass(obj, 'group_selected');
    }
}