var req=initAJAX();
var field;
var height;
var width;

function publish()
{
	var Pos;

	document.getElementById('bild').style.display='block';

	// Bei langsamen Serververbindungen kommt es vor, dass die Positionsberechnung durchgeführt wird,
	// bevor das Bild überhaupt angezeigt wird. Dadurch wird das Bild dann an der falsche Stelle platziert.
	// Ich gehe davon aus, dass das Bild mindestens 50px linksseitig von der Bildmitte stehen muss,
	// um glauben zu können, dass es fertig geladen war
	Pos = document.getElementById('data').offsetWidth;
	Pos = (width/2) - (Pos/2);
	while( !(Pos < (width/2-100)) )
	{
		Pos = document.getElementById('data').offsetWidth;
		Pos = (width/2) - (Pos/2);
	}
	document.getElementById('bild').style.left=Pos +"px";
}

function drawImage()
{
	if( req.readyState == 4 )
	{
		var result = req.responseText;
		field.innerHTML = result;

		window.setTimeout('publish()', 500);
	}
}
function drawBackground()
{
	// Baut den schwarzen Hintergrund für die Galerie
	// und passt die 100% Breite an (auch für den Frame in dem das Bild gezeigt wird)
	height = document.getElementById('table_content').offsetHeight;
	width = document.getElementById('table_content').offsetWidth;
	document.getElementById('bg').style.height = height +"px";
	document.getElementById('bg').style.width = width +"px";
	document.getElementById('process').style.left = width/2-15 +"px";
	document.getElementById('ImageView').style.display = "block";
}
function closeImage()
{
	var select = document.getElementsByTagName("select");
	var flash = document.getElementsByTagName("object");
	// Elements such as Selects and Flash must be hidden, because the layer can not overlay these
    for (i=0; i!=select.length; i++) {
		select[i].style.visibility = "visible";
    }
    for (i=0; i!=flash.length; i++) {
		flash[i].style.visibility = "visible";
    }

	document.getElementById('ImageView').style.display='none';
}
function showImage( pic, obj )
{
	var select = document.getElementsByTagName("select");
	var flash = document.getElementsByTagName("object");
	// Elements such as Selects and Flash must be hidden, because the layer can not overlay these
    for (i=0; i!=select.length; i++) {
		select[i].style.visibility = "hidden";
    }
    for (i=0; i!=flash.length; i++) {
		flash[i].style.visibility = "hidden";
    }

	field = eval("document.getElementById('"+ obj +"')");
	field.style.display='none';

	// Falls das Fenster schon auf ist, muss das Ganze nicht noch einmal gemacht werden
	// Dieser Fall tritt ein, wenn die Next bzw. Prev Buttons in der Galerie gedrück werden
	if( !document.getElementById('ImageView').style.display || document.getElementById('ImageView').style.display=='none' )
		drawBackground();

	if( req )
	{
		req.open('get', '/galerie_pic_view.php?pic='+pic, true);
		req.onreadystatechange = drawImage;
		req.send(null);
	}
}
function initAJAX()
{
	xmlhttp = false;
	try {
		xmlhttp = new XMLHttpRequest();
	}
	catch (trymicrosoft) {
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (error) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (error) {
				xmlhttp = false;
			}
		}
	}
	if( xmlhttp )
		return xmlhttp;
}

