Mam problem z setTimeout wywołuje dwa razy metody wiec ustawiam nowy czas dla drugiego wywołania lecz ten czas jest po prostu olewany i dalej jadę na starym czasie

/* * Klasa odpowiedzialna za wyświetlanie Boksów tekstowych z wiadomościami. * Error, Info, Success */ var DialogComponent = function() { // Czas alertu // Typy Alertów this.type = new Object(); this.type['error'] = 'alert-error'; this.type['success'] = 'alert-success'; this.type['info'] = 'alert-info'; // Wiadomość do przekazania this.message = ''; }; /* * Wyświetlanie Dialogu * type: typ alerta; * message: wiadomość do przekazania; */ // schowanie jeżeli istnieją this.private_hide(); // ustawienie czasu wyświetlania dialogu } // ustawienie dialogu this.message = message; $('div.alert').addClass(this.type[type]); $('div.alert p').append(this.message); // włączenie interakcji (przycisk) this.private_interaction(); // uruchomienie animacji this.private_animation(); return true; }; /* * Animacja boksa znikającego w dół */ DialogComponent.prototype.private_animation = function() { // Pojawienei się elementu $("div.alert").show("slide", {direction: "down"}, 1000); // Ukrycie elementu po określonym czasie $("div.alert").hide("slide", {direction: "down"}, 1000); // przerwanie animaxcji $('div.alert').click(function() { }); }; /* * Animacja boksa chowanie */ DialogComponent.prototype.private_hide = function() { $("div.alert").hide("slide", {direction: "down"}, 1000); }; /* * Interakcja z okienkiem po kliknięciu chowa się. */ DialogComponent.prototype.private_interaction = function() { $('div.alert').on('click', 'span', function() { $("div.alert").hide("slide", {direction: "down"}, 1000); }); }; /* * Wyłączenie czasu po najechaniu myszką */ DialogComponent.prototype.private_mauseOnBox = function() { $('div.alert').on('click', 'span', function() { $("div.alert").hide("slide", {direction: "down"}, 1000); }); }; $(function() { var Dialog = new DialogComponent(); var msg = 'Wszystko poszło zgodnie z planem :) Nie musisz się już o nic martwić. Alerty będą gotowe by wyrywać skrzydełka niegrzecznym dzieciom'; Dialog.box('success', msg, 1); Dialog.box('success', msg, 10); // DALEJ 1 SEKUNDA NIE 10 a raczej pozostały czas z poprzedniego. });