document.observe("dom:loaded", function() {

var blockbutton=false;
var timechange=5; //sec
var timewaitafterstop=4000 ; //ms
var timerIDwaitafterstop;
var t;
var jsonData="";
var currentitem=0;
var allitems=0;


new Ajax.Request(AjaxHrefNews, { method: 'POST',
  onComplete: function(transport) {
      if (transport.responseText!=0)
      {
        jsonData = transport.responseText.evalJSON(true); 
        allitems=jsonData.length;
        InsertData(jsonData[0]);
        //alert(jsonData[1].introtext);
      }
      go(); //автоматическая прокрутка
  }
  });
      


function InsertData(elem)
{
  $('newsline').innerHTML='<p id="introtitle"><a title="'+elem.title+'" href="'+elem.href+'">'+elem.introtext+'</a></p>';
  //$('newsline').innerHTML='<p id="newsdate">'+elem.date+'</p><p id="introtitle"><a title="'+elem.title+'" href="'+elem.href+'">'+elem.introtext+'</a></p>';
}

function go()
{
  //запустить автоматическую прокрутку
  t= new PeriodicalExecuter(function() { goright(); }, timechange);
}

function StopGo()
{
  t.stop(); //остановить автоматическую прокрутку
  clearTimeout(timerIDwaitafterstop);
  timerIDwaitafterstop=setTimeout(function() {go()}, timewaitafterstop); 
}

function countup()
{
  currentitem++;
  if (allitems<=currentitem)
  {
    currentitem=0;
  }
}

function countdown()
{
  currentitem--;
  if (currentitem<0)
  {
    currentitem=allitems-1;
  }
}


function goright() {
  if (!($('newsline').hasClassName('hold'))) {
    $('newsline').addClassName('hold');
    new Effect.Parallel([
           Effect.DropOut('newsline',{ queue: 'end', sync: true}),
           Effect.Fade('newsline',{ queue: 'end', sync: true})
    ], {
      beforeFinish: function() {  },
      duration: 0.7,
      delay: 0.1,
      afterFinish : function() {
           countup();
           InsertData(jsonData[currentitem]);
           Effect.Appear('newsline',{ 
             duration: 0.6,
             afterFinish : function() {
               $('newsline').removeClassName('hold'); 
             }
           });
      }
    }); 
  }
}


function goleft(){
  if (!($('newsline').hasClassName('hold'))) {
  $('newsline').addClassName('hold');
    new Effect.Parallel([
           Effect.DropOut('newsline',{ queue: 'end', sync: true}),
           Effect.Fade('newsline',{ queue: 'end', sync: true})
    ], {
      beforeFinish: function() {  },
      duration: 0.7,
      delay: 0.1,
      afterFinish : function() {
           countdown();
           InsertData(jsonData[currentitem]);
           Effect.Appear('newsline',{ 
             duration: 0.6,
             afterFinish : function() {
               $('newsline').removeClassName('hold'); 
             }
           });
      }
    });
  }
}

//var e = PeriodicalExecuter(goright(), 5);

//beforeStart: function() { alert('start') }, afterFinish: function() { alert('finish') }

$$("#rightblockheader a.bleft").invoke('observe','click',function() { goleft(); StopGo(); });

$$("#rightblockheader a.bright").invoke('observe','click',function() { goright(); StopGo();});

});

