function ajaxPower(paramSend, posAct, idDest, postCont)
{
	//Essa classe esta habilitada a tratar requisicoes GET e POST, sejam unicas ou multiplas.
	
	//criamos uma string num�rica rand�mica para concatenar com o nome de request
	var nomeVar = String(Math.random()).substring(2);
	
	//criamos uma request com uma variavel variavel
	eval('REQ'+nomeVar+' = (window.XMLHttpRequest) ? new XMLHttpRequest() : (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : false ;');
	
	//aqui tomamos a decisao pelo tipo de cabe�alho se GET ou POST
	if(postCont != '')
	{
		eval('REQ'+nomeVar).open("POST",paramSend,true);
		eval('REQ'+nomeVar).setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		eval('REQ'+nomeVar).setRequestHeader("Content-length", postCont.length);
		eval('REQ'+nomeVar).setRequestHeader("Connection", "close");	
	}else{
		eval('REQ'+nomeVar).open("GET",paramSend,true);
	}
	
	//requisicao ajax normal
	eval('REQ'+nomeVar).onreadystatechange=function()
	{
		if (eval('REQ'+nomeVar).readyState==4)
		{
			var partes = (eval('REQ'+nomeVar).responseText).split('|');

            switch(parseInt(posAct))
			{
				case 1:
					if(parseInt(partes[0]))
					{
						document.getElementById(idDest).innerHTML = partes[1];
					}else{
						document.getElementById(idDest).innerHTML = '<p class="bold mTop03">Erro de envio</p>';
					}
				break;

				default:
					document.getElementById(idDest).innerHTML = (eval('REQ'+nomeVar).responseText);
				break;
			}
		}else{
			document.getElementById(idDest).innerHTML = '<p class="mTop03 color6">Carregando...</p>';
		}
	}
	
	//Tratamos o send de GET ou POST
	if(postCont != '')
	{	
		eval('REQ'+nomeVar).send(postCont);
	}else{
		eval('REQ'+nomeVar).send(null); 		
	}
}