// Loading Xml with
var htmlImageStr = "";
var reqIncr = 0;
var reqPrefix = "rId";
var req = new Array();
var reqStatus = new Array();

// Loading Xml with Post
function loadXMLDocPost(url, postData)
{
    // Branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) 
    {

    	rId = reqPrefix + reqIncr;
    	reqStatus[rId] = "waiting";
    		debug(url + " " + postData);
        req[rId] = new XMLHttpRequest();
        req[rId].onreadystatechange = processReqChange;
        req[rId].open("POST", url, true);
        req[rId].setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        req[rId].send(postData);
        reqIncr++;
   
    }  // Branch for IE/Windows ActiveX version
    else if (window.ActiveXObject) 
    {
    	rId = reqPrefix + reqIncr;
    	reqStatus[rId] = "waiting";
        req[rId] = new ActiveXObject("Microsoft.XMLHTTP");
        
        if (req[rId]) 
        {
            req[rId].onreadystatechange = processReqChange;
            req[rId].open("GET", url, true);
            req[rId].setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            req[rId].send(postData);
        }
        
        reqIncr++;
    }
    
    
}

function processReqChange() 
{
	// Iterate through the reqId's
	//alert(req.length);
	for (var i = 0; i < reqIncr; i++)
	{
		//alert(reqPrefix + i.toString());
		if(reqStatus[reqPrefix + i.toString()] != "complete")
		{
    // only if req shows "complete"
		    if (req[reqPrefix + i.toString()].readyState == 4) {
		        // only if "OK"
		        if (req[reqPrefix + i.toString()].status == 200 && reqStatus[reqPrefix + i.toString()] == "waiting") {
		            
							if(addingAlbum)
							{
							
								//debug("getting Exhibition Info");
								handleNewAlbum(req[reqPrefix + i.toString()].responseText);
								//setTimeout("hideProgress()", 500);
								//setTimeout('showForm("", "edit_exhibition")', 500);
								debug("Adding Album");
								addingAlbum = false;
							
							}		      
							
							if(updatingAlbum)
							{
							
								//debug("setting Exhibition Info");
								handleSaveAlbum(req[reqPrefix + i.toString()].responseText);
								//setTimeout("hideProgress()", 500);
								//setTimeout('showForm("", "edit_exhibition")', 500);
								updatingAlbum = false;
							
							}
							
							if(removingAlbum)
							{
								//debug("getting Artist Info");
								handleRemoveAlbum(req[reqPrefix + i.toString()].responseText);
								//setTimeout("hideProgress()", 500);
								//setTimeout('showForm("", "edit_artist")', 500);
								removingAlbum = false;
							
							}
							
							if(addingImage)
							{
								//debug("setting Artist Info");
								handleAddNewImage(req[reqPrefix + i.toString()].responseText);
								//setTimeout("hideProgress()", 500);
								//setTimeout('showForm("", "edit_artist")', 500);
								addingImage = false;
							
		          }
		          
		          if(removingImage)
							{
								//debug("setting Artist Info");
								handleRemoveImage(req[reqPrefix + i.toString()].responseText);
								//setTimeout("hideProgress()", 500);
								//setTimeout('showForm("", "edit_artist")', 500);
								removingImage = false;
							
		          }
		          
		          debug("Finished XmlHttpReq: " + req[reqPrefix + i.toString()].responseText);
		          reqStatus[reqPrefix + i.toString()] = "complete";
		          
		        } 
		        else 
		        {
		        
		            debug("There was a problem retrieving the XML data: " + req[reqPrefix + i.toString()].status + " " + req[reqPrefix + i.toString()].statusText);
		            //changeFeedbackStatus("There was a problem retrieving the XML data:\n" + req[reqPrefix + i.toString()].statusText);
		        
		        }
		
		    }
		    
		}
	    
	}
	
}
