function efface() {
	for(var i=0; i<10; i++) {
		document.frm[i].value=""
	}
	//document.frm.liste.value = ""
}
function effaceliste() {
	document.frm.liste.value = ""
}
function toint(s) {
	var u = s.replace(/^\s+/,"")
	u = u.replace(/\s+$/,"")
	return parseInt(u)
}


function teste() {
	var s0="", s1="", s2="", s3="", test=true, test1=true,total=0, somme
	var tb=new Array(), t = new Array(0,0,0,0,0,0,0,0,0,0,0);
	for(var i=0; i<10; i++) {
		var a = toint(document.frm[i].value)
		
		if(a.toString()=="NaN") a=0
		document.frm[i].value = a
		tb[i]=a
		tb[i+10] = a
		t[a]++
		if(a<1 || a>10)s2 += a+" "
		total+=a
	}
	somme = Math.floor((2*total)/5)
	for(var i=1; i<=10; i++) {
		if(t[i]==0) s0 += i+" "
	}
	for(var i in t) {
		if(t[i]>1) s1 += i+" "
	}
	if(s0 !="" || s1!="" || s2!="") test = false
	for(i=0; i<5; i++) {
		var n = tb[2*i]+tb[2*i+1]+tb[2*i+3]+tb[2*i+4]
		s3+= n+" "
		if(n!=somme) {
			test1 = false
		}
	}
	
	var result = ""

	if(test == false) {
		if(s0 !="") result += "Les entiers suivants ne sont pas utilisés "+s0+"<br>"
		if(s1 !="") result += "Les entiers suivants sont utilisés plusieurs fois : "+s1+"<br>"
		if(s2 !="") result += "Les entiers suivants ne sont pas dans l'intervalle [1, 10] : "+s2+"<br>"

	} 
	if(test1==false) {
		result += "Les sommes ne sont pas toutes égales à "+somme
	}
	if(test1==false) {
		result = "<u>Erreur</u><br>"+result+"<br>"
	} else {
		if(test==true) {
			result = "Une solution utilisant les entiers de 1 à 10 est trouvée : <br>"
		} else if(s1=="") {
			result = "une solution est trouvée : <br>"
		}
		for(var i=0; i<10; i++) result += tb[i]+" "
	}
	//result += s3
	document.getElementById("commentaire").innerHTML = result
}
function demo(s) {
	document.frm.liste.value=s
	place()
	teste()
}

function hasard() {
	var k = Math.floor(sols5.length*Math.random())
	document.frm.liste.value = sols5[k]
	place()
	teste()
}

function solution() {
	var sol = [12,4,7,2,8,6,11,9,3,1,5,10]
	for(var i=0;i<10;i++) {
		document.frm[i].value = sol[i]
	}
}

function place() {
	var u = document.frm.liste.value
	u = u.replace(/^\s+/,"")
	u = u.replace(/\s+$/,"")
	u = u.replace(/\s+/g," ")
	document.frm.liste.value = u
	var t = u.split(/\s+/g)
	efface()
	for(var i=0; i<t.length && i<10; i++) 
		document.frm[i].value = t[i]
}

function bij() {
	var t = new Array(10)
	for(var i=0; i<10; i++) t[i]=i
	for(var i=9; i>0; i--) {
		var j = Math.floor((i+1)*Math.random())
		var a = t[j]
		t[j]=t[i]
		t[i]=a
	}
	return t
}

function partiel(k) {
	var t = bij()
        var m = Math.floor(sols5.length*Math.random())
	var s = sols5[m]
	s = s.replace(/\s+$/,"")
        var u = s.split(/\s+/g)
	for(var i=0; i<k; i++) 
		u[t[i]]=""
	effaceliste()
	efface()
	for(var i=0; i<10; i++)document.frm[i].value = u[i]
	delete(t)
	delete(u)
}



