function jscss(a,o,c1,c2) {
  switch (a) {
    case 'swap':
      o.className=!jscss('check',o,c1) ? o.className.replace(c2,c1): o.className.replace(c1,c2);
    break;
    case 'add':
      if(!jscss('check',o,c1)){o.className+=o.className?' '+c1:c1;}
    break;
    case 'remove':
      var rep=o.className.match(' '+c1)?' '+c1:c1;
      o.className=o.className.replace(rep,'');
    break;
    case 'check':
      return new RegExp('\\b'+c1+'\\b').test(o.className)
    break;
  }
}

var tv_current_tab = "tv_latest";
var tv_current_category = "";
var tv_offset = 0;
var tv_offset_max = 0;
var tv_club_id = 0;
var tv_clubs_html = "";
var tv_sport_id = 0;
var tv_clip_type = "default";
var tv_tournament_id = 0;
var tv_theme_id = 0;

function tv_select(tab_id, category_id, club_id, sport_id, tournament_id, clip_type, theme_id) {
    tv_club_id = club_id;
    tv_current_category = category_id;
    tv_clip_type = clip_type;
    tv_sport_id = sport_id;
    tv_tournament_id = tournament_id;
    tv_theme_id = theme_id;
    
    if (tab_id == tv_current_tab) {
        return;
    }

    tv_offset = 0;

    var tag = document.getElementById(tab_id);
    jscss("swap", tag, "tv_tab", "tv_tab_selected");

    var tag = document.getElementById(tv_current_tab);
    jscss("swap", tag, "tv_tab_selected", "tv_tab");

    tv_current_tab = tab_id;

    tv_get_list();
}

function tv_select_clubs(tab_id) {
    if (tab_id == tv_current_tab) {
        return;
    }

    var tag = document.getElementById(tab_id);
    jscss("swap", tag, "tv_tab", "tv_tab_selected");

    var tag = document.getElementById(tv_current_tab);
    jscss("swap", tag, "tv_tab_selected", "tv_tab");

    tv_current_tab = tab_id;

    if (tv_clubs_html != "") {
        var tag = document.getElementById("tv_list");
        tag.innerHTML = tv_clubs_html;

        tv_offset_max = 0;
        tv_offset = 0;
        tv_buttons();
        return;
    }

    var callback = { 
	  success: function(o) { 
            dougObject = o.argument;        
            var spos=o.responseText.indexOf('<json>');
            var epos=o.responseText.indexOf('</json>');
            json_string = o.responseText.substring(spos+6,epos);
            var returnObject = eval('(' + json_string + ')');  // user safer json-function

            var tag = document.getElementById("tv_list");
            tag.innerHTML = returnObject.html;
            tv_clubs_html = returnObject.html;
            tv_offset_max = 0;
            tv_offset = 0;
            tv_buttons();
      },
	  failure: function(o) { 
            // alert(o.statusText);
      }, 
      timeout: 5000,
      argument: null
	} 

    var transaction = YAHOO.util.Connect.asyncRequest('GET', "/external/tv/clubs.php", callback, null); 
}

function tv_set_club_id(club_id) {
    tv_club_id = club_id;
}

function tv_get_list() {
    var callback = { 
	  success: function(o) { 
            dougObject = o.argument;        
            var spos=o.responseText.indexOf('<json>');
            var epos=o.responseText.indexOf('</json>');
            json_string = o.responseText.substring(spos+6,epos);
            var returnObject = eval('(' + json_string + ')');  // user safer json-function

            var tag = document.getElementById("tv_list");
            tag.innerHTML = returnObject.html;

            tv_offset_max = returnObject.max;
            tv_buttons();
      },
	  failure: function(o) { 
            // alert(o.statusText);
      }, 
      timeout: 5000,
      argument: null
	} 
    mpt = new Date();
    mpts = mpt.getTimezoneOffset() + mpt.getTime();
    var transaction = YAHOO.util.Connect.asyncRequest('GET', "/external/tv/list.php?offset=" + tv_offset + "&club_id=" + tv_club_id + "&category_id=" + tv_current_category + "&sport_id=" + tv_sport_id + "&tournament_id=" + tv_tournament_id + "&type=" + tv_clip_type + "&theme_id=" + tv_theme_id + "&time=" + mpts, callback, null); 
}    

function tv_get_list_latest() {
    var callback = { 
	  success: function(o) { 
            dougObject = o.argument;        
            var spos=o.responseText.indexOf('<json>');
            var epos=o.responseText.indexOf('</json>');
            json_string = o.responseText.substring(spos+6,epos);
            var returnObject = eval('(' + json_string + ')');  // user safer json-function

            var tag = document.getElementById("box_latest");
            tag.innerHTML = returnObject.html;

            tv_offset_max = returnObject.max;
            tv_latest_buttons();
      },
	  failure: function(o) { 
            // alert(o.statusText);
      }, 
      timeout: 5000,
      argument: null
	} 
    mpt = new Date();
    mpts = mpt.getTimezoneOffset() + mpt.getTime();
    var transaction = YAHOO.util.Connect.asyncRequest('GET', "/external/tv/list_latest.php?offset=" + tv_offset + "&time=" + mpts, callback, null); 
}    

function tv_latest_previous() {
    if (tv_offset > 20) {
        tv_offset -= 21;
    }
    tv_get_list_latest();
}

function tv_latest_next() {
    tv_offset += 21;
    tv_get_list_latest();
}

function tv_latest_buttons() {
    var tag = document.getElementById("tv_previous");
    if (tv_offset > 20) {
        tag.style.display = "block";
    } else {
        tag.style.display = "none";
    }

    var tag = document.getElementById("tv_next");
    if (tv_offset+21 < tv_offset_max) {
        tag.style.display = "block";
    } else {
        tag.style.display = "none";
    }
} 

function tv_previous() {
    if (tv_offset > 8) {
        tv_offset -= 9;
    }
    tv_get_list();
}

function tv_next() {
    tv_offset += 9;
    tv_get_list();
}

function tv_buttons() {
    var tag = document.getElementById("tv_previous");
    if (tv_offset > 8) {
        tag.style.display = "block";
    } else {
        tag.style.display = "none";
    }

    var tag = document.getElementById("tv_next");
    if (tv_offset+9 < tv_offset_max) {
        tag.style.display = "block";
    } else {
        tag.style.display = "none";
    }
} 


