
// La funció checkReadyState() crida a una altra funció:
// updateResults(), que ha de ser definida a la pàgina de crida
// Aquesta funció ha de tractar el resultat de la petició Ajax.

// ALERTA:
// Aquestes funcions NOMÉS tracten el resultats si el paràmetre strQ és una QueryString


var oRequest;
		
function xmlHttpPost(strUrl, strQ){
	try{
		oRequest = new XMLHttpRequest();
	}
	catch(e){
		try{
			oRequest = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(e){
			alert("ERROR " + e);
			return;
		}
	}
	
	oRequest.open("POST", strUrl, true);
	oRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	oRequest.onreadystatechange = checkReadyState;
	
	if (strQ && strQ.length > 0){
		oRequest.send(strQ);
	}
	else{
		try{
			oRequest.send(null);
		}
		catch(e){
			try{
				oRequest.send();
			}
			catch(e){
				alert("ERROR " + e);
				return;
			}
		}
	}
	
}


function checkReadyState(){

	if (!oRequest){
		return;
	}
	
	if (oRequest.readyState == 4){
		if (oRequest.status == 200){
			updatePage(oRequest.responseText);
		}
		else{
			alert("ERROR: " + oRequest.statusText);
			return;	
		}
	}
	
}

