snippets / common

All snippets tagged common (1)

  1. common.js

    common.js

       1 var outputContactListObj;
    2 var outputExtendedConvObj = [];
    3 var outputChatObj = [];
    4 var outputClientGroupDataObj = [];
    5 var outputPingObj;
    6 var outputExtendedConvClientGroupInviteDataObj = [];
    7 var outputExtendedConvClientGroupEventDataObj = [];
    8 var defaultContactListIndex = 0;
    9 var defaultContactList = '';
    10 var userAvailability = new Array();
    11 var contactListRightClickObj = null;/*dcj*/
    12 var contactRightClickObj = null;/*dcj*/
    13 var numOfTicked = 0;
    14 var action = '';
    15 var dname = '';
    16 var curSelectedIframesArray = [];
    17 var extendedConversationParticipantsArray = [];
    18 var chatParticipantsArray = [];
    19 var extendedConversationParticipantsDisplayNameArray = [];
    20 var chatParticipantsDisplayNameArray = [];
    21 var extendedConvAddressArray = [];
    22 var chatAddressArray = [];
    23 var extendedConvAddress;
    24 var chatAddress;
    25 var extendedConvScreenNameArray = [];
    26 var chatScreenNameArray = [];
    27 var cookie_string;
    28 var cookie_string0;
    29 var buddyListWin = {};
    30 var oLinksContactListObj;
    31 var curContactList="";
    32 var contactList;
    33 var contactIDGlobal;
    34 var fullAddress;
    35
    36 function errorHandling(divID,msg,style) {
    37 $(divID).innerHTML = msg;
    38 $(divID).style.display = style;
    39 }
    40
    41 function iFramesArrayClass() {
    42 this.curSelectedIframesArray = [];
    43 }
    44
    45 var iFramesArrayObj = new iFramesArrayClass();
    46
    47 function Contacts() {
    48 this.contactListDisplayName = new Array();
    49 this.online = new Array();
    50 this.offline = new Array();
    51 this.allalpha = new Array();
    52 this.onofflinealpha = new Array();
    53 }
    54
    55 var contactsObj = new Contacts();
    56
    57 function ownProfile() {
    58 this.alias;
    59 this.clientType;
    60 this.statusText;
    61 this.statusMood;
    62 this.statusContent;
    63 this.userAvailability;
    64 this.firstName;
    65 this.lastName;
    66 this.email;
    67 this.phone;
    68 this.userId;
    69 this.fullAddress;
    70 this.address;
    71 }
    72
    73 var ownProfileObj = new ownProfile();
    74
    75 function msgClass() {
    76 this.userId;
    77 this.content;
    78 this.contentSize;
    79 this.dateTime;
    80 this.messageID;
    81 this.recepientUsers;
    82 this.content;
    83 }
    84
    85 var msgObj = new msgClass();
    86
    87 function presenceNotificationRequestClass() {
    88 this.statusText;
    89 this.statusMood;
    90 this.statusContent;
    91 this.userAvailability;
    92 this.userId;
    93 this.presenceValue;
    94 }
    95
    96 var presenceNotificationRequestObj = [];
    97
    98 function invitationNotificationClass() {
    99 this.userId;
    100 this.alias;
    101 this.fullAddress;
    102 this.address;
    103 this.email;
    104 this.firstName;
    105 this.lastName;
    106 this.onlineStatus;
    107 this.phone;
    108 this.statusContent;
    109 this.statusMood;
    110 this.statusText;
    111 this.userAvailability;
    112 }
    113
    114 var invitationNotificationObj = new invitationNotificationClass();
    115
    116 function ConnectionClass() {
    117 this.forcedLogout = null;
    118 this.networkInterruption = null;
    119 }
    120
    121 var connectionObj = new ConnectionClass();
    122
    123 function BrowserClass () {
    124 var ua;
    125
    126 // Browser check
    127 ua = navigator.userAgent;
    128 this.platform = navigator.platform;
    129 this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
    130 this.isMSIE5 = this.isMSIE && (ua.indexOf('MSIE 5') != -1);
    131 this.isMSIE5_0 = this.isMSIE && (ua.indexOf('MSIE 5.0') != -1);
    132 this.isMSIE7 = this.isMSIE && (ua.indexOf('MSIE 7') != -1);
    133 this.isGecko = this.isFireFox = ua.indexOf('Gecko') != -1; // Will also be true on Safari
    134 this.isSafari = ua.indexOf('Safari') != -1;
    135 this.isOpera = window['opera'] && opera.buildNumber ? true : false;
    136 this.isMac = ua.indexOf('Mac') != -1;
    137 this.isNS7 = ua.indexOf('Netscape/7') != -1;
    138 this.isNS71 = ua.indexOf('Netscape/7.1') != -1;
    139 }
    140
    141 var browserObj = new BrowserClass();
    142 //alert(navigator.userAgent+'\n'+browserObj.isFireFox+'\n'+browserObj.platform);
    143
    144 function updateAlias(ownAlias) {
    145 params = 'updateUserAlias&alias='+ ownAlias;
    146 if (ownAlias.length > 0) {
    147 new Ajax.Request(updateOwnProfileUrl, {
    148 method : 'post',
    149 onComplete : function(xh) {
    150 var output = JSON.parse(xh.responseText);
    151 ownProfileObj.alias = output.presence.alias;
    152 $('disp').innerHTML = ownProfileObj.alias;
    153 },
    154 parameters : params
    155 });
    156 }
    157 }
    158
    159 function updateNickname(nickName, alias, fullAddress, userId, isBlocked) {
    160
    161 if (nickName == '') {
    162 if (alias != null) {
    163 nickName = alias;
    164 }
    165 }
    166
    167 params = 'addContact&contactNickname='+ nickName+'&contactID='+fullAddress;
    168
    169
    170 if (nickName.length > 0) {
    171
    172 new Ajax.Request(contactAddhUrl, {
    173
    174 method : 'post',
    175 onComplete : function(xh) {
    176
    177 var output = JSON.parse(xh.responseText);
    178
    179 if (contactsListObj != undefined) {
    180 delete contactsListObj;
    181 } else if (wcapUserObj != undefined) {
    182 delete wcapUserObj;
    183 } else if (userIDObj != undefined) {
    184 delete userIDObj;
    185 } else if (presenceObj != undefined) {
    186 delete presenceObj;
    187 }
    188
    189 contactListDataObj = new contactListDataClass();
    190 wcapUserObj = new wcapUserClass();
    191 userIDObj = new userIDClass();
    192 presenceObj = new presenceClass();
    193
    194 contactListDataObj.displayName = output.displayName;
    195 contactListDataObj.nickNname = output.nickname;
    196
    197 // presence
    198 presenceObj.onlineStatus = output.wcapUser.presence.onlineStatus;
    199 presenceObj.onlineStatus = output.wcapUser.presence.clientInfo;
    200 presenceObj.onlineStatus = output.wcapUser.presence.email;
    201 presenceObj.onlineStatus = output.wcapUser.presence.firstName;
    202 presenceObj.onlineStatus = output.wcapUser.presence.lastName;
    203 presenceObj.onlineStatus = output.wcapUser.presence.phone;
    204 presenceObj.onlineStatus = output.wcapUser.presence.statusContent;
    205 presenceObj.onlineStatus = output.wcapUser.presence.statusMood;
    206 presenceObj.onlineStatus = output.wcapUser.presence.statusText;
    207 presenceObj.onlineStatus = output.wcapUser.presence.userAvailability;
    208
    209 // userIDObj
    210 userIDObj.userId = userId;
    211 userIDObj.fullAddress = fullAddress;
    212
    213 wcapUserObj.userID = userIDObj;
    214
    215 // wcapUserObj
    216 wcapUserObj.isBlocked = false;
    217 wcapUserObj.presence = presenceObj;
    218
    219 // contactListDataObj
    220 contactListDataObj.wcapUser = wcapUserObj;
    221
    222 insertContacts(contactListDataObj);
    223
    224 },
    225
    226 parameters : params
    227 });
    228
    229 }
    230 }
    231
    232 function updateStatusText(ownStatus) {
    233 params = 'updateUserStatusText&statusText='+ ownStatus;
    234 new Ajax.Request(updateOwnProfileUrl, {
    235 method : 'post',
    236 onComplete : function(xh) {
    237 var output = JSON.parse(xh.responseText);
    238 ownProfileObj.statusText=ownStatus;
    239 if (ownStatus.length > 0) {
    240 $('curStatus').innerHTML = ownStatus;
    241 } else if (ownStatus.length == 0){
    242 $('curStatus').innerHTML = "Status Text";
    243 }
    244
    245 },
    246 parameters : params
    247 });
    248 }
    249
    250 function sendMessageExtendedConv(extendedConvAddressParam, tinyMceObj, ajax, msg) {
    251
    252 var fullAddressExtendedConv = getExtendedConvFullAddress(extendedConvAddressParam);
    253
    254 tinyMceObj.execCommand('mceSetContent', false, '');
    255
    256 //msg = regExpEscape(msg);
    257 params = "messageText="+msg+'&contactID='+fullAddressExtendedConv+'&messageContentType=text/plain';
    258
    259 new ajax.Request(groupMessageSendUrl, {
    260
    261 onComplete : function() {
    262
    263 if(trim($(extendedConvAddressParam+"_extendedConv_sendBox").value).length > 0) {
    264 var sentText = $(extendedConvAddressParam + '_extendedConv_sendBox').value;
    265 var rcvdBox = $(extendedConvAddressParam+"_extendedConv_rcvd");
    266
    267 Stamp = new Date();
    268
    269 var h = String(Stamp.getHours());
    270 var m = String(Stamp.getMinutes());
    271 var s = String(Stamp.getSeconds());
    272 h = (h.length > 1) ? h : "0"+h; m = (m.length > 1) ? m : "0"+m;
    273
    274 /*sentText = regExpEscape(sentText);*/
    275 sentText = emoteReplace(sentText, smilies);
    276 sentText = sentText.replace(/\ /,"");
    277
    278 if(sentText.replace(/<([^>]+)>/ig, '').indexOf('/me') == 0) {
    279 rcvdBox.innerHTML = rcvdBox.innerHTML + "<b class=\"userA\"><i>" + ownProfileObj.alias + ' ' +
    280 sentText.replace(/<([^>]+)>/ig, '').replace(/\/me/, '') + "</i></b><br>\n";
    281 } else {
    282 rcvdBox.innerHTML = rcvdBox.innerHTML + "<b class=\"userA\">" + ownProfileObj.alias +
    283 ":</b> <span>" +
    284 sentText + "</span><br>\n";
    285 }
    286 //[" + h + ":" + m + "]
    287 scrollToBottom(extendedConvAddressParam+"_extendedConv_rcvd");
    288 //dcj for the meantime if(audioNotify == true) soundManager.play('msg_out', 1, true);
    289 }
    290
    291 },
    292
    293 onFailure : function(xh) {
    294 alert("Oops, there's been an error.");
    295 },
    296
    297 parameters : params
    298
    299 });
    300
    301
    302
    303 }
    304
    305 function sendMessage(winName, tinyMceObj, ajax, msg) {
    306
    307 var fullAddress = getContactFullAddress(winName);
    308
    309 tinyMceObj.execCommand('mceSetContent', false, '');
    310
    311 //msg = regExpEscape(msg);
    312 params = "messageText="+msg+'&contactID='+fullAddress+'&messageContentType=text/plain';
    313
    314 new ajax.Request(sendMessagesUrl, {
    315
    316 onFailure : function(xh) {
    317 alert("Oops, there's been an error.");
    318 },
    319
    320 parameters : params
    321
    322 });
    323
    324 if(trim($(winName+"_sendBox").value).length > 0) {
    325 var sentText = $(winName + '_sendBox').value;
    326 var rcvdBox = $(winName+"_rcvd");
    327
    328 Stamp = new Date();
    329
    330 var h = String(Stamp.getHours());
    331 var m = String(Stamp.getMinutes());
    332 var s = String(Stamp.getSeconds());
    333 h = (h.length > 1) ? h : "0"+h; m = (m.length > 1) ? m : "0"+m;
    334
    335 /*sentText = regExpEscape(sentText);*/
    336 sentText = emoteReplace(sentText, smilies);
    337 sentText = sentText.replace(/\&nbsp;/,"");
    338
    339 if(sentText.replace(/<([^>]+)>/ig, '').indexOf('/me') == 0) {
    340 rcvdBox.innerHTML = rcvdBox.innerHTML + "<b class=\"userA\"><i>" + user + ' ' +
    341 sentText.replace(/<([^>]+)>/ig, '').replace(/\/me/, '') + "</i></b><br>\n";
    342 } else {
    343 rcvdBox.innerHTML = rcvdBox.innerHTML + "<b class=\"userA\">" + user +
    344 ":</b> <span>" +
    345 sentText + "</span><br>\n";
    346 }
    347 //[" + h + ":" + m + "]
    348 scrollToBottom(winName+"_rcvd");
    349 //dcj for the meantime if(audioNotify == true) soundManager.play('msg_out', 1, true);
    350 }
    351 }
    352
    353 function ping() {
    354
    355 var parametersPing = 'getReceivedSOT='
    356 new Ajax.Request(getEventsUrl, {
    357 method : 'post',
    358
    359 onComplete : function(xh) {
    360
    361 if (trim(xh.responseText).length == 0) return;
    362
    363 if (xh.responseText == 'not_logged_in') {
    364 logout();
    365 return;
    366 }
    367
    368 var output = JSON.parse(xh.responseText);
    369 outputPingObj = output;
    370 var i;
    371 var toBeAdded = '';
    372
    373 for (var i=0; i < output.length; i++) {
    374
    375 if (output[i].contactMessage != null) {
    376
    377 if (output[i].contactMessage.contentData != '') {
    378 renderP2P(output[i]);
    379 }
    380
    381 } else if (output[i].presences != null) {
    382
    383 updatePresence(output[i]);
    384 updateContactsObjOnOfflineAlpha();
    385 sortMain(false);
    386 renderContactsMain();
    387 rightClick();
    388
    389 } else if (output[i].groupData != null) { //class: ClientGroupInviteData: joining
    390
    391 var screenName;
    392 var participantUserId;
    393 var participants = '';
    394 var addedParticipantsClientGroupInviteData = [];
    395
    396 extendedConvAddress = curSelected = output[i].groupData.groupID.address;
    397 outputExtendedConvClientGroupInviteDataObj[extendedConvAddress] = output[i];
    398
    399 for (var j=0; j<output[i].groupData.participants.length; j++) {
    400
    401 participantUserId = output[i].groupData.participants[j].userID.userId;
    402 screenName = output[i].groupData.participants[j].screenName;
    403
    404 extendedConvScreenNameArray[screenName] = participantUserId;
    405
    406 if (extendedConversationParticipantsArray[extendedConvAddress] == undefined) {
    407 extendedConversationParticipantsArray[extendedConvAddress] = [];
    408 }
    409
    410 extendedConversationParticipantsArray[extendedConvAddress].push(output[i].groupData.participants[j]);
    411
    412 if (extendedConversationParticipantsDisplayNameArray[extendedConvAddress] == undefined) {
    413 extendedConversationParticipantsDisplayNameArray[extendedConvAddress] = [];
    414 }
    415
    416 if (!extendedConversationParticipantsDisplayNameArray[extendedConvAddress].search(output[i].groupData.participants[j].displayName)) {
    417 extendedConversationParticipantsDisplayNameArray[extendedConvAddress].push(output[i].groupData.participants[j].displayName);
    418 addedParticipantsClientGroupInviteData.push(output[i].groupData.participants[j].displayName);
    419 }
    420
    421 }
    422
    423 if (!$(extendedConvAddress+'_extendedConv')) {
    424
    425 renderExtendedConvMessages(outputExtendedConvClientGroupInviteDataObj[extendedConvAddress]);
    426 $(extendedConvAddress+'_extendedConv_top').innerHTML = '&nbsp;&nbsp;'+outputExtendedConvClientGroupInviteDataObj[extendedConvAddress].groupData.name;
    427 Windows.close(outputExtendedConvClientGroupInviteDataObj[extendedConvAddress].groupData.groupID.userId+'_im');
    428
    429 } else {
    430
    431 IMWindows[extendedConvAddress].show();
    432
    433 }
    434
    435 var rcvdBox = $(extendedConvAddress+'_extendedConv_rcvd');
    436
    437 for (var j=0; j<addedParticipantsClientGroupInviteData.length; j++) {
    438 rcvdBox.innerHTML = rcvdBox.innerHTML + "<i><font color='grey'> --- " +
    439 "<span>" +
    440 addedParticipantsClientGroupInviteData[j] + "</span> has joined the conversation ---</font></i><br>\n";
    441 }
    442
    443 } else if (output[i].joinedParticipants != null) { //class: ClientGroupEventData: joining
    444
    445 var screenName;
    446 var participantUserId;
    447 var addedParticipantsClientGroupEventData = [];
    448
    449 chatAddress = extendedConvAddress = output[i].groupID.address;
    450
    451 if (extendedConvAddress.indexOf('/~') != -1) {
    452
    453 outputExtendedConvClientGroupEventDataObj[extendedConvAddress] = output[i];
    454
    455 for (var j=0; j<output[i].joinedParticipants.length; j++) {
    456
    457 $(extendedConvAddress+'_extendedConv_top').innerHTML += ', '+output[i].joinedParticipants[j].displayName;
    458
    459 participantUserId = output[i].joinedParticipants[j].userID.userId;
    460 screenName = output[i].joinedParticipants[j].screenName;
    461
    462 extendedConvScreenNameArray[screenName] = participantUserId;
    463
    464 if (extendedConversationParticipantsArray[extendedConvAddress] == undefined) {
    465 extendedConversationParticipantsArray[extendedConvAddress] = [];
    466 }
    467
    468 if (!extendedConversationParticipantsDisplayNameArray[extendedConvAddress].search(output[i].joinedParticipants[j].displayName)) {
    469
    470 extendedConversationParticipantsArray[extendedConvAddress].push(output[i].joinedParticipants[j]);
    471
    472 if (extendedConversationParticipantsDisplayNameArray[extendedConvAddress] == undefined) {
    473 extendedConversationParticipantsDisplayNameArray[extendedConvAddress] = [];
    474 }
    475
    476 if (!extendedConversationParticipantsDisplayNameArray[extendedConvAddress].search(output[i].joinedParticipants[j].displayName)) {
    477 extendedConversationParticipantsDisplayNameArray[extendedConvAddress].push(output[i].joinedParticipants[j].displayName);
    478 addedParticipantsClientGroupEventData.push(output[i].joinedParticipants[j].displayName);
    479 }
    480
    481 preInsert('extendedConv',output[i].joinedParticipants[j].displayName);
    482 extendedConversationParticipantsDisplayNameArray[extendedConvAddress].sort();
    483 }
    484
    485 }
    486
    487 if (!$(extendedConvAddress+'_extendedConv')) {
    488
    489 renderExtendedConversationWindow(output[i].groupID.address,output[i].groupID.address);
    490
    491 } else {
    492
    493 IMWindows[extendedConvAddress].show();
    494
    495 }
    496
    497 var rcvdBox = $(extendedConvAddress+'_extendedConv_rcvd');
    498
    499 for (var j=0; j<addedParticipantsClientGroupEventData.length; j++) {
    500 rcvdBox.innerHTML = rcvdBox.innerHTML + "<i><font color='gray'> --- " +
    501 "<span>" +
    502 addedParticipantsClientGroupEventData[j] + "</span> has joined the conversation ---</font></i><br>\n";
    503 }
    504
    505 scrollToBottom(extendedConvAddress+"_extendedConv_rcvd");
    506 insertConversation(extendedConvAddress);
    507
    508 } else {
    509
    510 alert('For CHat! :)');
    511
    512 outputClientGroupDataObj[chatAddress] = output[i];
    513 var index = 0;
    514
    515 for (var i=0; i<outputClientGroupDataObj[chatAddress].joinedParticipants.length; i++) {
    516
    517 var inChatParticipantsArray = false;
    518
    519 //search within search(outputChatObj[chatAddress].joinedParticipants[i].displayName
    520 for (var j=0; j<chatParticipantsArray[chatAddress].length; j++) {
    521
    522 if (chatParticipantsArray[chatAddress][j].userID.address == outputClientGroupDataObj[chatAddress].joinedParticipants[i].userID.address) {
    523 inChatParticipantsArray = true;
    524 index = j;
    525 break;
    526 }
    527 }
    528
    529 if (!inChatParticipantsArray) {
    530
    531 chatParticipantsArray[chatAddress].push(outputClientGroupDataObj[chatAddress].joinedParticipants[i]);
    532
    533 var rndm = Math.floor(Math.random()*100);
    534
    535 //if with exactly the same displayName but with different address, append an '-' and a random number
    536 if (chatParticipantsDisplayNameArray[chatAddress].search(outputClientGroupDataObj[chatAddress].joinedParticipants[i].displayName)) {
    537
    538 while (chatParticipantsDisplayNameArray[chatAddress].search(outputClientGroupDataObj[chatAddress].joinedParticipants[i].displayName+'_'+rndm)) {
    539 rndm = Math.floor(random()*100);
    540 }
    541 chatParticipantsDisplayNameArray[chatAddress].push(outputClientGroupDataObj[chatAddress].joinedParticipants[i].displayName+'_'+rndm);
    542
    543 } else {
    544 chatParticipantsDisplayNameArray[chatAddress].push(outputClientGroupDataObj[chatAddress].joinedParticipants[i].displayName);
    545 }
    546
    547 preInsertBeta('chat',outputClientGroupDataObj[chatAddress].joinedParticipants[index].displayName);
    548 }
    549
    550 }
    551
    552 alert('For Chat! :)');
    553
    554 }
    555
    556 } else if (output[i].senderMessage != null) { //class: ClientGroupEventData: messaging
    557
    558 extendedConvAddress = output[i].groupID.address;
    559
    560 var receivedContent = output[i].senderMessage.contentData.content;
    561 var contentType = output[i].senderMessage.contentData.contentType;
    562 var extendedConvFullAddress = output[i].groupID.fullAddress;
    563 var SName = output[i].senderMessage.messageInfo.sender.group.screenName.SName;
    564
    565 if (getContactObjectInContactList(getContactFullAddress(extendedConvScreenNameArray[SName])).displayName == undefined) {
    566 for (var i=0; i<extendedConversationParticipantsArray[extendedConvAddress].length; i++) {
    567 if (extendedConversationParticipantsArray[extendedConvAddress][i].screenName == SName) {
    568 var participant = extendedConversationParticipantsArray[extendedConvAddress][i].displayName;
    569 break;
    570 }
    571 }
    572 } else {
    573 var participant = getContactObjectInContactList(getContactFullAddress(extendedConvScreenNameArray[SName])).displayName;
    574 }
    575
    576 var rcvdBox = $(extendedConvAddress+'_extendedConv_rcvd');
    577
    578 Stamp = new Date();
    579
    580 var h = String(Stamp.getHours());
    581 var m = String(Stamp.getMinutes());
    582 var s = String(Stamp.getSeconds());
    583 h = (h.length > 1) ? h : "0"+h; m = (m.length > 1) ? m : "0"+m;
    584
    585 var msgDateTime = output[i].senderMessage.messageInfo.dateTime;
    586 var extendedConvDateTime = output[i].senderMessage.messageInfo.dateTime;
    587
    588 var msgHr = msgDateTime.indexOf("T") + 1;
    589 var msgMin = msgDateTime.indexOf("T") + 3;
    590 msgDateTime = msgDateTime.substring(msgHr, msgHr+2) +":"+ msgDateTime.substring(msgMin, msgMin+2);
    591
    592 $(extendedConvAddress+'_extendedConv_rcvd').style.height = '127px';
    593 $(extendedConvAddress+'_dateTimeExtendedConv').style.visibility = 'visible';
    594 timeReceived = $(extendedConvAddress+'_dateTimeExtendedConv');
    595 timeReceived.innerHTML = "<span>Last message received "+msgDateTime+"</span>";
    596
    597 /*sentText = regExpEscape(sentText);*/
    598 if (contentType == 'text/plain') {
    599 receivedContent = emoteReplace(receivedContent, smilies);
    600 receivedContent = receivedContent.replace(/\&nbsp;/,"");
    601 } else {
    602 var imageSrc = cacheStreamerUrl+'?key=message-pic-'+extendedConvFullAddress+extendedConvDateTime;
    603 receivedContent = '<img src="'+imageSrc+'" alt="image" width="50px" height="50px" />';
    604 }
    605
    606 if(receivedContent.replace(/<([^>]+)>/ig, '').indexOf('/me') == 0) {
    607 rcvdBox.innerHTML = rcvdBox.innerHTML + "<b class=\"userA\"><i>" + participant + ' ' +
    608 receivedContent.replace(/<([^>]+)>/ig, '').replace(/\/me/, '') + "</i></b><br>\n";
    609 } else {
    610 rcvdBox.innerHTML = rcvdBox.innerHTML + "<b class=\"userA\">" + participant +
    611 ":</b> <span>" +
    612 receivedContent + "</span><br>\n";
    613 }
    614
    615 scrollToBottom(extendedConvAddress+"_extendedConv_rcvd");
    616 //dcj for the meantime if(audioNotify == true) soundManager.play('msg_out', 1, true);
    617
    618 } else if (output[i].left