function ajaxRequest(action,data,ptr)
{
  http_request = false;
  if (window.XMLHttpRequest)
  { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType)
    {
      // set type accordingly to anticipated content type
      //http_request.overrideMimeType('text/xml');
      http_request.overrideMimeType('text/html');
    }
  }
  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('Cannot create XMLHTTP instance'); return false; }

  http_request.onreadystatechange = function() { if(http_request.readyState == 4) { ptr(http_request.responseText); } }
  http_request.open('POST', action, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", data.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(data);
}