Holas... cuando hize mis primeras pruebas con ajax todo marchaba muy bien, pero cuando intenté usar la función que utilizaba el objeto HTTPRequest más de una vez en la misma página entonces ya no funcionaba tan bien y normalmente sólo se mostraba los resultados de la última llamada a la función. Luego de googlear y preguntar aqui y allá encontré la solución:
VARIABLES, así es, el problema se puede corregir utilizando una variable distinta al utilizar el objeto HTTPRequest, puedes conseguirlo modificando tu función de manera que cuando la utilizes le pases como parámetro el nombre de una variable, un detalle que he notado en tu función es la llamada al método open: creo que necesitas un parámetro extra que le indica si la ejecución es síncrona(false) o asíncrona(true).
Código PHP:
function GetInfo(obj,tarea,plan,nvar) {
var nvar = createAjax();
var url = 'ajax_tarea_reservas.php?accion=get&obj='+obj+'&id_tarea='+tarea+'&id_plan_produccion='+plan;
nvar.open('get', url,true);
nvar.onreadystatechange = handleResponse(nvar);
nvar.send(null);
}
function handleResponse(nvar) {
if(nvar.readyState == 4){
var response = http.responseText;
var update = new Array();
//alert(response);
if(response.indexOf('|' != -1)) {
update = response.split('|');
//alert(update[1]);
//alert(update[6]);
document.getElementById('d_titulo').innerHTML = update[5];
document.getElementById('d_volumenes').innerHTML = update[1];
document.getElementById('d_reservas').innerHTML = update[3];
}
}
}
En este momento no puedo implementar tu código en esta pc, pero haz la prueba.