

var oldWidth=window.innerWidth;
var oldHeight=window.innerHeight;

var sitepos;
var banner;
var skyscraper;
var skyleft;



function posAll(){

	if (navigator.userAgent.toLowerCase().indexOf("safari") != -1){
		posNavi();
	}


	initIP();
	posIP();


	if(navigator.userAgent.toLowerCase().indexOf('opera')!=-1){
		resizeEvent();
	}
	else{
	window.onresize = reposAll;
	}


	if(typeof(stickytop)!="undefined"){
		stickygo();
	}



// ********* nur für Advowerbung
if(document.getElementById('advoframe')){
advostopper=document.getElementById('advostopper');
var advoframe=document.getElementById('advoframe');
advoframe.src="/571602?tpl=html";
}

}

function reposAll(){


	posNavi();
	posIP();
}




function initIP(){

	banner = new Object();
	if(document.getElementById('banner') && getRefPos(document.getElementById('banner')).x>-500){
		banner.ipleft=getRefPos(document.getElementById('banner')).x;
	}

	skyscraper = new Object();
	if(document.getElementById('skyscraper') && getRefPos(document.getElementById('skyscraper')).x>-500){
		skyscraper.ipleft=getRefPos(document.getElementById('skyscraper')).x;
		skyscraper.iptop=getRefPos(document.getElementById('skyscraper')).y;
		skyscraper.finaltop=skyscraper.iptop;
		skyscraper.name='skyscraper';
	}
	if(document.getElementById('wallsky') && getRefPos(document.getElementById('wallsky')).x>-500){
		skyscraper.ipleft=getRefPos(document.getElementById('wallsky')).x;
		skyscraper.iptop=getRefPos(document.getElementById('wallsky')).y;
		skyscraper.finaltop=skyscraper.iptop;
		skyscraper.name='wallsky';
	}

	skyleft = new Object();
	if(document.getElementById('skyleft') && getRefPos(document.getElementById('skyleft')).x>-500){
		skyleft.ipleft=getRefPos(document.getElementById('skyleft')).x;
	}
}


function posIP(){

	sitepos=getRefPos(document.getElementById('sitepos'));

	if(typeof(wallsky) != "undefined" && (wallsky==1 || wallsky==2)){// ++++++++ fliegt raus
		posWallpaper();
	}
	else{

		if(banner.ipleft!=undefined){
			document.getElementById('banner').style.left=banner.ipleft+sitepos.x;
			document.getElementById('banner').style.visibility='visible';
		}
		else{// ++++++++ fliegt raus
			posBanner();
		}

		if(skyscraper.ipleft!=undefined){

			skysrc=document.getElementById(skyscraper.name);

			if(skyscraper.iptop>200){
				skysrc.style.top=getRefPos(document.getElementById('skypos')).y+8;
				skyscraper.finaltop=getRefPos(document.getElementById('skypos')).y;
			}
			skysrc.style.left=skyscraper.ipleft+sitepos.x;

			platzhalter=document.getElementById('skypos');

			if(-getRefPos(platzhalter).y+skyscraper.finaltop+skysrc.offsetHeight+8>0){
				platzhalter.style.height=-getRefPos(platzhalter).y+skyscraper.finaltop+skysrc.offsetHeight+8;
				platzhalter.style.width=165;
			}

			skysrc.style.visibility='visible';
		}
		else{// ++++++++ fliegt raus
			posSkyscraper();
		}

		if(skyleft.ipleft!=undefined){
				document.getElementById('skyleft').style.left=skyleft.ipleft+sitepos.x;
				document.getElementById('skyleft').style.visibility='visible';
		}
	}


	posIPtoRef();
	posIPextended();
}


function posWallpaper(){
	if(wallsky==1){
		//sky darunter
		posBanner();
		if(document.getElementById('skypos') && document.getElementById('sky1') && document.getElementById('sky1').offsetHeight>20){

			var ref=document.getElementById('banner');
			var src=document.getElementById('sky1');

			document.getElementById('skypos').style.height=src.offsetHeight-150;
			document.getElementById('skypos').style.width=165;

			var pos=getRefPos(ref);

			src.style.left=pos.x+ref.offsetWidth-src.offsetWidth;
			src.style.top=pos.y+ref.offsetHeight;
			src.style.visibility='visible';

		}
	}
	else{
		//sky daneben
		posBanner(-document.getElementById('sky1').offsetWidth);

		if(document.getElementById('skypos') && document.getElementById('sky1') && document.getElementById('sky1').offsetHeight>20){

			var ref=document.getElementById('banner');
			var src=document.getElementById('sky1');

			document.getElementById('skypos').style.height=src.offsetHeight-240;
			document.getElementById('skypos').style.width=165;

			var pos=getRefPos(ref);

			src.style.left=pos.x+ref.offsetWidth;
			src.style.top=pos.y;
			src.style.visibility='visible';

		}
	}
}

