
//Initialisierung der Event-Überwachung
function moveinit() {
    document.onmouseover = move;
    document.onmousemove = move;
    document.onmouseout = movestop;
}

//Wird aufgerufen, wenn ein Objekt bewegt werden soll.
function movestart(id) {
    moveobjekt = document.getElementById("tooltip"+id);
    movex = 20;
    if( run==true ) {
         moveobjekt.style.display='block';
         calPos(1);
    } else {
        run=true;
        actual=window.setTimeout("movestart('"+id+"')",1000);
    }
}

function calPos(start) {

    if (moveobjekt == null || !moveobjekt.id) return;
    if(navigator.userAgent.toLowerCase().indexOf('safari')!=-1) {
        moveobjekt.style.width = '260px';
    }
    var new_x = posx;
    var new_y = posy;

    if (start) {
        moveobjekt.style.left = -100;
        moveobjekt.style.top = -100;
        if (!moveobjekt.style.width) {
            moveobjekt.style.width = (parseInt(moveobjekt.offsetWidth-6)) + "px";
        }
    }

    if(IE && !window.opera){
        new_y = new_y+document.body.scrollTop;
        if(posx > document.body.offsetWidth-270 ){ new_x=new_x-150;}
        if((new_y+130 > posendx) && (moveobjekt.offsetHeight > 50)){new_y=new_y-(moveobjekt.offsetHeight/2+30);}
    } else {
        if (window.opera && navigator.userAgent.toLowerCase().indexOf("mac")== -1) {
            new_y = new_y+window.pageYOffset+20;
        }
        if(new_x > window.innerWidth-260){ new_x=new_x-(260-(260-moveobjekt.offsetWidth));}
    }

    moveobjekt.style.left = (new_x + movex) + "px";
    moveobjekt.style.top = (new_y + movey) + "px";
}

//Wird aufgerufen, wenn ein Objekt nicht mehr bewegt werden soll.
function movestop(ereignis) {
    if (moveobjekt == null || !moveobjekt.id) {
        return;
    }
    moveobjekt.style.display ='none';
    moveobjekt = null;
    run=false;
    clearTimeout(actual);
}

//Wird aufgerufen, wenn die Maus bewegt wird und bewegt bei Bedarf das Objekt.
function move(ereignis) {
    posendx = document.getElementById("end").offsetTop;
    posx = document.all ? window.event.clientX : ereignis.pageX;
    posy = document.all ? window.event.clientY : ereignis.pageY;
    if(moveobjekt != null && moveobjekt.id) {
        calPos();
    }
}
