             function ajax_init() {
                 
                 var Ajax;
                 
                 var msxmlhttp = new Array(
                    'Msxml2.XMLHTTP.5.0',
                    'Msxml2.XMLHTTP.4.0',
                    'Msxml2.XMLHTTP.3.0',
                    'Msxml2.XMLHTTP',
                    'Microsoft.XMLHTTP');
					
                for (var i = 0; i < msxmlhttp.length; i++) {
                    try {
                        Ajax = new ActiveXObject(msxmlhttp[i]);
                    } catch (e) {
                        Ajax = null;
                    }
                }
                 
                if(!Ajax && typeof XMLHttpRequest != "undefined")
                    Ajax = new XMLHttpRequest();
                    
                return Ajax;
            }
            
			
		var fila=[];
		var ifila=0;
			
			
			
		function ajax_request(url, metodo, parametros,funcao) {
			fila[fila.length]=[funcao,url];

			if ((ifila+1)==fila.length) {
				ajax_exec(url, metodo, parametros,funcao);
			}
			
		}
			
        function ajax_exec(url, metodo, parametros,funcao) {
            
                    if (metodo == "GET") {
                        Ajax.open("GET", fila[ifila][1], true);
                        Ajax.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");

                    } else {        
                        Ajax.open("POST", fila[ifila][1], true);
                        Ajax.setRequestHeader("Method", "POST " + fila[ifila][1] + " HTTP/1.1");
                        Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
                    }    

                    Ajax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
                    Ajax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
                    Ajax.setRequestHeader("Pragma", "no-cache");
                    
                    Ajax.onreadystatechange = function() {
						if (Ajax.readyState == 4) {

							ajax_response(fila[ifila][0]);

							ifila++;
				            if (ifila<fila.length) { 
								setTimeout("ajax_exec()",20);
							}
								
						}
					}
					
                    if(metodo == "GET") {
                        Ajax.send(null);
                    } else {        
                        Ajax.send(parametros);
                    }
					
        }
		
		function ajax_response(funcao) {
			
			if (Ajax.getResponseHeader('Content-type').indexOf('application/xml')>=0) {
				funcao(Ajax.responseXML);
			} else {
		         var texto = Ajax.responseText;
		         //texto = texto.replace(/\+/g,' ');
        		 texto = unescape(texto);
				 funcao(texto);	
			}
		}
		
		var Ajax = ajax_init();