
function openform(id)
{
  if($('voteform').style.display == 'none') {
    $('voteform').show();
    document.getElementById("vote_id").value = id;
    $('vote_text').focus();
  } else {
    $('voteform').hide();
  }
  return false;
}

function closeform()
{
  $('voteform').hide();
  return false;
}


function vote(id, text) {
  // создать объект для запроса к серверу
  var req = getXmlHttp()

  // span рядом с кнопкой
  // в нем будем отображать ход выполнения
  var statusElem = document.getElementById('vote_status' + id)

  req.onreadystatechange = function() {
  // onreadystatechange активируется при получении ответа сервера

    if (req.readyState == 4) {

      // если запрос закончил выполняться
      statusElem.innerHTML = req.statusText // показать статус (Not Found, ОК..)

      if(req.status == 200) {
        // если статус 200 (ОК) - выдать ответ пользователю
        if (req.responseText != 0)
        {
          nvotesElem = document.getElementById('n_votes' + id)
          nvotesElem.innerHTML = req.responseText
          alert('Thanks for your vote!');
        }
        else
          alert('You have already voted in this contest and can not vote again!');
      }
      // тут можно добавить else с обработкой ошибок запроса

    }

  }

  // задать адрес подключения
  req.open('GET', '/vote.php?id=' + id + '&text=' + text, true);

  // объект запроса подготовлен: указан адрес и создана функция onreadystatechange
  // для обработки ответа сервера

  req.send(null);  // отослать запрос
  statusElem.innerHTML = '<img src="/img/loading_bar.gif" border="0" alt="">'
}

function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}

