/*

   Automatischer Bildwechsel für eine Serie von Bilder auf einer Seite
   

*/


/*************************************************
*
*   Globale Parameter
*
**************************************************/
var PicList=new Array();  // Liste mit den aktuellen Bildnummer
var CurrentPic;  // Aktuell zu bearbeitendes Bild in der Anzeige
var LoopCount;   // Aktuelle Anzahl der durchlaufenden Bildserien

/*************************************************
*
*   Parameter hier einstellen
*
**************************************************/
var LastPic=67;             // Anzahl der gesamt verfügbaren Bilder  10 => jack1.jpg..jack10.jpg
var PicCount=5;             // Anzahl der Bilder in der Anzeige   img müssen mit Namen pic1..picxx
var PicPrefix="jack";       // Vorderer Teil Name Bilddateien  zB.: jack
var PicPostfix=".jpg";      // Hinterer Teil Name Bilddateien  zB.: .jpg
var Path="images/";         // Pfadname Bilddateien
var TimeoutList=5000;      // Zeit zwischen zwei Serien im Millisekunden
var TimeoutPic=1000;        // Zeit zwischen zwei Bildern in der Serie in Millisekunden
var MaxLoop=30;            // Maximale zu durchlaufende Anzahl Bilderserien


/*************************************************
*
*   Initialisierung bei Seitenaufruf
*
**************************************************/
function Initialize()
{
   var ImgName,ImgSrc;
   
   // Start
   CurrentPic=1;
   LoopCount=0;
   
   // Bildnummer auf -1 setzen für die Erueigung der ersten Serie
   for(i=0;i<PicCount;i++) PicList[i]=-1;
   // Neue Serie mit Bildnummern erzeugen
   NewList();
   
   // Erste Bildserie sofort ausgeben
   for(i=0;i<PicCount;i++)
   {
      ImgName="pic"+(i+1);
      ImgSrc=Path+PicPrefix+PicList[i]+PicPostfix;
      document.images[ImgName].src=ImgSrc;   
   }
   
   // Timeout für ersten Bildwechsel
   setTimeout("Animate()",TimeoutList);
}

/*************************************************
*
*   Bearbeitung eines Bild- oder Serienwechsels
*
**************************************************/
function Animate()
{

   var ImgName,ImgSrc;
   var Timeout;

   // Beim ersten Bild Serie neu
   if(CurrentPic==1) NewList();

   // Neues Bild ausegen
   ImgName="pic"+(CurrentPic);
   ImgSrc=Path+PicPrefix+PicList[CurrentPic-1]+PicPostfix;
   document.images[ImgName].src=ImgSrc;   

   // Nächstes Bild
   CurrentPic++;
   
   // Serie fertig
   if(CurrentPic>PicCount)
   { 
      CurrentPic=1;
      LoopCount++;
      Timeout=TimeoutList;
   }
   else
   {
      Timeout=TimeoutPic;
   }
   
   // Timeout für nächstes Bild, falls maximale Anzahl noch nicht erreicht
   if(LoopCount<MaxLoop)setTimeout("Animate()",Timeout);
}


/*************************************************
*
* Initialisierung  
*
**************************************************/
window.onload=Initialize;


/*************************************************
*
*   Erzeugt eine neue Liste mit den Bildindizes
*
**************************************************/
function NewList()
{
   var i,NewPic;
   
   for(i=0;i<PicCount;i++)
   {
      do
      { 
         NewPic=Math.random();
         NewPic=NewPic*LastPic; 
         NewPic=Math.ceil(NewPic);
      }
      while(IsInList(NewPic))
    
      PicList[i]=NewPic;
   }
}

/*************************************************
*
*   Prüft ob die Bildnummer in der aktuellen
*   Liste enthalten ist
*
**************************************************/
function IsInList(Pic)
{
  for(i=0;i<PicCount;i++)
      if(Pic==PicList[i]) return(true);

   return(false);
}
