// JavaScript Document
/*	--	Conceitos importantes Ajax	--
	1-	Aplicativos assíncronos fazem solicitações usando um objeto JavaScript e não um envio de formulário.
	2-	Suas solicitações e respostas serão manipuladas pelo navegador Web e não diretamente por seu código JavaScript.
	3-	Uma vez que o navegador Web receber uma resposta a sua solicitação assíncrona, "retornará a chamada" para seu código JavaScript com a resposta do servidor. 
*/

//	Novo objeto de solicitação Ajax 
var request = null;			//variável para o armazenamento do objeto de solicitação


//	Cria a requisição
function createRequest() 	
{
	try
	{
		request = new XMLHttpRequest();		//tenta criar um novo objeto de solicitação
	} catch (trymicrosoft) {
		try
		{
			request = new ActiveXObject("Msxml2.XMLHTTP");			//tenta criar um novo objeto de solicitação para o IE
		} catch (othermicrosoft) {
			try
			{
				request = new ActiveXObject("Microsoft.XMLHTTP");	//tenta criar um novo objeto de solicitação para o IE
			} catch (failed) {
				request = null;			//se algo der errado essa instrução assegurará que a variávewl de solicitação continuará configurada como nula
			}
		}
	}
	if (request == null)			//se a solicitação ainda for nula, exibe mensagem
		alert("Error creating request object!");
}	
	

// Utilizado para evitar de digitar: document.getElementById toda hora, tornando o processo mais prático
function gE(campo)
{
	return document.getElementById(campo);
}


// Utilizado para evitar de digitar: document.getElementsByTagName toda hora, tornando o processo mais prático
function gEs(tag) 
{
	return document.getElementsByTagName(tag);
}


//	Atribui um novo texto a um elemento HTML
function replaceText(el, text) 
{
  if (el != null) 
  {
    clearText(el);
    var newNode = document.createTextNode(text);
    el.appendChild(newNode);
  }
}


//	Limpa os atributos de um elemento HTML
function clearText(el) 
{
  if (el != null) 
  {
    if (el.childNodes) 
	{
      for (var i = 0; i < el.childNodes.length; i++) 
	  {
        var childNode = el.childNodes[i];
        el.removeChild(childNode);
      }
    }
  }
}


//	Obtem o texto de um elemento HTML
function getText(el) 
{
  var text = "";
  if (el != null) 
  {
    if (el.childNodes) 
	{
      for (var i = 0; i < el.childNodes.length; i++) 
	  {
        var childNode = el.childNodes[i];
        if (childNode.nodeValue != null) 
		{
          text = text + childNode.nodeValue;
        }
      }
    }
  }
  return text;
}

