Prima di pensare a javascript io mi butterei su CSS, ovvero il linguaggio appropriato per la gestione della grafica di un documento. Partirei, dunque, da questo:
	codice:
	td:hover { background-color:#ccc }
 
Visto che la pseudo-classe hover applicata ad elementi diversi dai link ipertestuali è supportata solo dai browser seri, allora occorre fare qualcosa anche per il caca-browser IE.
Anche qui, piuttosto che sporcare il markup con tutto quel codice javascript, proverei a sfruttare un connubio tra CSS e js stesso, con la tecnica dell'attribuzione delle classi.
	codice:
	Javascript
function sopra(id) {
   document.getElementById(id).className = ".sopra"
}
function fuori(id) {
   document.getElementById(id).className = ".sopra"
}
 
	codice:
	CSS
td:hover,
.sopra { background-color:#ccc }
 
	codice:
	XHTML
<td id="prodotto" onmouseover="sopra('prodotto')" onmouseout="fuori('prodotto')">
   Contenuto della cella.
</td>
 
Ora, la soluzione con l'utilizzo degli id fa davvero schifo, lo riconosco.  C'è qualche espertone (nuuuuky?!?
 C'è qualche espertone (nuuuuky?!?  ) che mi modifica la funzione sfruttando this?
 ) che mi modifica la funzione sfruttando this?
Grazie. 