function changeSport(e, mainSport)
{
    var li = e.parentNode;
    var otherSport = false;
    if (li.tagName.toLowerCase() == 'p') {
        li = li.parentNode;
        li = li.parentNode;
        otherSport = true;
    }
    var text = li.innerHTML.stripTags();

    var ul = li.parentNode;
    var cli = ul.childNodes.length;

    var visibleTabs = false;

    for (var i = 0; i < cli; i++) {
        if (ul.childNodes[i].tagName && ul.childNodes[i].tagName.toLowerCase() == 'li') {
            if (ul.childNodes[i].className.indexOf('r') == -1) {
            var tli = ul.childNodes[i];
                if (tli.innerHTML.indexOf('<a') == -1) {
                	tabMain = (visibleTabs == false) ? true : false;

                    var liText = tli.innerHTML.stripTags();
                    tli.innerHTML = '<a href="#" onclick="changeSport(this, ' + tabMain + ', \'' + tli.id + '\'); return false"><span>' + liText + '</span></a>';
                    // sport for deactivation
                    var hideSport = tli.id;
                    var submenu = $('submenu-' + hideSport);
                    $(submenu.parentNode.id).addClassName('hidden');
                    hideTable(hideSport);
                }
            } else if (!visibleTabs && ul.childNodes[i].className.indexOf('r') == 0) {
                var otherLi = ul.childNodes[i];
                var coli = otherLi.childNodes.length;
                for (var j = 0; j < coli; j++) {
                    if (otherLi.childNodes[j].tagName && otherLi.childNodes[j].tagName.toLowerCase() == 'div') {
                        var div = otherLi.childNodes[j];
                        var cdiv = div.childNodes.length;
                        for (var k = 0; k < cdiv; k++) {
                            if (div.childNodes[k].tagName && div.childNodes[k].tagName.toLowerCase() == 'p') {
                                var p = div.childNodes[k];
                                var cp = p.childNodes.length;
                                for (var l = 0; l < cp; l++) {
                                    if (p.childNodes[l].tagName && p.childNodes[l].tagName.toLowerCase() == 'a') {
                                        var a = p.childNodes[l];
                                        if ($(a.id) && $(a.id).hasClassName('active')) {
                                            a.removeClassName('active');
                                            var submenu = $('submenu-' + a.id);
                                            submenu.parentNode.addClassName('hidden');
                                            hideTable(a.id);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }  
    
    if (!otherSport) {
        li.innerHTML = '<strong><span>' + text + '</span></strong>';
        var sport = li.id;
    } else {
        $(e.id).addClassName('active');
        var sport = e.id;
    }

    if (mainSport == true && $('tab-sport-others') && $('tab-sport-others').hasClassName('others-link-active')) {
    	$('tab-sport-others').removeClassName('others-link-active');
    } else if (mainSport == false && $('tab-sport-others') && !$('tab-sport-others').hasClassName('others-link-active')) {
    	$('tab-sport-others').addClassName('others-link-active');
    }

    $($('submenu-' + sport).parentNode.id).removeClassName('hidden');
    showTable(sport);
}

function hideTable(sport)
{
    var submenu = $('submenu-' + sport);
    var csli = submenu.childNodes.length;
    for (var i = 0; i < csli; i++) {
        if (submenu.childNodes[i].tagName && submenu.childNodes[i].tagName.toLowerCase() == 'li') {
            var li = submenu.childNodes[i];
            if ($(li.id).hasClassName('active')) {
                period = li.id.split('-').slice(sport.split('-').length).join('-');
                if ($(sport + '-count-' + period)) {
                    $(sport + '-count-' + period).addClassName('hidden');
                }
            }
        }
    }
}

function showTable(sport)
{
    var submenu = $('submenu-' + sport);
    var csli = submenu.childNodes.length;
    for (var i = 0; i < csli; i++) {
        if (submenu.childNodes[i].tagName && submenu.childNodes[i].tagName.toLowerCase() == 'li') {
            var li = submenu.childNodes[i];
            if ($(li.id).hasClassName('active')) {
                period = li.id.split('-').slice(sport.split('-').length).join('-');
                if ($(sport + '-count-' + period)) {
                    $(sport + '-count-' + period).removeClassName('hidden');
                    document.location.href = '#' + sport + '+' + period;
                    
                    changeAllSportsUrl(sport);
                }
            }
        }
    }
}

function changeSubmenu(sport, period)
{
    var returnValue = true;
    var submenu = $('submenu-' + sport);
    if (submenu) {
        var csli = submenu.childNodes.length;
        for (var i = 0; i < csli; i++) {
            if (submenu.childNodes[i].tagName && submenu.childNodes[i].tagName.toLowerCase() == 'li') {
                var liId = submenu.childNodes[i].id;
                if ($(liId) && $(liId).hasClassName('active')) {
                    // create link on tab
                    var text = $(liId).innerHTML.stripTags();
                    $(liId).innerHTML = '<a href="#" onclick="showOdds(this); return false;">' + text + '</a>';
                    $(liId).removeClassName('active');
                }
            }
        }
        if ($(sport + '-' + period)) {
            $(sport + '-' + period).className = sport + ' active';
            // get text from tab
            var text = $(sport + '-' + period).firstChild.innerHTML.stripTags();
            // remove link
            $(sport + '-' + period).removeChild($(sport + '-' + period).firstChild);
            // create text in tab
            $(sport + '-' + period).insert({top:'<strong>' + text + '</strong>'});
        } else {
            returnValue = false;
        }
    } else {
        returnValue = false;
    }
    return returnValue;
}

function changeAllSportsUrl(newUrl)
{	
	var url = $('link-all-matches').href.split('/');
	var length = url.length;
	
	if (length >= 0	) {
		var urlNew = '';
		for (var i = 0; i < length - 1; i++) {
			if (urlNew != '') {
				urlNew += '/';
			}
			
			if (i < length - 2) {
				urlNew += url[i];
			} else {
				urlNew += newUrl + '/';
			}
		}
		
		$('link-all-matches').href = urlNew;
	}
}

function showOdds(e)
{
    var li = e.parentNode;
    var sport = li.className;
    hideTable(sport);
    var period = e.parentNode.id.split('-').slice(sport.split('-').length).join('-');
    changeSubmenu(sport, period);
    showTable(sport);
}

function showAllOdds(sport, period)
{
    hideTable(sport);
    changeSubmenu(sport, period);
    showTable(sport);
}

function showDefaultSport(sport)
{
    if (document.location.hash.length) {
        var tab = document.location.hash.substr(1).split('+');
        if (tab[0] && tab[1] && changeSubmenu(tab[0], tab[1])) {
            if ($(tab[0]).tagName.toLowerCase() == 'li') {
                var li = $(tab[0]);
                var cli = li.childNodes.length;
                for (var i = 0; i < cli; i++) {
                    if (li.childNodes[i] && li.childNodes[i].tagName && li.childNodes[i].tagName.toLowerCase() == 'a') {
                        changeSport(li.childNodes[i], true);
                    }
                }
            } else if ($(tab[0]).tagName.toLowerCase() == 'a') {
                changeSport($(tab[0]), false);
            }
        }
    }
}