﻿// JScript File

	//Client script global variables
    var Xoffset=-17;    // modify these values to ...
    var Yoffset= 20;    // change the popup position.
    var skn,iex;
    var yyy=-1000;
    var ns4=document.layers
    var ns6=document.getElementById&&!document.all
    var ie4=document.all
    var mousex = 0;
    var mousey = 0;

    //Global script
    try
    {
        if (ns4)
            skn=document.dek;
    	
	    else if (ns6)
            skn=document.getElementById("dek").style;
    	
        else if (ie4)
            skn=document.all.dek.style;
    }
    catch(e)
    {
        if (ns4)
            skn=document.ctl00_dek;
    	
	    else if (ns6)
            skn=document.getElementById("ctl00_dek").style;
    	
        else if (ie4)
            skn=document.all.ctl00_dek.style;
    }
	
	if(ns4)
	    document.captureEvents(Event.MOUSEMOVE);
    else
    {
	    skn.visibility="visible";
	    skn.display="none";
	}
	
	//document.getElementById("dek").encoding = "utf-8";
    document.onmousemove=get_mouse;
    
    function popup(msg, fTable, width)
    {
	    var content = "";
	    strWidth = "";
	    if (width != "")
	        strWidth = width
	    if (fTable == "true")
	        content+="<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 width=" + strWidth + "><TD ALIGN=left class=popup>" +  decode_utf8(unescape(msg)) + "</TD></TABLE>";
        else		        
            content+="<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0><TD ALIGN=left class=popup>" + "&nbsp;" + decode_utf8(unescape(msg)) + "&nbsp;</TD></TABLE>";
	    yyy=Yoffset;
	    if(ns4)
	    {
		    skn.document.write(content);
		    skn.document.close();
		    skn.visibility="visible";
	    }
	    if(ns6)
	    {
		    document.getElementById("dek").innerHTML=content;
		    skn.display='';
	    }
	    if(ie4)
	    {
		    document.all("dek").innerHTML=content;
		    skn.display='';
	    }
    }
    
    function get_mouse(e)
    {
	    var x=(ns4||ns6)?e.pageX:event.x+document.body.scrollLeft;
	    skn.left=x+Xoffset;
	    mousex=x;
	    var y=(ns4||ns6)?e.pageY:event.y+document.body.scrollTop;
	    skn.top=y+yyy;
	    mousey=y;
    }

    function kill()
    {
	    yyy=-1000;
	    if(ns4)
		    skn.visibility="hidden";
	    else if (ns6||ie4)
		    skn.display="none"
    }
    
    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  aktuellen Zeichens
            var c=rohtext.charCodeAt(n);
            // alle Zeichen von 0-127 => 1byte
            if (c<128)
                utftext += String.fromCharCode(c);
            // alle Zeichen von 127 bis 2047 => 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 => 3byte
            else 
            {
                utftext += String.fromCharCode((c>>12)|224);
                utftext += String.fromCharCode(((c>>6)&63)|128);
                utftext += String.fromCharCode((c&63)|128);
            }
        }
        return utftext;
    }

    function decode_utf8(utftext) 
    {
        var plaintext = ""; var i=0; var c=c1=c2=0;
        // while-Schleife, weil einige Zeichen uebersprungen werden
        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;
    }
    

	    

