function hide_all_sections(ident) {
  var sections = get_element_by_id("sections-" + ident);
  if (!sections || sections.length == 0) return;
  var sections = sections.childNodes;
  for (i = 0; i < sections.length; ++i) {
    if (sections[i].className != "section") continue;
    sections[i].style.display = "none";
  }
}

function set_all_selectors_inactive(ident) {
  var selectors = get_element_by_id("section-selectors-" + ident);
  if (!selectors || selectors.length == 0) return;
  var selectors = selectors.childNodes;
  for (i = 0; i < selectors.length; ++i) {
    if (!selectors[i].className ||
        selectors[i].className.search("section-selector") == -1)
      continue;
    selectors[i].className = "plain section-selector";
  }
}

function init_all_sections(ident) {
  hide_all_sections(ident);
  var sections = get_element_by_id("sections-" + ident);
  if (!sections || sections.length == 0) return;
  var sections = sections.childNodes;
  for (i = 0; i < sections.length; ++i) {
    if (sections[i].className != "section") continue;
    sections[i].style.display = "block";
    break;
  }
}

function init_all_section_selectors(ident) {
  set_all_selectors_inactive(ident);
  var selectors = get_element_by_id("section-selectors-" + ident);
  if (!selectors || selectors.length == 0) return;
  var selectors = selectors.childNodes;
  if (!selectors || selectors.length == 0) return;
  for (i = 0; i < selectors.length; ++i) {
    if (!selectors[i].className ||
        selectors[i].className.search("section-selector") == -1) continue;
    selectors[i].className = "selected section-selector";
    break;
  }
}

function init(ident) {
  init_all_section_selectors(ident);
  init_all_sections(ident);
}

function get_init_function(ident) {
  return function() { init(ident); };
}

function activate_section(ident, section) {
  var section = get_element_by_id("section-" + ident + "-" + section);
  if (section) {
    hide_all_sections(ident);
    section.style.display = "block";
  }
}

function activate_selector(ident, section) {
  var selector = get_element_by_id("section-selector-" + ident + "-" + section);
  if (selector) {
    set_all_selectors_inactive(ident);
    selector.className = "selected section-selector";
  }
}

function handle_section_selector_click(ident, section) {
  activate_selector(ident, section);
  activate_section(ident, section);
}

function register_tab_group(ident)
{
  register_OnLoad_handler(get_init_function(ident))
}
