Я в сети. Спасибо большое за код. До такого кода мне еще расти и расти.. но нужное почерпнул - все что мне было нужно - это функция eval() 

Пусть универсальных решений в сети и полно - написал свое собственное. Конечно, далеко не идеальное - зато работает на ура! 
Теперь для работи с аяксом нужно написать всего одну! строчку кода:
ajax("serverAdr", "params", "type", "function", "destID", "loadingID", "loadingHtlml")
Тоесть адрес сервера, параметри, возвращаемый тип (xml или text), функция обработки результата, ID елемента куда запишем результат (тоесть если указана ф-ция - результат обрабатывает она, если указан destID - то результат записывается в этот елемент). Ну и последних 2 параметра - это ID елемента и текст статуса загрузки - ну гифка там какая-нибудь.
Сделана постановка в очередь - если запросов много.. Проверил роботоспособность - в цикле:
while (i=0;i<50;i++){
ajax ("script1.php","param="+i,"text","","testID",",  "")
ajax ("script2.php","param="+i,"text","","testID",",  "")
ajax ("script3.php","param="+i,"text","","testID",",  "")
ajax ("script4.php","param="+i,"text","","testID",",  "")
ajax ("script5.php","param="+i,"text","","testID",",  "")
}
И через пару секунд получил 250 ответов от сервера.. все четко))) 
Теперь аякс можно везьде где только можно пихать! ))
Даю код - может кому пригодится.. Если найдете неточности, ошибки или знаете как усовершенствовать - пишите.
var xmlHttp = createXmlHttpRequestObject();
var intervalID = 0;
var showErrors = true;
var dId    = ''; // destinationID 
var cbF    = ''; // callbackFunction 
var type   = ''; // type ('text' OR 'xml')
var updateInterval = 100; // how many miliseconds to wait to send new request
var timerId = 0;
/* initialize the ajax cache */
var cache = new Array();
function createXmlHttpRequestObject(){
  var xmlHttp;
  try{
    xmlHttp = new XMLHttpRequest();
  }catch(e){
    var XmlHttpVersions = new Array("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<XmlHttpVersions.length && !xmlHttp; i++){
      try{ 
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {} // ignore potential error
    }
  }
  if (!xmlHttp)
    displayError("Error creating the XMLHttpRequest object.");
  else 
    return xmlHttp;
}
function displayError($message){
  if (showErrors){
    alert("Error encountered: \n" + $message);
  }
}
function doAjax (){
  if (cache.length == 0 ){
  		timerId = 0; 
  		return;	 
  } 
  	 
  if (xmlHttp){   
    try{      
      if ((xmlHttp.readyState == 4 || xmlHttp.readyState == 0)){
		  		  		   
		  var ajax_params = cache.shift(); 
 		  if ( ajax_params.lHtml && ajax_params.lId ){
 		  		document.getElementById( ajax_params.lId ).innerHTML = ajax_params.lHtml; 
 		  }
		  dId    = ajax_params.dId;
		  cbF    = ajax_params.cbF;
		  type   = ajax_params.type;  			  	
 
        xmlHttp.open("POST", ajax_params.server , true);
        xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        xmlHttp.onreadystatechange = handleRequestStateChange;
        xmlHttp.send ( ajax_params.params); 
      }else{
      	timerId = setTimeout("doAjax();", updateInterval);
      }      	 
    }catch (e){
      displayError("search error: "+e.toString());
    }
  }
}
function handleRequestStateChange(){  	
  if (xmlHttp.readyState == 4){
    if (xmlHttp.status == 200){
      try{
        readResponse();      
      }
      catch(e){
        displayError("handleRequestStateChange1 error: "+e.toString());
      }
    }else{
      displayError("handleRequestStateChange2 error: "+xmlHttp.statusText);
    }
  }
}
function readResponse(){
  var response = xmlHttp.responseText;
 
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error:") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);
   try{
		var responseXml = xmlHttp.responseXml;  
   }catch(e){
		var responseXml = '';  
   }
 
 	if ( type == 'xml'){
		var resp = responseXml; 	
	}else{
		var resp = response;
	}
 	if ( cbF ){
		eval( cbF +'(resp)'); 	
 	}else if ( dId ){ 	
 		document.getElementById( dId ).innerHTML = resp;	
 	} 	
 	
 	timerId = setTimeout("doAjax();", updateInterval); 
}
function ajax (serverVal , paramsVal , typeVal , cbFVal , dIdVal ,
				    lIdVal , lHtmlVal ){
	
	var ajax_params = {server: serverVal,
	                   params: paramsVal,							 
							 type: typeVal,
							 cbF: cbFVal, 
							 dId: dIdVal,
							 lId: lIdVal,
							 lHtml: lHtmlVal
							 };
	cache.push( ajax_params );
	if ( !timerId ){						 
		doAjax();
	}	 
}