var delkaSnimku = 122;
var pocetSnimku = null;
var pocetSnimkuVRamecku = null;

var delayPosunuObrazku = 5000;

var dobaPosunuObrazku = 500;
var delayPosunuJednotka = 10;
var delkaPosunuJednotka = Math.round(delayPosunuJednotka * delkaSnimku / 
                          dobaPosunuObrazku);

/*****************************************************************/

var element;

/* pozice panelu */
var pozice = 0;

/* o kolik zbyva posunout */
var zbyvaposun = 0;

/* aktualni smer posouvani */
var smer = 1;

/* zda se muze spustit nova udalost move*/
var volno = true; //*****
/* zda se ma dale scrollovat*/
var actionAgain = true;

/*****************************************************************/

//    Nastartovani periodickych posunu
function startPeriodicalMove(pocSnimku,delSnimku,pocVRamecku)
{
   pocetSnimku = pocSnimku ;
   delkaSnimku = delSnimku;
   pocetSnimkuVRamecku = pocVRamecku;

   element = document.getElementById("referenceContent");
   pozice = 0;

   setTimeout("periodicalMove()",delayPosunuObrazku );
}

function periodicalMove()
{  
   if(volno)
   {
      // prepocteme smer
      if(uzNarazil(smer,pozice))
         smer = smer * -1;

      volno = false;
      zbyvaposun = delkaSnimku;

      //nastavime zavolani dalsiho pokusu
      setTimeout("periodicalMove()",delayPosunuObrazku );    

      //zacneme posouvat obr
      moveJednotka();
   }
   else
   {
      //nastavime zavolani dalsiho pokusu
      setTimeout("periodicalMove()",delayPosunuObrazku ); 

   }
}

//nastavi vzdalenost atd a spusti posouvani
function moveObrazek(jakySmer)
{

   

   if(volno)
   {
            if(uzNarazil(jakySmer,pozice + delkaSnimku * jakySmer))
                return;
            // nebo to posuneme o jeden obrazek
            smer = jakySmer;
            zbyvaposun = delkaSnimku;
            volno = false;
            moveJednotka();
   }
   else
   {
     if(smer == jakySmer)
     {
     }
     else 
     {
            smer = jakySmer;
            zbyvaposun = delkaSnimku  - zbyvaposun ;
     }
   }

}

function moveJednotka()
{
  if(zbyvaposun>0)
  {
       zbyvaposun = zbyvaposun - delkaPosunuJednotka  ;
       pozice = pozice + Math.round(delkaPosunuJednotka * smer);
       if(zbyvaposun <=0)
       {
           //vratime prebytek zpatky
           pozice = pozice + zbyvaposun * smer;

           

           volno = true;
       }
          
       element.style.left = (pozice )+"px";

       setTimeout("moveJednotka()",delayPosunuJednotka );
  }
}

function uzNarazil(jakySmer,jakaPozice)
{
   if(jakySmer == -1)
   {
      if( pozice <= (- (pocetSnimku-pocetSnimkuVRamecku)*(delkaSnimku-1)) + 20)
{

         return true;
}
   }
   else
   {
      if(pozice >= 0) 
         return true;
   }
   
   return false;
}

