Allora ho sistemato il codice ma le pedine non si muovono e non capisco come mai
file scacchi.js
codice:
var oldColorG; //serve per ripristinare il colore della prima pedina selezionata
var oldColorV; //serve per ripristinare il colore della seconda pedina selezionata
var oldMoveG; //la vecchia posizione della prima pedina
var oldMoveV; //la vecchia posizione della seconda pedina
var xhr=getXMLHttpRequest(); //l'oggetto XMLHttpRequest per comunicare con il server

//mi costruisco la mia scacchiera
function scacchiera()
{
	document.write('<table cellpadding=10 cellspacing=2 border=3px');
	for(i=0;i<10;i++)
	{
		document.write('<tr>'); //creo le righe
		for(j=0;j<10;j++)
		{
			((i+j)%2 !=0) ? colore='white' : colore='black'; //creo il colore di background bianco e nero alternati
			document.write('<td id='+i+','+j+' bgcolor='+colore+' width=50 height=50> </td>');
		} //con <td> mi creo la cella
		document.write('</tr>');
	}
	document.write('</table>');
	document.getElementById("0,9").setAttribute('bgcolor','yellow');//la prima pedina
        document.getElementById("9,0").setAttribute('bgcolor','green');//seconda pedina
	oldColor1='black';
	oldColor2='white';
	oldMove1="0,9";
	oldMove2="9,0";
}

function getXMLHttpRequest()
{
	if(XMLHttpRequest)
	return new XMLHttpRequest();
	else
	{
		try
		{ //eccezione per Internet Explorer 6.0 o minori
			return new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				return new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{}
		}
	}
	return false;
}


///////////////////////////////////////////////////////////////////////////
var puntatoreMossa; //tiene traccia delle mosse
var giocatore; //tiene traccia di chi sara' il giocatore

function gioca()
{
	//xhr.onreadystatechange=callback;
	puntatoreMossa=0;
	giocatore="yellow";
	setTimeout('richiestaNewMossa('+puntatoreMossa+')',1000);
}

//funzione che richiede una nuova mossa
function richiestaNewMossa(puntatoreMossa)
{
	xhr.onreadystatechange=function()
	{
	if(xhr.readyState==4)
	if(xhr.status==200)

	{
		rispNewMossa(xhr.responseText);
	}
	xhr.open("GET","getPosition.php?",true);
	xhr.send(null);
}
	}

//risposta nuova mossa
function rispNewMossa()
{
	if(risposta)
	{
		var coord=risposta.split(",");
		if(document.getElementById(coord[0]+","+coord[1]).getAttribute('bgcolor')=="black")
		{
			alert("Mossa ignorata:sei su una casella bianca");
		}
		else if((coord[0]+","+coord[1])==oldMove1 && giocatore=="red")
		{
			document.getElementById(oldMove2).setAttribute('bgcolor',"white");
			document.getElementById(coord[0]+","+coord[1].setAttribute('bgcolor',"red"));
			alert("Il giocatore rosso ha mangiato!");
		}
		else if((coord[0]+","+coord[1])==oldMove2 && giocatore=="red")
		{
			document.getElementById(oldMove1).setAttribute('bgcolor',"white");
			document.getElementById(coord[0]+","+coord[1].setAttribute('bgcolor',"red"));
			alert("Il giocatore rosso ha mangiato!");
		}
		else if(giocatore=="red")
		{
			document.getElementById(oldMove1).setAttribute('bgcolor',"white");
			oldMove1=coord[0]+","+coord[1];
			document.getElementById(coord[0]+","+coord[1].setAttribute('bgcolor',"red"));
			giocatore=red;
		}	
		puntatoreMossa++;
		setTimeout('richiestaNewMossa('+puntatoreMossa+')',1000);	
	}
	else
		{
			//fine mosse
		}
	}


function addMove()
{
	var x = document.getElementById("x").value;
	var y = document.getElementById("y").value;

	xhr.onreadystatechange=function()
	{
		if (xhr.readyState==4 )
		if (xhr.status==200)
		respMove(xhr.responseText);
	}
	xhr.open("GET","addPosition.php?x="+x+"&y="+y,true);
	xhr.send();
}
function rispostaNewMossa(resp)
{	
	richiestaNewMossa(puntatoreMossa);
}
//file addPosition.php
[code]
<?php

if(isset($_GET["x"],$_GET["y"]))
{
$x = $_GET["x"];
$y = $_GET["y"];
$file = fopen("mosse.txt","a");
if($file)
{
fputs($file,"x$x,y$y;",4096);
fclose($file);
echo 1;
return;
}
echo -1;
}

?>
[code]

//file getPosition.php
codice:
<?php
$file=file('mosse.txt');
//la richiesta
$mossa=$_REQUEST['moveNumber'];
//controllo se la mossa esiste
if($mossa>=sizeof($file)||$mossa<0)
echo -1; //non esiste
else
echo trim($file[$mossa]); //ritorno il valore corrispondente nel file
?>
Dove sbaglio???