// 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 = '+'; } else { e.innerHTML = '-'; 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 = '-'; } else { e.innerHTML = '+'; } }