// 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 = '+'; } }