 var scrollSpeed=20;
 var scrollSpeedOnBreak=2000;
 var scrollStep=1;
 var scrollStart=-1;//vlastne pocatecni strana, -1 je odsun o stranu

 var scrollbox,scrolinner,scrollover;
 var scrolltotalY,scrollY;
 var scrolltimer1;
 var scrollpaused=false;
 var scrollbreaks = new Array();
 var scrolltimer = 0;
 var scrolltimerspeed = 0;


 function SNInit(){
   scrollbox=document.getElementById('scrollingnews');
   scrollinner=document.getElementById('scrollinginner');
   scrollover=document.getElementById('scrollover');

   if ((!scrollbox)||(!scrollinner)||(!scrollover))
     return;

   scrolltotalY=scrollover.offsetTop;
   scrollseeY=scrollbox.offsetHeight;
   scrollY=scrollseeY*scrollStart;

   scrollbox.onmouseover = function (){ SNSetPause(true); };
   scrollbox.onmouseout = function (){ SNSetPause(false); };

   SNSetBreaks();

   SNScroll(-scrollseeY);
   scrollinner.style.visibility="visible";

   SNTimer1();
 }

 function SNTimer1(){
   var inbreak=false;
   if (!scrollpaused)
     inbreak = SNScroll(scrollStep);
   //var aspeed= inbreak? scrollSpeedOnBreak : scrollSpeed;
   scrolltimer1 = setTimeout("SNTimer1()",inbreak? scrollSpeedOnBreak : scrollSpeed);
/*
   if ((scrolltimer1==0)||(scrolltimerspeed != aspeed)){
     scrolltimerspeed = aspeed;
     if (scrolltimer1) clearInterval(scrolltimer1);
     scrolltimer1 = setInterval("SNTimer1()",scrolltimerspeed);
   }*/
 }

 //vsechny li v elementu=zastavky, nacpu do pole breaks
 function SNSetBreaks(){
   var lis=scrollinner.getElementsByTagName('li');
   scrollbreaks=new Array();
   for (var i = 0;i<lis.length;i++)
     if (lis[i].id!='scrollover')
       scrollbreaks[i]=lis[i].offsetTop;
 }

 //offset=prisrustek k aktualni pozici
 //zaroven se zda osetruji zastavky a pretekani
 //vraci TRUE = prijeli jsme na zastavku
 function SNScroll(offset){
   scrollY+=offset;//posunu, takze uz pracuji s novou pozici

   var inbreak=false;//vychozi je, ze nejsem na zastavce

   for (var i = 0;i<scrollbreaks.length;i++)//prolezu zastavky
     if ((scrollbreaks[i]<=scrollY)&&(scrollbreaks[i]>(scrollY-offset))){
       inbreak=true;
       scrollY=scrollbreaks[i];
     }

   if ((scrollY>scrolltotalY)||(scrollY<-scrollseeY)) //jsem mimo viditelnosti rozsah?
     scrollY=-scrollseeY; //nastavim na zacatek-viditelna oblast
   scrollinner.style.top=(-scrollY)+'px'; //posune objekt na novou y pozici a nastavi stavovou promenou
   return inbreak;
 }

 function SNSetPause(state){
   scrollpaused=state;
 }

