
// cria http object
function criaHTTPObject()
{
	var xmlhttp;
//	if(window.XMLHttpRequest)
//	{
//		xmlhttp = new XMLHttpRequest();
//	}
//	else if(window.ActiveXObject)
//	{
//		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
//	}
//	else
//	{
//		alert('não funciona');
//	}
	try{
		xmlhttp =  new ActiveXObject("Microsoft.XMLHTTP");
	}catch(e){
		try{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(ex){
			try{
				xmlhttp = new XMLHttpRequest();
			}catch(exc){
				xmlhttp = false;
			}
		}
	}
	return xmlhttp;
}

//Faz a chamada remota do programa, passando todos os paramentros necessários para o mesmo ser executado
/*

objetoHttp			- objeto AJAX
programa			- nome do programa
parametros			- parametros que serão passados para o programa
tratarRetorno		- rotina javascript que irá tratar o retornor do ajax

*/
function chamaProcedimentoRemoto(http,programa,parametros,tratarRetorno,tipoRetorno)
{
	var params='',url = '';
	for (var param in parametros)
	{
		params += param + '=' +parametros[param] + '&';
	}
	params = params.substring(0,params.length-1);
	url = programa;

//ccvv
// alert('programa='+programa+' parametros ajax='+params);

	http.open("POST", url, true);
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");

	//o retorno da chamada AJAX é passada para a rotina que é criada dinamicamente
	http.onreadystatechange = function (){
								if (http.readyState == 4){
                                    if(http.status == 200){
                                        if (tipoRetorno == 'XML'){
                                            if(http.responseXML != '') {
                                                eval(tratarRetorno+"(http.responseXML)");
                                            }
                                        } else {
                                            if(http.responseText == ''){
                                                alert("Problemas no servidor!\nPor favor, tente novamente...");
                                            } else {
                                                eval(tratarRetorno+"(http.responseText)");

                                            }
                                        }
                                    }
								}
							}
	http.send(params);
}

