//Função que envia o formulário para o Servidor
function ajaxLength(textarea)
{ 
  //Recupera o método utilizado na tag FORM do formulário
  var metodo = "GET";
  //Acrescenta o símbolo ? ao final da url definida no atributo ACTION
  var action = "calcula_caracteres.php?";
  //Define a variável que armazenará todas as variáveis a serem recebidas pelo script PHP
  var Variaveis = "";
 
  Variaveis += "texto="+textarea.value;
  
  //Verifica se o método é GET
  if(metodo == "GET")
  {
	//Concatena as variáveis à url definida em ACTION e atribui nulo à VARIÁVEIS
    action += Variaveis;
    Variaveis = null;
  }
  
  //Chama a função openAjax que cria o objeto do tipo XMLHttpRequest() ou do tipo ActiveXObject
  var ajax = openAjax();
  ajax.open(metodo, action, true); 
  ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

  ajax.setRequestHeader("Connection", "close");
  ajax.send(Variaveis);

  ajax.onreadystatechange = function()
  {
	if(ajax.readyState == 1)
			document.getElementById('caracteres').innerHTML = 'Contando caracteres...';
	if(ajax.readyState == 4)
	{ 
			if(ajax.status == 200)
			{
				document.getElementById('caracteres').innerHTML = ajax.responseText;
			}
	}

	return false;
  }
  
  //Retorna FALSE para que o formulário não seja enviado

  return false;

}



//Função que cria o objeto do tipo XMLHttpRequest() ou do tipo ActiveXObject
function openAjax() {

var ajax;
try
{
  ajax = new XMLHttpRequest(); //primeiro tentamos criar um objeto do tipo XMLHttpRequest()
}
catch(ee)//no entanto navegadores como IE não conhecem esse objeto
{
  try
  {
    ajax = new ActiveXObject("Msxml2.XMLHTTP"); //O IE conhece o ActiveXObject, mas o parâmetro depende da versão.
  }
  catch(e)
  {
    try
    {
      ajax = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(E)
    {
      ajax = false;//nesse caso o navegador não é compatível e nosso site não funcionará com AJAX :-(
    }
  }
}
return ajax;//retorna o objeto pronto.
}