/*== Hilfsfunktionen=================================
Layer 
21.12.2000
pin GmbH
====================================================
-------------------------------------------
Parameter: Layername
Ruckgabe: layerObject mit ubergebenem Namen
-------------------------------------------
*/
//-------------------------------------------

var NS=(document.layers)?true:false;
var IE=(document.all)?true:false;

//-------------------------------------------

function LayerByName(lname) {
	var layer=null
	window.id=""
	if (NS) layer=lbn_recursive(window,lname)
	else if (IE) layer=lbn_rec_IE(window,lname)
	//alert(layer)
	return layer	
}

/*-rekursive Layersuche-Netscape---------------------
-----------------------------------------------------
benutzt von LayerByName
Parameter:
layer - der Frame von dem aus rekursiv gesucht werden soll, meist window
name - der Layer nach dem gesucht werden soll
Rueckgabe: gefundenes Layerobjekt oder null
-----------------------------------------------------
*/
function lbn_recursive(layer,lname) {
	//alert('<'+layer.id+'>'+'\n<'+name+'>')
	if (layer.id+'x'==lname+'x') return layer
	if (NS){
		if (document.layers[lname]) return document.layers[lname]
		if (layer.document) {
			if (layer.frames)
				for (var i=0;i<layer.frames.length;i++) {
					l=layer.frames[i]
					result=lbn_recursive(l,lname)
					if (result) return result
				}
			if (layer.document.layers)
				for (var i=0;i<layer.document.layers.length;i++) {
					l=layer.document.layers[i]
					result=lbn_recursive(l,lname)
					if (result) return result
				}
			else return null
		}
	}
}
/*-rekursive Layersuche-IExplorer---------------------
-----------------------------------------------------
benutzt von LayerByName
Parameter:
frame - der Frame von dem aus rekursiv gesucht werden soll, meist window
name - der Layer nach dem gesucht werden soll
Rueckgabe: gefundenes Layerobjekt oder null
-----------------------------------------------------
*/
function lbn_rec_IE(frame,lname) {
	var aDivs = frame.document.all.tags("DIV")
	for (i=0; i<aDivs.length;i++) if (aDivs[i].id==lname)	return aDivs[i]
	if (frame.document.frames) {
		for (var i=0; i<frame.document.frames.length;i++) {
			var newframe=frame.document.frames[i]
			var result=lbn_rec_IE(newframe,lname)
			if (result) return result
		}
	} else return null
}
//-----------------------------------------------------
//Schreibt dyn. einen absolut pos. Layer
function SetupAbsoluteLayer(lname,x,y,w,h,html) {
	var doc=document
	var layer=null
	if (NS) {
		doc.writeln('<layer class="absolute" visibility=hide id="'+lname+'" LEFT='+x+' TOP='+y+' WIDTH='+w+' HEIGHT='+h+">")
		doc.writeln(html)
		doc.writeln('</layer>')
		layer=doc.layers[lname]
	} else if (IE) {
		doc.writeln('<div id="'+lname+'" STYLE="padding: 0px 3px 3px 3px; position:absolute; visibility:hidden; left:'+x+'px; top:'+y+'px; width:'+w+'px; height:'+h+'px;">')
		doc.writeln(html)
		doc.writeln('</div>')
		layer=doc.all[lname]
	}
	//layer.onmouseover=evtlover
	//layer.onmouseout=evtlout
}

/*--------------------------------------------------
ist Layer:name sichtbar ?
--------------------------------------------------*/
function Visible(name) {
	var layer=LayerByName(name)
	if (layer) {
		if (document.layers) {
			if (layer.visibility=="visible")
				return true
		} else if (document.all) {
			if (layer.style.visibility=="visible")
				return true
		}
	}
	return false
}
/*--------------------------------------------------
Zeigt das LayerObject: name an der Stelle x,y an
----------------------------------------------------*/
function ShowLayer(name,x,y) {
	var layer=LayerByName(name)
	//alert('name: '+name+'\nlayer: '+layer+'\nobj: '+document.all[name])
	if (layer) {
		if (NS) {
			layer.visibility="visible"
			if (x) layer.pageX=x
			if (y) layer.pageY=y
		} else {
			if (IE) {
				with(layer.style){
					visibility="visible"
					padding=0
					if (x) posLeft=x
					if (y) posTop=y
				}
			}
		}
	}
	
}
/*Layer name unsichtbar machen*/
function HideLayer(name) {
	var layer=LayerByName(name)
	if (layer) {
		if ((name=='') || (layer.id=='')) return
		if (NS) layer.visibility="hidden"
		else if (IE) layer.style.visibility="hidden"
	}
}
/*--------------------------------------------------*/
function parentElement(elt,topnodeid){
	if (elt.parentElement){	
		if (elt.parentElement.tagName)
			if (elt.parentElement.tagName==topnodeid) return elt.parentElement
		else return parentElement(elt.parentElement,topnodeid)
	}else return elt
}
function chgLayerContent(what,newtext) {
	if (IE) what.innerHTML = newtext
	else if (NS) {
		what.document.open();
		what.document.write(newtext);
		what.document.close();
	}
}

/*--------------------------------------------------*/
function shownewWin(url){
    	if (!window.win2||win2.closed){
       		w=400;h=340;
		cx=Math.round((screen.availWidth-w)/2);
		cy=Math.round((screen.availHeight-h)/2);
       		win2=window.open(url,'ARtem','status=0,toolbar=no,scrollbars=no,width='+w+',height='+h+',screenX='+cx+',screenY='+cy);
       	}else win2.location=url;
}
/*--------------------------------------------------*/
function showObj(obj){
	var p=''
	for (var i in obj) p=p+'\n'+i+'\t: '+obj[i]
	alert(p)
}
/*--------------------------------------------------*/
function showSrc(tcode){
	var trcode=''
	for (var i=0;i<tcode.length;i++){
		//alert(tcode[i])
		switch (tcode[i]){
			case "<": trcode=trcode+'&lt;'
			break
			case ">": trcode=trcode+'&gt;'
			break
			case " ": trcode=trcode+'<br>'
			default: trcode=trcode+tcode[i]
			break
		}
	}
	newwin=open('','Code')
	newwin.document.write('<body>'+trcode+'</body>')
}
function getstatLayer(){
	return LayerByName(GLOBAL_statname)
}
function NSreload(){
	if (NS) {origWidth = innerWidth;origHeight = innerHeight;
	onresize = reDo;}
}
function reDo() {
   if (innerWidth != origWidth || innerHeight != origHeight)
      location.reload();
}


var imgW=800;
var imgH=150;
function setUnten() {
	//alert("hi");
	var offset=0;

	if (window.pageYOffset) { // Netscape
		//alert('pageYOffset: '+window.pageYOffset); 
		offset=window.pageYOffset;
	} else { // Internet Explorer
		if (document && document.body && document.body.scrollTop) { 
			//alert('scrollTop: '+document.body.scrollTop);
			offset=document.body.scrollTop;
			//alert('Offset: '+offset);
		} 
	}

	if (window.innerHeight)	{ // Netscape
		ShowLayer('unten',0,window.innerHeight-imgH+offset);
	}
	else { // Internet Exporer
		
		//if (document && document.body && document.body.offsetHeight) {
		if (document && document.body && document.body.clientHeight) {
			ykoord=document.body.clientHeight-imgH+offset;
			//alert('Y-Pos: '+ykoord)
			ShowLayer('unten',0,ykoord);
		} else {
			ShowLayer('unten',0,400);
			alert('Fester Abstand!')
		}
	}
	window.setTimeout("setUnten()",1000);
}




