function calc() {
  var i, j, erreur=false;
  var k=parseInt(document.raisons.k.value);
  var sr = document.raisons.r.value
  sr = sr.replace(/^\s/g,"");
  sr = sr.replace(/\s$/g,"");
  sr = sr.replace(/,+/g," ");
  sr = sr.replace(/\s+/g," ");
  var a = sr.split(/\s+/);
  var tab = new Array();
  var origine = new Array();
  ltab = a.length*k;
  for(i=0;i<ltab;i++) 
    tab[i] = -1;
  for(i=0; !erreur && i<a.length;i++) {
    var u = parseInt(a[i])
    for(orig=0; orig<ltab && tab[orig]!=-1;orig++) ;
    origine[i] = orig;
    for(j=0;!erreur && j<k;j++) {
      if(orig+j*u >= ltab || tab[orig+j*u] != -1) {
        erreur=true
      } else {
        tab[orig+j*u] = i;
      }
    }
  }
  for(i=0;!erreur && i<ltab;i++)
    if(tab[i]==-1) erreur = true;
  if(erreur) {
    document.raisons.txt.value = "Erreur dans les données !"
  } else {
    s = "Pavage :\n"
    for(i=0;i<ltab;i++) {
      s += tab[i]
      if(i<ltab-1) s +=", "
      else s +="\n";
   }
   s += "Progressions :\n"
   for(i=0;i<a.length;i++) {
     s += "("
     for(j=0;j<k;j++) {
       s +=origine[i]+j*a[i]
       if(j<k-1) s += ", "
       else s += ") "
     }
   }
   s += "\n"
   document.raisons.txt.value = s
  }
}

function rclr() {
document.raisons.k.value=""
document.raisons.r.value=""
document.raisons.txt.value = ""
}

var ktab=new Array(3,3,3,3,3,3,3,4,4,4,4,4);
var rtab = new Array(
"8, 9, 10, 2, 5, 7, 6, 3",
"5 1 13 3 11 8 4 9 7 6 2",
"6 4 18 15 3 14 10 12 9 1 8 5 2",
"8 14 23 7 24 22 3 19 13 20 9 2 12 15 10 5 6 4",
"11 29 13 31 25 28 21 5 16 14 26 6 18 15 24 19 17 9 2 10 7 1 4",
"12 19 13 1 37 33 24 20 27 22 3 17 21 18 23 28 2 4 6 16 15 11 14 10 8 7 5",
"60 57 130 50 110 126 90 32 15 24 51 82 121 66 61 115 35 78 3 97 81 87 5 92 2 6 34 85 45 7 100 40 104 79 95 108 102 19 83 72 101 94 84 13 65 16 41 38 47 88 55 39 86 12 67 27 74 89 59 62 49 21 69 80 53 64 46 58 37 63 42 28 29 26 23 9 31 36 30 4 17 33 20 22 8 18 14 11 10",
"16 2 11 18 15 6 1 14 8 12 4 9 5 7 3",
"4 9 16 17 18 19 2 13 14 5 15 8 12 6 7 3",
"1 18 6 9 7 19 23 21 13 22 20 12 10 14 17 8 3 5 4 2",
"24 16 13 20 17 2 25 6 26 27 22 3 11 19 15 18 10 5 8 9 12 4 7 1",
"7 8 11 34 23 13 2 18 17 24 29 26 20 5 25 15 9 19 14 22 16 1 12 10 6 4 3"
);

function exo(n) {
  rclr()
  document.raisons.k.value = ktab[n]
  document.raisons.r.value = rtab[n]
  document.raisons.txt.value = "Raisons :\n"+rtab[n]+"\n";
}

function raisons_clr() {
  document.raisons.k.value=""
  document.raisons.r.value=""
  document.raisons.txt.value=""
}

