function makeRequest(class_name,method_name,js_function,aParameters,sendMethod) {
  
  var url = '../libs/scripts/ajax_public.php?class='+class_name+'&method='+method_name;
  var parameter;
  var parametersString = '';
  for(i=0;i<aParameters.length;i++){
    parameter = aParameters[i];
    parametersString += '&par['+i+']='+encodeURI(parameter);
    
  }
    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        //causa 'junk after document...' error
        //if (http_request.overrideMimeType) {
         //   http_request.overrideMimeType('text/xml');
        //}
    } else if (window.ActiveXObject) { // IE
      
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
    
    http_request.onreadystatechange = function() {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
              
              eval(js_function + '(http_request.responseText)');
            } else {
                alert('There was a problem with the request.(Code: '+http_request.status+')');
            }
        }
    };
    sendMethod = (sendMethod == 'POST') ? 'POST' : 'GET';
    if(sendMethod == 'GET'){
      http_request.open('GET', url+parametersString, true);
      http_request.setRequestHeader('If-Modified-Since','Sat, 1 Jan 2000 00:00:00 GMT');
      http_request.send(null);
    }else{
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parametersString.length);
      if(!(jsGlob.browserCode == 'e' && jsGlob.browserVersion < 7)){
        http_request.setRequestHeader("Connection", "close");
      }
      http_request.send(parametersString);
    }
}

function makeArrayFromResponse(response){
  var str = new String(response);
  var bTab = str.indexOf('\t');
  var a = str.split('\n');
  
  if(bTab >= 0){
    var el;
    for(i=0;i<a.length;i++){
      el = a[i];
      str = new String(el);
      a[i] = str.split('\t');
    }
  }
  return a;  
}

function voidMethod(response){
}
