// 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(1);
	// 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;
	
	//alert(allePhotos[arbeitNr][allePhotos[arbeitNr].length-1] ["datei"]);
	
	//allePhotos[arbeitNr][allePhotos[arbeitNr].length-1] ["beschrieb"] = beschrieb;
	
}

/*function sortiere_bilder(arbeitNr){
	allePhotos[3].sort();
	
	//allePhotos.sort(sortieren);
	
	
	//alert(allePhotos[arbeitNr][arbeitNr]["datei"]);
	
}

function sortieren(a,b) {
	return b["datei"] - b["datei"];
	
}*/


// 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);
			
			
		    
			
			//}
			//else
			//{
		//if(allePhotos[i][allePhotos[i].length-1] ["fileart"] == 1){
		
			
			
		
		//}		
	}
}



// 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
		/*	if (!document.getElementById ('thumb_beschriftung' + (k)).firstChild)
				document.getElementById ('thumb_beschriftung' + (k)).appendChild (document.createTextNode (""));
			
			//wenn nicht das startbid angezeigt wird...
			if (aktuelles_bild[k] + 1 > allePhotos[k].length - 1 || aktuelles_bild[k] > 1){
				//soll ins element "thumb_beschriftungX" der bildstand/von allen bildern reingeschrieben werden
				document.getElementById ('thumb_beschriftung' + (k)).firstChild.data = " | "+(aktuelles_bild[k] - 1) + "/" + (allePhotos[k].length - 2);
				} 
			else { 
				document.getElementById ('thumb_beschriftung' + (k)).firstChild.data = "";
				}
				*/
			}
		
		// 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 || aktuelles_bild[i] == 0))
	{
		// ein bild weiterzählen
		aktuelles_bild[i] ++;
		// Bildanzeige aktualisieren
		bilder_auffrischen (i);
	} 
		// wenn grad das bild 0 (info) angezeigt wird...
	else if (aktuelles_bild[i] == 0) {
		//wieder zum vorher angezeigten bild zurückkehren.
		aktuelles_bild[i] = bildmerken[i];
		// Bildanzeige aktualisieren
		bilder_auffrischen (i);	
	}
	else
	{
		// in allen anderen fällen zum ersten bild (nicht = anfangsbild) zurückkehren
		aktuelles_bild[i] = 1;
		// 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 {
			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 if (aktuelles_bild[i] == 0){
			with ( document.getElementById( "infoecke" + i ) ) {
			style.visibility = "visible";
			}
		}
		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";
			}
			with ( document.getElementById( "info" + i ) ) {
			style.visibility = "hidden";
			
			}
		}
	}	





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);
		if(document.getElementById( "flash" + i )){
			flashausblenden(i);
		}
		
		with ( document.getElementById( "info" + i ) ) {
			style.visibility = "visible";
			}	 			
		} 
	else if (aktuelles_bild[i] == 0) {
		//wenn grad die info angezeigt wird...
		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
		with ( document.getElementById( "info" + i ) ) {
			style.visibility = "hidden";
			
			}	 
		}	
	}
	
	
//var welcherflash;
//var ingmarflash;

	//var verzeichnis = 2;

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

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

function infoeck(i) {
	with ( document.getElementById( "infoecke" + i ) ) {
			style.visibility = "visible";
	}
}



function rand (min, max) {
	return Math.floor(Math.random() * (max - min + 1)) + min;
}

var klassen = new Array("arbeit","arbeit2","arbeit3","arbeit4");
var naviklassen = new Array("naviaktiv","naviaktiv2","naviaktiv3","naviaktiv4");
var infoklassen = new Array("info","info2","info3","info4");

var zufall = rand(0, klassen.length-1);

function KlasseBestimmen() { 
	document.getElementById("navi2").className=naviklassen[zufall];
	var obj=document.getElementsByTagName("div");
	for(i=0;i<obj.length;i++){
		if(obj[i].className=="arbeit"){
			obj[i].className=klassen[zufall];
			//alert(zufall);
			} else if (obj[i].className=="info") {
			obj[i].className=infoklassen[zufall];	
			}
	}
	//document.getElementById ("roland_krauer_grafik").src = "grafiken/rolandkrauer" + zufall + ".png";
}  
 

 
function naviover(i) {
	var button=document.getElementById("navi" + i);
	button.className=naviklassen[zufall];
	
}

function naviout(i) {
	var button=document.getElementById("navi" + i);
	button.className="navi_nonaktiv";
	
}
