// JScript source code
//Browsercheck
var browser = navigator.userAgent.toLowerCase().split(";");   
var agent = trim(browser[1]).split(" ");
var ver = agent[1].split(".");
var suchwortFound="";
  
function link(url) {
    window.location.href = url;
}

function openEOPopup(ulr, popupname, parameterstring) {
    return window.open(ulr, popupname, parameterstring);
} 

//Start Glossar mit neuer Funktion showGlossarDIV
function showGlossarDIV(word, mode) {
    if (mode == "show") {
        if (typeof(this.event)=="undefined")
            Ereignis = window.event;
        else
            Ereignis = this.event;
            
        //document.getElementById("glossar").style.display = "block";
        if (typeof(Ereignis.offsetLeft) == "undefined") { 
            //document.all.glossar.style.display="block";
            document.getElementById("glossar").style.left = Ereignis.clientX + 0 + "px";
            document.getElementById("glossar").style.top = Ereignis.clientY + 0 + "px";
        } else {
            document.getElementById("glossar").style.left = Ereignis.offsetLeft + 30 + "px";
            document.getElementById("glossar").style.top = Ereignis.offsetTop + 30 + "px";
        }
        for (i = 0; i < glossar.length; i++) {
            if (word == glossar[i][0]) {
                document.getElementById("glossarHeadline").innerHTML = glossar[i][0];
                document.getElementById("glossarDescription").innerHTML = glossar[i][1];
                document.getElementById("glossar").style.display = "block";
                break;
            }
        }
    }
}
function AddAttribute(node, attrName, attrValue) {
    var par = node;
    var temp = document.createAttribute(attrName);
    temp.nodeValue = attrValue;
    node.setAttributeNode(temp); //node.appendChild(temp)
} 

function ersetzen(element, suchwort) {
 
    for (var i = 0; i < element.childNodes.length; i++) {
        if (suchwortFound == suchwort) break; 
        var node = element.childNodes.item(i);
        if (node.nodeType == 3) {
            var pattern = "(^|[^a-zA-Z0-9])"+ suchwort +"([^a-zA-Z0-9]|$)";
            //var pos = node.nodeValue.indexOf(suchwort);
            var pos = node.nodeValue.search(pattern);
            if (pos > -1) {
                pos = (pos==0) ? pos : pos+1;
                var string_before = node.nodeValue.substring(0, pos );
                var string_after = node.nodeValue.substr(pos + suchwort.length); //alert('[' + string_before + '] [' + suchwort + '] [' + string_after + ']');
                if (node.nodeValue == suchwort && node.parentNode.getAttribute('class') == 'glossar' || node.parentNode.tagName == 'A') 
                    continue;
                var textnode_before = document.createTextNode(string_before);
                var suchwort_node = document.createElement('span');
                suchwort_node.setAttribute('class', 'glossar');
               
                /*
                if (ie4)
                    AddAttribute(suchwort_node, "onmouseover", new Function("Glossar_" + Math.random().toString(5).replace('.', ''), " showGlossarDIV(window.event,'" + suchwort + "','show');"))
                else 
                    AddAttribute(suchwort_node, "onmouseover", " showGlossarDIV(this,'" + suchwort + "','show');");
                    
                if (ie4) 
                     AddAttribute(suchwort_node, "onmouseout", new Function("Glossar_" + Math.random().toString(5).replace('.', ''), "window.setTimeout(weg,100);"))
                else 
                     AddAttribute(suchwort_node, "onmouseout", "window.setTimeout(weg,100);");
                */
                
                if(agent[0] == "msie" && ver[0] < 8)
               {
                    AddAttribute(suchwort_node, "onmouseover", new Function("showGlossarDIV('" + suchwort + "','show')"));
                    AddAttribute(suchwort_node, "onmouseout", new Function("weg()"));
               }
               else
               { 
                    AddAttribute(suchwort_node, "onmouseover", "showGlossarDIV('" + suchwort + "','show');");
                    AddAttribute(suchwort_node, "onmouseout", "weg();");
                }
                     
                AddAttribute(suchwort_node, "class", "glossar");

                var suchwort_textnode = document.createTextNode(suchwort);
                suchwort_node.appendChild(suchwort_textnode);
                var textnode_after = document.createTextNode(string_after);
                node.parentNode.replaceChild(textnode_after, node);
                textnode_after.parentNode.insertBefore(textnode_before, textnode_after);
                textnode_after.parentNode.insertBefore(suchwort_node, textnode_after);
                suchwortFound = suchwort; 
                break;
            }
        } else if (node.nodeType == 1) {
            ersetzen(node, suchwort);
        }
    }
}
function weg() {
    document.getElementById("glossar").style.display = "none";
    document.getElementById("glossar").style.top = "";    
    document.getElementById("glossar").style.left = "";
}
function Mouseclick1(Ereignis) { //alert("out");
    window.setTimeout(weg(), 2000);
} 
function trim (zeichenkette) {
  // Erst fuehrende, dann abschliessende Whitespaces entfernen
  // und das Ergebnis dieser Operationen zurueckliefern
  return zeichenkette.replace (/^\s+/, '').replace (/\s+$/, '');
}

//Ende Glossar
