							
        function decToHex(dec) {
            var hexa="0123456789ABCDEF";
            var hex="";
            while (dec>15) {
                tmp=dec-(Math.floor(dec/16))*16;
                hex=hexa.charAt(tmp)+hex;
                dec=Math.floor(dec/16);
            }
            hex=hexa.charAt(dec)+hex;
            return(hex);
        }
        
        function hexToDec(hex) {
            return parseInt(hex,16);
        }

		function filter_add(filter,criteria) {
			var root = document.getElementById("root").value;
			var fstack = document.getElementById("fstack");
			var cstack = document.getElementById("cstack");
			var url;
			fstack.value = fstack.value + "_" + filter;
			cstack.value = cstack.value + "_" + criteria;
			url = root + "&F=" + fstack.value + "&C=" + cstack.value +"&mode=" + document.entete.mode.value;
			document.location.href = url;
		}

		function filter_remove(filter) {
			var root = document.getElementById("root").value;
			var fstack = "X" + document.getElementById("fstack").value;
			var cstack = "X" + document.getElementById("cstack").value;
			var url;
			var f,c;

      // recherche et supprime ce filtre de la pile
      //alert("Chaîne d'origine : " + fstack);
      var ftab=fstack.split("_");
      var ctab=cstack.split("_");
      for (var i=1; i<ftab.length; i++) {
       //alert("tableau[" + i + "] = " + ftab[i]);
       if((ftab[i]-filter)==0) {
        //alert("supprimer le rang :" + i);
        ftab[i] = 99999;
       }
      }

      // reconstitue les piles
      f = "";
      c = "";
      for(i=1; i<ftab.length; i++) {
        if(ftab[i]!=99999) {
          f += "_" + ftab[i]; 
          c += "_" + ctab[i];
        }
      }

      // rappelle la page
			url = root + "&F=" + f + "&C=" + c +"&mode=" + document.entete.mode.value;
			document.location.href = url;
		}		

