
// **************************** Nastavení rotátoru: *********************
var rotujInterval=10000;  // [ms] interval výměny, minimálně 4000
var a=3;    // [delta px/snímek] zrychlení při animaci, rozsah 1 - 10, rozumné nastavení=3
var obrazek_ms=50;  // při animaci čas mezi obrázky, rozsah 30 - 100, rozumné nastavení=50 (tj. 20 obrázků/s)
var pocetPolozekRot=4;
// ************************** ( Nastavení rotátoru /// )*****************

var arNews=new Array();
var arHe=new Array();
var arNewsN=0;
var news;
var ch;
var oTop;
var pivotIdx=1;
//var pocetSnimku=15;   // staré, nepoužíváme
 var DiagTx;
var sk;  // celková dráha kterou musí animace urazit
var s;   // dosud ujetá dráha
var v;   // okamžitá rychlost pohybu
var intervalId;

//----------------------------

function animace(pivotIdx,snimekNo, animuj) {

 var IAr;
 var hotovo;
 var iTop=oTop; // konečná poloha    //+20

 if (arguments.length<3) animuj=true;
 for (var i=0;i<arNewsN;i++) {   // i = pořadí snímku
  IAr=i+pivotIdx;
  if(IAr>=arNewsN) IAr=IAr-arNewsN;    // kulatý buffer
  if(i<pocetPolozekRot) {
   if(i==0) {  //1.<DIV>
    if(snimekNo==0)  { // vstup do animace
     v=0;
     s=0;
     sk=arHe[IAr];
     hotovo=false;
     DiagTx='';
    }
    if(!animuj) s=10000;  // jen posune bez animace
    if(s*2<=sk+30) {  // zrychlovat
     v=v+a;
    } else {      // zpomalovat
     v=v-a;
    }
    if(v<a) {v=a;   DiagTx=DiagTx+'*'; } // aby nebrzdil moc
    s=s+v;
    if(s>sk) {
     s=sk;
     hotovo=true;
    }
    
    iTop=iTop+s-arHe[IAr]; // nastav polohu 1.<DIV>
//    iTop=iTop-(pocetSnimku-snimekNo)/pocetSnimku*arHe[IAr]; // nastav polohu 1.<DIV>
   }
   arNews[IAr].style.display="block";
   arNews[IAr].style.position="absolute";
   arNews[IAr].style.top=""+iTop+"px";
   iTop=iTop+arHe[IAr];


  } else {
   arNews[IAr].style.display="none";
  }
 }
 snimekNo++;
// if(snimekNo<pocetSnimku) setTimeout("animace("+pivotIdx+","+snimekNo+")", 50);
 if(!hotovo) setTimeout("animace("+pivotIdx+","+snimekNo+")", obrazek_ms);
//  else alert(DiagTx);
}

function rotuj(animuj) { // animace: viditelné jsou 4 položky, stabilně 3 položky
 if (arguments.length<1) animuj=true;
 pivotIdx--;
// if(pivotIdx>=arNewsN)  pivotIdx=0;
 if(pivotIdx<0)  pivotIdx=arNewsN-1;
 animace(pivotIdx,0,animuj);
// setInterval("rotuj()", 1000);
//alert(ErrTx);
}

function mouver(brzdi) {  // při mouseover / mouseout, zastaví animaci
 if(brzdi) {
  clearInterval(intervalId);
  intervalId=-1;
 } else {
  if(intervalId==-1)  intervalId=setInterval("rotuj()", rotujInterval);
 }
}

function vyskaPrvku(i) {
 if(i>=arNewsN) i=i-arNewsN;    // kulatý buffer
 return arHe[i];
}
function pripravRotaci() {
 var vyskaMax=0;
 var vyska;
 var menu=document.getElementById('menu');
 menu.style.visibility="visible";
 news=document.getElementById('news');
 if(typeof(news)!='object') return;
 if(news==null) return;
 var pocetPolozekCelk=news.childNodes.length;

 for (var i=0;i<news.childNodes.length;i++) {
  ch=news.childNodes[i];
  if(ch.className=='news') {
   if(arNewsN==0) oTop=ch.offsetTop;   // poloha prvního obrázku   (offsetLeft,..)
   arNews[arNewsN]=ch;
   arHe[arNewsN]=ch.offsetHeight+30;
   arNewsN++;
  }
 }
 if(arNewsN==0) return;
 if(pocetPolozekRot>arNewsN) pocetPolozekRot=arNewsN;

 for (var i=0;i<arNewsN;i++) {  // zjistí max. potřebnou výšku sloupce:
  vyska=0;
  for (var j=0;j<pocetPolozekRot;j++) {  // zjistí výšku každého jednotlivého sloupce:
    vyska=vyska+vyskaPrvku(i+j);
  }
  if(vyska>vyskaMax) vyskaMax=vyska;
 }
 news.style.height=''+vyskaMax+'px';
 rotuj(false);
 intervalId=setInterval("rotuj()", rotujInterval);
 news.onmouseover=new Function("mouver(1)");
 news.onmouseout=new Function("mouver(0)");
}

