var anzahlDerSchleifendurchlaeufe=0;
var minHeight=0; //global
var anker=null;
var debug=parent.document.getElementById("debug");
//alert(debug);

//***********************************
function setDivHeight(minHeightVar) {
//***********************************
	minHeight=minHeightVar;
	if (!this.document.getElementById('eof')){
		document.write("<img id=\"eof\" src=\"/spacer.gif\">");
		anker=document.getElementById("eof"); //global weil var im root
		waitForImages();
	}else{
		anker=document.getElementById("eof");
		waitForImages();
		if (debug) {debug.innerHTML+="<br>2. Aufruf! von "+this;}
	}
}
//***********************************
function waitForImages() {
//***********************************
	anzahlDerSchleifendurchlaeufe++; //global
	//aktiv=null;
	
	if (!checkIfAllImgLoaded()) {
		aktiv=window.setTimeout("waitForImages()", 300);
		if (debug){debug.innerHTML+="<br>waitForImages: "+anzahlDerSchleifendurchlaeufe;}
		if (anzahlDerSchleifendurchlaeufe<20) {
			return false;
		}else{
			window.clearTimeout(aktiv);
		}
	}else{
	}
	
	//if (debug){	debug.innerHTML+="<br>waitForImages: '"+anker.id+"'";}
	setDivHeight2(anker) //diese funktion wird dann rekursiv aufgerufen
}
//***********************************
function setDivHeight2(anker) {
//***********************************
	if (debug){	debug.innerHTML+="<br><strong>setDivHeight2("+anker+"):</strong>";}
	var zusaetzlicherOffset=0;
	fusszeile=parent.document.getElementById('fusszeile'); if (!fusszeile) alert ("kein Element: Fusszeile");
	content=parent.document.getElementById('content'); if (!content) alert ("kein Element: content");
	verlaengerung=parent.document.getElementById('contentVerlaengerung'); if (!verlaengerung){alert ("kein Element: contentVerlaengerung");} 
	vBar=parent.document.getElementById('vBar');
	hBar=parent.document.getElementById('hBar');
	main=parent.document.getElementById('main'); if (!main) alert ("kein Element: main");
	indexBody=parent.document.getElementById('indexBody'); if (!indexBody) alert ("kein Element: indexBody");
	copyright=parent.document.getElementById('fusszeileCopyright'); if (!copyright) alert ("kein Element: fusszeileCopyright");

	//nur ändern wenn minimumgröße überschritten wird
	if (anker.offsetTop+zusaetzlicherOffset < minHeight){
		gesamtOffset=minHeight
	}else{
		gesamtOffset=anker.offsetTop+zusaetzlicherOffset;
	}
	this.window.scrollTo(0,0); //sonst geht ff auf hash position

	if (fusszeile) {fusszeile.style.top=content.offsetTop+gesamtOffset+"px";}
	if (content) {content.style.height=gesamtOffset+"px";}

	if (verlaengerung) {
		if (fusszeile.offsetTop-verlaengerung.offsetTop>0) verlaengerung.style.height=fusszeile.offsetTop-verlaengerung.offsetTop+"px";
	}

	if (vBar) {
		vBarHoehe=copyright.offsetTop+copyright.offsetHeight+content.offsetTop+content.offsetHeight;
		if (vBarHoehe < indexBody.clientHeight) vBarHoehe=indexBody.clientHeight+9; //9px offset für ff
		
		if (indexBody.scrollHeight > vBarHoehe) { //scrollHeight stammt ggf. noch von der vorigen seite
				vBar.style.height=vBarHoehe+"px"; //9px offset für ff
		}else{
				vBar.style.height=indexBody.scrollHeight+"px"; 
		}

	//if (debug) debug.innerHTML+="<br>clientHeight: "+indexBody.clientHeight+"<br>scrollHeight:"+indexBody.scrollHeight+"<br>fusszeileHoehe:"+fusszeile.offsetHeight+"<br>copyright.offsetTop:"+copyright.offsetTop+" copyright.offsetHeight:"+copyright.offsetHeight+"<br>content.offsetTop:"+content.offsetTop+" content.offsetHeight:"+content.offsetHeight+"<br>vBarHoehe:"+vBarHoehe;

	}

	if (hBar) {
		hBar.style.height=gesamtOffset+"px";
		hBar.style.width=indexBody.clientWidth+"px";
		//if (debug) debug.innerHTML+="<br>parent.document: "+parent.document.width;
		hBar.style.left="-"+main.offsetLeft+"px";
	}

	if (window.location.hash){
		hash=window.location.hash.slice(1);
		parent.window.scrollTo(0,(parseInt(content.offsetTop)+_posFromBody (window.document.getElementsByName(hash)[0],"y")-50)); 
	}else{
		window.location.hash
		parent.window.scrollTo(0,0); //wozu raufscrollen wenn # vorhanden
	}

	//if (debug){	debug.innerHTML+="<br><strong>setDivHeight2:</strong><br>minHeight="+minHeight+"<br>gesamtOffset="+gesamtOffset+"<br>zusaetzlicherOffset="+zusaetzlicherOffset+"<br>content.offsetTop="+content.offsetTop+"<br>fusszeile.offsetHeight="+fusszeile.offsetHeight+"<br>fusszeile.offsetTop="+fusszeile.offsetTop+"<br>window.location.hash="+window.location.hash+"<br>";}

return (true);
}
//***********************************
function _posFromBody (object,achse,alreadyKnownPos){ //erstmals bei robl bei ie müssen die elemente erst geladen seinn, sonst gibt offsetLeft -1 zurück
//***********************************
	//nur 1 arg bedeutet 1. aufruf -> init;
	if (_posFromBody.arguments.length==2) {var alreadyKnownPos=0}
	//alert(object);
	if (debug) { debug.innerHTML+="<br><span style=\"color:red\">_posFromBody: "+object+" "+object.offsetTop+"</span>";}
	alreadyKnownPos += (achse=="x") ? object.offsetLeft : object.offsetTop;
	if (object.tagName !="BODY"){alreadyKnownPos = _posFromBody (object.offsetParent,achse,alreadyKnownPos);} //rekursion

	return alreadyKnownPos;
}
//***********************************
function checkIfAllImgLoaded() {
//***********************************
	var imgNichtGeladen=0;
	var ausgabe="";

	var lists = document.getElementsByTagName("IMG");
	if (!lists.length){
		windows.defaultStatus="keine Bilder da!";
		//debug.innerHTML+="<br>&nbsp;&nbsp;&nbsp;keine Bilder da!";
		return true;
	}
	
	for (var i = 0; i < lists.length; i++) {
		ausgabe+=(lists[i].complete) ? "" : lists[i].src+": nicht geladen\n";
		if (lists[i].complete==false) imgNichtGeladen++;
	}

	//window.defaultStatus=imgNichtGeladen;
	//if (debug) debug.innerHTML+="<br>checkIfAllImgLoaded: offen "+imgNichtGeladen;
	
	//wordCloud=document.getElementById('wordCloud');
	
	if (document.getElementById('wordCloud')){
		if (debug) debug.innerHTML+="<br>wordCloudLoaded: "+self.wordCloud.document.getElementById('wordCloudLoaded');
		if (!self.wordCloud.document.getElementById('wordCloudLoaded')) imgNichtGeladen++;
	}
	
	if (imgNichtGeladen){
		return false;
	}else{
		return true;
	}
}
