function ShowRqLoader(value)
{
  var rq_loader=document.getElementById('rq_loader');
  if (rq_loader)
  {
    rq_loader.width
    
    rq_loader.style.position='absolute';

    rq_loader.style.left=document.body.scrollLeft+document.body.clientWidth/2-110;
    rq_loader.style.top=document.body.scrollTop+document.body.clientHeight/2-8;
    
    if (value)
      rq_loader.style.visibility='visible';
    else
      rq_loader.style.visibility='hidden';
  }
}
RateMessageRqErr_tmr=0;
function RateMessageRq(a_messageid,a_rate)
{
  ShowRqLoader(true);

  _Request = new Request();

  _Request.name='RateMessageRq';
  _Request.postdata='&abb=33434';
  _Request.dataURL="/rq/rate.htmlx?object_id="+a_messageid+"&rate="+a_rate;

  _Request.onLoad=function()
  {
    if (RateMessageRqErr_tmr)clearTimeout(RateMessageRqErr_tmr);
    var rtext=_Request.ResponseText.split('}');
    
    ShowRqLoader(false);

    if (rtext[0]=='ok')
    {
      var rateelem_up=document.getElementById('rateelem_up_'+a_messageid);
      var rateelem_dwn=document.getElementById('rateelem_dwn_'+a_messageid);
      var rateelem_cntr=document.getElementById('rateelem_cntr_'+a_messageid);
      
      if (rateelem_up)
        rateelem_up.innerHTML='<div class="control up_dis" title="Нельзя голосовать за одну фотку более чем 1 раз">+</div>';
        
      if (rateelem_dwn)
        rateelem_dwn.innerHTML='<div class="control dwn_dis"  title="Нельзя голосовать за одну фотку более чем 1 раз">–</div>';
        
      if (rateelem_cntr)
      {
        var level=rtext[1];
        var votes=rtext[2];
        
        rateelem_cntr.innerHTML=level;
        rateelem_cntr.title='Уровень маразма: '+rtext[1]+', голосов: '+rtext[2];
      }

//      document.getElementById('puka').innerHTML=document.getElementById('puka').innerHTML-1;
    }
    else
      alert("В ходе голосования произошла ошибка.");
  };

  _Request.onError=function()
  {
    if (RateMessageRqErr_tmr)clearTimeout(RateMessageRqErr_tmr);
    ShowRqLoader(false);
    alert('В процессе обработки запроса произошла ошибка. Пожалуйста, повторите ваше действие.');
  };

  if (_Request.go())
  {
    RateMessageRqErr_tmr=setTimeout("RateMessageRqErr()",15000);
  }
}

function RateMessageRqErr()
{
  ShowRqLoader(false);
  alert('В процессе обработки запроса произошла ошибка. Пожалуйста, повторите ваше действие.');
}
