Ciao a tutti,

Sono di fronte a un problema che non riesco a risolvere, sicuramente è una banalità.
Attraverso prototype eseguo delle chiamate AJAX. Ho una semplice funzione sendAjaxRequest che per semplicità prepara la richiesta con un formato comune a tutta la web application:

codice:
function sendAjaxRequest() {
  var url = arguments[0];
  var prop = arguments[1];
  var silent = false;
  if (arguments.length > 2) {
    var silent = arguments[2];
  }
	prop.method = 'post';
  if (!silent) {
	  prop.onCreate = function(t) {
  		document.body.appendChild(new Element('div', { 'id' : 'wait' }));
  	};
  	prop.onComplete = function(t) {
		  $('wait').remove();
  	};
  }
	prop.onFailure = function(t) {
		alert('Errore di comunicazione con il server.');
	};
	
	return new Ajax.Request(url, prop);
}
Tutto funziona perfettamente, eccetto quando silent è false e il secondo argomento passato alla funzione sendAjaxRequest già contiene la definizione di onComplete (stesso problema per onCreate che attualmente non sto usando).

Come faccio a fare in modo che i trigger onCreate e onComplete vengano aggiunti se già definiti in prop?

Questa chiamata funziona, ma l'alert viene sovrascritto dalla onComplete assegnata nella sendAjaxRequest:

codice:
sendAjaxRequest('/url', {
 onComplete: function(t) { alert('test'); }
});
Come faccio a fare in modo che la sendAjaxRequest aggiunga, in "append", alla eventuale onComplete già esistente evidando quindi di sovrascrivere il codice passato alla funzione?

Grazie.