function containsDOM (container, containee) {
  var isParent = false;
  do {
    if ((isParent = container == containee))
      break;
    containee = containee.parentNode;
  }
  while (containee != null);
  return isParent;
}

function checkMouseEnter (element, evt) {
  if (element.contains && evt.fromElement) {
    return !element.contains(evt.fromElement);
  }
  else if (evt.relatedTarget) {
    return !containsDOM(element, evt.relatedTarget);
  }
}

function checkMouseLeave (element, evt) {
  if (element.contains && evt.toElement) {
    return !element.contains(evt.toElement);
  }
  else if (evt.relatedTarget) {
    return !containsDOM(element, evt.relatedTarget);
  }
}

function show(t,e){
	if (checkMouseEnter(t,e)){
		t.className+=' over';
	}
}
function hide(t,e){
	if (checkMouseLeave(t,e)){
		t.className=t.className.replace(' over', '');
	}
}

// Klappt die Unternavigation in der oberen Klappnavigation auf
function showSubnav(aElement)
{
	aElement.className += " active";
}

// Klappt die Unternavigation in der oberen Klappnavigation zu
function hideSubnav(aElement)
{
	aElement.className = aElement.className.replace(/.?active/, "");
}


function switchdisp(t,n){

	// der ein/auszublendente Absatz
	var section = document.getElementById(t);
	//wenn nicht homepage
	
	if (document.getElementById("content")||document.getElementById("contentall")){
		
		if(n=="klapp"){
			if(document.getElementById("content"))document.getElementById("content").style.height="auto";
			if(document.getElementById("contentall"))document.getElementById("contentall").style.height="auto";
		}else if(n=="pfeil"){
			if(document.getElementById("infos"))document.getElementById("infos").style.height="auto";
		}
	}

	// Absatz ein/ausblenden
	isVisible = (section.style.display != "none");
	section.style.display = isVisible ? "none" : "";
	
	// Pfeil zwischen oben/unten umschalten
	document.getElementById(t + "_" + n).className = !isVisible ? (n + 'oben') : (n + 'unten');
	
	//wenn nicht homepage
	if (document.getElementById("content")||document.getElementById("contentall")){
		if(n=="klapp"){
			optmenu(1);
		}else if(n=="pfeil"){
			optmenu(2);
		}
	}
}


//Menuspalte nach Contentspalte ausrichten

var menuheight=0;
var infosheight=0;
var contentheight=0;
var maxheight=0;
var diff=0;		
var differenzmarginalspalte=0;		
function optmenu(n){
		// berechnen, um wieviel grÃ¶Ãer die marginalspalte werden muss
		if(document.getElementById("gruenelinie"))
			differenzmarginalspalte=27;
		else
			differenzmarginalspalte=19;
		
		//erster Aufruf
		if(n==0){
		
			menuheight=document.getElementById("menu")?document.getElementById("menu").clientHeight:0;
			infosheight=document.getElementById("infos")?document.getElementById("infos").clientHeight+8:0;
			contentheight=document.getElementById('content')?document.getElementById('content').clientHeight:document.getElementById('contentall').clientHeight;
		
		}
		
		//Falls Content sich veraendert hat
		if(n==1){
			contentheight=document.getElementById('content')?document.getElementById('content').clientHeight:document.getElementById('contentall').clientHeight;
		}
		//Falls Marginalspalte sich veraendert hat
		if(n==2){
			infosheight=document.getElementById('infos')?document.getElementById('infos').clientHeight:maxheight;
		}

		
		//grÃ¶sster Wert ermitteln
		if(menuheight>infosheight){
			if(menuheight>contentheight){
				maxheight=menuheight;
			}else{
				maxheight=contentheight;
			}	
		}else{
			if(infosheight>contentheight){
				maxheight=infosheight;
			}else{
				maxheight=contentheight;
			}
		}
			
		if(document.getElementById("content"))document.getElementById("content").style.height=maxheight+"px";
		//if(document.getElementById("contentall"))document.getElementById("contentall").style.height=maxheight+"px";
		if(document.getElementById("infos"))document.getElementById("infos").style.height=(maxheight+differenzmarginalspalte)+"px";
		if(document.getElementById("menu"))document.getElementById("menu").style.height=maxheight+"px";
		

}
/*Schrift*/
function switchStyles(u,n){
	var styl_param="?";
	if(u.indexOf("?")>-1){
		styl_param="&";
	}
	document.location.href=u+"?sizeStylesheet="+n;
}

/*Slider Funktion*/
var step=4;
var xpos;
var sliderdiff=0;
var status=false;
var aktiv=null;

function stopSlider(){
	status=false;
}

function startSlider(d,t){

if(!status){
	status=true;
	moveSlider(d,t);
	}
}

function moveSlider(d,t){
	
		//Buttons anzeigen
		//Position des Sliders
		sliderdiff=document.getElementById("slidertable_"+t).offsetWidth-document.getElementById("slider_"+t).offsetWidth;
		xpos=document.getElementById("innerslider_"+t).style.left==""?0:document.getElementById("innerslider_"+t).style.left;
		if(xpos!=0){
			xpos=xpos.substring(0,xpos.length-2);
			xpos=parseInt(xpos);
		}
		sliderdiff+=xpos;
		if(sliderdiff<0){
			document.getElementById("sliderbutton1_"+t).style.visibility="hidden";
		}else{
			document.getElementById("sliderbutton1_"+t).style.visibility="visible";
		}

		if(xpos>=0){
			document.getElementById("sliderbutton2_"+t).style.visibility="hidden";
		}else{
			document.getElementById("sliderbutton2_"+t).style.visibility="visible";
		}
		
		
		//links scrollen des Sliders
		if(d==0){
			xpos=xpos-step;
			if(sliderdiff<0){status=false;}
		}
		//rechts scrollen des Sliders
		if(d==1){
			xpos=xpos+step;
			if(xpos>0){status=false;}
		}
		if(status){
			document.getElementById("innerslider_"+t).style.left=xpos+'px';
			eval('setTimeout("moveSlider('+d+','+t+');",30)');
		}
		
}

var callback = function () {
var infosheight=document.getElementById("content").clientHeight+27;
var menuheight=document.getElementById("content").clientHeight;
document.getElementById("content").style.height = "auto";
document.getElementById('infos').style.height=infosheight +"px";
document.getElementById('menu').style.height=menuheight +"px";
}
register();
function register() {
if (window.eform) {
eform.addModelListener(this,callback);
}
else {
setTimeout("register()",1000);
}
}


 //InfoIcons anzeigen
function showNavInfo(n){ 
  	document.getElementById(String(n)).style.display = (arguments[1])?"block":"none";
}


function addWctrl(linkElement, wctrlString)
{
	linkElement.href = linkElement.href.replace(/wctrlteaser=/, 'wctrlteaser=' + escape(wctrlString));
	linkElement.onclick = null;
	return true;
}


function stopFlash()
{
	document.getElementById('flashcontainer').innerHTML = "";
}

