9 gateway
.nick
= 'kiwiclone';
10 gateway
.session_id
= null;
11 gateway
.onMsg
= front
.onMsg
;
12 gateway
.onNotice
= front
.onNotice
;
13 gateway
.onMOTD
= front
.onMOTD
;
14 gateway
.onConnect
= front
.onConnect
;
15 gateway
.onUserList
= front
.onUserList
;
18 front
.windowAdd('server');
23 $('#kiwi .msginput .nick a').text(gateway
.nick
);
27 onMsg: function(data
){
28 front
.addMsg(null, data
.nick
,data
.msg
,data
.channel
);
30 onNotice: function(data
){
31 front
.addMsg(null, data
.nick
, '--> '+data
.msg
);
33 onConnect: function(data
){
35 front
.addMsg(null, ' ', '--> Connected to '+data
.host
);
37 front
.addMsg(null, ' ', '--> Failed to connect to '+data
.host
);
40 onMOTD: function(data
){
41 front
.addMsg(null, data
.server
, data
.msg
);
43 onUserList: function(data
){
44 $.each(data
.users
, function(i
,item
){
45 $('<li>'+i
+'</li>').appendTo('#kiwi .userlist ul');
49 registerKeys: function(){
50 $('input').keypress(function(e
){
52 var msg
= $('#kiwi_msginput').val();
53 if(msg
.substring(0,1) == '/'){
54 var parts
= msg
.split(' ');
57 if(front
.windows
[parts
[1]] == undefined){
58 gateway
.join(parts
[1].replace('#', ''));
59 front
.windowAdd(parts
[1]);
61 front
.windowShow(parts
[1]);
66 if(parts
[1] == undefined){
67 alert('Usage: /connect servername [port]');
71 if(parts
[2] == undefined) parts
[2] = 6667;
72 front
.addMsg(null, ' ', '--> Connecting to '+parts
[1]+'...');
73 gateway
.connect(parts
[1], parts
[2], 0);
77 front
.addMsg(null, ' ', '--> Invalid command: '+parts
[0].substring(1));
81 gateway
.msg(front
.cur_channel
, msg
);
83 var d
= d
.getHours() + ":" + d
.getMinutes();
84 front
.addMsg(d
, gateway
.nick
, msg
);
86 $('#kiwi_msginput').val('');
93 addMsg: function(time
, nick
, msg
, channel
){
94 var html_nick
= $('<div/>').text(nick
).html();
95 var html_msg
= $('<div/>').text(msg
).html()+' '; // Add the space so the styling always has at least 1 character to go from
98 time
= d
.getHours() + ":" + d
.getMinutes();
101 var msg
= '<div class="msg"><div class="time">'+time
+'</div><div class="nick">'+html_nick
+'</div><div class="text">'+html_msg
+'</div></div>';
102 if(channel
== undefined){
103 var messages
= $("#kiwi_window_server");
105 var messages
= $("#kiwi_window_chan_"+channel
.replace('#', ''));
107 messages
.append(msg
);
108 messages
.attr({ scrollTop
: messages
.attr("scrollHeight") });
113 windowExists: function(name
){
114 return !(front
.windows
[name
] == undefined);
116 windowAdd: function(v_name
){
117 var tmp_divname
= 'kiwi_window_'+v_name
.replace('#', 'chan_');
118 front
.windows
[v_name
] = { name
: v_name
, div_id
: tmp_divname
};
119 $('#kiwi').append('<div id="'+tmp_divname
+'"class="messages"></div>');
120 $('#kiwi .windowlist ul').append('<li class="window_'+v_name
+'"><a onclick="front.windowShow(\''+v_name
+'\');">'+v_name
+'</a></li>');
121 //$('#kiwi .windowlist ul .window_'+v_name).click(function(){ front.windowShow(v_name); });
122 front
.windowShow(v_name
);
126 for (key in front.windows)
127 t += "Element value is " + front.windows[key].div_id + "\n";
132 windowDiv: function(name
){
133 if(!front
.windowExists(name
)) return false;
134 return $('#'+front
.windows
[name
].div_id
);
136 windowShow: function(name
){
137 if(!front
.windowExists(name
)) return false;
138 $('#kiwi .messages').removeClass("active");
139 var tmp
= front
.windowDiv(name
);
140 tmp
.addClass('active');
141 front
.cur_channel
= name
;