diff --git a/drupalchat.module b/drupalchat.module
index 09829fb..474fbb0 100644
--- a/drupalchat.module
+++ b/drupalchat.module
@@ -586,7 +586,10 @@ function drupalchat_poll() {
   $buddylist = _drupalchat_buddylist($user->uid);
   $buddylist_online_old = _drupalchat_buddylist_online($buddylist);
 
-
+  // create additional sql selector for injected chatrooms 
+  $chatrooms = module_invoke_all("drupalchat_chatrooms");
+  $sql_join = '';
+  foreach ($chatrooms as $key => $chatroom) $sql_join .= ', \''. $key .'\'';
 
   $polling_method = variable_get('drupalchat_polling_method', DRUPALCHAT_LONGPOLL);
 
@@ -620,13 +623,13 @@ function drupalchat_poll() {
       if($user->uid > 0) {
 	    $message_count = db_query(' SELECT COUNT(*)
                                     FROM {drupalchat_msg} m
-                                    WHERE (m.uid2 IN (:uid2,\'c-0\') OR m.uid1 = :uid2)
+                                    WHERE (m.uid2 IN (:uid2,\'c-0\''.$sql_join.') OR m.uid1 = :uid2)
                                     AND m.timestamp > :timestamp', array(':uid2' => $user->uid, ':timestamp' => $last_timestamp))->fetchField();
       }
 	  else {
 	    $message_count = db_query(' SELECT COUNT(*)
                                     FROM {drupalchat_msg} m
-                                    WHERE (m.uid2 IN (:uid2,\'c-0\') OR m.uid1 = :uid2)
+                                    WHERE (m.uid2 IN (:uid2,\'c-0\''.$sql_join.') OR m.uid1 = :uid2)
                                     AND m.timestamp > :timestamp', array(':uid2' => '0-'._drupalchat_get_sid(), ':timestamp' => $last_timestamp))->fetchField();
 	  }
 	  _drupalchat_touch_user($user->uid);
@@ -635,10 +638,10 @@ function drupalchat_poll() {
   }
   if (($message_count > 0) || ($polling_method == DRUPALCHAT_AJAX)) {
     if($user->uid > 0) {
-      $messages = db_query('SELECT m.message_id, m.uid1, m.uid2, m.message, m.timestamp FROM {drupalchat_msg} m WHERE (m.uid2 IN (:uid2,\'c-0\') OR m.uid1 = :uid2) AND m.timestamp > :timestamp ORDER BY m.timestamp ASC', array(':uid2' => $user->uid, ':timestamp' => $last_timestamp));
+      $messages = db_query('SELECT m.message_id, m.uid1, m.uid2, m.message, m.timestamp FROM {drupalchat_msg} m WHERE (m.uid2 IN (:uid2,\'c-0\''.$sql_join.') OR m.uid1 = :uid2) AND m.timestamp > :timestamp ORDER BY m.timestamp ASC', array(':uid2' => $user->uid, ':timestamp' => $last_timestamp));
     }
 	else {
-	  $messages = db_query('SELECT m.message_id, m.uid1, m.uid2, m.message, m.timestamp FROM {drupalchat_msg} m WHERE (m.uid2 IN (:uid2,\'c-0\') OR m.uid1 = :uid2) AND m.timestamp > :timestamp ORDER BY m.timestamp ASC', array(':uid2' => '0-'._drupalchat_get_sid(), ':timestamp' => $last_timestamp));
+	  $messages = db_query('SELECT m.message_id, m.uid1, m.uid2, m.message, m.timestamp FROM {drupalchat_msg} m WHERE (m.uid2 IN (:uid2,\'c-0\''.$sql_join.') OR m.uid1 = :uid2) AND m.timestamp > :timestamp ORDER BY m.timestamp ASC', array(':uid2' => '0-'._drupalchat_get_sid(), ':timestamp' => $last_timestamp));
 	}
     //drupal_set_message('<pre>'.print_r($messages,true).'</pre>');
     //while ($message = db_fetch_object($messages)) {
@@ -710,7 +713,9 @@ function _drupalchat_buddylist($uid) {
 function _drupalchat_buddylist_online($buddylist) {
   global $user;
 
-  $users = array();
+  // let other modules plug in additional "users" or "chatrooms"
+  $users = module_invoke_all("drupalchat_chatrooms");
+
   if(variable_get('drupalchat_enable_chatroom', 1) == 1) {
     $users['c-0'] = array('name' => t('Public Chatroom'), 'status' => '1');
   }
diff --git a/js/drupalchat-min.js b/js/drupalchat-min.js
index a71992d..27ba6f5 100644
--- a/js/drupalchat-min.js
+++ b/js/drupalchat-min.js
@@ -1 +1 @@
-eval((function(x){var d="";var p=0;while(p<x.length){if(x.charAt(p)!="`")d+=x.charAt(p++);else{var l=x.charCodeAt(p+3)-28;if(l>4)d+=d.substr(d.length-x.charCodeAt(p+1)*96-x.charCodeAt(p+2)+3104-l,l);else d+="`";p+=4}}return d})("var j={lIi:null,li` \"#j` *#jI:0,ll1:0,llI:0,Iij:{},Ij1:{}};I(document).Iji(function(){I.il1.l1i=` )((this).find(\"ul, .subpanel\").lI({height:\"auto\"});var Ili=I(window).` <\"(` 5\"ljj=` g*` e(` >)jj=Ili-100` o\"jI=jj-25;if(ljj>jj`!P,`!E3jj});`!z,` 0/}else`\"B-`\"13`#H!\"#chat`!*%1i();`\"O&resize`#W)` =1`!Y!\"<div><object id=\\\"drupalchatbeep\\\" class` 6!clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\\\" width=\\\"1\\\" `\"!\"` '\"><param name=\\\"movie\\\" value=\\\"\"+ll.l1.j.lji+\"\\\"/><!--[if !IE]>--`!f%type=\\\"application/x-shockwave-flash\\\" data` e0`!G7/` |\"`!5!<![endif]--` .'/div>\").III(I(\"body\"));I1I.IIj(`#7+\",\"9\"`#k!#main`$$! li a`%s%_toggle, .` O!ox a` \"$head\").il(\"click\",`$q'if(`%s$next`&`*I1l(\":visible\")`'/&` 9.lII`&!!\"#`!p&`!]!\").li(\"active\"`'%&` I1`!05jj` XB` [$Ii` *(`)~!I1`)z%`!l/li(\"`#)$input` %,textarea\")`*%!I1.length>0){lI1[0].focus`!k9` e)content\").scrollTop`#q7` E2[0]` W#H`&\\!);}}return false`)_#` `%`-?&_title`%?5`$*3`$]>`!!+`,%!` z!`+H&e){` A\"`+L&`!N& li:not(.link)` |!`!K3lI`#&%i1(\"`+b!\"),` ,$text()`!I%`(/$`\"R+ span`!+\"min)` s71` z0` z!if(`*s$status==1`#<\"chat_options`)T\"_loading`#1#` $+Il(\"` ]\"-2`'r!` p%Ill`#\"-icon\"`!I\"src\",` D$images+` x!-1.png`)0$ `!X/2`!*]1`![,j`!5R2`!c$`!>.` '`&v6` :5li`!^*l`!~,;I.j1`!w&11,{` J\":\"1\"}` ~&data`#x~`$JL`'W)`\"P-2`\"bN2`#&*`!l!`\"hH2`\"Cm`%Rm`\"}3` \"#`\"z5alert(\"Under Constru` 7!` n\"l11(` $!` K$ IlI(i,jl){l1j` $\"`!p%box_\"+i+\" a:first`-b%` 00`17.`1(%}`!&%` }$,ljl){if(` Y+)`1k'` )1I(\"display\")==\"none\"`$Y!` .6,\"block`)r#`!LF`1b\"` P! <li />`$X#id\",`$J!`!&%`&V$box`%C\"\"<a href=\\\"#\\\" `.i!=\\` <$head\\\"><span` 3%`/j*_text\\\">\"+jl+\"</span></a><div` C-\\\"` \"2` f\"` z-`\"V!\\\">x` p$` 1)min\\\">_` 5#`!9$div` v*`\"%#content\\\">` *6inpu` =!`#^$` 1,` 0$\\\" onkeydown=\\\"javascript:`$'\" checkChatBoxInputKey(event,this,'`\"6!');`!K!` o$`!S$`!\\!`$`!l`&6!main`##!\")`3 \"jl`2s$`%P3head`+c'boxblin`%rFblur(`,u*` 3>`+s$` +'selected`*2!`'+#` RA`!z#` h'`!y$`!&A`\"N'`!61` V,`+)$`!Q'`*%.`! '`&'#\"`*;+!`*24`+Y;`!=0Ijl`,$+1`!P\"`.i$llj==\"0\"){setInterval`#Q)`0m(ljI,{lil:j.jI},l1I);}`/S&ll*1000);}else` 8?`!M(I(liI){var iI=ll.ilj` .!;if(!iI`2i#||` \"%==`-s\"iI.lij`.\"'var l1l=I1I.i`#W!rupal`\"u!eep\"`'z\"1`0#!l.ili`#:!I.li1` f#`0}&index,value){i=` $!.lj1;`/66<=0`0z$` I\"name,1`\"p# `%>2`,^$\").I1l(\":hidden\")`/:~`1qa`\"D\"message`# #` '#.replace(/{{`$ &_newline}}/g,\"<br`1/!`#D/`(@.` '%username a:la`!x!Ij()=`!8#name`(I8`)6&ij(\"<p>\"+`!k)+\"</p>\"`'G$`&u!i=new Date;var I1=ii.getHours()` 0!lj` .#Minutes(`\"0\"1<10){I1=\"0\"+I1;}`.`!` 0!lj` 0!lj`-~8`!`+`1(/`\"g$`2S-`$P$i` 7!\"+I1+\":\"+lj`3d&`4Z%http://cyac.jp/user/`\"q$lj1`3G!` ($nam`#!!`1,%`#)7`!u@scrollTop`-R@[0]` J#Height`.f)`(g!`(l& u`(s\"j();`*?%IIl`*>&key`*=%f(key!=\"total\"` '&`,c%ii`&.&` u1`$=!li`#x%`,K\"-`\"u$` )\"`#F!<a` <%\"+key+\"\\\"`$#$#`#T3li`#M!`.?#`!:*online-cou`#M!Ij(`\"0\"`03)`!b. li`(^!-child`2V#`(n\"`)G(` D1\"`-,)`\"X<`#=$IIi);}j.jI=iI.jI`(*\"`1M&!`1Q\"`1m!`0>(Il1(`#t'`,s3`-J\"`2N(Il`1~,Iil,{IiI:j.ll1,Ii1:j.ji}` K(I1i(event,II,i`%F!` *!.keyCode==13&&` -\"shiftKey`1S!`-B$I(II).lIj();` ,$`-G-^\\s+|\\s+$/g,\"\"` 7.substr(0,255);` i&\"\"` &$`.`$` 4$(\"h`(0!\",\"44px\"`,4\"`+]~if(`!n#!=\"`(U\"`$i'=`$n\"`#k!=i;if(j.llI`#,!setTimeout(`)L%){`$R!;` @\"0;},`%t&1*1000);j.ji`#!$` B#1`/+#j.ji+=\"`1 2\"+` M$`(b#`!N$` d)`!:\"}`$A5</g,\"&lt;\")` +&>` 0!g` '*\\\"` 1!quot;`1`d`#R%I`( .`2+:`2-2`0;~`0hQi`1.#`\"D'`1%-`0.~`0}/return false;}`(m!i=II.client` A\"`(n\"ll=94;`()!l>`$I!i=Math.max(II` l),Ii`%[!lll` ='in(lll` 7!}if(Ii>` z+){`*K.Ii+8+\"`*[!`0F%` <$overflow\",\"auto` >!var `(C&={user"))
\ No newline at end of file
+(function($){Drupal.drupalchat=Drupal.drupalchat||{};Drupal.drupalchat.sendMessages=function(){jQuery.post(Drupal.settings.drupalchat.sendUrl,{drupalchat_message_id:drupalchat.send_current_message_id,drupalchat_uid2:drupalchat.send_current_uid2,drupalchat_message:drupalchat.send_current_message})};Drupal.drupalchat.checkChatBoxInputKey=function(event,chatboxtextarea,chatboxtitle){if(event.keyCode==13&&event.shiftKey==0){message=jQuery(chatboxtextarea).val();message=message.replace(/^\s+|\s+$/g,"");message=message.substr(0,255);jQuery(chatboxtextarea).val('');jQuery(chatboxtextarea).focus();jQuery(chatboxtextarea).css('height','44px');var currentTime=new Date();var hours=currentTime.getHours();var minutes=currentTime.getMinutes();if(hours<10){hours="0"+hours}if(minutes<10){minutes="0"+minutes}if(message!=''){if(Drupal.settings.drupalchat.polling_method=='0'){drupalchat.send_current_uid2=chatboxtitle;if(drupalchat.attach_messages_in_queue==0){setTimeout(function(){Drupal.drupalchat.sendMessages();drupalchat.attach_messages_in_queue=0},(Drupal.settings.drupalchat.send_rate)*1000);drupalchat.send_current_message=message;var d=new Date();drupalchat.send_current_message_id='m_'+Drupal.settings.drupalchat.uid+'_'+drupalchat.send_current_uid2+'_'+d.getTime();drupalchat.attach_messages_in_queue=1}else{drupalchat.send_current_message+='{{drupalchat_newline}}'+message}}else{drupalchat.send_current_uid2=chatboxtitle;drupalchat.send_current_message=message;var d=new Date();drupalchat.send_current_message_id='m_'+Drupal.settings.drupalchat.uid+'_'+drupalchat.send_current_uid2+'_'+d.getTime();Drupal.drupalchat.sendMessages()}message=message.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\"/g,"&quot;");message=emotify(message);if(jQuery("#chatbox_"+chatboxtitle+" .chatboxcontent .chatboxusername a:last").html()==Drupal.settings.drupalchat.username){jQuery("#chatbox_"+chatboxtitle+" .chatboxcontent").append('<p class=\''+drupalchat.send_current_message_id+'\'>'+message+'</p>')}else{jQuery("#chatbox_"+chatboxtitle+" .chatboxcontent").append('<div class="chatboxusername"><span class="chatboxtime">'+hours+':'+minutes+'</span><a href="'+Drupal.settings.basePath+'user/'+Drupal.settings.drupalchat.uid+'">'+Drupal.settings.drupalchat.username+'</a></div><p class=\''+drupalchat.send_current_message_id+'\'>'+message+'</p>')}jQuery("#chatbox_"+chatboxtitle+" .chatboxcontent").scrollTop(jQuery("#chatbox_"+chatboxtitle+" .chatboxcontent")[0].scrollHeight)}return false}var adjustedHeight=chatboxtextarea.clientHeight;var maxHeight=94;if(maxHeight>adjustedHeight){adjustedHeight=Math.max(chatboxtextarea.scrollHeight,adjustedHeight);if(maxHeight)adjustedHeight=Math.min(maxHeight,adjustedHeight);if(adjustedHeight>chatboxtextarea.clientHeight)jQuery(chatboxtextarea).css('height',adjustedHeight+8+'px')}else{jQuery(chatboxtextarea).css('overflow','auto')}return true};Drupal.drupalchat.changeStatus=function(id,state){if(state==1){jQuery('#'+id+' .subpanel_title > div').removeClass('status-0').addClass('status-1');jQuery('#'+id+' .drupalchat_userOffline').css('display','none')}else if(state==0){jQuery('#'+id+' .subpanel_title > div').removeClass('status-1').addClass('status-0');jQuery('#'+id+' .drupalchat_userOffline').css('display','block')}}})(jQuery);var drupalchat={username:null,uid:null,send_current_message:null,send_current_message_id:null,last_timestamp:0,send_current_uid2:0,attach_messages_in_queue:0,running:0,online_users:0,smilies:{":)":["1.gif","happy",":-)"],":(":["2.gif","sad",":-("],";)":["3.gif","winking",";-)"],":D":["4.gif","big grin",":-D"],";;)":["5.gif","batting eyelashes"],">:D<":["6.gif","big hug"],":-/":["7.gif","confused",":/"],":x":["8.gif","love struck",":X"],":\">":["9.gif","blushing"],":P":["10.gif","tongue",":p",":-p",":-P"],":-*":["11.gif","kiss",":*"],"=((":["12.gif","broken heart"],":-O":["13.gif","surprise",":O"],"X(":["14.gif","angry"],":>":["15.gif","smug"],"B-)":["16.gif","cool"],":-S":["17.gif","worried"],"#:-S":["18.gif","whew!","#:-s"],">:)":["19.gif","devil",">:-)"],":((":["20.gif","crying",":-((",":'(",":'-("],":))":["21.gif","laughing",":-))"],":|":["22.gif","straight face",":-|"],"/:)":["23.gif","raised eyebrow","/:-)"],"=))":["24.gif","rolling on the floor"],"O:-)":["25.gif","angel","O:)"],":-B":["26.gif","nerd"],"=;":["27.gif","talk to the hand"],"I-)":["28.gif","sleepy"],"8-|":["29.gif","rolling eyes"],"L-)":["30.gif","loser"],":-&":["31.gif","sick"],":-$":["32.gif","don't tell anyone"],"[-(":["33.gif","not talking"],":O)":["34.gif","clown"],"8-}":["35.gif","silly"],"<:-P":["36.gif","party","<:-p"],"(:|":["37.gif","yawn"],"=P~":["38.gif","drooling"],":-?":["39.gif","thinking"],"#-o":["40.gif","d'oh","#-O"],"=D>":["41.gif","applause"],":-SS":["42.gif","nailbiting",":-ss"],"@-)":["43.gif","hypnotized"],":^o":["44.gif","liar"],":-w":["45.gif","waiting",":-W"],":-<":["46.gif","sigh"],">:P":["47.gif","phbbbbt",">:p"],"<):)":["48.gif","cowboy"],":@)":["49.gif","pig"],"3:-O":["50.gif","cow","3:-o"],":(|)":["51.gif","monkey"],"~:>":["52.gif","chicken"],"@};-":["53.gif","rose"],"%%-":["54.gif","good luck"],"**==":["55.gif","flag"],"(~~)":["56.gif","pumpkin"],"~O)":["57.gif","coffee"],"*-:)":["58.gif","idea"],"8-X":["59.gif","skull"],"=:)":["60.gif","bug"],">-)":["61.gif","alien"],":-L":["62.gif","frustrated",":L"],"[-O<":["63.gif","praying"],"$-)":["64.gif","money eyes"],":-\"":["65.gif","whistling"],"b-(":["66.gif","feeling beat up"],":)>-":["67.gif","peace sign"],"[-X":["68.gif","shame on you"],"\\:D/":["69.gif","dancing"],">:/":["70.gif","bring it on"],";))":["71.gif","hee hee"],"o->":["72.gif","hiro"],"o=>":["73.gif","billy"],"o-+":["74.gif","april"],"(%)":["75.gif","yin yang"],":-@":["76.gif","chatterbox"],"^:)^":["77.gif","not worthy"],":-j":["78.gif","oh go on"],"(*)":["79.gif","star"],":)]":["100.gif","on the phone"],":-c":["101.gif","call me"],"~X(":["102.gif","at wits' end"],":-h":["103.gif","wave"],":-t":["104.gif","time out"],"8->":["105.gif","daydreaming"],":-??":["106.gif","I don't know"],"%-(":["107.gif","not listening"],":o3":["108.gif","puppy dog eyes"],"X_X":["109.gif","I don't want to see","x_x"],":!!":["110.gif","hurry up!"],"\\m/":["111.gif","rock on!"],":-q":["112.gif","thumbs down"],":-bd":["113.gif","thumbs up"],"^#(^":["114.gif","it wasn't me"],":bz":["115.gif","bee"],":ar!":["pirate.gif","pirate"],"[..]":["transformer.gif","transformer"]}};jQuery(document).ready(function(){if(drupalchat_getCookie('DRUPALCHAT_NEWLOGIN')!=1){if(jQuery.drupalchatjStorage.get('username')!=null){drupalchat.username=jQuery.drupalchatjStorage.get('username')}if(jQuery.drupalchatjStorage.get('uid')!=null){drupalchat.uid=jQuery.drupalchatjStorage.get('uid')}if(jQuery.drupalchatjStorage.get('send_current_message')!=null){drupalchat.send_current_message=jQuery.drupalchatjStorage.get('send_current_message')}if(jQuery.drupalchatjStorage.get('last_timestamp')!=null){drupalchat.last_timestamp=jQuery.drupalchatjStorage.get('last_timestamp')}if(jQuery.drupalchatjStorage.get('send_current_uid2')!=null){drupalchat.send_current_uid2=jQuery.drupalchatjStorage.get('send_current_uid2')}if(jQuery.drupalchatjStorage.get('attach_messages_in_queue')!=null){drupalchat.attach_messages_in_queue=jQuery.drupalchatjStorage.get('attach_messages_in_queue')}if(jQuery.drupalchatjStorage.get('running')!=null){drupalchat.running=jQuery.drupalchatjStorage.get('running')}if(jQuery.drupalchatjStorage.get('drupalchat')!=null){if(jQuery.drupalchatjStorage.get('drupalchat').length>4){jQuery('#drupalchat').html(jQuery.drupalchatjStorage.get('drupalchat'));if(Drupal.settings.drupalchat.polling_method=='2'){jQuery('#chatpanel .subpanel ul').empty();jQuery('#chatpanel .online-count').html(jQuery('#chatpanel .subpanel ul > li').size())}}}if((drupalchat.send_current_uid2!=null)&&(jQuery("#chatbox_"+drupalchat.send_current_uid2+" .chatboxcontent").length>0)){jQuery("#chatbox_"+drupalchat.send_current_uid2+" .chatboxcontent").scrollTop(jQuery("#chatbox_"+drupalchat.send_current_uid2+" .chatboxcontent")[0].scrollHeight)}}else{drupalchat_setCookie('DRUPALCHAT_NEWLOGIN',2,0)}emotify.emoticons(Drupal.settings.drupalchat.smileyURL,drupalchat.smilies);jQuery.fn.adjustPanel=function(){jQuery(this).find("ul, .subpanel").css({'height':'auto'});var windowHeight=jQuery(window).height();var panelsub=jQuery(this).find(".subpanel").height();var panelAdjust=windowHeight-100;var ulAdjust=panelAdjust-25;if(panelsub>panelAdjust){jQuery(this).find(".subpanel").css({'height':panelAdjust});jQuery(this).find("ul").css({'height':(panelAdjust-48)})}else{jQuery(this).find("ul").css({'height':'auto'})}};jQuery("#chatpanel").adjustPanel();jQuery(window).resize(function(){jQuery("#chatpanel").adjustPanel()});jQuery("<div style=\"width: 0px; height: 0px; overflow: hidden;\"><object id=\"drupalchatbeep\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"1\" height=\"1\"><param name=\"movie\" value=\""+Drupal.settings.drupalchat.sound+"\"/><!--[if !IE]>--><object type=\"application/x-shockwave-flash\" data=\""+Drupal.settings.drupalchat.sound+"\" width=\"1\" height=\"1\"></object><!--<![endif]--></object></div>").appendTo(jQuery("body"));swfobject.registerObject("drupalchatbeep","9");jQuery("#mainpanel li a.subpanel_toggle, .chatbox a.chatboxhead").live('click',function(){if(jQuery(this).next(".subpanel").is(':visible')){jQuery(this).next(".subpanel").hide();jQuery(this).removeClass('active')}else{jQuery(this).next(".subpanel").toggle();jQuery(this).removeClass('active');jQuery(this).toggleClass('active');var isTextarea=jQuery(this).next(".subpanel").children(".chatboxinput").children(".chatboxtextarea");if(isTextarea.length>0){isTextarea[0].focus();jQuery(this).next(".subpanel").children(".chatboxcontent").scrollTop(jQuery(this).next(".subpanel").children(".chatboxcontent")[0].scrollHeight)}}jQuery('#drupalchat-chat-options').hide();return false});jQuery('.subpanel .subpanel_title').live('click',function(){jQuery(this).parent().hide();jQuery(this).parent().parent().children('a').removeClass('active')});jQuery('#drupalchat .subpanel .subpanel_title span.options').live('click',function(){var offset=jQuery(this).offset();offset.top=offset.top+20;offset.left=offset.left-50;if(jQuery('#drupalchat-chat-options').is(":hidden")){jQuery('#drupalchat-chat-options').show()}else{jQuery('#drupalchat-chat-options').hide()}jQuery('#drupalchat-chat-options').offset({top:offset.top,left:offset.left});return false});jQuery('#drupalchat-chat-options-s').live('click',function(e){if(jQuery(this).html()=='<a href="#">Mute</a>'){jQuery(this).html('<a href="#">Unmute</a>');Drupal.settings.drupalchat.notificationSound='2'}else{jQuery(this).html('<a href="#">Mute</a>');Drupal.settings.drupalchat.notificationSound='1'}jQuery('#drupalchat-chat-options').hide();return false});jQuery('body').live('click',function(){jQuery('#drupalchat-chat-options').hide()});jQuery('.subpanel ul').click(function(e){});jQuery("#chatpanel .subpanel li:not(.link) a").live('click',function(){chatWith(jQuery(this).attr("class"),jQuery(this).text());return false});jQuery(".chatbox .subpanel_title span:not(.min)").live('click',function(){closeChatBox(jQuery(this).attr('class'))});if(Drupal.settings.drupalchat.status==1){jQuery(".chat_options .chat_loading").removeClass('chat_loading').addClass('status-2').html(Drupal.settings.drupalchat.goIdle);jQuery("#chatpanel .icon").attr("src",Drupal.settings.drupalchat.images+"chat-1.png")}else if(Drupal.settings.drupalchat.status==2){jQuery(".chat_options .chat_loading").removeClass('chat_loading').addClass('status-1').html(Drupal.settings.drupalchat.goOnline);jQuery("#chatpanel .icon").attr("src",Drupal.settings.drupalchat.images+"chat-2.png")}jQuery(".chat_options .status-1").live('click',function(){jQuery(".chat_options .status-1").removeClass('status-1').addClass('chat_loading');jQuery.post(Drupal.settings.drupalchat.statusUrl,{status:"1"},function(data){jQuery(".chat_options .chat_loading").removeClass('chat_loading').addClass('status-2').html(Drupal.settings.drupalchat.goIdle);jQuery("#chatpanel .icon").attr("src",Drupal.settings.drupalchat.images+"chat-1.png")})});jQuery(".chat_options .status-2").live('click',function(){jQuery(".chat_options .status-2").removeClass('status-2').addClass('chat_loading');jQuery.post(Drupal.settings.drupalchat.statusUrl,{status:"2"},function(data){jQuery(".chat_options .chat_loading").removeClass('chat_loading').addClass('status-1').html(Drupal.settings.drupalchat.goOnline);jQuery("#chatpanel .icon").attr("src",Drupal.settings.drupalchat.images+"chat-2.png")})});jQuery(".chat_options .options").live('click',function(){alert('Under Construction')});setTimeout(function(){chatPoll()},500);jQuery('#drupalchat .subpanel .chatboxcontent').live('mouseenter',function(){jQuery(this).css("overflow-y","auto")});jQuery('#drupalchat .subpanel .chatboxcontent').live('mouseleave',function(){jQuery(this).css("overflow-y","hidden")})});function chatWith(chatboxtitle,chatboxname){createChatBox(chatboxtitle,chatboxname);jQuery("#chatbox_"+chatboxtitle+" a:first").click();jQuery("#chatbox_"+chatboxtitle+" .chatboxtextarea").focus()}function createChatBox(chatboxtitle,chatboxname,chatboxblink){if(jQuery("#chatbox_"+chatboxtitle).length>0){if(jQuery("#chatbox_"+chatboxtitle).css('display')=='none'){jQuery("#chatbox_"+chatboxtitle).css('display','block')}jQuery("#chatbox_"+chatboxtitle+" .chatboxtextarea").focus();return}jQuery(" <li />").attr("id","chatbox_"+chatboxtitle).addClass("chatbox").html('<a href="#" class="chatboxhead"><span class="subpanel_title_text">'+chatboxname+'</span></a><div class="subpanel"><div class="subpanel_title"><span class="'+chatboxtitle+'" title="Close">x</span><span title = "Minimize" class="min">_</span><div class="status-1"></div>'+chatboxname+'</div><div class="chatboxcontent"></div><div class="drupalchat_userOffline">'+chatboxname+' is currently offline.</div><div class="chatboxinput"><textarea class="chatboxtextarea" onkeydown="return Drupal.drupalchat.checkChatBoxInputKey(event,this,\''+chatboxtitle+'\');"></textarea></div></div>').prependTo(jQuery("#mainpanel"));if(chatboxblink==1){jQuery('#chatbox_'+chatboxtitle+' .chatboxhead').addClass("chatboxblink")}jQuery("#chatbox_"+chatboxtitle+" .chatboxtextarea").blur(function(){jQuery("#chatbox_"+chatboxtitle+" .chatboxtextarea").removeClass('chatboxtextareaselected')}).focus(function(){jQuery('#chatbox_'+chatboxtitle+' .chatboxhead').removeClass('chatboxblink');jQuery("#chatbox_"+chatboxtitle+" .chatboxtextarea").addClass('chatboxtextareaselected')});jQuery("#chatbox_"+chatboxtitle).click(function(){if(jQuery('#chatbox_'+chatboxtitle+' .chatboxcontent').css('display')!='none'){jQuery("#chatbox_"+chatboxtitle+" .chatboxtextarea").focus()}});jQuery("#chatbox_"+chatboxtitle).show()}function chatPoll(){if(Drupal.settings.drupalchat.polling_method=='0'){setTimeout(function(){jQuery.getJSON(Drupal.settings.drupalchat.pollUrl,{drupalchat_last_timestamp:drupalchat.last_timestamp},function(data){processChatData(data)})},(Drupal.settings.drupalchat.refresh_rate)*1000)}else if(Drupal.settings.drupalchat.polling_method=='1'){jQuery.getJSON(Drupal.settings.drupalchat.pollUrl,{drupalchat_last_timestamp:drupalchat.last_timestamp},function(data){processChatData(data)})}}function processChatData(data){var drupalchat_messages=data;if((!drupalchat_messages.status||drupalchat_messages.status==0)){if(drupalchat_messages.messages.length>0){var obj=swfobject.getObjectById("drupalchatbeep");if(obj&&Drupal.settings.drupalchat.notificationSound==="1"){try{obj.drupalchatbeep()}catch(e){}}}jQuery.each(drupalchat_messages.messages,function(index,value){var drupalselfmessage=false;if(value.uid1==Drupal.settings.drupalchat.uid){drupalselfmessage=true}if((value.uid2!=Drupal.settings.drupalchat.uid)&&(value.uid1!=Drupal.settings.drupalchat.uid)){drupalchatroom=true}else{drupalchatroom=false}chatboxtitle=(drupalchatroom||drupalselfmessage)?value.uid2:value.uid1;if(jQuery("#chatbox_"+chatboxtitle).length<=0){if((value.uid2!=Drupal.settings.drupalchat.uid)&&(value.uid1!=Drupal.settings.drupalchat.uid)){chatroomname=data.buddylist[value.uid2].name}else chatroomname="Public Chatroom";createChatBox(chatboxtitle,drupalchatroom?chatroomname:value.name,1)}else if(jQuery("#chatbox_"+chatboxtitle+" .subpanel").is(':hidden')){if(jQuery("#chatbox_"+chatboxtitle).css('display')=='none'){jQuery("#chatbox_"+chatboxtitle).css('display','block')}jQuery('#chatbox_'+chatboxtitle+' .chatboxhead').addClass("chatboxblink");jQuery('#chatbox_'+chatboxtitle+' .chatboxhead').live('click',function(){jQuery('#chatbox_'+chatboxtitle+' .chatboxhead').removeClass("chatboxblink");drupalchat.send_current_uid2=chatboxtitle});jQuery("#chatbox_"+chatboxtitle+" .chatboxtextarea").focus()}if(value.uid1==Drupal.settings.drupalchat.uid){value.name=Drupal.settings.drupalchat.username}if(jQuery("."+value.message_id)[0]){return}value.message=value.message.replace(/{{drupalchat_newline}}/g,"<br />");value.message=emotify(value.message);if(jQuery("#chatbox_"+chatboxtitle+" .chatboxcontent .chatboxusername a:last").html()==value.name){jQuery("#chatbox_"+chatboxtitle+" .chatboxcontent").append('<p class="'+value.message_id+'">'+value.message+'</p>')}else{var currentTime=new Date();var hours=currentTime.getHours();var minutes=currentTime.getMinutes();if(hours<10){hours="0"+hours}if(minutes<10){minutes="0"+minutes}jQuery("#chatbox_"+chatboxtitle+" .chatboxcontent").append('<div class="chatboxusername"><span class="chatboxtime">'+hours+':'+minutes+'</span><a href="'+Drupal.settings.basePath+'user/'+value.uid1+'">'+value.name+'</a></div><p class="'+value.message_id+'">'+value.message+'</p>')}jQuery("#chatbox_"+chatboxtitle+" .chatboxcontent").scrollTop(jQuery("#chatbox_"+chatboxtitle+" .chatboxcontent")[0].scrollHeight);jQuery.titleAlert(Drupal.settings.drupalchat.newMessage,{requireBlur:true,stopOnFocus:true,interval:800})});jQuery('#chatpanel .subpanel ul').empty();jQuery('li[id^="chatbox_"]').each(function(){Drupal.drupalchat.changeStatus(this.id,0)});jQuery.each(drupalchat_messages.buddylist,function(key,value){if(key!='total'){if(key!=Drupal.settings.drupalchat.uid){jQuery('#chatpanel .subpanel ul').append('<li class="status-'+value.status+'"><a class="'+key+'" href="#">'+value.name+'</a></li>');Drupal.drupalchat.changeStatus('chatbox_'+key,1)}}else{jQuery('#chatpanel .online-count').html(value);if(value==0){jQuery('#chatpanel .subpanel ul').append(Drupal.settings.drupalchat.noUsers)}}});jQuery('#chatpanel .subpanel ul li:last-child').addClass('last');drupalchat.last_timestamp=drupalchat_messages.last_timestamp}chatPoll()}function closeChatBox(chatboxtitle){jQuery('#chatbox_'+chatboxtitle).css('display','none')}jQuery(window).unload(function(){jQuery('.chatbox .chatboxhead').removeClass("chatboxblink");jQuery.drupalchatjStorage.set('username',drupalchat.username);jQuery.drupalchatjStorage.set('uid',drupalchat.uid);jQuery.drupalchatjStorage.set('send_current_message',drupalchat.send_current_message);jQuery.drupalchatjStorage.set('last_timestamp',drupalchat.last_timestamp);jQuery.drupalchatjStorage.set('send_current_uid2',drupalchat.send_current_uid2);jQuery.drupalchatjStorage.set('attach_messages_in_queue',drupalchat.attach_messages_in_queue);jQuery.drupalchatjStorage.set('running',drupalchat.running);jQuery.drupalchatjStorage.set('drupalchat',jQuery('#drupalchat').html())});function drupalchat_getCookie(c_name){var i,x,y,ARRcookies=document.cookie.split(";");for(i=0;i<ARRcookies.length;i++){x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);x=x.replace(/^\s+|\s+$/g,"");if(x==c_name){return unescape(y)}}}function drupalchat_setCookie(c_name,value,exdays){var exdate=new Date();exdate.setDate(exdate.getDate()+exdays);var c_value=escape(value)+((exdays==null)?"":"; expires="+exdate.toUTCString());document.cookie=c_name+"="+c_value}
\ No newline at end of file
diff --git a/js/drupalchat.js b/js/drupalchat.js
index 649d37d..0899c1b 100644
--- a/js/drupalchat.js
+++ b/js/drupalchat.js
@@ -563,15 +563,20 @@ function processChatData(data) {
 			  drupalselfmessage = true;
 			}
 			//Add div if required.
-			if(value.uid2=="c-0") {
+			if((value.uid2!=Drupal.settings.drupalchat.uid)&&(value.uid1!=Drupal.settings.drupalchat.uid)) {
 			  drupalchatroom = true;
 			}
             else {
 			  drupalchatroom = false;
-            }			
-			chatboxtitle = (drupalchatroom || drupalselfmessage)?value.uid2:value.uid1;
+            }	
+
+            chatboxtitle = (drupalchatroom || drupalselfmessage)?value.uid2:value.uid1;
 			if (jQuery("#chatbox_"+chatboxtitle).length <= 0) {
-				createChatBox(chatboxtitle, drupalchatroom?"Public Chatroom":value.name, 1);
+                 if((value.uid2!=Drupal.settings.drupalchat.uid)&&(value.uid1!=Drupal.settings.drupalchat.uid)) {
+                    chatroomname = data.buddylist[value.uid2].name;
+                }
+                else chatroomname = "Public Chatroom";
+                createChatBox(chatboxtitle, drupalchatroom?chatroomname:value.name, 1);
 			}
 			else if (jQuery("#chatbox_"+chatboxtitle+" .subpanel").is(':hidden')) {
 				if (jQuery("#chatbox_"+chatboxtitle).css('display') == 'none') {
