blob: 76371c78893c14ea1cf14fd1304b88447cb33c1c (
plain)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
var Chat = {
height: 300,
init: function(){
$("#chat-message").on("keydown", Chat.keys);
},
keys: function (e) {
switch (e.keyCode) {
case 13: // enter
Chat.send ();
break
case 33: // pageup
var x = $("#chat_container").scrollTop() - Chat.height + 20;
$("#chat_container").scrollTop( x );
break
case 34: // pagedown
var x = $("#chat_container").scrollTop() + Chat.height + 20;
$("#chat_container").scrollTop( x );
break
}
},
send: function () {
var body = $("#chat-message").val();
$("#chat-message").val("");
Chat.add({ nick: Game.nick, body: body, you: true });
scrollToBottom("#chat_container")
Events.send.message({ nick: Game.nick, body: body });
},
parse: function (raw) {
if (! raw) return "";
if (raw.indexOf("http") !== -1) {
var words = sanitize(raw).split(" ")
var parsed = []
for (var i = 0; i < words.length; i++) {
if (words[i].indexOf("http") === 0) {
parsed.push ("<a href='"+words[i]+"' target='_blank'>"+words[i]+"</a>")
}
else {
parsed.push (words[i])
}
}
return parsed.join(" ");
}
return sanitize(raw);
},
add: function (msg) {
var klass = msg.you ? "msg you" : "msg";
var html = "<p><span class='" + klass + "'>"+msg.nick+"</span><span class='msg'>"+Chat.parse(msg.body)+"</span></p>";
$("#chat").append( html );
if ($("#chat p").length > 50) {
$("#chat").first().remove();
}
scrollToBottom("#chat_container");
}
}
|