/*
grilles.js

Copyright (C) 2006 Jean-Paul Davalan <jpdvl@wanadoo.fr>

+-------+-------+-------+
| 4 . . | . . 5 | . . 1 |
| . 2 5 | . 4 . | 7 8 . |
| 6 9 . | . . . | 3 . . |
+-------+-------+-------+
| 3 . . | . . 8 | . . . |
| . 4 . | 1 . 2 | 6 . 7 |
| 7 . 1 | 9 . . | . . . |
+-------+-------+-------+
| . 7 . | . 9 . | 1 . . |
| 9 8 6 | 2 . . | . 5 . |
| . . 3 | . 6 4 | . . 8 |
+-------+-------+-------+

*/

function grille(n) {
	this.connus=grillesTab[n][0];
        this.niveau=grillesTab[n][1];
        this.gitxt=grillesTab[n][2];
        this.gctxt=grillesTab[n][3];
        this.gitab=new Array();
        this.gctab=new Array();
        for(var i=0; i<9; i++) {
          this.gitab[i] = new Array();
          this.gctab[i] = new Array();
          for(var j=0; j<9; j++) {
             u=9*i+j;
             var a = this.gitxt.charAt(u);
             if(a=="-") {
                this.gitab[i][j]=" "
             } else {
                this.gitab[i][j]=a;
             }
             var b = this.gctxt.charAt(u);
             this.gctab[i][j]=b;
          }
       }
	function toText(k, d){
           var s0 = "+-------+-------+-------+";
           var s = "";
           var tab = (k==0)?this.gitab : this.gctab;
           for(var i=0; i< 9; i++) {
              if(i%3==0) s +=  s0+"\n"
              var lg=""
              for(var j=0; j<9; j++) {
                if(j%3==0) {
                  lg += "| "
                }
                u = tab[i][j]
                if(u=="" || u==" ") u="."
                lg += u+" ";
              }
              lg +="|\n"
              s += lg
           }
           s += s0 + "\n"
           if(k==1) {
           document.getElementById(d).innerHTML="<pre>"+s+"</pre>"
           } else if(k==0) {
               s += "nombre de chiffres : "+this.connus+"   ";
               s += "niveau : "+this.niveau+""

           document.getElementById(d).innerHTML='<textarea name="ar">'+s+'</textarea>'
           }
        }
        this.toText=toText;
}


var gr=null;
var savegr="";
var testsol=false;

function suivte(k) {
var m = (parseInt(document.frm.g.value)+k)%ngrilles
document.frm.g.value = m;
nouvelle(0);
}

function nouvelle( k ) {
	var m;
        if(k==0) {
           m = parseInt(document.frm.g.value)%ngrilles
        } else {
           m = Math.floor(ngrilles*Math.random());
        }
        document.frm.g.value=m
        if(gr != null) delete(gr);
        gr = new grille(m);
        savegr = "";
        gr.toText(0, "gril");
        document.getElementById("gril2").innerHTML="";
        testsol=false;
        document.frm.but2.value="Solution";
}

function solution() {
	if(gr!=null) {
                if(testsol==false) {
		gr.toText(1, "gril2");
                   testsol = true;
                   document.frm.but2.value="Effacer la solution";
                } else {
                document.getElementById("gril2").innerHTML="";
                   document.frm.but2.value="Solution";
                   testsol = false;
                }
	} else {
          testsol=false;
          document.frm.but2.value="Solution";
        }
}

function retour() {
	if(gr!=null) {
                document.getElementById("gril").innerHTML=savegr;
                document.getElementById("gril2").innerHTML="";
        }
}

//document.getElementById("Serie").innerHTML=

