function Ajax(){xmlhttp=undefined;fila=[];ifila=0;method="GET";sync=true;loadmsg="A transferir dados...";flagloadmsg=false;this.Ajax=Ajax;this.startAjax=startAjax;this.putInPlace=putInPlace;this.requestGetFor=requestGetFor;this.requestGetBy=requestGetBy;this.requestPostFor=requestPostFor;this.requestPostBy=requestPostBy;this.run=run;this.setSync=setSync;this.fetchForm=fetchForm;this.setLoadMsg=setLoadMsg;Ajax();function Ajax(){startAjax()}function setSync(arg){sync=arg}function setLoadMsg(msg){if(msg==undefined){flagloadmsg=false}else{flagloadmsg=true;loadmsg=msg}}function startAjax(){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 requestGetFor(url,id){fila[fila.length]={id:id,url:url,func:"putInPlace",method:"GET",send:null};if((ifila+1)==fila.length){run()}}function requestGetBy(url,func){fila[fila.length]={url:url,func:func,method:"GET",send:null};if((ifila+1)==fila.length){run()}}function requestPostFor(url,form_name,id){fila[fila.length]={url:url,id:id,func:"putInPlace",method:"POST",send:fetchForm(form_name)};if((ifila+1)==fila.length){run()}}function requestPostBy(url,form_name,func){fila[fila.length]={url:url,func:func,method:"POST",send:fetchForm(form_name)};if((ifila+1)==fila.length){run()}}function putInPlace(cont){var obj=document.getElementById(fila[ifila]["id"]);cont=unescape(cont);var ret_array=cont.split("||");if(ret_array[0]=="!error"){}else{obj.innerHTML=cont}return true}function fetchForm(form_name){temp="";size=document.forms[form_name].elements.length;for(var i=0;i<size;i++){if(temp.length){temp+="&"}input=document.forms[form_name].elements[i];switch(input.type){case"checkbox":case"radio":if(input.checked){temp+=input.name+"="+input.value}break;case undefined:break;default:var input_value=new String(input.value);input_value=input_value.replace(/\&/g,"#AND#");input_value=input_value.replace(/\=/g,"#EQ#");input_value=input_value.replace(/\%/g,"#PERCENT#");temp+=input.name+"="+input_value}}return temp}function run(){if(fila[ifila]["func"]=="putInPlace"&&flagloadmsg){putInPlace("<span class='ajax_loading'>"+loadmsg+"</span>")}var cache="cache="+new Date().getTime();var url=fila[ifila]["url"];if(url.indexOf("?")<0){url+="?"+cache}else{url+="&"+cache}xmlhttp.open(fila[ifila]["method"],url);xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){retorno=unescape(xmlhttp.responseText.replace(/\+/g," "));retorno=escape(xmlhttp.responseText);eval(fila[ifila]["func"]+'("'+retorno+'")');ifila++;if(ifila<fila.length){setTimeout("timerAjaxRun()",20)}}};if(fila[ifila]["method"]=="POST"){xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}xmlhttp.send(fila[ifila]["send"])}}Ajax=new Ajax();function timerAjaxRun(){Ajax.run()};