//Allgemeine Variablen
var NS4 = (navigator.appName.indexOf("Netscape")>=0 && !document.getElementById)? true : false;
var IE4 = (document.all && !document.getElementById)? true : false;
var IE5 = (document.getElementById && document.all)? true : false;
var NS6 = (document.getElementById && navigator.appName.indexOf("Netscape")>=0 )? true: false;
var W3C = (document.getElementById)? true : false;
var OP5 = (navigator.userAgent.indexOf("Opera 5")!=-1) ||(navigator.userAgent.indexOf("Opera/5")!=-1);
var OP6 = (navigator.userAgent.indexOf("Opera 6")!=-1) ||(navigator.userAgent.indexOf("Opera/6")!=-1);
var agt = navigator.userAgent.toLowerCase();
var MAC = (agt.indexOf("mac")!=-1);
var IE = (agt.indexOf("msie") != -1); 
var MAC_IE = MAC && IE;

//Mauspositions koordinaten
var mx = 0;
var my = 0;


// ##### Bookmarkfunktion für IE und Mozilla #####
function bookmark(){
	var titel = document.title;
	var url = document.URL;
	if (window.sidebar) {
		window.sidebar.addPanel(titel, url, "")
	} else if (document.all) {
		window.external.AddFavorite(url, titel);
	}
}
// END Bookmark

// ##### Zitatfunktion #####
function zitat() {
	var id = Math.floor(zitate.length * Math.random());
	document.write(zitate[id]);
}
//END Zitat

// ##### Tooltipfunktionen #####
var dofade=true;     // true: Ein- / Ausfadingfunktion (ab IE4, NS6); false: Kein Fade
var center=false;     // true: Zentriert die Box unter Mausposition; false: Box rechts neben Mausposition
var centertext=false; // true: Zeigt Text zentriert an; false: Text linksbündig
var w_y, w_x, navtxt, boxheight, boxwidth;
var ishover=false;
var isloaded=false;
var ieop=0;
var op_id=0;

function getwindowdims(){
	w_y=(NS4||NS6)? window.innerHeight : (IE5||IE4)? document.body.clientHeight : 0;
	w_x=(NS4||NS6)? window.innerWidth : (IE5||IE4)? document.body.clientWidth : 0;
}

function getboxwidth(){
	if(NS4)boxwidth=(navtxt.document.width)? navtxt.document.width : navtxt.clip.width;
	if(IE5||IE4)boxwidth=(navtxt.style.pixelWidth)? navtxt.style.pixelWidth : navtxt.offsetWidth;
	if(NS6)boxwidth=(navtxt.style.width)? parseInt(navtxt.style.width) : parseInt(navtxt.offsetWidth);
}

function getboxheight(){
	if(NS4)boxheight=(navtxt.document.height)? navtxt.document.height : navtxt.clip.height;
	if(IE4||IE5)boxheight=(navtxt.style.pixelHeight)? navtxt.style.pixelHeight : navtxt.offsetHeight;
	if(NS6)boxheight=parseInt(navtxt.offsetHeight);
}

function movenavtxt(x,y){
	if(NS4)navtxt.moveTo(x,y);
	if(W3C||IE4){
		navtxt.style.left=x+'px';
		navtxt.style.top=y+'px';
	}
}

function getpagescrolly(){
	if(NS4||NS6)return window.pageYOffset;
	if(IE5||IE4)return document.body.scrollTop;
}

function getpagescrollx(){
	if(NS4||NS6)return window.pageXOffset;
	if(IE5||IE4)return document.body.scrollLeft;
}

function writeindiv(text){
	if(NS4){
		navtxt.document.open();
		navtxt.document.write(text);
		navtxt.document.close();
	}
	if(W3C||IE4)navtxt.innerHTML=text;
}

function writetxt(text){
	if(isloaded){
		if(text!=0){
			text = eval(text);
			ishover=true;
			if(NS4)text='<div class="navtext">'+((centertext)?'<center>':'')+text+((centertext)?'</center>':'')+'</div>';
			writeindiv(text);
			getboxheight();
			if((W3C || IE4) && dofade){
				ieop=0;
				incropacity();
			}
		}else{
			if(NS4)navtxt.visibility="hide";
			if(IE4||W3C){
				if(dofade)clearTimeout(op_id);
				navtxt.style.visibility="hidden";
			}
			writeindiv('');
			ishover=false;
		}
	}
}

function incropacity(){
	if(ieop<=100){
		ieop+=15;
		if(IE4 || IE5)navtxt.style.filter="alpha(opacity="+ieop+")";
		if(NS6)navtxt.style.MozOpacity=ieop/100;
		op_id=setTimeout('incropacity()', 10);
	}
}

function moveobj(evt){
	if (NS4){
		mx=evt.pageX
		my=evt.pageY
		mx-=getpagescrollx();
		my-=getpagescrolly();
	} else if (NS6){
		mx=evt.clientX
		my=evt.clientY
	} else if (IE5){
		mx=event.clientX
		my=event.clientY
	} else if (IE4){
		mx=0
		my=0
	}
	
	if(isloaded && ishover){
		margin=(IE4||IE5)? 1 : 23;
		if(NS6)if(document.height+27-window.innerHeight<0)margin=15;
		if(NS4)if(document.height-window.innerHeight<0)margin=10;
		xoff=(center)? mx-boxwidth/2 : mx+5;
		yoff=(my+boxheight+30-getpagescrolly()+margin>=w_y)? -15-boxheight: 30;
		movenavtxt( Math.min(w_x-boxwidth-margin , Math.max(2,xoff))+getpagescrollx() , my+yoff+getpagescrolly());
		if(NS4)navtxt.visibility="show";
		if(W3C||IE4)navtxt.style.visibility="visible";
	}
}

