var xmlHttp = createXmlHttpRequestObject();

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) {}
  }
}

if (!xmlHttp) alert ("Ошибка создания объекта XMLHttpRequest.");
else return xmlHttp;
}


function process(id,dir)
{

if (xmlHttp)
{
  try
  {
    
    if (dir==1) //если рекомендуем автора
    {
      var params = "authid=" + id;
      xmlHttp.open("GET", "modules/recomauth.php?" + params, true);
    }

    else  //если рекомендуем произведение
    {
      var params = "workid=" + id;
      xmlHttp.open("GET", "modules/recomwork.php?" + params, true);
    }
    xmlHttp.onreadystatechange = handleRequestStateChange;
    xmlHttp.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
    xmlHttp.send(null);
  }

  catch (e)
  {
    alert ("Невозможно соединиться с сервером:\n" + e.toString());
  }
}
}


function handleRequestStateChange()
{

if(xmlHttp.readyState == 4)
{
  if (xmlHttp.status == 200)
  {
    try
    {
      handleServerResponse();
    }
    catch (e)
    {
      alert ("Ошибка чтения ответа: " + e.toString());
    }
  }
  else
  {
    alert ("Возникли проблемы во время получения данных: \n" + xmlHttp.statusText);
  }
}
}


function handleServerResponse()
{

document.getElementById("OKDiv1").innerHTML = "<font color=green>OK!</font>";

}
