function criaXMLHttp(){
	if(typeof XMLHttpRequest != "undefined") return new XMLHttpRequest();
	if(window.ActiveXObject){
		var versoes = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp","Microsoft.XMLHttp"];


		for (var i=0; i<versoes.length; i++){
			try{
				return new ActiveXObject(versoes[i]);
			}catch (e) {}
		}
	}
	throw new Error("Seu navegador não suporta AJAX");
}



function ajaxGet(url, div, func){
	
	//crio o XMLHttp para fazer requisiçoes
	var XMLHttp = criaXMLHttp();
	

	//evento - ao carregar (4), mostra os dados no div
	XMLHttp.onreadystatechange = function () {
		if (XMLHttp.readyState == 4){	//loaded
			if(XMLHttp.status == 200){
				div.innerHTML = XMLHttp.responseText;
				if(func != null && func != 'undefined'){
					func.apply();
				}
			}else{
				div.innerHTML = "Erro: " + XMLHttp.statusText;
			}
		}
	};
	
	try{
		XMLHttp.open("get", url, true);
		XMLHttp.send(null);
	}catch(err){
		alert(err);
	}
}


var numeroTransacao=0;


function ajaxGetUnique(url, div, func){
	
	//crio o XMLHttp para fazer requisiçoes
	var XMLHttp = criaXMLHttp();

	numeroTransacao++;
	var num = numeroTransacao;	

	//evento - ao carregar (4), mostra os dados no div
	XMLHttp.onreadystatechange = function () {
		if (XMLHttp.readyState == 4 && num == numeroTransacao){	//loaded
			if(XMLHttp.status == 200){
				div.innerHTML = XMLHttp.responseText;
				if(func != null && func != 'undefined'){
					func.apply();
				}
			}else{
				div.innerHTML = "Erro: " + XMLHttp.statusText;
			}
		}
	};
	
	try{
		XMLHttp.open("get", url, true);
		XMLHttp.send(null);
	}catch(err){
		alert(err);
	}
}

function Teste(){
	alert("Ok! Do ajax.js");
}