var kunde = "inselhuepfen";
var navdata=new Object();
var rlGrenze=6;
var wait=1000;
var countdown=wait;
var cOpen=new Object();
var onMenue=false;
var currentIdStr="";
var hlColor="#FF0000";
var baseColor="#FFFFFF";
var hlFontColor="#000000";
var baseFontColor="#000000";
var xoffsetLeft=8;
var subOffsetLeft=-1;
var subOffsetTop=-1;
var subWidth=200;
var xoffsetTop=159;
var vHeight=0;//verfügbare Höhe im Anzeigenbereich
var tSubHeight=new Object();//absolute Höhe der Subnav-Gruppen
var rlGrenzen=new Object();
var aRef=new Array();

if(kunde=="strohtour")
{
	hlColor="#F77400";
	xoffsetLeft=0;
}
else if(kunde=="inselhuepfen")
{
	hlColor="#0E68B4";
	hlFontColor="#FFFFFF";
	baseFontColor="#000000";
	xoffsetLeft=0;
}

rlGrenzen['bora']=6;
rlGrenzen['drau']=3;
rlGrenzen['fehn']=3;
rlGrenzen['donau_de']=5;
rlGrenzen['weser_rw']=5;
rlGrenzen['loire']=3;
rlGrenzen['strohtour']=2;
rlGrenzen['fu_passauwien']=5;
rlGrenzen['ru_donau']=5;
rlGrenzen['fu_bodensee']=5;
rlGrenzen['elbe_rw']=4;
rlGrenzen['main_rw']=4;
rlGrenzen['skeleton_kunde']=5;
rlGrenzen['rhein_rw']=3;
rlGrenzen['rad_schiff']=5;
rlGrenzen['mosel_rw']=5;
rlGrenzen['bodensee_ru']=5;
rlGrenzen['inn_rw']=3;
rlGrenzen['ostsee']=4;
rlGrenzen['salzkammergut']=3;
rlGrenzen['tauern']=3;
rlGrenzen['rw_service']=5;
rlGrenzen['mecklenburg']=4;
rlGrenzen['bodensee_radtour']=5;
rlGrenzen['holland']=5;
rlGrenzen['bhotels']=5;
rlGrenzen['altmuehl_rw']=5;
rlGrenzen['donau_radtour']=5;
rlGrenzen['overall']=5;
rlGrenzen['fu_donau']=5;
rlGrenzen['ru_bodensee']=5;
if(rlGrenzen[kunde]!=null)
	rlGrenze=rlGrenzen[kunde];

function turnaround(){
	if(!onMenue)
	{
		if(countdown>0)
			countdown-=200;
		else
			hideSubs("");
	}
	else
		countdown=wait;
	setTimeout('turnaround()',200);
}
function makeString(x){
	var check=x+"";
	var erg=check;
	if (check.length<2)
		erg="0"+check ;
	return erg;
}
function setHl(){
	if(currentIdStr!="")
	{
		var idStr=currentIdStr;
		while(idStr.length > 0)
		{
			document.getElementById("nn_"+idStr).style.backgroundColor=hlColor;
			aRef[idStr].style.color=hlFontColor;
			idStr=idStr.substring(0,idStr.length-2);
		}
	}
}
function getDim(refId,what){
	erg=0;
	test="";
	if(document.all)
	{
		if(what=="width")
		{
			eval('test=document.all.'+refId+'.offsetWidth;');
		}
		else if(what=="height")
		{
			eval('test=document.all.'+refId+'.offsetHeight;');
		}
	}
	else
	{
		if(what=="width")
		{
			test=document.getElementById(refId).offsetWidth;
		}
		else if(what=="height")
		{
			test=document.getElementById(refId).offsetHeight;
		}
	}
	erg=parseInt(test);
	return erg;
}
function getParent(idStr){
	if(idStr.length==2)
		return false;
	else
	{
		var erg=idStr.substring(0,idStr.length-2);
		return erg;
	}
}


