
	/*	CONTROLES AJAX	*/
	
	
	//Efetua GET no servidor
	function ajaxGET(url, callback)
	{
	  var request = getHTTPObject();
	  var momentoSolicitacao = new Date();
	  url += "&momento="+momentoSolicitacao;
	
	  try {
		  request.open("GET", url, true);
		  request.onreadystatechange = function() {
		     if (request.readyState==4 && request.status==200) {
		     	 callback(request.responseText);
		     }
		  }
		  request.send(null);
	  } catch(e) {
	  	  trace("Falha na comunicação com o servidor:\n");
	  }
	}
	
	
	//Efetua POST no servidor
	function ajaxPOST(url, acao, callback)
	{
	  
	  var request = getHTTPObject();
	  var parametros = recuperaParametrosForm(acao);
	  
	  try {
		  request.open("POST", url, true);
		  request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		  request.setRequestHeader("encoding", "UTF-8");
		  
		  request.onreadystatechange = function() {
		     if (request.readyState==4 && request.status==200) {
		  	     //alert(request.responseText);
		  	     callback(request.responseText);
		     }
		  }
		  request.send(parametros);
	  } catch(e) {
	  	  trace("Falha na comunicação com o servidor:\n");
	  }
	}
	

	
	//Monta objeto de conexão com o servidor
	function getHTTPObject() {  

		if(window.XMLHttpRequest) {      
			var objetoXMLHttp = new XMLHttpRequest();   
			return objetoXMLHttp;    
			
		} else if(window.ActiveXObject) {			
			var versoes = ["MSXML2.XMLHttp.6.0", 
						   "MSXML2.XMLHttp.5.0", 
						   "MSXML2.XMLHttp.4.0", 
						   "MSXML2.XMLHttp.3.0", 
						   "MSXML2.XMLHttp", 
						   "Microsoft.XMLHttp"];
			for (var i = 0; i < versoes.length; i++) {
				var objetoXMLHttp = new ActiveXObject(versoes[i]);
				return objetoXMLHttp;
			}
		}
	}
	
		
	
	//Recupera os parametros do formulario
	function recuperaParametrosForm(acao) {
		
		var campos = document.forms[0].elements;
		var parametros = "acao=" + acao;
		
		for (i=0; i<campos.length; i++) {
			parametros += "&" + campos[i].id + "=" + encodeURIComponent(campos[i].value);
		}		
		return parametros;		
	}
	
		
	
	//Organiza as informações recebidas em forma de array
	function montaArray(string) {
		
		var campos = new Array();
		var linhas = new Array();
		linhas = string.split("|");
		
		var mostraErro = 0;
		
		for (i=0; i<linhas.length; i++) {
			var colunas = new Array();
			colunas = linhas[i].split("&");
			campos[i] = new Array;
			for (u=0; u<colunas.length; u++) {
				var campo = new Array();
				campo = colunas[u].split("=");
				if (campo.length>0) {
					mostraErro++;
					campos[i][campo[0]] = limpaString(campo[1]);
				}
			}
		}
		
		if (mostraErro==0 && trim(string)!=="") {
			var janelaErro = window.open("","","width=600,height=550,scrollbars=yes");
				janelaErro.document.write(string);
		}		
		
		return campos;
	}
	
	function limpaString(texto) {
		if (texto == "0.0" || texto == "0" || texto == "null" || texto == undefined) {
			texto = "";
		}
		return texto;
	}
	
	function sucessoOperacao(msg) {	
		if (msg == "" || msg == undefined) {
			msg = "Operação realizada com sucesso";
		}
		alert(msg);		
	}
	
	function montarCombo(resposta, idCombo, escolhido) {
		resposta = montaArray(resposta);
		limpaOptions(idCombo);
		for (var i=0; i<resposta.length; i+=1) {
			if (resposta[i]["nome"] != undefined) {				
				adicionaOption(idCombo, resposta[i]["id"], resposta[i]["nome"], escolhido);
			}
		}
	}
	
	function adicionaOption(objetoId, valor, descricao, escolhido) {		
		var option = document.createElement('option');
		option.text = descricao;
		option.value = valor;		
		if (escolhido != "" && escolhido == valor) {
			option.selected = true;
		}
		
		try {
			document.getElementById(objetoId).add(option);					
		} catch (e) {
			document.getElementById(objetoId).add(option, null);
		}		
	}
	
	function limpaOptions(objetoId) {
		var qtdeOptions = document.getElementById(objetoId).options.length;
		for (u=qtdeOptions; u>1; u--) {
			document.getElementById(objetoId).remove(u-1);
		}
	}
	
	function trim(valor) {
		return valor.replace(/^\s*/, "").replace(/\s*$/, "");
	}
	
	
	/*	FIM CONTROLES AJAX	*/
		
		
	
