function processHTTPRequest(url, callbackFunction)
{   
		  try{
		  
			  if(window.XMLHttpRequest){
        
				 req = new XMLHttpRequest();
				 req.onreadystatechange = function(){dataReceived(callbackFunction)};
				 //alert(url);
				 req.open("GET", url, true);
				 //alert(1);
				 req.send(null);
				 //alert(2);
				 //IE/Windows ActiveX version
			  }
			  else if(window.ActiveXObject){
			  
				 req = new ActiveXObject("Microsoft.XMLHTTP");
				 if(req){
				 
					req.onreadystatechange = function(){dataReceived(callbackFunction)};
					req.open("GET", url, true);
					req.send();
				 }
			 }
		}
		catch(e){
		
			 alert("ERROR [AJAX REQUEST PROCESSING]: " + e.message);
		}
}    

function dataReceived(callbackFunctionName) 
{
		  try{
		   
			  //only if req is "loaded"
			  if(req.readyState == 4){
		 
				 //only if "OK"
				 if(req.status == 200){
			 
					if(callbackFunctionName != ""){
				
					   //alert("responseText: " + req.responseText);
					   var response = filterResponse(req.responseText);
					   //alert("response: " + response);
					   var Respo = new Response(response);
					   //alert(Respo);
					   var commandString = callbackFunctionName + "(" + Respo + ")";
					   eval(callbackFunctionName + "(new Response(response))");
					   //alert("END");
					}
				 }
			  }
		 }
		 catch(e){
		
			  //alert("ERROR [AJAX RESPONSE PROCESSING]: " + e.message);
		 }
}

function Response(Res)
{
		  this.Resp = Res;
		  //alert ("test");
}

function filterResponse(response)
{
		  try{
		  
			  response = response.replace(/\r/g, '');
			  response = response.replace(/\n/g, '');
			  //alert("response3: " + response);
		  }
		  catch(e){
		  }
		  //alert("response2: " + response);
		  return response;
}