function removeClass(o, cl) { o.className = o.className.replace(' ' + cl, ''); }
function addClass(o, cl) { if (o.className.indexOf(cl) == -1) { o.className = o.className + ' ' + cl; } }
function tabSelected(id) {
    var o = document.getElementById('hrono');
    var elems = o.childNodes;
    for (var i = 0; i < elems.length; i++) {
        if (elems[i].className == 'hronobody') {addClass(elems[i], 'hidden'); }
    }

    var o = document.getElementById('bn_tab' + id);
    if (o != null) {removeClass(o, 'hidden');}

    var o = document.getElementById('hrono_header');
    var elems = o.childNodes;
    var count = 0;
    for (var i = 0; i < elems.length; i++) {            
      if (elems[i].className != undefined && (elems[i].className.substring(0,8) == 'tab_link'))  {
        elems[i].className = 'tab_link'
        if (count == id)
          { elems[i].className = 'tab_link tab_link_sel';
            elems[i].blur();
          }
        count++;
      }
    }
}

function tabSelected_tv(id) {
    var o = document.getElementById('tv_prog');
    var elems = o.childNodes;
    for (var i = 0; i < elems.length; i++) {
        if (elems[i].className == 'tv_body') {addClass(elems[i], 'hidden'); }
    }

    var o = document.getElementById('tv_tab' + id);
    if (o != null) {removeClass(o, 'hidden');}

    var o = document.getElementById('tv_header');
    var elems = o.childNodes;
    var count = 0;
    for (var i = 0; i < elems.length; i++) {            
      if (elems[i].className != undefined && (elems[i].className.substring(0,8) == 'tab_link'))  {
        elems[i].className = 'tab_link'
        if (count == id - 1)
          { elems[i].className = 'tab_link tab_link_sel';
            elems[i].blur();
          }
        count++;
      }
    }
}

function tabSelected_gn(id) {
    var o = document.getElementById('gn_prog');
    var elems = o.childNodes;
    for (var i = 0; i < elems.length; i++) {
        if (elems[i].className == 'gn_body') {addClass(elems[i], 'hidden'); }
    }

    var o = document.getElementById('gn_tab' + id);
    if (o != null) {removeClass(o, 'hidden');}

    var o = document.getElementById('gn_header');
    var elems = o.childNodes;
    var count = 0;
    for (var i = 0; i < elems.length; i++) {            
      if (elems[i].className != undefined && (elems[i].className.substring(0,8) == 'tab_link'))  {
        elems[i].className = 'tab_link'
        if (count == id)
          { elems[i].className = 'tab_link tab_link_sel';
            elems[i].blur();
          }
        count++;
      }
    }
}

function getElementsByClassName(className, tag, elm) { 
  var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)"); 
  var tag = tag || "*"; var elm = elm || document; 
  var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag); 
  var returnElements = []; 
  var current; 
  var length = elements.length; 
  for(var i=0; i<length; i++) { 
    current = elements[i]; 
    if(testClass.test(current.className)) { returnElements.push(current); } 
  }
  return returnElements; 
} 


function getElementByClassName(className, tag, elm) { 
  var elements = getElementsByClassName(className, tag, elm); 
  if (elements.length != 0) { return elements[0]; } else { return null; } 
}

function GetParentByClassName(target, className) { 
  var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)"); 
  var parent = target; 
  while (parent.parentNode) { 
    parent = parent.parentNode; 
    if (testClass.test(parent.className)) { break; } 
  } 
  return parent; 
}

function EditBox(event) { 
  event = event || window.event; 
  var target = event.currentTarget || event.srcElement; 
  var content = getElementByClassName("box_c", "div", GetParentByClassName(target, "box")); 
  var settingsDiv = getElementByClassName("box_s", "div", GetParentByClassName(target, "box")); 
  
  if (settingsDiv) { 
    settingsDiv.style.display = (settingsDiv.style.display == 'block') ? 'none' : 'block'; 
  } 
}


