var combliste, nbcomb;
var bij = function(x) {
        return x
}

function comb(L, t, n ,k) {
   if(n<k) {
     return "";
   }
   if(k==0) {
     combliste += "{"+L+"}, ";
     nbcomb++;
   } else {
      for(var i=0;i < n-k+1; i++) {
        var L2 = L + t[i];
        if(k>1) L2 += ", ";
        
        var t2 = new Array();
        var j = 0;
        for(var r = i+1 ; r < n ; r++) {
             t2[j] = t[r]
             j++;
        }
        comb(L2, t2, j, k-1);
     }
   }
}

function effectue() {
  var L = ""
  var t = new Array();
  var n = parseInt(document.frm.n.value);
  var k = parseInt(document.frm.k.value);
  for(var i=1; i<=n; i++) {
    t[i-1] = i;
  }
  if(document.frm.chk.checked) {
        var s = document.frm.ens.value
        s = s.replace(/[\{\}\,\;]+/g," ")
        s = s.replace(/\s+/g," ")
        s = s.replace(/^\s+/,"")
        s = s.replace(/\s+$/,"")
        var ens = s.split(/\s+/)
        for(var i=0; i<n; i++)
                t[i] = ens[i]
  }

  combliste = "";
  nbcomb = 0;
  comb(L, t, n, k);
  document.frm.arr.value = combliste;
  document.frm.a.value = nbcomb;
}

function efface() {
  document.frm.n.value = "";
  document.frm.k.value = "";
  document.frm.arr.value = "";
  document.frm.a.value = "";
}

function ex(k, n) {
  document.frm.arr.value = "";
  document.frm.a.value = "";
  document.frm.k.value = k;
  document.frm.n.value = n;
  effectue();
}

