function doRequest(url, ID) {		
	if(window.XMLHttpRequest) // Firefox et autres
		myRequest = new XMLHttpRequest();
	else if(window.ActiveXObject){ // Internet Explorer
		try {
			myRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				myRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e1) {
				myRequest = null;
			}
		}
	}
	if (!myRequest) return false;
	displayObjectID = ID;
	myRequest.onreadystatechange = displayChanges;
	myRequest.open('GET', url, true);
	myRequest.send(null);
}

function displayChanges() {
	if (!myRequest) { return false; }
	if (myRequest.readyState == 4) {
		if (myRequest.status == 200) {	
      var oldHeight = document.getElementById(displayObjectID).offsetHeight;
      //alert(myRequest.responseText);
      var myObj = myRequest.responseText.parseJSON(); //eval("("+myRequest.responseText+")");
			document.getElementById(displayObjectID).innerHTML = myObj.flow;
		  for (var id in myObj.nextFlow) {
		    if (id == 'toJSONString') continue;
        document.getElementById(id).innerHTML = myObj.nextFlow[id];
      }
    	if (myObj.functionCall) {			 
			  for(var i=0; i < myObj.functionCall.length; i++) {
          eval(myObj.functionCall[i]);
        }       
			}	
      var newHeight = document.getElementById(displayObjectID).offsetHeight;	
      if(newHeight > oldHeight) {        
        var parentID = parentDOM(displayObjectID);
				if (parentID) { 
        	var diffHeight = Math.round(newHeight - oldHeight);
        	myInit(parentID, diffHeight);
        }
      }      
		}
	}
}