function posBanner(korrBannerX){

	if(korrBannerX == undefined){
		korrBannerX=0;
	}


	if(document.getElementById('banner_ref') && document.getElementById('banner') && document.getElementById('banner').offsetHeight>20){

		var ref=document.getElementById('banner_ref');
		var src=document.getElementById('banner');

		ref.style.height=src.offsetHeight;
		ref.style.width=src.offsetWidth;

		var pos=getRefPos(ref);

		src.style.left=pos.x+korrBannerX;
		src.style.top=pos.y;
		src.style.visibility='visible';

	}
}

function posSkyscraper(){
	if(document.getElementById('skypos') && document.getElementById('sky1') && document.getElementById('sky1').offsetHeight>20){

		//if (typeof(korrSkyX)=="undefined"){
			korrSkyX=0;
		//}


		var ref=document.getElementById('skypos');
		var src=document.getElementById('sky1');

		ref.style.height=src.offsetHeight+8;
		ref.style.width=165;

		var pos=getRefPos(ref);

		src.style.left=pos.x+(165-src.offsetWidth)+korrSkyX;
		src.style.top=pos.y+8;
		src.style.visibility='visible';

	}
}


function posIPtoRef(){
	for (var i = 0; i <= refElements.length-1 ; i++){

		if(document.getElementById(refElements[i]+'_ref') && document.getElementById(refElements[i]+'_src').offsetHeight>20){

			var ref=document.getElementById(refElements[i]+'_ref');
			var src=document.getElementById(refElements[i]+'_src');

			ref.style.height=src.offsetHeight;
			ref.style.width=src.offsetWidth;

			if(refElements[i]=='stopper' && src.offsetWidth>445){
				ref.style.width=445;
			}

			if(refElements[i]=='contentsky' && src.offsetWidth>220){
				ref.style.width=220;
			}

			var pos=getRefPos(ref);

			src.style.left=pos.x;
			src.style.top=pos.y;
			src.style.visibility='visible';

		}
	}
}




function posIPextended(){

	if(document.getElementById('skypos')){

		if(document.getElementById('stickyright_src') && document.getElementById('stickyright_src').offsetHeight>20) {

				var pos=getRefPos(document.getElementById('skypos'));
				stickyright=document.getElementById('stickyright_src');

				stickytop=pos.y;

				stickyright.style.left=pos.x+175;
				stickyright.style.top=pos.y+10;
				stickyright.style.visibility='visible';

		}

		if(document.getElementById('stickyleft_src') && document.getElementById('stickyleft_src').offsetHeight>20) {


				var pos=getRefPos(document.getElementById('skypos'));
				stickyleft=document.getElementById('stickyleft_src');

				stickytop=pos.y;

				stickyleft.style.left=pos.x-965;
				stickyleft.style.top=pos.y+10;
				stickyleft.style.visibility='visible';

		}

	}
}





function stickygo() {


  		if(typeof(stickyright)!="undefined"){
  			stickyright.style.top=document.body.scrollTop+stickytop;
  		}
  		if(typeof(stickyleft)!="undefined"){
		  	stickyleft.style.top=document.body.scrollTop+stickytop;
  		}
  		setTimeout("stickygo()",200);

}




var ismouseover=0;
var valdelay;


function showLayer(){

	ismouseover=1;


	if(this.id.lastIndexOf('_')==this.id.indexOf('_')){

		parentlayer=document.getElementById('navireiter');
		for (var i = 0; i < parentlayer.childNodes.length; i++){
			parentlayer.childNodes[i].className='';
		}
		this.className = 'navireiter_hl';
	}
	else{


		if(this.innerHTML!='&nbsp;'){

			parentlayerid=this.id.replace(/ref/g, 'layer');
			parentlayerid=parentlayerid.substring(0, parentlayerid.lastIndexOf('_'));
			parentlayer=document.getElementById(parentlayerid);

			for (var i = 0; i < parentlayer.childNodes.length; i++){
				parentlayer.childNodes[i].className='';
			}

			this.className = parentlayer.className+'_hl';

		}
	}


	layeridtovalidate=this.id.replace(/ref/g, 'layer');
	var clearlayer = new Array();

	for (var z = 0; z < allnavilayer.length ; z++){

		for (var i = 0; i < allnavilayer[z].length ; i++){

			layer=allnavilayer[z][i];

			if(layeridtovalidate.indexOf(layer.id)>-1){
				layer.style.visibility='visible';
			}
			else{


				if(layer.style.visibility=='visible'){

					clearlayer.push(layer);
					layer.style.visibility='hidden';
				}

			}
		}
	}


	for (var z = 0; z < clearlayer.length ; z++){
		for (var i = 0; i < clearlayer[z].childNodes.length; i++){
			clearlayer[z].childNodes[i].className='';
		}
	}

}


