// JavaScript-Funktionen fuer die Bilder-Galerie
// Copyright (C) 2005 Alexander Mueller
// Autor: Alexander Mueller
// Web:   http://www.EvoComp.de/
// Datei: galerie.js
// The copyright notice must stay intact for use!
// You can obtain this and other scripts at http://www.EvoComp.de/scripts/skripte.html
//
// This program is distributed in the hope that it will be useful,
// but without any warranty, expressed or implied.

// Datenstruktur, in der die einzelnen Bilddaten gespeichert werden,
// in Form eines assoziativen Arrays anlegen
var Photos = new Array();

// 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 addPhoto (thumbnail, bild, alt, beschreibung)
{
	Photos[Photos.length] = new Object();
	// URL des Thumbnail
	Photos[Photos.length - 1]["datei"] = thumbnail;
	// URL des Bildes
	Photos[Photos.length - 1]["datei_gross"] = bild;
	// Text der angezeigt werden soll, wenn das Bild unter der angegebenen URL nicht gefunden wurde
	Photos[Photos.length - 1]["alt"] = alt;
	// Kurze Bildbeschreibung zum jeweiligen Bild
	Photos[Photos.length - 1]["beschreibung"] = beschreibung;
}

// Zaehlt Bilder mit IDs, die mit 'thumbnail' beginnen und einer ganzen Zahl
// enden und liefert die Anzahl als Rueckgabewert.
// Diese ID muessen die Image-Tags haben, die als Thumbnails verwendet werden.
function zaehle_thumbnails ()
{
	var tn = 0;

	for (i = 0; i < document.images.length; i++)
		if ((document.images[i].id).match (/^thumbnail[0-9]+$/))
			tn++;
	return tn;
}

// Thumbnails automatisch erzeugen, um Fehler zu vermeiden
function erzeuge_thumbnails ()
{
	// 'anzahl_thumbnails' Thumbnails erzeugen
	for (i = 0; i < anzahl_thumbnails; i++)
	{
		// Ein Thumbnail besteht aus einem LI-Tag, ...
		eintrag = document.createElement ("li");
		// einem Link ...
		link = document.createElement ("a");
		// , der per JavaScript das entsprechende Bild austauscht
		link.href = "javascript:grosses_bild_anzeigen (" + (i + 1) + ")";
		// und einem IMG-Tag fuer den eigentlichen Thumbnail
		bild = document.createElement ("img");
		bild.border = "0";
		bild.id = "thumbnail" + (i + 1);

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

		// und unter Tag mit der ID 'thumb' ins Dokument einhaengen
		document.getElementById ("thumbs").appendChild (eintrag);
	}
}

// Thumbnails auf Groesse 'thumb_groesse' ausrichten
function ausrichten ()
{
	for (i = 0; i < anzahl_thumbnails; i++)
	{
		// Thumbnails vertikal ausrichten
		document.getElementById ('thumbnail' + (i + 1)).vspace = (thumb_groesse - document.getElementById ('thumbnail' + (i + 1)).height) / 2;
		// Thumbnails horizontal ausrichten
		document.getElementById ('thumbnail' + (i + 1)).hspace = (thumb_groesse - document.getElementById ('thumbnail' + (i + 1)).width) / 2;
	}
	// Thumbnail-Navigation ausrichten
	document.getElementById ('zurueck').vspace = (thumb_groesse - document.getElementById ('zurueck').height) / 2;
	//document.getElementById ('pgup').vspace = (thumb_groesse - document.getElementById ('pgup').height) / 2;
	document.getElementById ('weiter').vspace = (thumb_groesse - document.getElementById ('weiter').height) / 2;
	//document.getElementById ('pgdown').vspace = (thumb_groesse - document.getElementById ('pgdown').height) / 2;
}

