dear friends,
in my js application, consecutive ajax calls are made while running in a for loop. I am using prototype.js for AJAX calls. now if I don't call any function on onComplete event then everything is ok. but if I do so, then the function I have set in an onComplete event is invoked once or twice. rest of the time it doesn't work. the code is like the follwing:

/**
* Moves selected options from source to destination select list.
* @param source select list, destination select list
* @return none
*/
function moveMultipleOption(sourceListId, destListId)// single or multiple based on selection
{

var sourceListBox = document.getElementById(sourceListId);
var destListBox = document.getElementById(destListId);

var sourceTableName ;
var destTableName;

if(sourceListId == 'firstList')
{
sourceTableName = "left_table";
destTableName = "right_table";
}

if(sourceListId == 'secondList')
{
sourceTableName = "right_table";
destTableName = "left_table";
}



for(i = sourceListBox.options.length-1; i>=0; i--)
{
//for() loop is used for finding how many options are selected.
if(sourceListBox.options[i].selected)
{

addOption(destListBox, sourceListBox.options[i].text, sourceListBox.options[i].value);
sourceListBox.options[i].selected = false;

AjaxRequest(sourceListBox.options[i].value,sourceListBox.options[i].text,sourceTableName,destTableName);
}
}

}



/**
* Calls to server through Ajax
* @param option value, option text, source table name and destination table name.
* @return none
*/
function AjaxRequest(i,textValue,sourceTableName,destTableName)
{
var url = '/run.php/SelectList';
var pars = 'cmd=singleTransfer' + '&itemValue=' + i + '&textValue=' + textValue + '&sourceTableName=' + sourceTableName + '&destTableName=' + destTableName;

var myAjax = new Ajax.Request(
url,
{
method: 'get',
parameters: pars,
onComplete: showResponse
}
);
}

function showResponse(originalRequest)
{
// CODE IN THIS FUNCTION DOES NOT ALWAYS EXECUTE.
}




now i have solved the problem for the time being by making a single call to ajax for the whole loop. Now my question is : what is causing this problem? Can I give time delays between two consecutive requests? My hunch is that the problem lies there.