<!--
// Global variables
xMousePos = 0; // Horizontal position of the mouse on the screen
yMousePos = 0; // Vertical position of the mouse on the screen
xMousePosMax = 0; // Width of the page
yMousePosMax = 0; // Height of the page
infoElement= null; // node of the Div-Layer that shows the information
xFromMouse=0;
yFromMouse=0;
yUpFromMouse=37;
standardStyle='position:absolute;left:0px;top:0px;visibility:hidden;text-align:center;z-index:999;';
vars=new Object();
vars.tags=[ 'a' ]; // array of tag-names that should provide information
vars.infoAttributeName= 'info'; // in the tags the attribute that contains the text to show
vars.infoElementCentered= false; // centered relative to mouse-pointer
vars.infoElementId=null; // use this div-Tag for the id to show information, null->create new one
vars.infoElementStyleClass=null; // use this CSS-class if no Id is defined, do not forget padding
vars.infoElementFontSize= '12px'; // use if no Id and no CSS-class is defined
vars.infoElementTextColor='#000000';
vars.infoElementBGColor= '#FFFFE1';// // use if no Id and no CSS-class is definded
function setVariables(){
        var settings= window.infoSettings;
        // infoSettings is optional object that contains user variables
        // insert infoSettings before adding link to this js-file
        if( settings==null ){
                // default values are used
        } else {
            for( var varName in settings ){
                    if( settings[varName]!=null )
                            vars[varName]= settings[varName];
            }
        }
};
setVariables();
begin();
function begin(){
        attachInfoElement();
        installTagListeners();
        oldOnmousemove= document.onmousemove;
        if (document.all) { // Internet Explorer
            yFromMouse=17;
            xFromMouse=2;
            document.onmousemove = captureMousePosition;
        } else if (document.getElementById) { // Netcsape 6 + Mozilla
            yFromMouse=21;
            xFromMouse=2;
            document.onmousemove = captureMousePosition;
        }
}
function captureMousePosition(e) {
    if ( document.documentElement&& window.event&& document.documentElement.clientWidth>0 ){
        // IE6 (sometimes)
        xMousePos = window.event.x+ document.documentElement.scrollLeft;
        yMousePos = window.event.y+document.documentElement.scrollTop;
        xMousePosMax = document.documentElement.clientWidth+document.documentElement.scrollLeft;
        yMousePosMax = document.documentElement.clientHeight+document.documentElement.scrollTop-12;
   } else if (document.all) {
        // When the page scrolls in IE, the event's mouse position
        // reflects the position from the top/left of the screen the
        // user is looking at. scrollLeft/Top is the amount the user
        // has scrolled into the page. clientWidth/Height is the height/
        // width of the current page the user is looking at. So, to be
        // consistent with Netscape (above), add the scroll offsets to
        // both so we end up with an absolute value on the page, no
        // matter if the user has scrolled or not.
        xMousePos = window.event.x+document.body.scrollLeft;
        yMousePos = window.event.y+document.body.scrollTop;
        xMousePosMax = document.body.clientWidth+document.body.scrollLeft;
        yMousePosMax = document.body.clientHeight+document.body.scrollTop;
    } else if (document.getElementById) {
        // Netscape 6 behaves the same as Netscape 4 in this regard
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
    }
        moveElements();
        if( oldOnmousemove!=null ){
                oldOnmousemove(e);
        }
}
function out( string ){
        var outDiv=document.getElementById('out')
        if(outDiv!=null) outDiv.firstChild.nodeValue+=string+" ";
}
function moveElements(){
        moveInfoElement();
}
function attachInfoElement( ){
        var str='<div style="'+standardStyle+'" id="';
        if(vars.infoElementId!=null &&vars.infoElementId.length>0){
                str+= vars.infoElementId+'" ';
        } else {
                vars.infoElementId='infoElement';
                str+= vars.infoElementId+'"';
                if(vars.infoElementStyleClass!=null && vars.infoElementStyleClass.length>0){
                        str+= ' class="'+vars.infoElementStyleClass+'" ';
                } else {
                        str+=' class="'+vars.infoElementId+'" ';
                        var sty='<style type="text/css"><!--';
                        sty+=('#'+vars.infoElementId+' {');
                        sty+=('background-color: '+vars.infoElementBGColor+';');
                        sty+='color:'+vars.infoElementTextColor+';';
                        sty+=('border: 1px solid #999999;');
                        sty+=('font-size: '+vars.infoElementFontSize+';');
                        sty+=('font-family: Arial, Helvetica, sans-serif;');
                        sty+='padding:2px;';
                        sty+=('}        --></style>');
                        document.writeln( sty );
                }
        }
        str+=' > </div>'
        out(str);
        document.writeln( str );
}
function installTagListeners( delayTime ){
        infoElement=document.getElementById( vars.infoElementId );
        if( infoElement==null ){} else {
                for( var k=0; k<vars.tags.length; k++){
                        var links=document.getElementsByTagName(  vars.tags[k].toUpperCase() );
                        for(var i=0;links!=null&&i<links.length;i++){
                                var node= links[i];
                                var infoText=node.getAttribute( vars.infoAttributeName );
                                if( infoText!=null && infoText.length > 0&& node.infoText_==null ){
                                                node.infoText_= infoText;
                                                // the _ is used to avoid name conflicts with the attributes of the user
                                                node.style.cursor='pointer';
                                                if( node.onmouseover==null ){
                                                        node.onmouseover= showInfo;
                                                } else {
                                                        node.oldOnmouseover= node.onmouseover;
                                                        node.newOnmouseover= showInfo;
                                                        node.onmouseover= function(){
                                                                this.newOnmouseover();
                                                                this.oldOnmouseover();
                                                        }
                                                }
                                                if( node.onmouseout==null ){
                                                        node.onmouseout= hideInfo;
                                                } else {
                                                        node.oldOnmouseout= node.onmouseout;
                                                        node.newOnmouseout= hideInfo;
                                                        node.onmouseout= function(){
                                                                this.newOnmouseout();
                                                                this.oldOnmouseout();
                                                        }
                                           }
                                }
                        }
                }
        }
        if( delayTime==null)
                delayTime=0;
        if( delayTime < 2 ){
                delayTime+=0.2;
        }
        setTimeout('installTagListeners('+delayTime+')',delayTime*1000);
}
function moveInfoElement(){
        if( infoElement ==null ){
                //out('infoElement=null ');
                //alert('infoElement=null');
                //infoElement=1;
        } else if( infoElement.style.visibility != 'hidden'){
                var x=xFromMouse+xMousePos;
                if(vars.infoElementCentered==true){
                        x-=0.5*infoElement.offsetWidth;
                }
                //out(' width: '+infoElement.offsetWidth+' x: '+x+' fx: '+(x+infoElement.offsetWidth)+' |||');
                if( xMousePosMax>0 && x+ infoElement.offsetWidth> xMousePosMax-20 ){
                        x= xMousePosMax-20- infoElement.offsetWidth;
                }
                if( x<5 ){
                        x=5;
                }
                var y=yFromMouse+yMousePos;
                if( yMousePosMax>0 && y+ infoElement.offsetHeight> yMousePosMax ){
                        y-= yFromMouse+yUpFromMouse;
                }
                infoElement.style.left=x+'px';
                infoElement.style.top=y+'px';
        }
}
function setInfoText( text ){
        var subtext='';
        for(var i=0;i<text.length;++i){
                if(text.substr(i,4)=='<br>'){
                        infoElement.appendChild(document.createTextNode(subtext));
                        infoElement.appendChild(document.createElement('br'));
                        subtext='';
                        i+=3;
                } else {
                        subtext=subtext+text.charAt(i)
                }
        }
        infoElement.appendChild( document.createTextNode(subtext));
}
function unsetInfoText(){
        while(infoElement.hasChildNodes()){
                infoElement.removeChild(infoElement.lastChild);
        }
}
function showInfo(){
        unsetInfoText();
        infoElement.left='0px';
        infoElement.top='0px';
        setInfoText( this.infoText_ );
        infoElement.style.visibility='visible';
        moveInfoElement();
}
function hideInfo(){
        infoElement.style.visibility='hidden';
        unsetInfoText();
}
function ResetCheck () {
  var chk = window.confirm("Wollen Sie alle Eingaben loeschen?");
  return (chk);
}
function toggleTour(id){
    var TourTitle = document.getElementById("TourTitle"+id);
    var Tour = document.getElementById("Tour"+id);
    if(TourTitle!=null){if(TourTitle.style.display==""){TourTitle.style.display="none";}
    else {TourTitle.style.display="";}}if(Tour!=null){if(Tour.style.display==""){Tour.style.display="none";}
    else {Tour.style.display="";}}
}
//-->