var ajax;
var dadosUsuario;

//Faz a requisição
function requisicaoHTTP(tipo,url,assinc){
	  if(window.XMLHttpRequest){ //Mozilla, Safari, ...
		ajax = new XMLHttpRequest();
	  }
	  else if (window.ActiveXObject) { //IE
		ajax = new ActiveXObject("Msxml2.XMLHTTP");
		if (!ajax) {
			ajax = new ActiveXObject("Microsoft.XMLHTTP");
		}
	  }
	  if (ajax) //iniciou com sucesso
	    iniciaRequisicao(tipo,url,assinc);
	  else
	    alert("Seu navegador não possui suporte a essa aplicação!");	
}

//Inicia objeto e envia os dados
function iniciaRequisicao(tipo,url,bool){
  ajax.onreadystatechange=trataResposta1;
  ajax.open(tipo, url,bool);
  ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
  //ajax.overrideMimeType("text/XML"); /* usado somente no Mozilla */
  ajax.send(dadosUsuario);
}

//Inicia requisição com envio de dados
function enviaDados(url){
  criaQueryString();
  requisicaoHTTP("POST",url,true);
}

//Cria a string a ser enviada
function criaQueryString(){
  dadosUsuario="";
  var frm = document.forms[0];
  var numElementos = frm.elements.length;
  for(var i = 0; i < numElementos; i++) {
	if(i < numElementos-1){
	  dadosUsuario += frm.elements[i].name+"="+
	  	encodeURIComponent(frm.elements[i].value)+"&";
		
	  //Tratamento para elementos de botões rádio
	  if(frm.elements[i].type=="radio" && frm.elements[i].checked)
	    dadosUsuario += frm.elements[i].name+"="+
	      encodeURIComponent(frm.elements[i].value)+"&";
	}else{
		dadosUsuario += frm.elements[i].name+"="+
		  encodeURIComponent(frm.elements[i].value);
	}
  }
}

//Trata a resposta do servidor
function trataResposta1(){
//alert('teste');
  if(ajax.readyState == 4){
      if(ajax.status == 200){
		  trataDados();
	  }else{
		  alert("Problema na comunicação com o objeto XMLHttpRequest.");
	  }
  }
}