if(NS4)document.captureEvents(Event.MOUSEMOVE);
document.onmousemove=moveobj;
window.onload=function(){
  navtxt=(NS4)? document.layers['navtxt'] : (IE4)? document.all['navtxt'] : (W3C)? document.getElementById('navtxt') : null;
  getboxwidth();
  getboxheight();
  getwindowdims();
  isloaded=true;
  if((W3C || IE4) && centertext)navtxt.style.textAlign="center";
  if(W3C)navtxt.style.padding='4px';
  if(IE4 || IE5 && dofade)navtxt.style.filter="alpha(opacity=0)";
}
window.onresize=getwindowdims;
//END Tooltip

// ##### Menüfunktionen allgemein #####
function getStyleObject(objectId, doc) {
    if(document.getElementById && document.getElementById(objectId)) {
	return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
	return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
		return getObjNN4(document,objectId);
    } else {
	return false;
    }
} 

function changeObjectVisibility(objectId, newVisibility) {
    var styleObject = getStyleObject(objectId, document);
    if(styleObject) {
	styleObject.visibility = newVisibility;
	return true;
    } else {
	return false;
    }
} 

function findImage(name, doc) {
	var i, img;
	for (i = 0; i < doc.images.length; i++) {
    	if (doc.images[i].name == name) {
			return doc.images[i];
		}
	}
	for (i = 0; i < doc.layers.length; i++) {
    	if ((img = findImage(name, doc.layers[i].document)) != null) {
			img.container = doc.layers[i];
			return img;
    	}
	}
	return null;
}

function getImage(name) {
	if (document.layers) {
    	return findImage(name, document);
	}
	return null;
}

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}

function getElementHeight(Elem) {
	if (NS4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.height;
	} else {
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (OP5) {
			xPos = elem.style.pixelHeight;
		} else {
			xPos = elem.offsetHeight;
		}
		return xPos;
	} 
}

function getElementWidth(Elem) {
	if (NS4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.width;
	} else {
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (OP5) {
			xPos = elem.style.pixelWidth;
		} else {
			xPos = elem.offsetWidth;
		}
		return xPos;
	}
}

function getElementLeft(Elem) {
	if (NS4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageX;
	} else {
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		xPos = elem.offsetLeft;
		tempEl = elem.offsetParent;
  		while (tempEl != null) {
  			xPos += tempEl.offsetLeft;
	  		tempEl = tempEl.offsetParent;
  		}
		return xPos;
	}
}


function getElementTop(Elem) {
	if (NS4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageY;
	} else {
		if(document.getElementById) {	
			var elem = document.getElementById(Elem);
		} else if (document.all) {
			var elem = document.all[Elem];
		}
		yPos = elem.offsetTop;
		tempEl = elem.offsetParent;
		while (tempEl != null) {
  			yPos += tempEl.offsetTop;
	  		tempEl = tempEl.offsetParent;
  		}
		return yPos;
	}
}


function getImageLeft(myImage) {
	var x, obj;
	if (document.layers) {
		var img = getImage(myImage);
    	if (img.container != null)
			return img.container.pageX + img.x;
		else
			return img.x;
  	} else {
		return getElementLeft(myImage);
	}
	return -1;
}

function getImageTop(myImage) {
	var y, obj;
	if (document.layers) {
		var img = getImage(myImage);
		if (img.container != null)
			return img.container.pageY + img.y;
		else
			return img.y;
	} else {
		return getElementTop(myImage);
	}
	return -1;
}

function getImageWidth(myImage) {
	var x, obj;
	if (document.layers) {
		var img = getImage(myImage);
		return img.width;
	} else {
		return getElementWidth(myImage);
	}
	return -1;
}



function getImageHeight(myImage) {
	var y, obj;
	if (document.layers) {
		var img = getImage(myImage);
		return img.height;
	} else {
		return getElementHeight(myImage);
	}
	return -1;
}

function moveXY(myObject, x, y) {
	obj = getStyleObject(myObject)
	if (NS4) {
		obj.top = y;
 		obj.left = x;
	} else {
		if (OP5) {
			obj.pixelTop = y;
 			obj.pixelLeft = x;
		} else {
			obj.top = y + 'px';
 			obj.left = x + 'px';
		}	
	}
}

function changeClass(Elem, myClass) {
	var elem;
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	}
	if (OP5 || OP6) elem.style.className = myClass;
	else elem.className = myClass;
}

function changeBGColour(myObject, colour) {
	if (NS4) {
		var obj = getObjNN4(document, myObject);
		obj.bgColor=colour;
	} else {
		var obj = getStyleObject(myObject);
		if (OP5) {
			obj.background = colour;	
		} else {
			obj.backgroundColor = colour;
		}	
	}
}

function changeImage(target, source) {
	var imageObj;
	
	if (NS4) {
		imageObj = getImage(target);
		if (imageObj) imageObj.src = eval(source).src; 
	} else {
		imageObj = eval('document.images.' + target);
		if (imageObj) imageObj.src = eval(source).src; 
	}
}
//END Menü

//Funktion Seite weiterempfehlen
function empfehlen()
{
	var referer = document.URL;
	var pfadteile = location.href.split("/");
	var pfad = "";
	for(i=4;i<pfadteile.length;i++) //i=4
	{
		pfad += "../";
	}
	
	var url = pfad + "kontakt/empfehlen.php?url="+referer;
	location.href = url;
	//alert(url+" pfadanzahl:"+pfadteile.length);
}