// Thumbnails gemaess aktuellem index_erstes_bild anzeigen
function thumbnails_auffrischen ()
{
	// Bei allen Thumbnails Daten des jeweiligen IMG-Tags (b1..b3) auffrischen
	for (i = 0; i < anzahl_thumbnails; i++)
	{
		// Bild austauschen
		document.getElementById ('thumbnail' + (i + 1)).src = Photos[index_erstes_bild + i]["datei"];
		// Alt-Text austauschen
		document.getElementById ('thumbnail' + (i + 1)).alt = Photos[index_erstes_bild + i]["alt"];
		// Title-Text austauschen
		document.getElementById ('thumbnail' + (i + 1)).title = Photos[index_erstes_bild + i]["alt"];
	}

	// Navigationslinks fuer Thumbnails anzeigen
	if (index_erstes_bild > 0)
	{
		document.getElementById ('zurueck').src = pfad_zu_navbildern + "/back.gif";
		//document.getElementById ('pgup').src = pfad_zu_navbildern + "/pgup.gif";
	}
	else
	{
		document.getElementById ('zurueck').src = pfad_zu_navbildern + "/first.gif";
		//document.getElementById ('pgup').src = pfad_zu_navbildern + "/pgup_first.gif";
	}
	if (index_erstes_bild + anzahl_thumbnails < anzahl_bilder)
	{
		document.getElementById ('weiter').src = pfad_zu_navbildern + "/forward.gif";
		//document.getElementById ('pgdown').src = pfad_zu_navbildern + "/pgdown.gif";
	}
	else
	{
		document.getElementById ('weiter').src = pfad_zu_navbildern + "/last.gif";
		//document.getElementById ('pgdown').src = pfad_zu_navbildern + "/pgdown_last.gif";
	}

	// Falls das P-Tag mit der ID 'thumb_beschriftung' keine Kind-Elemente hat muss eines erzeugt werden,
	// damit die Beschriftungsdaten darin gespeichert werden koennen
	if (!document.getElementById ('thumb_beschriftung').firstChild)
		document.getElementById ('thumb_beschriftung').appendChild (document.createTextNode (""));
	// Variablen in Beschriftungsstring ersetzen
	tnstr = thumbnail_string.replace (/%index_erster%/i, (index_erstes_bild + 1));
	tnstr = tnstr.replace (/%index_letzter%/i, (index_erstes_bild + anzahl_thumbnails));
	tnstr = tnstr.replace (/%anzahl_bilder%/i, anzahl_bilder);
	// Beschriftung der Thumbnails im zugehoerigen P-Tag setzen
	document.getElementById ('thumb_beschriftung').firstChild.data = tnstr;
}

// Thumbnail-Liste ein Bild zurueck scrollen
function zurueck ()
{
	// Aenderung nur noetig, wenn der erste Thumbnail noch nicht vorne ist
	if (index_erstes_bild > 0)
	{
		// Index des ersten anzuzeigenden Thumbnails runterzaehlen
		// damit die Bilder beim Auffrischen um eine Stelle nach links verschoben werden
		index_erstes_bild--;
		// Anzeige der Thumbnails aktualisieren
		thumbnails_auffrischen ();
	}
}

// Thumbnail-Liste ein Bild vorwaerts scrollen
function weiter ()
{
	// nur wenn der letzte Thumbnail noch nicht erreicht ist
	if (!(index_erstes_bild + anzahl_thumbnails > anzahl_bilder - 1))
	{
		// Index des ersten anzuzeigenden Thumbnails hochzaehlen
		// damit die Bilder beim Auffrischen um eine Stelle nach rechts verschoben werden
		index_erstes_bild++;
		// Anzeige der Thumbnails aktualisieren
		thumbnails_auffrischen ();
	}
}

// Thumbnails um 'anzahl_thumbnails' zurueckblaettern
function pgup ()
{
	// nur um 'anzahl_thumbnails' Thumbnails zurueck, wenn noch genuegend vor aktuellem Index
	if (index_erstes_bild - anzahl_thumbnails > 0)
		index_erstes_bild = index_erstes_bild - anzahl_thumbnails;
	// ansonsten Thumbnails ab dem ersten Bild anzeigen
	else
		index_erstes_bild = 0;
	// Anzeige der Thumbnails aktualisieren
	thumbnails_auffrischen ();
}

// folgende 'anzahl_thumbnails' Thumbnails anzeigen
function pgdown ()
{
	// um 'anzahl_thumbnails' weiter, wenn noch genuegend Thumbnails in der Liste
	if (index_erstes_bild + 2 * anzahl_thumbnails < anzahl_bilder)
		index_erstes_bild = index_erstes_bild + anzahl_thumbnails;
	// oder eben die letzten 'anzahl_thumbnails' anzeigen
	else
		index_erstes_bild = anzahl_bilder - anzahl_thumbnails;
	// Anzeige der Thumbnails aktualisieren
	thumbnails_auffrischen ();
}

// Index des aus den Thumbnails ausgewaehlten grossen Bildes setzen und Anzeige des grossen Bildes auffrischen
function grosses_bild_anzeigen (i)
{
	// neuer Index des grossen Bildes
	index_grosses_bild = index_erstes_bild + i - 1;
	// Anzeige des grossen Bildes auffrischen
	grosses_bild_auffrischen ();
}

