function posAll(){

	if (navigator.userAgent.toLowerCase().indexOf("safari") != -1){
		posNavi();
	}
	if(typeof(stickytop)!="undefined"){
		stickygo();
	}
}

function reposAll(){
	posNavi();
}


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';

		}
	}
}



var ismouseover=0;
var valdelay;



function showLayer(){

	ismouseover=1;


	if(this.id.lastIndexOf('_')==this.id.indexOf('_')){

		parentlayer=document.getElementById('navireiter');
		for (var i = 1; i < parentlayer.childNodes.length; i++) {
			parentlayer.childNodes[i].className='';			
		}
		this.className = 'navireiter_hl';
		document.getElementById(this.id+'_right').className='navireiter_hl_right';

		if(subNaviID && subNaviID.substr(subNaviID.length-1) != '_') {
			document.getElementById(subNaviID).className='navilayer_hl';
			document.getElementById(subNaviID+'_right').className='navilayer_hl_right';
		}
	}
	else{
		if(this.innerHTML!='&nbsp;'){

			parentlayerid=this.id.replace(/ref/g, 'layer');
			parentlayerid=parentlayerid.substring(0, parentlayerid.lastIndexOf('_'));
			parentlayer=document.getElementById(parentlayerid);

			if(!parentlayer) {
				return;
			}
			
			for (var i = 0; i < parentlayer.childNodes.length; i++) {
				parentlayer.childNodes[i].className='';
			}
			
			if(this.id.substring(this.id.lastIndexOf('_')) == '_right') {
				document.getElementById(this.id.substring(0, this.id.lastIndexOf('_'))).className='navireiter_hl';
				this.className='navireiter_hl_right';
			} else {
				this.className='navilayer_hl';
				document.getElementById(this.id+'_right').className='navilayer_hl_right';
			}
		}
	}


	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(){
	// erhält Position, wenn nicht ausgewählt ist
	if (typeof(level0ID) != "undefined"){	
		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='';
			}
			
			if (level0ID == "naviref_00") {
				document.getElementById(level0ID).className='navireiter_hl_empty';
			} else {
				document.getElementById(level0ID).className='navireiter_hl';
				document.getElementById(level0ID+'_right').className='navireiter_hl_right';
			}
			
			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(subNaviID && subNaviID.substr(subNaviID.length-1) != '_') {
				document.getElementById(subNaviID).className='navilayer_hl';
				document.getElementById(subNaviID+'_right').className='navilayer_hl_right';
			}
		}
	}	
}

function posNavi(){
	/*
	if (typeof(level0ID) != "undefined") {
		
		if (level0ID == "naviref_00") {		
			document.getElementById(level0ID).className='navireiter_hl_empty';
		}
		else {
			document.getElementById(level0ID).className='navireiter_hl';
			document.getElementById(level0ID+'_right').className='navireiter_hl_right';

			if(subNaviID && subNaviID.substr(subNaviID.length-1) != '_') {
				document.getElementById(subNaviID).className='navilayer_hl';
				document.getElementById(subNaviID+'_right').className='navilayer_hl_right';
			}
		}	
		document.getElementById(level0ID).style.fontWeight='bold';
		document.getElementById(level0ID.replace(/ref/g, 'layer')).style.visibility='visible';
	}
	if (typeof(level0ID) != "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;
			
			//if (typeof(level0ID) != "undefined"){
				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){
						//aktueller Nav1 Punkt div id = "naviref_01, wo Nav2 starten soll"						
						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;
}


