var g_XmlHttp, fnCallback;

function CrearXmlHttp(){
	var strRemoteSource = arguments[0];
	fnCallback = arguments[1];
	if(strRemoteSource != ""){
		EnviarRequest();
		if(g_XmlHttp) {
			g_XmlHttp.onreadystatechange = HandleRespuesta;
			g_XmlHttp.open("GET", strRemoteSource,  true);
			g_XmlHttp.send(null);
		}
	}
}

function EnviarRequest() {
	try	{
		g_XmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); }
	catch(e) {
		try	{
			g_XmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } 
		catch(oc) {
			g_XmlHttp = null;
		}
	}
	if(!g_XmlHttp && typeof XMLHttpRequest != "undefined") g_XmlHttp = new XMLHttpRequest();
}

function HandleRespuesta() {
	if(g_XmlHttp.readyState == 4)	{
		if(g_XmlHttp.status == 200) {	
			fnCallback(g_XmlHttp.responseXML.documentElement);
		} else {
			alert("Problema recuperando los datos del servidor." );
		}
	}
}

function GetNodeAtt () {
	var objNode = arguments[0], strAttrName = arguments[1];
	try {
		return objNode.attributes.getNamedItem(strAttrName).value;
	} catch (e) {};
}