var xmlhttp;
fila=[]
ifila=0
try{ 
	xmlhttp = new XMLHttpRequest();
}catch(ee){
	try{
	   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
		try{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(E){
			xmlhttp = false;
		}
	}
}
function ajax(objOrigem,objDestino,func) {
    fila[fila.length]=[objOrigem,objDestino,func]
	if((ifila+1)==fila.length) ajaxRun()
}
function ajaxRun() {
	var urlSend = new Array();
	var urlPost = new Array();
	if (!fila[ifila][2]) 
		fila[ifila][2] = carregarDados;
	if((!fila[ifila][0].href) && (!fila[ifila][0].action))
		urlSend[ifila] = fila[ifila][0];
	else
		if(fila[ifila][0].href)
			urlSend[ifila] = fila[ifila][0].href;
		else
			urlSend[ifila] = fila[ifila][0].action;
	try {
		if(fila[ifila][0].method == "post") {
			mostrarCarregando();
			urlPost[ifila] = montaString(fila[ifila][0]);
			xmlhttp.open("POST",urlSend[ifila], true);
			xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
			xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
			xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
			xmlhttp.setRequestHeader("Pragma", "no-cache");
			xmlhttp.onreadystatechange = function() { 
				if (xmlhttp.readyState==4){
					fila[ifila][2](ifila);
					ocultarCarregando();
					ifila++
					if(ifila<fila.length)setTimeout("ajaxRun()",0)						
				}
			}
			if (prosseguir == 1)
				xmlhttp.send(urlPost[ifila]);
		}
		else {
			mostrarCarregando();
			xmlhttp.open("GET",urlSend[ifila], true); 
			xmlhttp.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");
			xmlhttp.onreadystatechange = function() {
				if (xmlhttp.readyState==4){
					fila[ifila][2](ifila);
					ocultarCarregando();
					ifila++
					if(ifila<fila.length)setTimeout("ajaxRun()",0)					
				}
			} 
			xmlhttp.send(null);	
		}
	}catch(a){	
	}	
}
function carregarDados(ifila) {
	document.getElementById(fila[ifila][1]).innerHTML = xmlhttp.responseText;
}
function montaString (objOrigem) {
	var obj = objOrigem;
	var urlPost = '';
	var inputs = obj.getElementsByTagName('input');
	var areas = obj.getElementsByTagName('textarea');
	var selects = obj.getElementsByTagName('select');
	for (var i=0;i<inputs.length;i++ ){
		if((inputs[i].type == 'text') || (inputs[i].type == 'radio') || (inputs[i].type == 'checkbox') || (inputs[i].type == 'hidden') || (inputs[i].type == 'password') || (inputs[i].type == 'select') || (inputs[i].type == 'file')) {
			if ((inputs[i].type == 'radio') || (inputs[i].type == 'checkbox')) {
				if(inputs[i].checked == true)
					urlPost += converterCaracteres(inputs[i].name)+"="+escape(converterCaracteres(inputs[i].value))+"&";
			}
			else
				urlPost += converterCaracteres(inputs[i].name)+"="+escape(converterCaracteres(inputs[i].value))+"&";
		}
	}
	for (var i=0;i<areas.length;i++ )
		urlPost += converterCaracteres(areas[i].name)+"="+escape(converterCaracteres(areas[i].value))+"&";
	for (var i=0;i<selects.length;i++ )
		urlPost += converterCaracteres(selects[i].name)+"="+escape(converterCaracteres(selects[i].options[selects[i].options.selectedIndex].value))+"&";
	return (urlPost);
}
function converterCaracteres(variavel)
{
	variavel = variavel.replace(/&/g,"**am**");
	variavel = variavel.replace(/=/g,"**eq**");
	variavel = variavel.replace(/\+/g,"**pl**");
	return(variavel);
}
function mostrarCarregando() {
	var loader = document.getElementById('loadBar');
	loader.style.display = 'block';
	//sentTimer = setTimeout("ocultarCarregando()",80000);
}
function ocultarCarregando() {
	var loader = document.getElementById('loadBar');
	loader.style.display = "none";
}
function FieldValidate()
{
	args=FieldValidate.arguments;
	for(var i=0;i<args.length;i++)
	{
		obj = document.getElementById(args[i]);
		if ((obj.type == 'text')||(obj.type == 'radio')||(obj.type == 'checkbox'))
			if(obj.value.length < 1){
				alert("Os campos com * são de preenchimento obrigatórios");
				prosseguir = 0;
				return false;
		}
	}
	prosseguir = 1;
}

