// Affichage parcours etudiant
// (uses jQuery)

function toggle_vis(e, new_state) {
  // change visibility of tr (UE in tr and next tr)
  // e is the span containg the clicked +/- icon
  var formsemestre_class = e.classList[1];
  var tr = e.parentNode.parentNode;
  if (new_state == undefined) {
    // current state: use alt attribute of current image
    if (e.childNodes[0].alt == "+") {
      new_state = false;
    } else {
      new_state = true;
    }
  }
  if (new_state) {
    new_tr_display = "none";
  } else {
    new_tr_display = "table-row";
  }
  $("tr." + formsemestre_class + ":not(.rcp_l1)").css(
    "display",
    new_tr_display
  );

  // find next tr in siblings (xxx legacy code, could be optimized)
  var sibl = tr.nextSibling;
  while (sibl != null && sibl.nodeType != 1 && sibl.tagName != "TR") {
    sibl = sibl.nextSibling;
  }
  if (sibl) {
    var td_disp = "none";
    if (new_state) {
      e.innerHTML =
        '<img width="13" height="13" border="0" title="" alt="+" src="/ScoDoc/static/icons/plus_img.png"/>';
    } else {
      e.innerHTML =
        '<img width="13" height="13" border="0" title="" alt="-" src="/ScoDoc/static/icons/minus_img.png"/>';
      td_disp = "inline";
    }
    // acronymes d'UE
    sibl = e.parentNode.nextSibling;
    while (sibl != null) {
      if (sibl.nodeType == 1 && sibl.className == "ue_acro")
        sibl.childNodes[0].style.display = td_disp;
      sibl = sibl.nextSibling;
    }
  }
}

var sems_state = false;

function toggle_all_sems(e) {
  var elems = $("span.toggle_sem");
  for (var i = 0; i < elems.length; i++) {
    toggle_vis(elems[i], sems_state);
  }
  sems_state = !sems_state;
  if (sems_state) {
    e.innerHTML =
      '<img width="18" height="18" border="0" title="" alt="-" src="/ScoDoc/static/icons/minus18_img.png"/>';
  } else {
    e.innerHTML =
      '<img width="18" height="18" border="0" title="" alt="+" src="/ScoDoc/static/icons/plus18_img.png"/>';
  }
}
