// clasee para objetos httprequest assincrono

function Jajax() {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert('O objeto XMLRequest não pode ser criado. Contate o administrador');
		return false;
	}
	this.http_request = http_request;
}

Jajax.prototype.checkResponse = function(readySt) 
{
	if (readySt == 1) {
		return false;
	}
	else if (readySt == 4) 
	{
		return true
	}
	return false;
}


//request para ler xml e xsl
function xmlRequest(file) {
	var target;
	if (window.ActiveXObject)
	{
		// Carregando o Arquivo XML
		target = new ActiveXObject("Microsoft.XMLDOM");
		target.async = false;
		target.load(file);
		

	}
	else if (document.implementation && document.implementation.createDocument)
	{
		// Carregando o arquivo XML
		objeXml = new XMLHttpRequest();
		objeXml.overrideMimeType('text/xml');
		objeXml.open("GET", file, false);
		objeXml.send(null);
		target = objeXml.responseXML;
		
	}
	return target;

}
function transformToXML(text) {
if (window.ActiveXObject)
  {
  var doc=new ActiveXObject("Microsoft.XMLDOM");
  doc.async="false";
  doc.loadXML(text);
  }
// code for Mozilla, Firefox, Opera, etc.
else
  {
  var parser=new DOMParser();
  var doc=parser.parseFromString(text,"text/xml");
  }
  return doc;
	
}

function transform(xml, xzl, t) {
	if (t == "returnToVar")
		var ret = true;
	else
	var target = document.getElementById(t);
//alert(t)
if (window.ActiveXObject)
	{
		clearChilds(target);
		var ConteudoTransformado = xml.transformNode(xzl);
		target.innerHTML=ConteudoTransformado;
	}
else if (document.implementation && document.implementation.createDocument)
	{
		var objeXSLTProcessor;
		var objeXmlDoc;
		var objeXSLT;
		// Criando o processador de XLST
		objeXSLTProcessor = new XSLTProcessor();
		objeXSLTProcessor.importStylesheet(xzl);
		var ct = objeXSLTProcessor.transformToFragment(xml, document);
		if(ret == true) {
			return ct;
		}
		else {
			clearChilds(target);
			target.appendChild(ct);
		}

	}
	
	
}
