var xmlhttp
var to = "";
var msgPlace = "";


function RTP_xWaiting(to, msg, msg_place)
{
	msgPlace = msg_place;
	if (msg != "" && msg != null)
		if (msg_place != "" && msg_place != null)
			document.getElementById(msg_place).innerHTML = msg;
		else
			document.getElementById(to).innerHTML = msg;
}

/*
*
* url = URL do php que serve os pedidos
* parameters = parametros para executar o pedido
* from = pagina especifica para onde url deve redireccionar com os parametros em parameters
* place = id do elemento HTML onde ficar o conteúdo
*
*/
function GetDataFrom(url, parameters, from, place)
{
	var r_url = "url=";
	if (parameters != "" || parameters != null)
		r_url = "&" + r_url;

	GetData(url, parameters + r_url + from, place);
	
}

/*
*
* url = URL do php que serve os pedidos
* parameters = parametros para executar o pedido
* from = pagina especifica para onde url deve redireccionar com os parametros em parameters
* place = id do elemento HTML onde ficar o conteúdo
* wait_text = mensagem a mostar enquanto o pedido está em execução
* wait_place = id do elemento HTML onde ficar a mensagem (Caso seja '' será mostrada no elemento place)
*
*/
function GetDataFromWait(url, parameters, from, place, wait_text, wait_place)
{
	RTP_xWaiting(place, wait_text, wait_place);
	GetDataFrom(url, parameters, from, place);
}

/*
*
* url = URL do php que serve os pedidos
* parameters = parametros para executar o pedido
* place = id do elemento HTML onde ficar o conteúdo
* wait_text = mensagem a mostar enquanto o pedido está em execução
* wait_place = id do elemento HTML onde ficar a mensagem (Caso seja '' será mostrada no elemento place)
*
*/
function GetDataWait(url, parameters, place, wait_text, wait_place)
{
	RTP_xWaiting(place, wait_text, wait_place);
	GetData(url, parameters, place);
}

/*
*
* url = URL do php que serve os pedidos
* parameters = parametros para executar o pedido
* place = id do elemento HTML onde ficar o conteúdo
*
*/
function GetData(url, parameters, place)
{

	document.getElementById(place).innerHTML = "aguarde um momento";
	//alert(parameters);
	
	to = place;
	xmlhttp=null
	// code for Mozilla, etc.
	if (window.XMLHttpRequest)
	  {
	  xmlhttp=new XMLHttpRequest()
	  }
	// code for IE
	else if (window.ActiveXObject)
	  {
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
	  }
	if (xmlhttp!=null)
	  {
	  
	  xmlhttp.onreadystatechange=state_Change
	  xmlhttp.open("POST",url,true);
	 
	  // It's a form, use urlencode
	  xmlhttp.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' );
	  // Calculate length
	  xmlhttp.setRequestHeader( 'Content-length', parameters.length );

	  xmlhttp.setRequestHeader( 'Connection', 'close');

	  xmlhttp.send(parameters);
	  }
	else
	  {
	  alert("O seu browser não suporta XMLHTTP.")
	  }
}



function state_Change()
{
	
// if xmlhttp shows "loaded"
if (xmlhttp.readyState==4)
  {
  // if "OK"
  if (xmlhttp.status==200)
    {
		//alert(xmlhttp.getAllResponseHeaders());
		Marcas_xBack_DisplayData(to,xmlhttp.responseText);
		if (document.getElementById(msgPlace) != null)
			document.getElementById(msgPlace).innerHTML = "";
    }
  else
    {
		if (document.getElementById(msgPlace) != null)
			document.getElementById(msgPlace).innerHTML = "";
		alert(xmlhttp.status + " Houve um problema a devolver os dados.")
    }
  }
}
function Marcas_xBack_DisplayData(to, content)
{
	document.getElementById(to).innerHTML = content;


	if (document.getElementById("xBack_Link") != null && document.getElementById("xBack_Place") != null)
	{
		document.getElementById("xBack_Place").innerHTML = document.getElementById("xBack_Link").innerHTML;
	}

}
