// JavaScript Document

/***
*Função que facilita o comando getElementById
***/
function getObj(idObj)
{
	return document.getElementById(idObj);
}

/***
*Função usada para se instaciar um objeto desse tipo
***/
function criaXMLHttp()
{

  var xmlHttp = null;
  try
  {
	// Firefox, Opera 8.0+, Safari
	xmlHttp=new XMLHttpRequest();
  }
  catch (e)
  {
	 // Internet Explorer
	 try
	 {
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	 }
	 catch (e)
	 {
		  try
		  {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		  }
  		  catch (e)
		  {
			alert("Seu suporte não suporta AJAX!");
			return false;
		  }
	 }
   }

  return xmlHttp;
}



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 makePostRequestWithContainer(url,container,postData) {
	
	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('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", postData.length);
	http_request.setRequestHeader("Connection", "close");

	http_request.send(postData);

}


function displayContents(http_request, container)
{

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


function displayAddContents(http_request, container)
{
	alert('a');
	
	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...
		}
	}	
}



function makeRequestWithContainerAndAction(url, container, 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() { displayContentsAndExecuteAction(http_request, container, action); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function makeRequestAddWithContainerAndAction(url, container, 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() { displayAddContentsAndExecuteAction(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...
		}
	}	
}


function displayAddContentsAndExecuteAction(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 = document.getElementById(container).innerHTML+''+http_request.responseText;
            eval(action);
		}
		else
		{
			//No good...
		}
	}	
}

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);
}

function makeRequestWithContainerAndWithFrames(url, container, frame) {
	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() { displayContentsWithFrames(http_request, container, frame); };
	http_request.open('GET', url, true);
	http_request.send(null);
}