// grosses Bild und zugehoerige Beschriftung im IMG mit der ID 'gross' anzeigen (nach index_grosses_bild)
function grosses_bild_auffrischen ()
{
	// URL des Bildes setzen
	document.getElementById ('gross').src = Photos[index_grosses_bild]["datei_gross"];
	// Alt-Text des Bildes setzen
	document.getElementById ('gross').alt = Photos[index_grosses_bild]["alt"];
	// Title-Text des Bildes setzen
	document.getElementById ('gross').title = Photos[index_grosses_bild]["alt"];

	// Falls das P-Tag mit der ID 'beschriftung' keine Kind-Elemente hat muss eines erzeugt werden,
	// damit die Beschriftungsdaten darin gespeichert werden koennen
	if (!document.getElementById ('beschriftung').firstChild)
		document.getElementById ('beschriftung').appendChild (document.createTextNode (""));
	// Variablen in Beschriftungsstring ersetzen
	tstr = bild_beschriftung.replace (/%index_gross%/i, (index_grosses_bild + 1));
	tstr = tstr.replace (/%anzahl_bilder%/i, anzahl_bilder);
	tstr = tstr.replace (/%beschreibung%/i, Photos[index_grosses_bild]["beschreibung"]);
	// Beschriftung des Bildes im zugehoerigen P-Tag setzen
	document.getElementById ('beschriftung').firstChild.data = tstr;

	// Navigationslinks fuer grosse Bilder anzeigen
	if (index_grosses_bild > 0)
		document.getElementById ('zurueck_gross').src = pfad_zu_navbildern + "/back.gif";
	else
		document.getElementById ('zurueck_gross').src = pfad_zu_navbildern + "/first.gif";

	if (anzahl_bilder > index_grosses_bild + 1)
		document.getElementById ('weiter_gross').src = pfad_zu_navbildern + "/forward.gif";
	else
		document.getElementById ('weiter_gross').src = pfad_zu_navbildern + "/last.gif";
}

// vorheriges Bild (gross) aus Bilderliste anzeigen
function zurueck_gross ()
{
	// nur noetig, wenn nicht schon das erste Bild angezeigt wird
	if (index_grosses_bild > 0)
	{
		// zum vorherigen Bild
		index_grosses_bild--;
		// grosses Bild aktualisieren
		grosses_bild_auffrischen ();
	}
}

// naechstes Bild (gross) aus Bilderliste anzeigen
function weiter_gross ()
{
	// nur wenn nicht schon beim letzten Bild angekommen
	if (index_grosses_bild + 1 < anzahl_bilder)
	{
		// zum naechsten Bild
		index_grosses_bild++;
		// grosses Bild aktualisieren
		grosses_bild_auffrischen ();
	}
}
function pruefen(formular)
{
var comment = formular.comment.value;
	if((comment == "") || (comment == "Sie haben nichts eingetragen") ){
		formular.comment.value = "Sie haben nichts eingetragen";
	//alert("Sie haben nichts eingetragen");
	return false;
	}
}
function pruefenneualb(formular)
{
var comment = formular.comment.value;
var albname = formular.alb_name.value;
var albbez = formular.alb_bez.value;
var schlecht = false;
	if((albname == "") || (albname == "Sie haben nichts eingetragen") ){
		formular.alb_name.value = "Sie haben nichts eingetragen";
		schlecht = true;
	}
	if((albbez == "") || (albbez == "Sie haben nichts eingetragen") ){
		formular.alb_bez.value = "Sie haben nichts eingetragen";
		schlecht = true;
	}
	if((comment == "") || (comment == "Sie haben nichts eingetragen") ){
		formular.comment.value = "Sie haben nichts eingetragen";
		schlecht = true;
	}
	if( schlecht){
	return false;
	}
}
function loeschen(name)
{
	this.location.replace("home2.php?titel=Termine&del="+name);
	}
	
function bearb(name)
{
	this.location.replace("home2.php?titel=Termine&bearb="+name);
	}
function go_album(name)
	{
	var link =name;
		this.location.replace("home2.php?titel=Bilder&album="+link);
		}
