var unterschrift=new Array();  
var fenster
var stylesheet_url = "http://www.goethe.de/css2/formate.css";
var playBtnUrl = "http://www.goethe.de/bilder2/symbole/intern.gif";
var pauseBtnUrl = "http://www.goethe.de/bilder2/symbole/pause.gif";

//---------- checkt, ob schon ein Diashow-Popup geoeffnet ist.
function checkOpen(){	
 if(fenster){if(fenster.closed){return false;}else{return true;}}return false;}

//---------- oeffnet die Diashow-html-Seite in einem Popupfenster
function diashow(pfad, str) { 
  if(str!=null){
  var p=new Array;
  var e=str.split("&");
  for(var i=0;i<e.length;i++){
   wert=e[i].split("=");
   p[i]=new Object;
   for(var j=0;j<2;j++){
    p[i][j]=wert[j];
   }
  }
  for(var i=0;i<p.length;i++){
   if (p[i][0].toLowerCase()=="w") var w=p[i][1];
   if (p[i][0].toLowerCase()=="h") var h=p[i][1];
  }
 }
 if(breite && hoehe){
  w=(w)?w:breite;
  h=(h)?h:hoehe;
 }else{
  w=(w)?w:750;
  h=(h)?h:550;
 }
 var l=(screen.width)?(screen.availWidth-w)/2:0; 
 var t=(screen.height)?(screen.availHeight-h)/2:0; 
 var settings='width='+w+',height='+h+',top='+t+',left='+l; 
 if(checkOpen())fenster.close(); //schliesst ein evtl. bereits geoeffnetes Diashow-Popup-Fenster
 fenster=window.open(pfad,"GIpopup_diashow",settings);	// oeffnet ein Diashow-Popup-Fenster
 fenster.focus();
}

//---------- Bilder vorladen 
var Preloader = new CreatePreloader();

function CreatePreloader(){
 this.Frequenz = 100;  //Frequenz der Bildpruefung
 this.onImagesLoaded = OnImagesLoaded_Dummy;
 this.onPercents = OnPercents_Dummy;
 this.pics = new Array(); this.imgs = new Array();
 this.imgs.length = this.pics.length;
 for(i=0;i<this.imgs.length;i++){this.imgs[i] = new Image();}
 this.checkState = false;
 this.AddImage = Preloader_AddImage; 
 this.LoadImage = Preloader_LoadImage; 
 this.LoadImages = Preloader_LoadImages;
 this.GetPercents = Preloader_GetPercents;
 this.CheckIMGStates = Preloader_CheckIMGStates;
}

function Preloader_AddImage(s){ 
 this.pics[this.pics.length] = s; return(this.pics.length-1); 
}

function Preloader_LoadImages(){ 
 for(i=0;i<this.pics.length;i++){ this.LoadImage(i); } 
}

function Preloader_LoadImage(i){
 img = new Image(); this.imgs[i] = img; img.src = this.pics[i];
 if(this.checkState == false) {
  window.setTimeout('Preloader.CheckIMGStates()',this.Frequenz);
  this.checkState = true;
 }
 return(img);
}

function Preloader_GetPercents(){
 var percents,res = 0;
 for(i=0;i<this.imgs.length;i++)
 { if(this.imgs[i].complete == true){ res++; } }
 percents = Math.round((res/this.imgs.length)*100);
 return(percents)
}

function Preloader_CheckIMGStates(){
 var res = true;
 for(i=0;i<this.imgs.length;i++)
 { if(this.imgs[i].complete == false){ res = false; } }
 if(typeof(this.onPercents) == 'function')
 {this.onPercents(this.GetPercents())}
 if(res == true && typeof(this.onImagesLoaded) == 'function')
 { this.onImagesLoaded(); }
 else
 {window.setTimeout('Preloader.CheckIMGStates()',this.Frequenz)}
}

function OnImagesLoaded_Dummy(){ alert('Alle Bilder geladen!'); }
function OnPercents_Dummy(i){ alert(i+'% der Bilder geladen'); } 

//---- Ende: Bilder vorladen ------------------

var ac=1, z=1;
var aktiv, ani, zero;

