

function n2ens(n) {
	var s=""
	var m=n
	for(var k=1; m>0;k++) {
		if(m%2==1) {
			m -=1
			s = s +=((s=="")?"":", ")+k
		}
		m /= 2
	}
	if(s=="") {
		//s = "&#10672;"
		s = "Ø"
	} else {
		s = "{"+s+"}"
	}
	return s
}

function ens2n(s) {
	var u = s.replace(/^[\{\s]+/,"")
	u = u.replace(/[\s\}]+$/,"")
	u = u.replace(/[\,\;\s]+/g," ")
	var a = u.split(/\s+/g)
	var m=0, t=[]
	for(var i=0; i< a.length; i++) {
		var j = 1*a[i]
		t[j] = 1
		if(j>m) m = j
	}
	if(m==0) return 0
	var k=1
	var n=0
	for(var i=1; i<=m; i++) {
		if(t[i]==1) {
			n += k
		}
		k *= 2
	}
	return n
}

function toens() {
	var u = document.fr0.n.value
	u = u.replace(/^\s+/,"")
	u.replace(/\s+$/,"")
	var n = parseInt(u)
	ensefface()
	numefface()
	document.fr0.n.value = n
        var s = n2ens(n)
	document.getElementById("divEns").innerHTML=s
	document.fr0.ens.value = s
}

function aleatoens() {
	var n = Math.floor(500*Math.random())
	document.fr0.n.value = n
	document.getElementById("divEns").innerHTML=""
	toens()
}

function aleatonum() {
	ensefface()
	numefface()
        var n = Math.floor(500*Math.random())
	var s = n2ens(n)
	document.fr0.ens.value = s
	tonum()
}
	
function tonum() {
	var u = document.fr0.ens.value
	var n = ens2n(u)
        ensefface()
	document.fr0.ens.value = n2ens(n)
        numefface()
	document.fr0.n.value = n
	document.getElementById("divNum").innerHTML=n
}

function ensefface() {
	document.getElementById("divEns").innerHTML=""
	document.fr0.ens.value=""
}

function numefface() {
        document.getElementById("divNum").innerHTML=""
        document.fr0.n.value=""
}



