// JavaScript Document
	var chiusi = new Array(64);
	
	var imgQueen = new Image(45,45);
	var imgEmpty = new Image(45,45);
	var imgDot = new Image(45,45);
	var id=0;
	var count=0;
	
	imgQueen.src = "queen.png";
	imgEmpty.src = "empty.gif";
	imgDot.src = "dot.gif";
	
	function placeq (cell)
	{
	  var q = eval(cell.id.substring(1));
	  var r = Math.floor(q /8);
	  var c = q % 8;
	  var min = Math.min(r,c);
	  var max = Math.max(r,c);
	
	  if ( (document.images[q].src == imgEmpty.src) && (safe(q)) )
	  {
		count++;
		for (var h=r*8; h<(r*8)+8; h++)
		{ chiusi[h]=h; document.images[h].src=imgDot.src; }
	
		for (var v=c; v<64; v=v+8)
		{ chiusi[v]=v; document.images[v].src=imgDot.src; }
	
		if (c>r) { var x1=c-r; var x2=q+(9*(8-c)); }
		else { var x1=(r-c)*8; var x2=q+(9*(8-r)); }
		for (var x=x1; x<x2; x=x+9)
		{ chiusi[x]=x; document.images[x].src=imgDot.src; }
	
		if (r+c>7) { var y1=q-((7-c)*7); var y2=q+(7*(8-r)); }
		else { var y1=r+c; var y2=q+(8*c); }
		for (var y=y1; y<y2; y=y+7)
		{ chiusi[y]=y; document.images[y].src=imgDot.src; }
	
		document.images[q].src = imgQueen.src;
	  }
	  if (count == 8)
		alert("Ottimo lavoro, hai risolto il problema!");
	  if (count > 8)
		alert("Ci sono troppe regine!");
	}
	
	function safe (q)
	{ //safe position to place queen on board
	  if ( chiusi[q]==q )
		return false;
	  else
		return true;
	}
	
	function help ()
	{ //help print an example of 8 queens
	  var a = new Array(0,12,23,29,34,46,49,59);
	  clearBoard();
	  for (var i=0; i<8; i++)
		window.document.images[ a[i] ].src = imgQueen.src;
	  count=8;
	  for (var q=0; q<64; q++)
		chiusi[q] = q;
	}
	
	function clearBoard ()
	{ //clear the image array
	  for (var i=0; i<64; i++)
		window.document.images[i].src = imgEmpty.src;
	  count=0;
	  chiusi = new Array(64);
	}
