// JavaScript Document
function makeRequest(url)
{

	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	else if (window.ActiveXObject)//IE
	{
		try{
			http_request = new ActiveXObject('Msxml2.XMLHTTP');
		}catch(e){
			try{
				http_request = new ActiveXObject('Microsoft.XMLHTTP');
			}catch(e){}		
		}
	}
	
	if(!http_request)
	{
		alert('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = null;
	http_request.open('GET', url, true);
	http_request.send(null);
}

function makeRequestWithContainer(url, container)
{
	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	else if (window.ActiveXObject)//IE
	{
		try{
			http_request = new ActiveXObject('Msxml2.XMLHTTP');
		}catch(e){
			try{
				http_request = new ActiveXObject('Microsoft.XMLHTTP');
			}catch(e){}		
		}
	}
	
	if(!http_request)
	{
		alert('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { displayContents(http_request, container); };
	http_request.open('GET', url, true);
	http_request.send(null);
}


function displayContents(http_request, container)
{
	if (http_request.readyState == 4)
	{
		if (http_request.status == 200)
		{
			//Good, we received the response from the request
			//alert(http_request.responseText);
			document.getElementById(container).innerHTML = http_request.responseText;
		}
		else
		{
			//No good...
		}
	
	} else {
	   document.getElementById(container).innerHTML = "Processando...";   
	}	

}


function makeRequestWithContainerAndAction(url, container, action)
{
	var http_request = false;
	
	//alert(url);
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	else if (window.ActiveXObject)//IE
	{
		try{
			http_request = new ActiveXObject('Msxml2.XMLHTTP');
		}catch(e){
			try{
				http_request = new ActiveXObject('Microsoft.XMLHTTP');
			}catch(e){}		
		}
	}
	
	if(!http_request)
	{
		alert('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { displayContentsAndExecuteAction(http_request, container, action); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function displayContentsAndExecuteAction(http_request, container, action)
{
	if (http_request.readyState == 4)
	{
		if (http_request.status == 200)
		{
			//Good, we received the response from the request
			//alert(http_request.responseText);
			document.getElementById(container).innerHTML = http_request.responseText;
            eval(action);
		}
		else
		{
			//No good...
		}
	
	} else {
	   document.getElementById(container).innerHTML = "Processando...";   
	}		

}

function makeRequestWithAction(url, action)
{
	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	else if (window.ActiveXObject)//IE
	{
		try{
			http_request = new ActiveXObject('Msxml2.XMLHTTP');
		}catch(e){
			try{
				http_request = new ActiveXObject('Microsoft.XMLHTTP');
			}catch(e){}		
		}
	}
	
	if(!http_request)
	{
		alert('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { executeAction(http_request, action); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function executeAction(http_request, action)
{
	if (http_request.readyState == 4)
	{
		if (http_request.status == 200)
		{
			//Good, we received the response from the request
            eval(action);
		}
		else
		{
			//No good...
		}
	
	}	

}

function makeRequestWithActionTimeout(url, action, timeout)
{
	var http_request = false;
	
	if(window.XMLHttpRequest) //Mozilla, Safari 
	{
		http_request = new XMLHttpRequest();
		//if(http_request.overrideMimeType)
			//http_request.overrideMimeType('text/xml');
	}
	else if (window.ActiveXObject)//IE
	{
		try{
			http_request = new ActiveXObject('Msxml2.XMLHTTP');
		}catch(e){
			try{
				http_request = new ActiveXObject('Microsoft.XMLHTTP');
			}catch(e){}		
		}
	}
	
	if(!http_request)
	{
		alert('Giving up. Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { executeAction(http_request, action); };
	http_request.open('GET', url, true);
	http_request.send(null);

    if(timeout > 0)
        setTimeout(action, timeout);
}

