var NtAjax = 
{
	//Classe utilizada para chamar uma funcao no servidor 
	requestAjax : function (url, callbackSucesso, callbackErro, parametrosCallback, dadosPost)
	{
	
		var that = this;
		this.request = NtAjax.gerarRequestAjax();
		
		// imagem ajax
		var imgAjax = document.getElementById("imgAjax");
		if (imgAjax && imgAjax != "undefined")
			imgAjax.style.display = "block";
		
		//Resposta do request ajax
		that.request.onreadystatechange = function()
		{
			if (that.request.readyState == 4) // fim
			{
				if (that.request.status == 200)
				{
					if (imgAjax && imgAjax != "undefined")
						imgAjax.style.display = "none";
					callbackSucesso(parametrosCallback, that.request.responseText);
				}
				else
					callbackErro(parametrosCallback, that.request.status);
					
			}
		}
		
		//Envia os dados para o servidor
		if(dadosPost==null)
			that.request.open("GET", url, true);
		else
		{
			that.request.open("POST", url, true);
			that.request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		}
		that.request.send(dadosPost);
	},
	
	gerarRequestAjax : function ()
	{
		var request = null;
		try
		{
			request = new XMLHttpRequest();
		}
		catch (trymicrosoft)
		{
			try
			{
				request = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (othermicrosoft)
			{
				try
				{
					request = new ActiveXObject("Microsoft.XMLHTTP");
		  		}
		  		catch (failed)
		  		{
					request = null;
				}
			}
		}
		
		if (request == null)
			alert("Nao foi possivel criar objeto para prosseguir com rotina ajax, por favor contate o administrador do sistema.");
		return request;
	}

}