function pruefennews(formular)
{
var head = formular.headline.value;
var intro = formular.introtext.value;
var text = formular.text.value;
var upload = formular.bupload.value;
var schlecht = false;
	if((head == "") || (head == "Sie haben nichts eingetragen") ){
		formular.headline.value = "Sie haben nichts eingetragen";
		schlecht = true;
	}
	if((intro == "") || (intro == "Sie haben nichts eingetragen") ){
		formular.introtext.value = "Sie haben nichts eingetragen";
		schlecht = true;
	}
	if((text == "") || (text == "Sie haben nichts eingetragen") ){
		formular.text.value = "Sie haben nichts eingetragen";
		schlecht = true;
	}
	if(formular.bchange.checked){
		
	if((upload == "") || (upload == "Sie haben nichts eingetragen") ){
		alert("Kein bild Ausgewählt");
		schlecht = true;
	}
	}
	if( schlecht){
	formular.headline.focus();
	return false;
	}
}
function resetnews(formular)
{
	formular.newnews.value = "News anlegen";
	document.newsform.bupload.setAttribute('disabled','disabled');
	}
function loeschennews(name)
{
	this.location.replace("home2.php?titel=NewsEdit&del="+name);
	}
	
function bearbnews(num,head,intro,text,img,tag,monat,jahr,kat,next)
{
		var introtextj;
		var textj;
		var headj;
		var tagj;
		introtextj = intro;
		textj = text;
		headj = head;
		tagj = tag;
		document.newsform.headline.focus();
		document.newsform.headline.value = headj.replace(/%20/g," ");
		document.newsform.introtext.value = introtextj.replace(/%20/g," ");
		document.newsform.text.value = textj.replace(/%20/g," ");
		
		document.newsform.bearb.value = num;
		document.newsbild.src = img;
		document.newsform.tagstart.value = tagj;
		document.newsform.monstart.value = monat;
		document.newsform.jahrstart.value = jahr;
		document.newsform.kat.value = kat;
		document.newsform.newnews.value = "Aendern";
		for (var i=0; i<document.newsform.alblink.length; i++) {
			if(document.newsform.alblink[i].value == next){
				document.newsform.alblink[i].checked = true;
				}
		}
	//this.location.replace("home2.php?titel=NewsEdit&bearb="+name);
	}
function shwupl(formular)
{
	if(formular.checked){
	document.newsform.bupload.removeAttribute('disabled');
	//document.newsform.bupload.type ='file';
	//document.formupload.ueber.type ="submit";
	}else{
		document.newsform.bupload.setAttribute('disabled','disabled');
		//document.newsform.bupload.type ="hidden";
		//document.formupload.ueber.type ="hidden";
	}
	}
function shwalblink(formular)
{
	if(formular.checked){
		for (var i=0; i<document.newsform.alblink.length; i++) {
			document.newsform.alblink[i].type = 'checkbox';
		}
	}else{
		for (var i=0; i<document.newsform.alblink.length; i++) {
			document.newsform.alblink[i].type = 'hidden';
		}
	}
	}


function BildfFenster(bildurl,b,h)
{
var eigenschaften,sbreite,shoehe,fenster,b,h;


//Default Titeltext
var Titeltext = "click to close";


//wenn eine feste Position für die Anzeige gewünscht wird
//dann für die Variable 'FestePosition' ein "ja" eintragen
//und die X- / Y-Werte (linke obere Ecke) hier eintragen

var FestePosition = "nein";  // "ja" oder "nein" eintragen
VonLinks = 20;
VonOben = 20;

if(FestePosition == "ja") {
x = VonLinks;
y = VonOben;

} else {


//stellt die Bildschirmabmessungen fest
//maximal verfügbare Bildschirmgröße in Pixeln
sbreite = screen.availWidth;
shoehe = screen.availHeight;

x = parseInt((sbreite-b)/2);
y = parseInt((shoehe-h)/2);

}

eigenschaften="left="+x+",top="+y+",screenX="+x+",screenY="+y+",width="+b+",height="+h+",menubar=no,toolbar=no,statusbar=0";

fenster=window.open("","",eigenschaften);
fenster.focus();
fenster.document.open();
with (fenster) {
document.write("<html><head>");
// geändert 2004 für Mozilla
document.write('<scr' + 'ipt type="text/javascr' + 'ipt" language="JavaScr' + 'ipt">');
// bei click  schliessen , on click close
document.write("function click() { window.close(); } ");
document.write("document.onmousedown=click ");
// geändert 2004 für Mozilla
document.write('</scr' + 'ipt>');
document.write('<title>' + Titeltext + '</title></head>');
// bei Focusverlust schliessen, close if window looses focus
// Zeile geändert Aug 2003 (Dreamweaver machte Probleme)
document.write("<" + "body onblur='window.close()';");
document.write("marginwidth='0' marginheight='0' leftmargin='0' topmargin='0'>");
document.write("<img src='"+ bildurl +"' border='0'>");
document.write("</body></html>");
fenster.document.close();
}
}