function vorg(idStr){
	var first,last,nr,erg;
	var ebene=parseInt(idStr.length/2);	
	var lastPos=(ebene-1)*2;
	first=idStr.substring(0,lastPos);
	last=idStr.substring(lastPos,200);
	//alert(last);
	if(last.indexOf("0")==0)
		last=last.substring(1,2);
	nr=parseInt(last);
	if(nr>1)
	{
		erg=first+makeString(nr-1);
		return erg;
	}
	else
		return false;
}
function softRepos(idStr,offset){
	var i,cTop,thisIdStr,tHeight,ref,subRef;
	ref=document.getElementById("nn_"+idStr);
	tHeight=(idStr.length > 2) ? parseInt(ref.style.top) : parseInt(ref.offsetHeight);
	i=1;
	thisIdStr=idStr+"01";
	cTop=tHeight-offset;
	while(navdata[thisIdStr]!=null)
	{
		subRef=document.getElementById("nn_"+thisIdStr);
		subRef.style.top=cTop+"px";
		cTop+=parseInt(subRef.offsetHeight);
		i++;
		thisIdStr=idStr+makeString(i);
	}
}
function repos(idStr){
	var i,erg,thisIdStr,tParent,ref,parentRef,parentRef2,cTop,tVorg,firstNr,direction;
	i=1;
	var cLeft=0;
	thisIdStr=idStr+"01";
	direction="right";
	while(navdata[thisIdStr]!=null)
	{
		if(thisIdStr.length > 2)
		{
			firstNr=parseInt(thisIdStr.substring(0,2));
			if(firstNr>rlGrenze)
				direction="left";
			tParent=getParent(thisIdStr);
			ref=document.getElementById("nn_"+thisIdStr);
			if(i>1)
				ref.style.borderTop="none";
			parentRef=document.getElementById("nn_"+tParent);			
			if(thisIdStr.length==4)
			{
				ref.style.left=parseInt(navdata[tParent]['left'])+xoffsetLeft+"px";
				//alert(ref.getAttribute("id"));
			}
			else
			{
				if(direction=="right")
					ref.style.left=parseInt(parentRef.style.left)+parseInt(parentRef.offsetWidth)+subOffsetLeft+"px";
				else
					ref.style.left=parseInt(parentRef.style.left)-parseInt(parentRef.offsetWidth)-subOffsetLeft+"px";
			}
			if(tVorg=vorg(thisIdStr))
			{
				//alert(tVorg);
				parentRef2=document.getElementById("nn_"+tVorg);
				if(thisIdStr.length==4)
					ref.style.top=parseInt(parentRef2.style.top)+parseInt(parentRef2.offsetHeight)+"px";
				else
					ref.style.top=parseInt(parentRef2.style.top)+parseInt(parentRef2.offsetHeight)+"px";
			}
			else
			{
				if(thisIdStr.length==4)
					ref.style.top=parseInt(parentRef.offsetHeight)+subOffsetTop+"px";
				else
					ref.style.top=parseInt(parentRef.style.top)+"px";
			}
			ref.style.width=subWidth+"px";
			if(navdata[thisIdStr]['url']!=null && navdata[thisIdStr]['url']!="")
			{
				if(navigator.appVersion.indexOf("MSIE 5")>-1)
				{}
				else
					ref.style.cursor="pointer";
			}
		}		
		if(navdata[thisIdStr+"01"]!=null)
		{
			if(thisIdStr.length > 2)
			{
				if(direction=="right")
				{
					ref.style.backgroundImage="url(/img/menue/arrow.gif)";
					ref.style.backgroundRepeat="no-repeat";
					ref.style.backgroundPosition="center right";
				}
				else
				{
					ref.style.paddingLeft="16px";
					if(navigator.appVersion.indexOf("MSIE 5")>-1)
					{}
					else
						ref.style.width=(parseInt(ref.style.width)-11)+"px";
					ref.style.backgroundImage="url(/img/menue/arrowLeft.gif)";
					ref.style.backgroundRepeat="no-repeat";
					ref.style.backgroundPosition="center left";
				}
				
			}
			repos(thisIdStr);
		}		
		i++;
		thisIdStr=idStr+makeString(i);
	}	
}
function repos1(){
	var i,erg,thisIdStr,tParent,ref,parentRef,parentRef2,cTop,tVorg,tHeight,iTemp,newLangDiv,iLeft,diffOffset;	
	i=1;
	var maxHeight=0;
	var cLeft=0;
	thisIdStr="01";
	navdata["01"]['left']=0;
	while(navdata[thisIdStr]!=null)
	{
		ref=document.getElementById("nn_"+thisIdStr);
		if(navdata[thisIdStr+"01"]!=null)
		{
			if(thisIdStr.length == 2)
			{				
				ref.style.paddingRight="16px";
				ref.style.backgroundImage="url(/img/menue/arrowDown.gif)";
				ref.style.backgroundRepeat="no-repeat";
				ref.style.backgroundPosition="center right";
			}
		}	
		if(prevId=vorg(thisIdStr))
		{								
			ref.style.borderLeft="none";
		}
		tHeight=getDim("nn_"+thisIdStr,"height");
		if(tHeight>maxHeight)
			maxHeight=tHeight;
		i++;
		thisIdStr=makeString(i);
	}
	//xoffsetTop+=maxHeight;
	thisIdStr="01";
	i=1;
	diffOffset=0;
	while(navdata[thisIdStr]!=null)
	{
		if(prevId=vorg(thisIdStr))
		{								
			nLeft=getDim("nn_"+prevId,"width");
			navdata[thisIdStr]['left']=cLeft+nLeft-1;
			cLeft+=nLeft;				
		}
		ref=document.getElementById("nn_"+thisIdStr);
		ref.style.height=maxHeight+"px";
		if(navigator.appVersion.indexOf("MSIE")>-1 && navigator.appVersion.indexOf("MSIE 5")<0)
		{
			ref.style.paddingTop="0px";
			ref.style.paddingBottom="0px";
			if(diffOffset==0)
				diffOffset=6;
		}
		if(navigator.appVersion.indexOf("MSIE 5")>-1 && navigator.appVersion.indexOf("MSIE 5.5")<0)
		{}
		else if(ref.innerHTML.toLowerCase().indexOf("<em>")>-1)
		{			
			iTemp=ref.innerHTML.replace(/<em>/,"");
			iTemp=iTemp.replace(/<\/em>/,"");
			iTemp=iTemp.replace(/<EM>/,"");
			iTemp=iTemp.replace(/<\/EM>/,"");
			ref.innerHTML=iTemp;
			if(kunde!="inselhuepfen")
			{
				iLeft=(navdata[thisIdStr]['left']!=null) ? navdata[thisIdStr]['left'] : 0;
				iLeft+=xoffsetLeft+2;			
				newLangDiv=document.createElement('img');
				newLangDiv.setAttribute("src",'/img/menue/flagge_de_small.gif');
				newLangDiv.style.position="absolute";
				newLangDiv.style.left=iLeft+'px';
				newLangDiv.style.top='2px';
				//newLangDiv.setAttribute("style",'position:absolute;left:'+iLeft+'px;top:2px;');
				document.getElementById("navigation").appendChild(newLangDiv);
			}
		}
		i++;
		thisIdStr=makeString(i);
	}
	xoffsetTop-=diffOffset;
	repos("");
	setHl();
}
function hideSubs(idStr){
	var tVorg,n,n2,thisIdstr,baseIdStr,subref;
	for(n in cOpen)
	{
		if(cOpen[n])
		{			
			if( n.length>2 && ((idStr.length==2 && n.length>2) || (n.length > idStr.length)|| idStr=="") )
			{
				subref=document.getElementById("nn_"+n);
				subref.style.visibility="hidden";
				cOpen[n]=false;
			}
		}
	}

}
function initNav(){
	var i,id,idErg,idS,ref,attribs,a,refContent,thisRef,prevRef,prevId,nLeft,refName,iTemp;
	var cLeft=0;	
	//alert(navigator.appVersion);
	for(i=0;i<document.getElementById("navigation").getElementsByTagName("td").length;i++)
	{		
		ref=document.getElementById("navigation").getElementsByTagName("td")[i];		
		id=ref.getAttribute('id');
		refName=ref.getAttribute('name');
		idS=id.split("_");
		idErg=idS[1];
		navdata[idErg]=new Object();
		if(refName.indexOf("_img") > -1)
			navdata[idErg]['img']=true;
		navdata[idErg]['url']="";		
		navdata[idErg]['width']=getDim("nn_"+idErg,"width");
	}
	for(i=0;i<document.getElementById("navigation").getElementsByTagName("div").length;i++)
	{		
		ref=document.getElementById("navigation").getElementsByTagName("div")[i];
		if(ref.innerHTML.toLowerCase().indexOf("<em>")>-1)
		{
			iTemp=ref.innerHTML.replace(/<em>/,"");
			iTemp=iTemp.replace(/<\/em>/,"");
			iTemp=iTemp.replace(/<EM>/,"");
			iTemp=iTemp.replace(/<\/EM>/,"");
			if(kunde!="inselhuepfen")
			{
				iTemp='<img src="/img/menue/flagge_de_small.gif" style="position:absolute;left:1px;top:1px;" />'+iTemp;			
				ref.innerHTML=iTemp;
			}
		}
		id=ref.getAttribute('id');
		refName=ref.getAttribute('name');
		idS=id.split("_");
		idErg=idS[1];
		navdata[idErg]=new Object();
		if(refName.indexOf("_img") > -1)
			navdata[idErg]['img']=true;
		navdata[idErg]['url']="";
		if(ref.getAttribute("class")=="nSIHead")
		{
			navdata[idErg]['head']=true;
		}
		navdata[idErg]['width']=getDim("nn_"+idErg,"width");
	}
	for(i=0;i<document.getElementById("navigation").getElementsByTagName("a").length;i++)
	{
		ref=document.getElementById("navigation").getElementsByTagName("a")[i];
		if(ref.parentNode)
		{
			if(ref.parentNode.getAttribute('id'))
			{
				id=ref.parentNode.getAttribute('id');
				idS=id.split("_");
				idErg=idS[1];
				if(navdata[idErg]!=null && ref.getAttribute("href"))
				{					
					navdata[idErg]['url']=ref.getAttribute("href");
					if(document.location.href.indexOf(navdata[idErg]['url']) > -1 && navdata[idErg]['url'].length>4)
						currentIdStr=idErg;
					else if(document.location.href.indexOf(".")<0)
						currentIdStr="01";
					if(ref.getAttribute("target"))
					{
						if(ref.getAttribute("target") != "")
							navdata[idErg]['target']=ref.getAttribute("target");
						else
							navdata[idErg]['target']="_self";
					}
					else
						navdata[idErg]['target']="_self";
					aRef[idErg]=ref;
				}				
			}
		}	
	}
	for(i=0;i<document.getElementById("navigation").getElementsByTagName("span").length;i++)
	{
		ref=document.getElementById("navigation").getElementsByTagName("span")[i];
		if(ref.parentNode)
		{
			if(ref.parentNode.getAttribute('id'))
			{
				id=ref.parentNode.getAttribute('id');
				idS=id.split("_");
				idErg=idS[1];
				aRef[idErg]=ref;
			}
		}
	}
	repos1("");
	turnaround();
}
function clM(idStr){
	if(navdata[idStr]['url']!=null && navdata[idStr]['url']!="")
	{
		if(navdata[idStr]['target']=="_self")
			document.location.href=navdata[idStr]['url'];
		else
			window.open(navdata[idStr]['url']);
	}
}
function getTotalSubHeight(idStr){
	var i,thisIdStr,erg,ref;
	erg=0;
	thisIdStr=idStr+"01";
	i=1;
	while(navdata[thisIdStr]!=null)
	{
		ref=document.getElementById("nn_"+thisIdStr);
		erg+=parseInt(ref.offsetHeight);
		i++;
		thisIdStr=idStr+makeString(i);
	}
	return erg;
}
function getVHeight(){
	var h;
	if (self.innerHeight)
		h = self.innerHeight;
	else if (document.documentElement && document.documentElement.clientHeight)
		h = document.documentElement.clientHeight;
	else if (document.body)
		h = document.body.clientHeight;	
	return h;
}
function getScrollY(){
	var y;
	var erg=new Array();
	if (self.pageYOffset)
		y = self.pageYOffset;
	else if (document.documentElement && document.documentElement.scrollTop)
		y = document.documentElement.scrollTop;
	else if (document.body)
		y = document.body.scrollTop;
	return y
}
function onM(idStr){
	var n,thisIdstr,subref,tHeight,tOffset;
	vHeight=getVHeight()+getScrollY()-xoffsetTop-17;//absolut verfügbare Höhe für die Navigation	
	onMenue=true;
	tOffset=0;
	hideSubs(idStr);
	cOpen[idStr]=true;
	var ref=document.getElementById("nn_"+idStr);
	if(navdata[idStr]['img']==null || navdata[idStr]['img']=="")
	{
		aRef[idStr].style.color=hlFontColor;
		ref.style.backgroundColor=hlColor;
	}
	if(navdata[idStr+"01"]!=null)
	{
		if(tSubHeight[idStr]==null)
			tSubHeight[idStr]=getTotalSubHeight(idStr);
		tHeight=parseInt(ref.offsetHeight)+tSubHeight[idStr];
		if(tHeight > vHeight)
		{
			tOffset=tHeight-vHeight;
			if(idStr.length==2)
				softRepos(idStr,tOffset-subOffsetTop);
			else
				softRepos(idStr,tOffset);
		}
		else
		{
			if(idStr.length==2)
				softRepos(idStr,(-1*subOffsetTop));
			else
				softRepos(idStr,0);
		}
		n=1;
		thisIdstr=idStr+"01";
		while(navdata[thisIdstr]!=null)
		{
			subref=document.getElementById("nn_"+thisIdstr);
			subref.style.visibility="visible";
			cOpen[thisIdstr]=true;
			n++;
			thisIdstr=idStr+makeString(n);
		}
	}
}
function allowReset(idStr){
	if(currentIdStr.indexOf(idStr)==0)
		return false;
	return true;
	var n;
	for(n in cOpen)
	{
		if(idStr.length <= n.length && n.indexOf(idStr)==0 && cOpen[n]==true)
			return true;
	}
	return false;
}
function offM(idStr){
	var ref=document.getElementById("nn_"+idStr);
	onMenue=false;
	if(navdata[idStr]['img']==null || navdata[idStr]['img']=="")
	{
		if(allowReset(idStr))
		{
			aRef[idStr].style.color=baseFontColor;
			ref.style.backgroundColor=baseColor;
		}
	}
}
function onS(idStr){
	var n,thisIdstr,tOffset,allowHeight,tHeight,tOffset;
	var ref=document.getElementById("nn_"+idStr);
	tOffset=0;
	onMenue=true;
	hideSubs(idStr);
	cOpen[idStr]=true;
	if(navdata[idStr]['img']==null || navdata[idStr]['img']=="")
	{
		if(navdata[idStr]['head']==null)
		{
			aRef[idStr].style.color=hlFontColor;
			ref.style.backgroundColor=hlColor;
		}
	}
	if(navdata[idStr+"01"]!=null)
	{
		tHeight=0;
		if(tSubHeight[idStr]==null)
			tSubHeight[idStr]=getTotalSubHeight(idStr);
		tHeight=parseInt(ref.style.top)+tSubHeight[idStr];
		//alert(tHeight+" - "+vHeight);
		if(tHeight > vHeight)
		{
			tOffset=tHeight-vHeight;
			softRepos(idStr,tOffset);
		}
		else
			softRepos(idStr,0);
		n=1;
		thisIdstr=idStr+"01";
		while(navdata[thisIdstr]!=null)
		{
			subref=document.getElementById("nn_"+thisIdstr);
			subref.style.visibility="visible";
			cOpen[thisIdstr]=true;
			n++;
			thisIdstr=idStr+makeString(n);
		}
	}
}
function offS(idStr){
	var ref=document.getElementById("nn_"+idStr);
	onMenue=false;
	if(navdata[idStr]['img']==null || navdata[idStr]['img']=="")
	{
		if(allowReset(idStr))
		{
			if(navdata[idStr]['head']==null)
			{
				aRef[idStr].style.color=baseFontColor;
				ref.style.backgroundColor=baseColor;
			}
		}
	}
}
function higher(){
	document.getElementById('navigation').style.fontSize="14px";
}
