// JavaScript-Funktionen fuer die Bilder-Galerie

// Datenstruktur, in der die einzelnen Bilddaten gespeichert werden,
// allePhotos = Haupt-Array. Darin befinden sich wiederum Arrays mit dem Namen Photos (darin werden jeweils alle bilder einer arbeit gespeichert)

var allePhotos = new Array();
aktuelles_bild = new Array();

var fileart;
var eintrag;

//bildart = new Array(0,0,0,0);

// Photo zur Galerie hinzufuegen
// thumbnail - URL zum Thumbnail
// bild - URL zum Detailbild
// alt - Beschreibung die angezeigt werden soll, wenn man mit der Maus ueber das Bild faehrt
// beschreibung - Beschreibung des Bildes, welches als Beschriftung unter dem Detailbild angezeigt werden soll

function machArray(){

	for (i = 0; i < anzahl_arbeiten; i++){
	var Photos = new Array();
	allePhotos.push(Photos);
	aktuelles_bild.push(0);
	// 1 bedeutet ab bild EINS im ordener!!! da bild 0  info-bild ist!
	
	}
}


function addPhoto (bild, alt, arbeitNr, art) //, beschrieb
{
	allePhotos[arbeitNr][allePhotos[arbeitNr].length] = new Array();
	// URL des Bildes
	allePhotos[arbeitNr][allePhotos[arbeitNr].length-1] [0] = bild;
	
	allePhotos[arbeitNr][allePhotos[arbeitNr].length-1] [1] = alt;
	
	allePhotos[arbeitNr][allePhotos[arbeitNr].length-1] [2] = art;
	
}



// Bilder automatisch erzeugen
function erzeuge_bilder ()
{
	//  Bild-tags inkl. link erzeugen, der wird dann
	
	for (i = 0; i < anzahl_arbeiten; i++)
	{			
		//if(fileart == 0){
	
		
			// Ein Bild besteht aus einem Link ...
			eintrag = document.createElement ("a");
			// ... welcher per JavaScript das entsprechende Bild austauscht
			eintrag.href = "javascript:ein_bild_weiter (" + (i) + ")" ;
			
			// und einem IMG-Tag fuer das eigentliche Bild
			bild = document.createElement ("img");
			bild.border = "0";
			bild.id = "bildnr" + (i);	

			// erzeugtes hierarchisch zusammenfuegen
			eintrag.appendChild (bild);

			// und unter Tag mit der ID 'arbeitX' ins Dokument einhaengen
			document.getElementById ('arbeit' + (i)).appendChild (eintrag);
			
			
		    
			
		
	}
}



// Bild gemaess "aktuelles_bild" anzeigen
function bilder_auffrischen (k)
{
		if(allePhotos[k][aktuelles_bild[k]][2] == 0){
			// Bild austauschen
			document.getElementById ('bildnr' + (k)).src = allePhotos[k][aktuelles_bild[k]][0];
			// Alternativtext austauschen
			document.getElementById ('bildnr' + (k)).alt = allePhotos[k][aktuelles_bild[k]][1];
			
			// Falls das P-Tag mit der ID 'thumb_beschriftungX' keine Kind-Elemente hat muss eines erzeugt werden,
			// damit die Beschriftungsdaten darin gespeichert werden koennen

			}
		
		// wenn das aktuelle file einflashfile ist (.swf)...
		if(allePhotos[k][aktuelles_bild[k]][2] == 1){
		
			document.getElementById ('bildnr' + (k)).src = allePhotos[k][1][0];
			// Alternativtext austauschen
			document.getElementById ('bildnr' + (k)).alt = "flashplayer?";
		
			//bildart[k] = 1;
			// Ein Bild besteht aus einem LI-Tag, ...
			//var bildart = 1;
			//document.getElementById ('arbeit' + (k)).appendChild (document.write("djhgdskdsgjh"));
			flasheinblenden(k);
			
			//document.getElementById ('thumb_beschriftung' + (k)).firstChild.data = "";
			
		
		
	}
	
		
	// Falls das P-Tag mit der ID 'thumb_beschriftungX' keine Kind-Elemente hat muss eines erzeugt werden,
	// damit die Beschriftungsdaten darin gespeichert werden koennen
	
	//if (!document.getElementById ('thumb_beschriftung' + (k)).firstChild)
		//document.getElementById ('thumb_beschriftung' + (k)).appendChild (document.createTextNode (""));
	
	// Variablen im Beschriftungsstring ersetzen
	//document.getElementById ('thumb_beschriftung' + (k)).firstChild.data = allePhotos[k][aktuelles_bild[k]]["beschrieb"];
}



// Bei klick aufs Bild aktuelles_bild raufzählen und Anzeige auffrischen
// (i) beinhaltet die nummer der bereffenden arbeit. (1. Arbeit = 0)
function ein_bild_weiter (i)
{
	// wenn das letzte bild noch nicht erreicht ist... oder nicht grad das bild 0 (info) angezeigt wird...
	if (!(aktuelles_bild[i] +1 > allePhotos[i].length - 1 ))
	{
		// ein bild weiterzählen
		aktuelles_bild[i] ++;
		// Bildanzeige aktualisieren
		bilder_auffrischen (i);
	} 
		// wenn grad das bild 0 (info) angezeigt wird...
	
	else
	{
		// in allen anderen fällen zum ersten bild (nicht = anfangsbild) zurückkehren
		aktuelles_bild[i] = 0;
		// Bildanzeige aktualisieren
		bilder_auffrischen (i);
	}
}





