ma che bello, qualcuno che fa esempi e docs al posto mio, non m'era ancora capitato .... grazie mille
solo una cosa, se le funzioni _Progress sono analoghe in tutti i metodi, puoi accorpare meglio così
codice:
listener.encodeString_Progress =
listener.echo_n_Progress = function(p) {
if(document.getElementById)
document.getElementById('progress').innerHTML =
p + '%';
};
e qualora i metodi fossero numerosi, puoi semplificarti la vita così:
codice:
for(var a in listener) {
if(a.indexOf("_Result") === (a.length - 7)) {
listener[a.substr(0, a.indexOf("_Result")) + "_Progress"] = function(p) {
document.getElementById('progress').innerHTML = p + '%';
};
};
};
in modo che per ogni _Result assegnato ti crei in automatico i vari _Progress 
Originariamente inviato da Ndr
P.S.1
Unico neo che ho riscontrato (per ora) e' che se ci sono degli errori nella classe php, lanciando la pagina non ti dice qual'e' e dove sta', ma ritorna semplicemente un alert dicendo che c'e' un problema nella parte di codice php.....
ti dice il metodo della classe che ha dato errore, se attivi il debug, creando la cartella debug sotto quella gateway, ti crea un file di report di tipo .html con eventuale warning o notice 
per il P.S.2 ... posta pure qua senza problemi, per ora non c'è un forum dedicato