function AjaxRequest() {
	Ajax = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		Ajax = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		try {
			Ajax = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				Ajax = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	return Ajax;
}

function ajax(pagina, parametros, div, callback) {
	if(div != '') {
		document.getElementById(div).innerHTML = '<img src="../imagens/load.gif" vspace="0" />';
	}
	//alert(parametros);
	//alert(valor2);
	//alert(pagina);

	var req = AjaxRequest();
	if(!req) {
		document.getElementById(div).innerHTML = '[Erro na Chamada]';
		return;
	}
	
	req.onreadystatechange = function resultado() {
		if (req.readyState == 4) {
			if (req.status == 200) {
				var response = unescape(req.responseText);
				response 	 = response.replace(/\+/g," ");
				
				if(div != '') {
					document.getElementById(div).innerHTML = response;
					extraiScript(response);
					
					if(callback != ''){
						eval(callback+'()');
					}
				} 

			} else {
				//alert('[Erro no Servidor]');
			}
		}
	}
	
	req.open('GET', pagina+'?'+parametros+'&z='+Math.ceil(Math.random() * 100000), true);
	req.send(null);
}

function extraiScript(texto){
//Maravilhosa função feita pelo SkyWalker.TO do imasters/forum
//http://-- link para outro fórum não permitido --.com.br/index.php?showtopic=165277&
     // inicializa o inicio ><
     var ini = 0;
     // loop enquanto achar um script
     while (ini!=-1){
         // procura uma tag de script
         ini = texto.indexOf('<script', ini);
         // se encontrar
         if (ini >=0){
             // define o inicio para depois do fechamento dessa tag
             ini = texto.indexOf('>', ini) + 1;
             // procura o final do script
             var fim = texto.indexOf('</script>', ini);
             // extrai apenas o script
             codigo = texto.substring(ini,fim);
             // executa o script
             //eval(codigo);
             /**********************
             * Alterado por Micox - micoxjcg@yahoo.com.br
             * Alterei pois com o eval não executava funções.
             ***********************/
             novo = document.createElement("script")
             novo.text = codigo;
             document.body.appendChild(novo);
         }
     }
}
