1
2
3jQuery(document).ready(function(){
4	var $sc_chatstatus = 0;
5	var $sc_semaphore = 0;
6
7	// setup unload to report user leaving chat
8	jQuery(window).unload( function(){
9		// send message we left the room
10		var $username = jQuery('#sc-username').val();
11		var $room = jQuery('#sc-roomname').val();
12		jQuery.ajax({
13					url: "/lib/plugins/simplechat/ajax.php" ,
14					data: { cmd : 'exited' , user : $username, room : $room } ,
15					async: false
16				});
17	});
18
19	jQuery('#sc-send').keydown( function(e) {
20		if(  e.keyCode == 13 ){
21			var $mymsg = this.value.replace(/^\s+|\s+$/g,'');
22			if( $mymsg.length > 0 ) {
23			var $username = jQuery('#sc-username').val();
24			var $room = jQuery('#sc-roomname').val();
25			jQuery.ajax({
26				url: "/lib/plugins/simplechat/ajax.php" ,
27				data: { cmd : 'send' , msg : $mymsg, user : $username, room : $room , start: $sc_chatstatus } ,
28				success: function( data ){
29					// add any response to the window as server text
30					if( data != "" ) {
31						var $mydiv = jQuery('#sc-chatarea');
32						$mydiv.append( "<p class='sc-info'>"+ data + "</p>");
33						$mydiv.scrollTop( $mydiv.get(0).scrollHeight);
34					} else {
35						//update the window early
36						sc_chatwindow();
37					}
38				}
39			});
40			}
41			this.value = "";
42			return false;
43		}
44	});
45
46	function sc_chatwindow() {
47		var $room = jQuery('#sc-roomname').val();
48		if( $sc_semaphore >= 0 ) {
49			$sc_semaphore--;
50			jQuery.ajax({
51				url: "/lib/plugins/simplechat/ajax.php" ,
52				data: { cmd: 'update' , start: $sc_chatstatus , room : $room } ,
53				success: function( data ) {
54					var $mydiv = jQuery('#sc-chatarea');
55					var $msgs = data.split("\n");
56					$sc_chatstatus = $msgs.pop();
57					while( $msgs.length ) {
58						var $msgname = $msgs[0].split("\t")[0];
59						var $msginfo = $msgs[0].split("\t")[1];
60						if( $msgname == "." ) {
61							$mydiv.append( "<p class='sc-info'>"+ $msginfo + "</p>");
62						} else {
63							$mydiv.append("<p><span>"+$msgname+"</span>"+$msginfo.replace(/\\r/g, '<br />')+"</p>");
64						}
65						$msgs.shift();
66					}
67					$mydiv.scrollTop( $mydiv.get(0).scrollHeight);
68
69				} ,
70				complete: function( data ) {
71					$sc_semaphore++;
72				}
73			});
74		}
75	};
76
77	// fire off first one
78	setInterval(sc_chatwindow,5000);
79	// send message we entered the room
80	var $username = jQuery('#sc-username').val();
81	var $room = jQuery('#sc-roomname').val();
82	jQuery.ajax({
83				url: "/lib/plugins/simplechat/ajax.php" ,
84				data: { cmd : 'entered' , user : $username, room : $room } ,
85				async: false,
86				success: function( data ){
87					//update the window
88					sc_chatwindow();
89					}
90
91			});
92
93});
94
95