<?php

function competences($pid) {
	//Compétences des profs
	//=====================
	//contient le formulaire de remplissage des compétences ainsi que toute
	//la tringlerie js qui va avec (sauf feuille de style include/rubitem.css
	//Appelé par admin/profs_form admin/prof_ajout1, ... (?) [£££ à compléter]
	
	//£pid est l'id du prof concerné
	
	?>
	<script language="javascript">
	    function clicToutAucun(ouinon)  {
	    //formulaire et nomchkbx sont des chaînes spécifiant les "name" des objets
	    //ouinon vaut true ou false
	    // toutes les cases à cocher spécifiées sont cochées (ou décochées si ouinon==false)
	     var frm=eval('document.'+formulaire);
	     //on ne peut pas invoquer les checkboxes par leur nom du fait des
	     //crochets nécessaires à PHP, d'où le test bestial dans la boucle ci-dessous
	     for (i=0;i<frm.elements.length; i++) {
	         if (frm.elements[i].name==nomchkbx) {
	                 frm.elements[i].checked=ouinon;
	            //alert('name='+frm.elements[i].name+' param='+nomchkbx);
	            }
	         }
	    }
	
	    function toutcodeco(first_item,last_item) {
	    for (i=first_item ; i<=last_item ; i++) {
	        chkbox=document.getElementById('idchkit'+i);
	        chkbox.checked=!chkbox.checked;
	        }
	    }
	    </script>
	
	    <table  border = "0" width="100%" class='encadre_pres'><tr class='paire'><td>
	    <table border = "0"  width="100%"><tr ><td>
	         <table border ="0">
	         <tr>
	         <td width = "140"><b>&nbsp;&nbsp;&nbsp;Compétences :</b></td>
	         <td width="100"><i>
	         <a href='#' title="Coche toutes les compétences" onclick="clicglobal('form1','CBCompetences[]',true);">[Toutes]
	          </a> </i></td>
	          <td width = "100"><i>
	          <a href='#' title="Décoche toutes les compétences" onclick="clicglobal('form1','CBCompetences[]',false);">[Aucune]</a>&nbsp;</i></td>
	
	          </tr>
	          </table>
	    </td></tr>
	    <tr><td>
	    <div class='arial_petit'>
	
	<?php
	//Recherche de toutes les compétences
	//-----------------------------------
	//refonte dd 07/2006
	$rqniv=getBrevetFromNiv();
	
	if ($pid) //le prof existe : on a besoin de ses compétences actuelles
	    $sql="SELECT SUM(lpi.prof_id=$pid),rubriques.rub_no,items.item_id, rubriques.libelle, libelles.base
	          FROM rubriques, libelles, items
	          LEFT JOIN lpi ON lpi.item_id = items.item_id ";
	else
	    $sql="SELECT 0,rubriques.rub_no,items.item_id, rubriques.libelle, libelles.base
	          FROM rubriques, libelles, items ";
	
	//la première colonne indique si le prof est compétent pour cet item (1 ou 0).
	//Pour le cas then, réfléchir pourquoi... :-)
	//pour le cas else, le prof n'existe pas encore (ajout1) donc il n'est pas compétent...
	
	$sql.=   "WHERE rubriques.rub_no = items.rub_no
	          AND $rqniv
	          AND items.item_id = libelles.item_id
	          GROUP BY rubriques.rub_no, items.item_id
	          ORDER BY rubriques.rub_no, items.item_id";
	
	$rescomp=query($sql);
	
	$oldrub_no=0;
	$last_item=0;
	$oldrub_no=0;
	$titcomp=$titlib=array();
	
	while (1) {  //boucle n + 1/2 car on ne connaît le nb d'items de chaque rubrique qu'après les avoir tous obtenus
	    $fini=(integer) !(list($estcompetent,$rub_no,$item_id,$rublib,$itemlib)=mysql_fetch_array($rescomp));
	    if ($fini || $rub_no!=$oldrub_no) {
	         //il faut afficher l'ancienne rubrique + items, sauf si elle n'existe pas
	        $premiere_rub=$oldrub_no==0;
	        if (!$premiere_rub) {
	            //afficher l'ancienne rubrique
	            print "<p class=\"librub\">\n";
	            print "<a href=\"javascript:void(0);\" onclick=\"toutcodeco($first_item,$last_item);\" title=\"Coche/décoche tous les items de la rubrique.\">\n";
	            print $oldrub_lib;
	            print "</a>\n";
	            print "</p>\n";
	            //afficher les items de l'ancienne rubrique
	            for ($i=$first_item; $i<=$last_item; $i++) {
	                $checked=$titcomp[$i];
	                // le premier div, positionné, permet d'avoir un conteneur pour garder libitem dans la page--jmt--
	                print "<div class='posdiv'><input type=\"checkbox\" id=\"idchkit$i\" name=\"CBCompetences[]\" value=\"$i\" class=\"chkitem\" $checked />\n";
	                $item=$titlib[$i];
	                print "<div class=\"libitem\">\n";
	                print $item;
	                print "</div></div>\n";
	                }
	           $titcomp=$titlib=array();
	            }
	        //stocker la nouvelle rubrique
	        $oldrub_no=$rub_no;
	        $oldrub_lib=$rublib;
	        $first_item=$item_id;
	        if ($fini) break;
	        }
	    //dans tous les cas, on conserve l'item et la compétence du prof
	    if ($estcompetent) $titcomp[$item_id]="checked=\"checked\"";
	    else $titcomp[$item_id]="";
	    $titlib[$item_id]=$itemlib;
	    //c'est (peut-être) le dernier item de la rubrique
	    $last_item=$item_id; //un jour, ce sera vraiment le last...
	    }
	print "</div></td></tr></table>";
	print "</td></tr></table>";
	
	}
?>