function infoarrays_erstellen(){
	// array "startrollover" hat die zustände 1 od. 0 >> (startbild/rollover aktiv = 0 ,  zapp-zustand/rollover nichtaktiv = 1)
	startrollover = new Array();
	for (g = 0; g < anzahl_arbeiten; g++){
		startrollover.push(0);
		}
		// füllt (push) den array "startrollover" mit sovielen positionen (gefüllt mit nullen), wie es arbeiten hat (startrollover(0,0,0,0...))
		// wenn jetzt z.B. bei der zweiten arbeit grad gezappt wird, wird der startzustand/das startbild deaktiviert: startrollover(0,1,0,0...)
		// somit ist auch der rollover nicht mehr aktiv: siehe funktion "klick".
		
		//alert(startrollover);
	}

function rollover(i) {
	// wenn das aktuelle bild das startbild ist und der rolloverzustand 0 (aktiv) ist...
	if (aktuelles_bild[i] == 1 && startrollover[i] == 0) {
		//starteselsohr einblenden
			with ( document.getElementById( "startecke" + i ) ) {
			style.visibility = "visible";
			}
		
		} 
		else if (aktuelles_bild[i] == 0) {
			with ( document.getElementById( "infoecke" + i ) ) {
			style.visibility = "hidden";
			}
		}
		else {
			with ( document.getElementById( "infoecke" + i ) ) {
			style.visibility = "visible";
			}
		}
	}

function rollout(i) {
	// wenn das aktuelle bild das erste arbeitsbild ist und der rolloverzustand 0 (aktiv) ist...
	if (aktuelles_bild[i] == 1 && startrollover[i] == 0) {
		//starteselsohr ausblenden
		with ( document.getElementById( "startecke" + i ) ) {
			style.visibility = "hidden";
			}
		} 
		else {
			with ( document.getElementById( "infoecke" + i ) ) {
			style.visibility = "hidden";
			}
		}
	}
	
function klick(i) {
	// wenn das aktuelle bild das erste bild ist und der rolloverzustand immernoch 0 (aktiv) ist...
	if (aktuelles_bild[i] == 1 && startrollover[i] == 0) {
		//aktuelle bild definitiv auf 2 setzten = erstes arbeitsbild
	
		//aktuelles_bild[i] = 2;
		// anzeigen
		//bilder_auffrischen (i);
		// und den rolloverzustand jetzt für immer deaktivieren. (= 1)
		startrollover[i] = 1;
		//alert(startrollover[i]);
		
		with ( document.getElementById( "startecke" + i ) ) {
			style.visibility = "hidden";
			}
		
		with ( document.getElementById( "infoecke" + i ) ) {
			style.visibility = "visible";
			}
		} 
		else if (aktuelles_bild[i] == 0) {
			with ( document.getElementById( "infoecke" + i ) ) {
			style.visibility = "visible";
			}
		}
	}	





bildmerken = new Array();
// in diesem array wird von jeder arbeit während der infoanzeige das vorher gezeigte bild gespeichert

function infoeinblenden(i) {
	// wenn das bild nicht gleich null ist (infobild)...
	if (!(aktuelles_bild[i] == 0 )) {
		//alert(j);
		bildmerken[i] = aktuelles_bild[i];
		// das jetztige bild im array "bildmerken" speichern
		aktuelles_bild[i] = 0;
		//aktuelle bild auf 0 setzten = infobild
		bilder_auffrischen (i);
		// und anzeigen
		//alert(j);
		with ( document.getElementById( "infoecke" + i ) ) {
			style.visibility = "hidden";
			}
		} 
	else if (aktuelles_bild[i] == 0) {
	
		aktuelles_bild[i] = bildmerken[i];
		//das vorher angezeigte, und im array "bildmerken" gespeicherte bild wieder holen und in den array "aktuelles_bild" wieder reinschreiben...
		bilder_auffrischen (i);
		// und anzeigen
		}	
	}
	
	
var welcherflash;

	//var verzeichnis = 2;

function flasheinblenden(i) {
	with ( document.getElementById( "flash" + i ) ) {
		style.visibility = "visible";
		welcherflash = i;
		//alert(welcherflash);
	}
	with ( document.getElementById( "infozeile" + i ) ) {
		style.visibility = "hidden";

	}
}

function flashausblenden(i) {
	with ( document.getElementById( "flash" + i ) ) {
		style.visibility = "hidden";
	}
}

  
  
    /*  function sendTextToFlash(str) {
   
          thisMovie("flashfilm").showText(str);
   
      }
  
       
  
      function thisMovie(movieName) {
   
          if (navigator.appName.indexOf("Microsoft") != -1) {
   
              return window[movieName]
   
          }
   
          else {
  
              return document[movieName]
  
          }
  
      }
	  
	  */