//MM Fukntionen zum ein uns ausblenden der Ebenen
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document;
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n];
    for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); 
	return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

// -------------------------------
// Resize-Funktionen für die Div-Container
function FensterSize(win)
{
    if(!win) win = window;
    var fs = new Object();
    if(typeof win.innerWidth != 'undefined')
    {
        fs.width = win.innerWidth;
        fs.height = win.innerHeight;
    }
    else
    {
         var obj = BrowserBody(win);
         fs.width = parseInt(obj.clientWidth);
         fs.height = parseInt(obj.clientHeight);
    }
    return fs;
}

// für die unterschiedlichen Modis
function BrowserBody(w)
{
    return w.document.documentElement  ? w.document.documentElement : w.document.body || null;
}

// -------------------------------

//Galerie Funktionen
var Pics = new Array();

function ladePic (thumb, bild, alt, beschreibung, picWidth)
{
	Pics[Pics.length] = new Object();
	// thumb
	Pics[Pics.length - 1]["datei"] = thumb;
	// Bild
	Pics[Pics.length - 1]["datei_gross"] = bild;
	// Alt-Text
	Pics[Pics.length - 1]["alt"] = alt;
	// Picbeschreibung
	Pics[Pics.length - 1]["beschreibung"] = beschreibung;
	// Picbreite
	Pics[Pics.length - 1]["picWidth"] = picWidth;
}

// thumbs zählen
function count_thumbs ()
{
	var tn = 0;

	for (i = 0; i < document.images.length; i++)
		if ((document.images[i].id).match (/^thumb[0-9]+$/))
			tn++;
	return tn;
}

// Thumbs erzeugen
function create_thumbs ()
{
	for (i = 0; i < num_thumbs; i++)
	{
		eintrag = document.createElement ("li");
		link = document.createElement ("a");
		link.href = "javascript:show_pic (" + (i + 1) + ")";
		bild = document.createElement ("img");
		bild.border = "0";
		bild.id = "thumb" + (i + 1);

		link.appendChild (bild);
		eintrag.appendChild (link);

		document.getElementById ("thumbs").appendChild (eintrag);
	}
}

// Thumbs auf Groesse thumbs_arrange
function thumbs_arrange ()
{
	for (i = 0; i < num_thumbs; i++)
	{
		document.getElementById ('thumb' + (i + 1)).vspace = (thumb_groesse - document.getElementById ('thumb' + (i + 1)).height) / 2;
		document.getElementById ('thumb' + (i + 1)).hspace = (thumb_groesse - document.getElementById ('thumb' + (i + 1)).width) / 2;
	}
	// thumb-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;
}

function show_thumb(i)
{
	document.getElementById ('thumb_' + i).src = Pics[i - 1]["datei"];
	document.getElementById ('thumb_' + i).alt = Pics[i - 1]["alt"];
	document.getElementById ('thumb_' + i).title = Pics[i - 1]["alt"];
	//pic_str = pic_str.replace (/%beschreibung%/i, Pics[i_pic]["beschreibung"]);
	document.getElementById ('thumb_title' + i).firstChild.data = Pics[i -1]["beschreibung"];
}

function thumbs_refresh ()
{
	for (i = 0; i < num_thumbs; i++)
	{
		document.getElementById ('thumb' + (i + 1)).src = Pics[i_first_pic + i]["datei"];
		document.getElementById ('thumb' + (i + 1)).alt = Pics[i_first_pic + i]["alt"];
		document.getElementById ('thumb' + (i + 1)).title = Pics[i_first_pic + i]["alt"];
	}

	if (i_first_pic > 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 (i_first_pic + num_thumbs < 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";
	}

	if (!document.getElementById ('thumb_beschriftung').firstChild)
		document.getElementById ('thumb_beschriftung').appendChild (document.createTextNode (""));
	tnstr = thumbnail_string.replace (/%index_erster%/i, (i_first_pic + 1));
	tnstr = tnstr.replace (/%index_letzter%/i, (i_first_pic + num_thumbs));
	tnstr = tnstr.replace (/%anzahl_bilder%/i, anzahl_bilder);
	document.getElementById ('thumb_beschriftung').firstChild.data = tnstr;
}

function zurueck ()
{
	if (i_first_pic > 0)
	{
		i_first_pic--;
		thumbs_refresh ();
	}
}

function weiter ()
{
	if (!(i_first_pic + num_thumbs > anzahl_bilder - 1))
	{
		i_first_pic++;
		thumbs_refresh ();
	}
}

function pgup ()
{
	if (i_first_pic - num_thumbs > 0)
		i_first_pic = i_first_pic - num_thumbs;
	else
		i_first_pic = 0;
	thumbs_refresh ();
}

function pgdown ()
{
	if (i_first_pic + 2 * num_thumbs < anzahl_bilder)
		i_first_pic = i_first_pic + num_thumbs;
	else
		i_first_pic = anzahl_bilder - num_thumbs;
	thumbs_refresh ();
}

// Layer einblenden und Bild anzeigen
function show_pic (i)

{
	MM_showHideLayers('bildebene','','show','deckebene','','show')
	i_pic = i_first_pic + i - 1;
	refresh_pic ();

}

// Bild und Beschriftung
function refresh_pic ()
{
	document.getElementById ('gross').src = Pics[i_pic]["datei_gross"];
	document.getElementById ('gross').alt = Pics[i_pic]["alt"];
	document.getElementById ('gross').title = Pics[i_pic]["alt"] ;
  document.getElementById("gr_cont_beschriftung").style.width = (8 + parseInt(Pics[i_pic]["picWidth"]))  +'px';

	if (!document.getElementById ('beschriftung').firstChild)
		document.getElementById ('beschriftung').appendChild (document.createTextNode (""));
	pic_str = pic_caption.replace (/%index_gross%/i, (i_pic + 1));
	pic_str = pic_str.replace (/%anzahl_bilder%/i, anzahl_bilder);
	pic_str = pic_str.replace (/%beschreibung%/i, Pics[i_pic]["beschreibung"]);
	document.getElementById ('beschriftung').firstChild.data = pic_str;

	if (i_pic > 0)
		document.getElementById ('pic_back').src = pfad_zu_navbildern + "back.gif";
	else
		document.getElementById ('pic_back').src = pfad_zu_navbildern + "first.gif";

	if (anzahl_bilder > i_pic + 1)
		document.getElementById ('pic_next').src = pfad_zu_navbildern + "forward.gif";
	else
		document.getElementById ('pic_next').src = pfad_zu_navbildern + "last.gif";

// auf Bildbreite anpassen
	var element = document.getElementById('gross');
}

function pic_back ()
{
	// nur noetig, wenn nicht schon das erste Bild angezeigt wird
	if (i_pic > 0)
	{
		// zum vorherigen Bild
		i_pic--;
		// grosses Bild aktualisieren
		refresh_pic ();
	}
}

function pic_next ()
{
	// nur wenn nicht schon beim letzten Bild angekommen
	if (i_pic + 1 < anzahl_bilder)
	{
		// zum naechsten Bild
		i_pic++;
		// grosses Bild aktualisieren
		refresh_pic ();
	}
}

