function ajax() {
	if (typeof XMLHttpRequest != "undefined")
		return new XMLHttpRequest();
	else 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 browser nao suporta AJAX");
}

function parentLinkAjax(div_id,metodo,pagina,parametros) {
	var divInfo = parent.document.getElementById(""+div_id+"");
	var XMLHttp = new ajax();
	XMLHttp.open(""+metodo+"", ""+pagina+"?"+parametros+"", true);
	XMLHttp.onreadystatechange = function () {
		if (XMLHttp.readyState==1)
		{
			divInfo.innerHTML = "Carregando...";
		}
		if (XMLHttp.readyState == 4)
			if (XMLHttp.status == 200){
				divInfo.innerHTML = XMLHttp.responseText;
			} else {
				divInfo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
			}
	};
	XMLHttp.send(null);
}

function linkAjax(div_id,metodo,pagina,parametros) {
	var divInfo = document.getElementById(div_id);
	var XMLHttp = new ajax();
	XMLHttp.open(metodo, pagina+"?"+parametros + "&" + Math.ceil (Math.random() * 100000), true);
	XMLHttp.onreadystatechange = function () {
		if (XMLHttp.readyState==1)
		{
			divInfo.innerHTML = "Carregando...";
		}
		if (XMLHttp.readyState == 4)
			if (XMLHttp.status == 200){
				divInfo.innerHTML = XMLHttp.responseText;
			} else {
				divInfo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;
			}
	};
	XMLHttp.send(null);
}

function XMLHTTPRequest() {

   try {
     return new XMLHttpRequest(); // FF, Safari, Konqueror, Opera, ...
   } catch(ee) {
     try {
       return new ActiveXObject("Msxml2.XMLHTTP"); // activeX (IE5.5+/MSXML2+)
     } catch(e) {
       try {
         return new ActiveXObject("Microsoft.XMLHTTP"); // activeX (IE5+/MSXML1)
       } catch(E) {
         return false; // doesn't support
       }
     }
   }
}