Salutation a tous

je me fabrique une ptite fonction pour faire un display des évènements dans un intranet (sauvegarde, chargement ect ect ect ...)

Comme je veut que le message apparaisse en haut a droite, et que si plusieurs message viennent en 'même' temps, ceux-si ce décale vert le bas

j'arrive pratiquement au résultat voulut ... mais...

Lors de l'apparition d'un nouveau message 'décalé', le mouvement des supérieurs premier s'arrête.
De plus j'ai mis un timeout pour que le message disparaisse au bout de 2 sec .. et .. il faut bien disparaitre le dernier, mais fais une erreur ensuite .. et les supérieurs reste ...

voici mon code ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
var    flyingSpeed = 2;
var    yTop=0;
var    xRight=-170;
var xTarget=-20;
var oAlert = {
    creat:function(msg){
        var oBox = document.createElement('DIV');
        var eBox = oBase.get('.alerte');
        oBox.className = 'alerte';
        oBox.id = 'a'+Math.round(Math.random()*10000);
        if(eBox.length > 0){
            oBox.style.top = (eBox.length * 20) +'px';
        }
        else{
            oBox.style.top = yTop+'px';
        }
        oBox.style.position = 'absolute';
        oBox.style.right = xRight+'px';
        oBox.style.display = 'block';
        oBox.innerHTML = msg;
        document.body.appendChild(oBox);
        moving = xRight;
        oAlert.display(oBox.id);
    },
    display:function(id){
        var mBox = oBase.get('#'+id)[0];
        var moving = parseInt(mBox.style.right.split("p")[0]) + flyingSpeed;
        mBox.style.right = moving + 'px';
        if(moving > xTarget){
            box = id;
            setTimeout("oAlert.destruct(box)",2000);
        }
        else if(oBase.get('#'+id)[0].style.display=='block'){
            box = id;
            setTimeout("oAlert.display(box)",5);
        }
    },
    destruct:function(dBox){
        document.body.removeChild(dBox);
    }
};
Merci de prendre un peu de temps pour m'aider


edit : balise code