//---- erstes Bild und veraenderliche Elemente in die Seite laden 
function init(){
 document.getElementsByTagName("link")[0].href=stylesheet_url;
 document.getElementById("bild").src="1."+ext; //1. Bild laden
 var l_s = document.getElementById("schliessenLink").firstChild.nodeValue.length; //schliessen-Linktext
 var s = document.createTextNode(unescape(schliessenStr));						  //erzeugen
 document.getElementById("schliessenLink").firstChild.replaceData(0, l_s, s.nodeValue);
 for(var i=1;i<=anz;i++){
  Preloader.AddImage(i+".jpg"); // Preloader-Funktion mit Anzahl der Bilder aufrufen
 }
 Preloader.onImagesLoaded = Fertig;
 Preloader.onPercents = Prozent;
 Preloader.LoadImages();
 bildnummer(1);
 document.getElementById("nochmal").title=unescape(nochmalStr); //Title-Tags der Navigations-Symbole 
 document.getElementById("zurueck").title=unescape(zurueckStr); //fuellen.
 document.getElementById("vor").title=unescape(vorStr);
 document.getElementById("pause").title=unescape(pauseStr);
 }

// ---- Diashow starten 
function Fertig(){ 
 play(t); 
 bildnummer(1);
 }

//----- zeigt den Ladefortschritts beim Bilder vorladen in Prozent an
function Prozent(i){ 
 var l_pre_u = document.getElementById("uschrift").firstChild.nodeValue.length;
 var pre_u = document.createTextNode(unescape(ladenStr) + " " +i+' %');
 document.getElementById("uschrift").firstChild.replaceData(0, l_pre_u, pre_u.nodeValue);
 }

// erzeugt Bildnummernanzeige (Bild 1 von 10) und Bildunterschriften
function bildnummer(x){
 var l_u = document.getElementById("uschrift").firstChild.nodeValue.length;
 var l_n = document.getElementById("nummer").firstChild.nodeValue.length;
 if (unterschrift[x]==undefined) unterschrift[x]="";
 var u = document.createTextNode(unescape(unterschrift[x]));
 document.getElementById("uschrift").firstChild.replaceData(0, l_u, u.nodeValue);
 var n = document.createTextNode(bildStr + " " + x + " " + vonStr + " " + anz);
 document.getElementById("nummer").firstChild.replaceData(0, l_n, n.nodeValue);
}

//----- erzeugt die Zeitschleife 
function play(zeit){
 aktiv=window.setTimeout("bildwechsel('vor','auto')", zeit);
 progress();
}

//----- ermoeglicht die Navigation durch die Bilder 
function bildwechsel(m,auto){
 var x=document.getElementById("bild").src;
 x=x.substring(x.lastIndexOf("/")+1,x.lastIndexOf("."))*1;
 if(m=="vor") {
  if (x<anz) {x+=1;} else {return false;}
 } else {
  if (x>1) {x-=1;} else {return false;}
 }
 bildnummer(x);
 if(document.all){document.getElementById("bild").filters.blendTrans.Apply()}
 document.getElementById("bild").src=x+"."+ext;
 if(document.all){document.getElementById("bild").filters.blendTrans.Play()}
 if (auto!=undefined) play(t);
}

//-------- zeigt den Fortschrittsbalken waehrend der Diashow an
function progress(){
 document.getElementById("pro_"+z).style.backgroundColor="#004DA4";
 if (z!=1) { document.getElementById("pro_"+(z-1)).style.backgroundColor="#D6D6D6";}
 if(z<10){z+=1; balken();} else {zero=window.setTimeout("balkenZurueckstellen()",t/20);}  
}

//-------- erzeugt die Zeitschleife fr den Fortschrittsbalken
function balken(){
 ani=window.setTimeout("progress()",t/10);
}

//--------- stellt den Fortschrittsbalken zurueck 
function balkenZurueckstellen(){
 z=1;
 window.clearTimeout(zero);
 window.clearTimeout(ani);
 for (var i=1;i<=10;i++){document.getElementById("pro_"+i).style.backgroundColor="#D6D6D6";}
}

//---------- Pausefunktion
function halt(){
window.clearTimeout(aktiv);
window.clearTimeout(ani);
if (ac==1){ 
 document.getElementById("pause").src=playBtnUrl;
 document.getElementById("pause").title=weiterStr; ac=0;
 } else {
 document.getElementById("pause").src=pauseBtnUrl;
 document.getElementById("pause").title=pauseStr;
 play(t/10*(11-z)); ac=1;}
}

function springen(m){
 ac=1;
 halt();
 balkenZurueckstellen();
 if (m!="start"){bildwechsel(m);} else {
  document.getElementById("bild").src="1."+ext;
  bildnummer(1);}   
}

