diff --git a/static/js/chat.js b/static/js/chat.js index c3eddacb2..cd1b16d98 100644 --- a/static/js/chat.js +++ b/static/js/chat.js @@ -14,11 +14,14 @@ * limitations under the License. */ +var chatAnimationIsStarted = false; + var chat = (function() { var self = { show: function () - { + { if (chatAnimationIsStarted) return; + chatAnimationIsStarted = true; $("#chaticon").hide("slide", { direction: "down" }, 500, function () @@ -46,19 +49,27 @@ var chat = (function() }, hide: function () { + if (chatAnimationIsStarted) return; + chatAnimationIsStarted = true; + $("#chatcounter").text("0"); $("#chatbox").hide("slide", { direction: "down" }, 750, function() { - $("#chaticon").show("slide", { direction: "down" }, 500); + $("#chaticon").show("slide", { direction: "down" }, 500, function() + { + chatAnimationIsStarted = false; + }); }); }, scrollDown: function() { //console.log($('#chatbox').css("display")); - - if($('#chatbox').css("display") != "none") + + if($('#chatbox').css("display") != "none") { $('#chattext').animate({scrollTop: $('#chattext')[0].scrollHeight}, "slow"); - }, + } + chatAnimationIsStarted = false; + }, send: function() { var text = $("#chatinput").val(); @@ -98,7 +109,7 @@ var chat = (function() var count = Number($("#chatcounter").text()); count++; $("#chatcounter").text(count); - // chat throb stuff -- Just make it throb in for ~2 secs then fadeotu + // chat throb stuff -- Just make it throb in for ~2 secs then fadeout $('#chatthrob').html(""+authorName+"" + ": " + text); $('#chatthrob').effect("pulsate", {times:1,mode:"hide"},2000); } @@ -108,6 +119,15 @@ var chat = (function() }, init: function() { + $("#chaticon").mouseenter(function(){ + if (!chatAnimationIsStarted) self.show(); + }); + $("#titlecross").mouseenter(function(){ + if (!chatAnimationIsStarted) self.hide(); + }); + $("#chatbox").mouseenter(function(){ + if (!chatAnimationIsStarted) $("#chatinput").focus(); + }); $("#chatinput").keypress(function(evt) { //if the user typed enter, fire the send