Sono riusciuto a fare quasi tutto quello che mi serviva. Però ho un piccolo problema.

Un volta che clicco sulla miniatura aggiorno tutti i vari campi che mi servono, compresi i form per votare la foto. A me piacerebbe usare ajax anche per questi form, in modo che quando voto la foto la pagina non si ricarica. Solo che non capisco come fare.

La mia funzione ajax riceve un url compreso di query string che sarà poi processata dal file ajax.php.

codice:
var ajax_req = null;

function Richiesta(url)
{
    if (url.length > 0)
    {
        ajax_req = RicavaBrowser(CambioStato);
        ajax_req.open("GET", url, true);
        ajax_req.send(null);
    }
    else
    {
        document.getElementById("Title").innerHTML = "";
    } 
}

function CambioStato()
{
    if (ajax_req.readyState == 4 && ajax_req.status == 200)
    {
        alert(ajax_req.responseText);
        var obj = eval("(" + ajax_req.responseText + ")");
        document.getElementById("ImageBig").src = obj.U_RIGHT_F;
        document.getElementById("ImageBig").title = obj.RIGHT_TITOLO;
        document.getElementById("Enlarge").href = obj.U_RIGHT_F;
        document.getElementById("Enlarge").title = obj.RIGHT_TITOLO;
		document.getElementById("Title").innerHTML = obj.RIGHT_TITOLO;
		document.getElementById("info_voto").innerHTML = obj.RIGHT_F_VOTO;
		document.getElementById("info_votanti").innerHTML = obj.RIGHT_F_VOTANTI;
		document.getElementById("form_foto").Nome.value = obj.RIGHT_TITOLO;
		document.getElementById("text_comm").innerHTML = obj.RIGHT_COMMENTO;
		document.getElementById("commento").innerHTML = obj.RIGHT_COMMENTO;
		document.getElementById("info_user").innerHTML = obj.RIGHT_F_USER+" "+obj.RIGHT_F_DATA;

		if(obj.RIGHT_IS_OWNER == false){
			document.getElementById("form_foto").Nome.style.display="none";
			document.getElementById("form_foto").text_comm.style.display="none";
			document.getElementById("form_foto").invia_dati.style.display="none";
		}else{
			document.getElementById("form_foto").Nome.style.display="block";
			document.getElementById("form_foto").text_comm.style.display="block";
			document.getElementById("form_foto").invia_dati.style.display="block";
		}
		if(obj.RIGHT_IS_OWNER == false && obj.RIGHT_NO_COMMENT == true){
			document.getElementById("tab_comm").style.display="none";
		}else{
			document.getElementById("tab_comm").style.display="block";
		}
		if(obj.RIGHT_IS_U_LOGGED == false){
			document.getElementById("div_voto").style.display="none";
		}else{
			document.getElementById("div_voto").style.display="block";
		}
		if(obj.RIGHT_IS_FRECCIA_SX == false || obj.RIGHT_IS_SINGOLA == true){
			document.getElementById("sx_arrow").style.display="none";
		}else{
			document.getElementById("sx_arrow").style.display="block";
		}
		if(obj.RIGHT_IS_FRECCIA_DX == false || obj.RIGHT_IS_SINGOLA == true){
			document.getElementById("dx_arrow").style.display="none";
		}else{
			document.getElementById("dx_arrow").style.display="block";
		}
    }
}

function RicavaBrowser(QualeBrowser)
{
    if (navigator.userAgent.indexOf("MSIE") != (-1))
    {
        var Classe = "Msxml2.XMLHTTP";
        if (navigator.appVersion.indexOf("MSIE 5.5") != (-1));
        {
            Classe = "Microsoft.XMLHTTP";
        } 
        try
        {
            OggettoXMLHTTP = new ActiveXObject(Classe);
            OggettoXMLHTTP.onreadystatechange = QualeBrowser;
            return OggettoXMLHTTP;
        }
        catch(e)
        {
            alert("Errore: l'ActiveX non verrà eseguito!");
        }
    }
    else if (navigator.userAgent.indexOf("Mozilla") != (-1))
    {
        OggettoXMLHTTP = new XMLHttpRequest();
        OggettoXMLHTTP.onload = QualeBrowser;
        OggettoXMLHTTP.onerror = QualeBrowser;
        return OggettoXMLHTTP;
    }
    else
    {
        alert("Non funziona con questo browser!");
    }
}
Nel file HTML la chiamo così

codice:
           <div class="forabg colonna_sx">
			<div class="inner"><span class="corners-top"><span></span></span>
				<div class="bg1">		
					<table>
						<tr>
						
						</tr><tr>
						<td><a title="{L_TITOLO_THUMB}" href="javascript:void(0)" onClick="Richiesta('{all_foto.U_FOTOG}')">
						
							[img]{all_foto.U_THUMB}[/img]
						
							[img]{all_foto.U_THUMB}[/img]
						
						</a>

						
						<p style="text-align-left; margin: 0px; padding: 0px;">
							
								<input name="{all_foto.CHECK_NAME}" type="checkbox" value="{all_foto.CHECK_VALUE}"/>[img]{U_IMG_LUCC}[/img]
							
								<input name="{all_foto.CHECK_NAME}" type="checkbox" value="{all_foto.CHECK_VALUE}"/>
							
						</p>
						
						</td>
						
						</tr>
					</table>
				</div>
		<span class="corners-bottom"><span></span></span></div>
		</div>
Vado poi ad aggiornare la pagina nei punti che mi interessa, tra i quali il form di cui parlavo sopra. A questo punto mi piacerebbe fare in modo che tale form richiami ancora la funzione ajax però con l'argomento giusto.

Non so se mi sono spiegato bene.
Intanto grazie