invece altri problemi sono arrivati..

sono riuscito ad inserirlo nella generazione della pagina da php.. e funzionava!! poi ho provato ad aggiungere un po' di codice per cercare di generare anche le didascalie (che volevo acquisire in un altro arrayD) legate alle immagini e che vanno inserite in un altro div che ha come id="didascalia".. allora all'interno della funzione che mi hai postato ho aggiunto delle righe che pensavo avrebbero agito su questo div..

codice:
window.onload = function(){
	document.getElementById('indietro').onclick=function (idImg, did) {
	if (n == 0) {
	n = nmax;
	}
	else {
	n = n - 1;
	}		
	immagine = document.getElementById('img_gal');
		immagine.src = '../el_img/el_galleria/<?php echo $categoria; ?>/' +arrayJS[n];
	dida = document.getElementById('didascalia');
		dida.innerText = arrayD[n];
	}


	document.getElementById('avanti').onclick=function(idImg, did) {
	if (n == nmax) {
	n = 0;
	}
	else {
	n = n + 1;
	}
	immagine = document.getElementById('img_gal');
		immagine.src = '../el_img/el_galleria/<?php echo $categoria; ?>/' +arrayJS[n];
	dida = document.getElementById('didascalia');
		dida.innerText = arrayD[n];
	}

};	// non ho ancora capito se questo punto e virgola è necessario??
Volevo puntualizzare che il tuo codice a me sembra qualcosa di magico perchè non ne riesco proprio a seguirne la logica..

per esempio già come inizia window.onload = function() (questa funzione non ha un nome?? e poi agisce sull'oggetto window??)
poi l'id passato è quello del pulsante e non quello dell'immagine??
Insomma non ci sto capendo un'hacca!!! aiuto!!!!!!!!!