// JavaScript Document

var sudoku = new Array(9);
var sol = new Array(9);

for (i=0; i<=8; i++) {
	sudoku[i] = new Array(9);
	sol[i] = new Array(9);
	for (j=0; j<=8; j++)
		sudoku[i][j] = sol[i][j] = " ";
}

function valide_ligne(x, y, valeur) {
	for (i=0; i<=8; i++) {
		if (sudoku[i][y] == valeur) {
			alert("Il y a deja un "+valeur+" dans cette colonne !")
			return false
		}
	}
	
	return true
}

function valide_colonne(x, y, valeur) {
	for (i=0; i<=8; i++) {
		if (sudoku[x][i] == valeur) {
			alert("Il y a deja un "+valeur+" dans cette ligne !")
			return false
		}
	}
	
	return true
}

function valide_region(x, y, valeur) {
	carreX = Math.floor(x/3)
	carreY = Math.floor(y/3)
	
	for (j=0; j<=2; j++) {
		for (i=0; i<=2; i++) {
			LX = 3*carreX+i
			LY = 3*carreY+j
			if (sudoku[LX][LY] == valeur)  {
				alert("Il y a deja un "+valeur+" dans cette region !")
				return false
			}
		}
	}
	
	return true
}

function valider_case(x, y, valeur) {
	if (IsVerif && valeur.length < 2) {
		if (!valide_ligne(x, y, valeur)) return false
		if (!valide_colonne(x, y, valeur)) return false
		if (!valide_region(x, y, valeur)) return false
	}
	sudoku[x][y] = valeur
	return true
}


function modifier(x, y, champs) {
	valeur = champs.value
	champs.value = ""
	sudoku[x][y] = " "
	if (valeur >= "1" && valeur <= "9") {
		if (valider_case(x, y, valeur)) {
			champs.value = valeur;
		}
	}
	return;
}

function AutoV()
{
IsVerif=!IsVerif;
}

