/***********************************************/
/*  Allerlei Funktionen für den Hausgebrauch   */
/***********************************************/
/*  showlayer, hidelayer                       */
/*  decode_utf8, encode_utf8                   */
/***********************************************/

// show / hide infolayer
// Mauszeiger 

var x;
var y;

function MouseHandler(e)
{
	if (ns)
	{
		x = e.pageX;
		y = e.pageY;
	}
	else if (ns6)
	{
		Event = e;
		x = Event.pageX;
		y = Event.pageY;
	}
	else if (ie)
	{
		x = window.event.clientX;
		y = window.event.clientY;
	}
}
///////////////////////////////////////
if (ns) 
{
	document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = MouseHandler;
///////////////////////////////////////

// Show Layer 
function showlayer(layername,links,oben)
{
	if (ns)
	{
		document.layers[layername].left = (x + parseInt(links));
		document.layers[layername].top = (y + parseInt(oben));
		document.layers[layername].visibility = "show";
	}
	else if (ns6||ie)
	{
		layerpop = eval(document.getElementById([layername]));
		layerpop.style.left = (x + parseInt(links));
		layerpop.style.top = (y + parseInt(oben)+ parseInt(document.body.scrollTop));
		layerpop.style.visibility = "visible";
	}
}


// Hide Layer 
function hidelayer(layername)
{
// NS
	if (ns)
	{
		document.layers[layername].visibility = "hide";
	}
// IE / NS6
	else if (ie||ns6)
	{
		layerpop = eval(document.getElementById([layername]));
		layerpop.style.visibility = "hidden";
	}
}

/*--------------------------------*/
/* Ein PopUp-Fenster einblenden   */
/*--------------------------------*/

	function PopUp (width,height,typ)
	{
		if (typ == 1)
			opt = "width=" + width + ",height=" + height + ",resizable=1,toolbar=1,scrollbars=1";
		else
			opt = "width=" + width + ",height=" + height + ",resizable=0,toolbar=0,scrollbars=0";
	
		neuesFenster=open("","anzeigeFenster",opt);
		window.neuesFenster.focus();
	}
	 
function decode_utf8 (utftext) 
{
	var plaintext = ""; 
	var i=0; var c=c1=c2=0;

	while (i < utftext.length)
	{
		c = utftext.charCodeAt(i);
		if (c < 128) 
		{
			plaintext += String.fromCharCode(c);
			i++;
		}
		else if ((c>191) && (c<224)) 
		{
			c2 = utftext.charCodeAt(i+1);
			plaintext += String.fromCharCode(((c&31)<<6) | (c2&63));
			i+=2;
		}
		else 
		{
			c2 = utftext.charCodeAt(i+1); 
			c3 = utftext.charCodeAt(i+2);
			plaintext += String.fromCharCode(((c&15)<<12) | ((c2&63)<<6) | (c3&63));
			i += 3;
		}
	}
	return plaintext;
}

function encode_utf8 (rohtext) 
{
// dient der Normalisierung des Zeilenumbruchs
	rohtext = rohtext.replace(/\r\n/g,"\n");
	var utftext = "";

	for (var n=0; n<rohtext.length; n++)
	{
// ermitteln des Unicodes des&nbsp; aktuellen Zeichens
		var c = rohtext.charCodeAt(n);
// alle Zeichen von 0-127 =&gt; 1byte
		if (c < 128)
			utftext += String.fromCharCode(c);
// alle Zeichen von 127 bis 2047 =&gt; 2byte
		else if ((c>127) && (c<2048)) 
		{
			utftext += String.fromCharCode((c>>6)|192);
			utftext += String.fromCharCode((c&63)|128);
		}
// alle Zeichen von 2048 bis 66536 =&gt; 3byte
		else 
		{
			utftext += String.fromCharCode((c>>12)|224);
			utftext += String.fromCharCode(((c>>6)&63)|128);
			utftext += String.fromCharCode((c&63)|128);
		}
	}
	return utftext;
}