function hideLayer(){
	ismouseover=0;
	window.clearTimeout(valdelay);
	valdelay=window.setTimeout("delayHideLayer()", 1000);
}


function delayHideLayer(){

	if(ismouseover==0){
		for (var z = 0; z < allnavilayer.length ; z++){

			for (var i = 0; i < allnavilayer[z].length ; i++){

				if(allnavilayer[z][i].id!=level0ID){
					allnavilayer[z][i].style.visibility='hidden';
				}

			}
		}


		parentlayer=document.getElementById('navireiter');
		for (var i = 0; i < parentlayer.childNodes.length; i++){
			parentlayer.childNodes[i].className='';
		}
		document.getElementById(level0ID).className='navireiter_hl';
		document.getElementById(level0ID.replace(/ref/g, 'layer')).style.visibility='visible';



		parentlayer=document.getElementById(level0ID.replace(/ref/g, 'layer'));
		for (var i = 0; i < parentlayer.childNodes.length; i++){
			parentlayer.childNodes[i].className='';
		}
		//if (typeof(level1ID) != "undefined"){
			//document.getElementById(level1ID).className='level0_hl';
		//}


	}
}




function posNavi(){


	if (typeof(level0ID) == "undefined"){
		level0ID='naviref_01';
	}

	document.getElementById(level0ID).className='navireiter_hl';
	document.getElementById(level0ID).style.fontWeight='bold';
	document.getElementById(level0ID.replace(/ref/g, 'layer')).style.visibility='visible';
	if (typeof(level1ID) != "undefined"){
		//document.getElementById(level1ID).className='level0_hl';
		document.getElementById(level1ID).style.fontWeight='bold';
	}


	korrX=0;
	korrY=0;

	alldiv = new Array();
	alldiv = document.getElementsByTagName('div');

	navilayer0 = new Array();

	navilayer1 = new Array();
	navilayer2 = new Array();
	navilayer3 = new Array();

	for (var i = 0; i < alldiv.length ; i++){

		if(alldiv[i].id.indexOf('naviref')>-1){
			alldiv[i].onmouseover=showLayer;
			alldiv[i].onmouseout=hideLayer;
		}
		else{

			if(alldiv[i].id.indexOf('navilayer')>-1){

				if(alldiv[i].className=='level0'){navilayer0.push(alldiv[i]);}
				if(alldiv[i].className=='level1'){navilayer1.push(alldiv[i]);}
				if(alldiv[i].className=='level2'){navilayer2.push(alldiv[i]);}
				if(alldiv[i].className=='level3'){navilayer3.push(alldiv[i]);}

			}
		}
	}

	allnavilayer = new Array (navilayer0,navilayer1,navilayer2,navilayer3);

	for (var z = 0; z < allnavilayer.length ; z++){

		for (var i = 0; i < allnavilayer[z].length ; i++){

			layer=allnavilayer[z][i];

			if(document.getElementById(allnavilayer[z][i].id.replace(/layer/g, 'ref'))){

					ref=document.getElementById(allnavilayer[z][i].id.replace(/layer/g, 'ref'));

					if(z==0){
						pos=getRefPos(document.getElementById('naviref_01'));
					}
					else{
						pos=getRefPos(ref);
					}

					if(z==0 || z==1){
						korrX=0;
						korrY=ref.offsetHeight;
						if(z==0){
							//korrY=ref.offsetHeight+5;
						}
						if(z==1){
							if(layer.offsetWidth<ref.offsetWidth){
								layer.style.width=ref.offsetWidth+2;
							}
							//korrX=-1;
						}
					}
					else{
						korrX=ref.offsetWidth;
						korrY=0;
					}

					layer.style.left=pos.x+korrX;
					layer.style.top=pos.y+korrY;
			}
		}
	}
}



function getRefPos(ref) {


	var refOrg=ref;
	var pos=new Object();
	var x=0,y=0;
	x=ref.offsetLeft;

	while ((ref=ref.offsetParent) != null){
		x = x+ref.offsetLeft;
	}

	ref=refOrg;
	y=ref.offsetTop;

	while ((ref=ref.offsetParent) != null)	{
		y = y+ref.offsetTop;
	}

	pos.x=x;
	pos.y=y;
	return pos;
}

function resizeEvent(){
	if(oldWidth!=window.innerWidth || oldHeight!=window.innerHeight){
		setTimeout("reposAll()",100);
		oldWidth=window.innerWidth;
		oldHeight=window.innerHeight;
	}
	setTimeout("resizeEvent()",250);
}

