document.onmousemove = setXY;
var posX = 0;
var posY = 0;

function setXY (e) {
	posX = ((document.all) ? window.event.clientX : e.pageX) + 10;
	posY = ((document.all) ? window.event.clientY + document.documentElement.scrollTop : e.pageY) + 10;
}


function showTooltip(node) {
	if (!node) return;
	myNode = node;
	while (myNode.nextSibling && myNode.className != 'tooltip') {
		myNode=myNode.nextSibling;
	}
	if (myNode.className != 'tooltip') return;
	if (!document.getElementById('Tooltip')) {
		myTooltip = myNode.cloneNode(true);
		myTooltip.id = 'Tooltip';
		document.getElementsByTagName('BODY')[0].appendChild(myTooltip);
		
		myTooltip.style.display = 'block';
		myTooltip.style.top = (posY-17) + 'px';
		myTooltip.style.left = (posX) + 'px';
	} else if (document.getElementById('Tooltip').innerHTML != myNode.innerHTML) {
		hideTooltip();
		showTooltip(node);
	} else {
		hideTooltip();
	}
}
function hideTooltip() {
	if (document.getElementById('Tooltip')) {
		document.getElementsByTagName('BODY')[0].removeChild(document.getElementById('Tooltip'));
	}
}


function makeWin(url,name,w,h) {
newWindow = window.open(url,name,"scrollbars=yes,resizable=yes,menubar=yes,location=no,width=" + w + ",height=" + h );
}

function printPage() {
	url = document.location.href;
	if (url.indexOf(".html")!=-1) {
		url = url.substring(0,url.indexOf(".html"))+".print"+url.substr(url.indexOf(".html")+5);
		window.open(url,"print","scrollbars=yes,resizable=yes,menubar=no,location=no,width=760,height=500");
	}
}

function popup(url,h) {
	window.open(url,"popup","scrollbars=yes,resizable=yes,menubar=no,location=no,width=731,height=" + h );
}

function popupFonts(url) {
	window.open(url,"popup","scrollbars=yes,resizable=yes,menubar=no,location=no,width=800,height=600");
}

function main(url) {
	if (parent.opener && parent.opener.document) {
		parent.opener.document.location.href=url;
		parent.opener.window.focus();
	}
}

function recommend(url,id) {
	if (id != 'null') {
		document.location.href="weiterempfehlen.html?url="+url+"&id="+id;
	} else {
		document.location.href="weiterempfehlen.html?url="+url;
	}
}

function doIn() {
	var in1 = "docume";
	var in2 = "nt.writ";
	var in3 = "e('<di";
	var in4 = "v style=\"";
	var in5 = "displ";
	var in6 = "ay: non";
	var in7 = "e;\">');";
	eval(in1+in2+in3+in4+in5+in6+in7);
}

function doOut() {
	var out1 =	"docum";
	var out2 = "ent.wri";
	var out3 = "te('</";
	var out4 = "div>');";
	eval(out1+out2+out3+out4);
}

function selectLink(selectObj) {
	var url = selectObj.options[selectObj.selectedIndex].value;
	selectObj.selectedIndex=0;
	selectObj.blur();
	if (url != "") {
		// Steht ein * vor der url wird sie in einem neuen Fenster ge?ffnet.
		if (url.substring(0,1) == "*") {
			open(url.substring(1));
		} else {
			document.location.href=url;
		}
	}
}

/* Sucht eine ID 'layer' und blendet das entsprechende Element ein oder aus */
function openCloseLayer(id) {
	if (!id) return;
	var layer = document.getElementById(id);
	if (!layer) return;
	if (layer.style.display == 'block') {
		layer.style.display = 'none';
	} else {
		layer.style.display = 'block';
	}
}

function openCloseAssistant(node) {
	if (!node) return;
	layerNode = node.firstChild;
	while(layerNode.nextSibling && layerNode.nodeName!='UL') {
		layerNode = layerNode.nextSibling;
	}
	if (layerNode.nodeName=='UL') {
		if (layerNode.style.display == 'block') {
			layerNode.style.display = 'none';
			delClass(node, 'act');
		} else {
			layerNode.style.display = 'block';
			addClass(node, 'act');
		}
	}
}

function getCookie(name){
	var cname = name + "=";               
	var dc = document.cookie;
	if (dc.length > 0) {
	begin = dc.indexOf(cname);
	if (begin != -1) {           
	begin += cname.length;
	end = dc.indexOf(";", begin);
	if (end == -1) end = dc.length;
	return unescape(dc.substring(begin, end));        }
	}
	return null;
}

function getLoginFromCookie() {
	var value = getCookie("USERDATA");
	if (value && value.indexOf('|') != -1 && document.login && document.login.user && document.login.pass) {
		document.login.user.value = value.substring(0,value.indexOf('|'));
		document.login.pass.value = value.substring(value.indexOf('|')+1);
		if (document.login.save) document.login.save.checked=true;
	}
}

// fügt die CSS-Klasse class einem Knoten hinzu
function addClass(node, cssClass) {
	if (!node) exit;
	node.className = node.className + ' ' + cssClass;
}
// entfernt die CSS-Klasse class aus einem Knoten
function delClass(node, cssClass) {
	var cssClassName = ' ' + node.className + ' ';
	if (cssClassName.indexOf(' ' + cssClass + ' ') > -1) { // class ist vorhanden
		if (cssClassName.length == (cssClass.length + 2)) {
			node.className = '';
		} else {
			var pos = cssClassName.indexOf(' ' + cssClass + ' '); // position von class in className
			// Klassennamen vor und hinter class auseinanderschneiden...
			var firstClass = cssClassName.substring(0, pos);
			var lastClass = cssClassName.substring(pos + cssClass.length + 1, cssClassName.length);
			// ...und wieder zusammenkleben
			node.className = firstClass + lastClass;
		}
	}
}