var xmlHttp = createXmlHttpRequestObject();

//Tworzymy obiekt XmlHttpRequest
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("Błąd podczas tworzenia objektu xmlHttp.");
  }
  else
  {
    return xmlHttp;
  }
}

//Asynchroniczne wywołanie servera
function runRequestProcess(serverAddress)
{
  if(xmlHttp)
  {
    //próbujemy wywołać połączenie z serverem
    try
    {
      xmlHttp.open("GET", serverAddress, true);
      xmlHttp.onreadystatechange = handleRequestStateChange;
      xmlHttp.send(null);
    }
    catch(e)
    {
      //alert("Nie można nawiązać połączenia z serwerem:\n" + e.toString());
    }
  }
}

//Funcja wywoływana przy zmianie statusu xmlHttp
function handleRequestStateChange()
{
  if(xmlHttp.readyState == 1)
  {
    //stateDiv.innerHTML += "Status żądania: 1 (ładuje)<br/>";
  }
  else if(xmlHttp.readyState == 2)
  {
    //stateDiv.innerHTML += "Status żądania: 2 (załadowany)<br/>";
  }
  else if(xmlHttp.readyState == 3)
  {
    //stateDiv.innerHTML += "Status żądania: 3 (interaktywny)<br/>";
  }
  //Odczytujemy odpowiedź servera
  else if(xmlHttp.readyState == 4)
  {
    //stateDiv.innerHTML += "Status żądania: 4 (Przetwarzanie odpowiedzi serwera...)<br/>";

    //Sprawdzamy czy odpowiedź serwera ma wartość 'OK'
    if(xmlHttp.status == 200)
    {
      try
      {
        responseServerText = xmlHttp.responseText;
      }
      catch(e)
      {
        //alert("Błąd podczas odczytu odpowiedzi: " + e.toString());
      }
    }
    else
    {
      //alert("Pojawił się problem z dostępem do Serwera: " + xmlHttp.statusText);
    }
  }
}

function createCookie(name, value, days)
{
  if (days)
  {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else
  {
    var expires = "";
  }
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)
{
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++)
  {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function eraseCookie(name)
{
  createCookie(name, "", -1);
}


function glosuj(x, y)
{
  var serverAddress = "/_ajax.php?action=peroni&Id="+y+"&Val="+x;

  runRequestProcess(serverAddress);


  var ArticleCookie = readCookie('peroni');

  if(ArticleCookie == null)
  {
    ArticleCookie = y+',';
  }
  else
  {
    ArticleCookie = ArticleCookie+y+',';
  }

  createCookie('peroni', ArticleCookie, 14);
}