snippets / render p2p in im.js

Language: Javascript - First posted by willowdan on 2008-05-6 16:59 (5 months, 1 week)
Link to the snippet: http://www.friendsnippets.org/snippet/287/

paki-add na lng sa renderP2P ng im.js, d ko kse alam baka ini-edit dn ni chad e..thanks!

  1 function renderP2P(localOutput) {
2 var msgImg = 'image';
3 var saveFile = 'Save file';
4
5 var msgAlias = '';
6
7 var presencePath = imagesFolder+'/presence/';
8 var avatarPath = imagesFolder+'/avatars/';
9
10 var rcvdBox = "";
11 var timeReceived = "";
12 var msgContent = localOutput.contactMessage.contentData.content;
13 var msgUserId = localOutput.contactID.address;
14
15 imFID = msgUserId+'_im';
16
17 var msgDateTime = localOutput.contactMessage.messageInfo.dateTime;
18 var msgMessageID = localOutput.contactMessage.messageID;
19 var msgContactPresence = localOutput.contactPresence;
20 var msgContentType = localOutput.contactMessage.contentData.contentType;
21
22 var msgHr = msgDateTime.indexOf("T") + 1;
23 var msgMin = msgDateTime.indexOf("T") + 3;
24 msgDateTime = msgDateTime.substring(msgHr, msgHr+2) +":"+ msgDateTime.substring(msgMin, msgMin+2);
25 var updateDateTimeDisplay = true;
26
27 // Check if received message date and time display should be updated.
28 if (msgContentType.indexOf('application/x-colibria.typing-alert.1') != -1) {
29 updateDateTimeDisplay = false;
30 }
31
32 var imDisplayName = getContactObjectInContactList(getContactFullAddress(msgUserId)).displayName;
33
34 if (typeof imDisplayName == 'undefined') {
35 imDisplayName = msgUserId;
36 }
37
38 msgContent = emoteReplaceAfterSending(msgContent, smilies);
39
40 // Display regular IM window.
41 if (IMWindows[msgUserId] == undefined || !IMWindows[msgUserId].detached) {
42 // User recieved message and IM window is created and opened.
43 if (!$(msgUserId + '_im')) {
44
45 createIMWindow(msgUserId);
46 rcvdBox = $(imFID+"_rcvd");
47
48 if ((msgContentType.indexOf('text/plain') != -1) || (msgContentType.indexOf('text/html') != -1)) {
49 rcvdBox.innerHTML = "<b class=\"userA\">"+imDisplayName+": </b><span>"+msgContent+"</span><br/>\n";
50 if (curSelected != msgUserId){
51 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv-newmsg.gif";
52 } else {
53 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv.gif";
54 }
55
56 } else if (msgContentType == 'application/x-colibria.simple-nudge.1'){
57 rcvdBox.innerHTML = "<b class=\"userA\">"+imDisplayName+": </b><span>"+imDisplayName+" has nudged you</span><br/>\n";
58 if (curSelected != msgUserId){
59 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv-newmsg.gif";
60 } else {
61 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv.gif";
62 }
63
64 } else if (msgContentType.indexOf('application/x-colibria.typing-alert.1') != -1) {
65
66 if ($(imFID+'_typingAlertIcon').style.visibility == 'visible') {
67 $(imFID+'_typingAlertIcon').style.visibility = "hidden";
68 } else {
69 $(imFID+'_typingAlertIcon').style.visibility = "visible";
70 }
71
72 } else if (msgContentType.indexOf('image') != -1) {
73 var msgUserAddress = localOutput.contactID.fullAddress;
74 var imageDateTime = localOutput.contactMessage.messageInfo.dateTime;
75 var imageSrc = cacheStreamerUrl+'?key='+outputSpecificClientSettingsObj.messageFileCacheKeyPrefix+msgUserAddress+imageDateTime;
76 var sentMsgContentType = msgContentType.substring(0,msgContentType.indexOf('/'));
77 var contentSize = localOutput.contactMessage.contentData.contentSize;
78 var saveFileSrc = cacheStreamerUrl+'?streamAsFile=&key='+outputSpecificClientSettingsObj.messageFileCacheKeyPrefix+msgUserAddress+imageDateTime;
79
80 rcvdBox.innerHTML +=
81 "<span><b class=\"userA\">"+imDisplayName+" has sent an "+sentMsgContentType+" file.</b><br/>"+
82 "<table style='border-spacing:3pt'><tr><td>" +
83 "<img id='"+localOutput.contactID.address+"_"+imageDateTime+"_img' src="+imageSrc+" alt="+msgImg+" width='50px'/>"+
84 "</td><td style='vertical-align:text-top'>" +
85 "<div id='"+localOutput.contactID.address+"_"+imageDateTime+"'>Format "+
86 msgContentType.substring(msgContentType.indexOf('/')+1).toUpperCase()+"<br/>"+
87 "size in bytes "+contentSize+"<br/>"+
88 "<a id='"+localOutput.contactID.address+"_"+imageDateTime+"_saveFile' href='"+saveFileSrc+"'>"+saveFile+"</a>"+
89 "</div></td></tr></table>"+
90 "</span>";
91 if (curSelected != msgUserId){
92 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv-newmsg.gif";
93 } else {
94 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv.gif";
95 }
96
97 imageIdArray.push(localOutput.contactID.address+"_"+imageDateTime+'_img');
98 imageDivIdArray.push(localOutput.contactID.address+"_"+imageDateTime);
99
100 } else {
101 var msgUserAddress = localOutput.contactID.fullAddress;
102 var imageDateTime = localOutput.contactMessage.messageInfo.dateTime;
103 var imageSrc = (msgContentType.indexOf('avi') != -1 || msgContentType.indexOf('mpeg') != -1)?imagesFolder+'/video.jpg':
104 (msgContentType.indexOf('wav') != -1)?imagesFolder+'/music.jpg':imagesFolder+'/file.jpg';
105 var sentMsgContentType = msgContentType.substring(0,msgContentType.indexOf('/'));
106 var contentSize = localOutput.contactMessage.contentData.contentSize;
107 var saveFileSrc = cacheStreamerUrl+'?streamAsFile=&key='+outputSpecificClientSettingsObj.messageFileCacheKeyPrefix+msgUserAddress+imageDateTime;
108
109 rcvdBox.innerHTML +=
110 "<span><b class=\"userA\">"+imDisplayName+" has sent an "+sentMsgContentType+" file.</b><br/>"+
111 "<table style='border-spacing:3pt'><tr><td>" +
112 "<img id='"+msgUserAddress+"_"+imageDateTime+"_img' src="+imageSrc+" alt="+msgImg+" width='50px'/>"+
113 "</td><td style='vertical-align:text-top'>" +
114 "<div id='"+localOutput.contactID.address+"_"+imageDateTime+"'>Format "+
115 msgContentType.substring(msgContentType.indexOf('/')+1).toUpperCase()+"<br/>"+
116 "size in bytes "+contentSize+"<br/>"+
117 "<a id='"+localOutput.contactID.address+"_"+imageDateTime+"_saveFile' href='"+saveFileSrc+"'>"+saveFile+"</a>"+
118 "</div></td></tr></table>"+
119 "</span>";
120 if (curSelected != msgUserId){
121 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv-newmsg.gif";
122 } else {
123 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv.gif";
124 }
125
126 imageIdArray.push(localOutput.contactID.address+"_"+imageDateTime+'_img');
127 imageDivIdArray.push(localOutput.contactID.address+"_"+imageDateTime);
128 }
129
130 if(msgContactPresence != null) {
131 $(imFID+'_presIcon').src = presencePath+"G-no-mood-Mob.gif";
132 $(imFID+'_add').style.visibility = "visible";
133 $(imFID+'_add').onclick = function() {
134 setNickname(localOutput);
135 $(imFID+'_add').style.visibility = "hidden";
136 return false;
137 };
138 }
139 if (updateDateTimeDisplay) {
140 $(imFID+'_dateTime').innerHTML = "<span>Last message received "+msgDateTime+"</span>";
141 $(imFID+'_dateTime').style.visibility = 'visible';
142 $(imFID+'_divTextArea').style.top = (IMWindows[msgUserId].getSize().height - 60) + 'px';
143
144 if(navigator.userAgent.indexOf('Safari') != -1 && navigator.platform.indexOf('Mac') != -1 && navigator.userAgent.indexOf('3') == -1) {
145 $(imFID+'_rcvd').style.height = (IMWindows[msgUserId].getSize().height - 150) + 'px';
146 $(imFID+'_dateTime').style.top = (IMWindows[msgUserId].getSize().height - 95) + 'px';
147 } else {
148 $(imFID+'_rcvd').style.height = (IMWindows[msgUserId].getSize().height - 148) + 'px';
149 $(imFID+'_dateTime').style.top = (IMWindows[msgUserId].getSize().height - 80) + 'px';
150 }
151 }
152
153 if(msgContactPresence != null) {
154 msgAlias = localOutput.contactPresence.alias;
155 insertConversation(msgAlias);
156 } else {
157 insertConversation(msgUserId);
158 }
159
160 // User recieved message and IM window is reopened.
161 } else {
162 rcvdBox = $(imFID+"_rcvd");
163 IMWindows[msgUserId].show();
164 if (msgContentType.indexOf('text/plain') != -1) {
165 rcvdBox.innerHTML = rcvdBox.innerHTML+"<b class=\"userA\">"+imDisplayName+":</b> <span>"+msgContent+"</span><br/>\n";
166 if (curSelected != msgUserId){
167 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv-newmsg.gif";
168 } else {
169 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv.gif";
170 }
171 } else if (msgContentType == 'application/x-colibria.simple-nudge.1'){
172 rcvdBox.innerHTML = rcvdBox.innerHTML+"<b class=\"userA\">"+imDisplayName+": </b><span>"+imDisplayName+" has nudged you</span><br/>\n";
173 if (curSelected != msgUserId){
174 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv-newmsg.gif";
175 } else {
176 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv.gif";
177 }
178 } else if (msgContentType.indexOf('image/') != -1) {
179 var msgUserAddress = localOutput.contactID.fullAddress;
180 var imageDateTime = localOutput.contactMessage.messageInfo.dateTime;
181 var imageSrc = cacheStreamerUrl+'?key='+outputSpecificClientSettingsObj.messageFileCacheKeyPrefix+msgUserAddress+imageDateTime;
182 var sentMsgContentType = msgContentType.substring(0,msgContentType.indexOf('/'));
183 var contentSize = localOutput.contactMessage.contentData.contentSize;
184 var saveFileSrc = cacheStreamerUrl+'?streamAsFile=&key='+outputSpecificClientSettingsObj.messageFileCacheKeyPrefix+msgUserAddress+imageDateTime;
185
186 rcvdBox.innerHTML +=
187 "<span><b class=\"userA\">"+imDisplayName+" has sent an "+sentMsgContentType+" file.</b><br/>"+
188 "<table style='border-spacing:3pt'><tr><td>" +
189 "<img id='"+localOutput.contactID.address+"_"+imageDateTime+"_img' src="+imageSrc+" alt="+msgImg+" width='50px'/>"+
190 "</td><td style='vertical-align:text-top'>" +
191 "<div id='"+localOutput.contactID.address+"_"+imageDateTime+"'>Format "+
192 msgContentType.substring(msgContentType.indexOf('/')+1).toUpperCase()+"<br/>"+
193 "size in bytes "+contentSize+"<br/>"+
194 "<a id='"+localOutput.contactID.address+"_"+imageDateTime+"_saveFile' href='"+saveFileSrc+"'>"+saveFile+"</a>"+
195 "</div></td></tr></table>"+
196 "</span>";
197 if (curSelected != msgUserId){
198 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv-newmsg.gif";
199 } else {
200 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv.gif";
201 }
202 imageIdArray.push(localOutput.contactID.address+"_"+imageDateTime+'_img');
203 imageDivIdArray.push(localOutput.contactID.address+"_"+imageDateTime);
204
205 }
206 else if (msgContentType.indexOf('application/x-colibria.typing-alert.1') != -1) {
207
208 if ($(imFID+'_typingAlertIcon').style.visibility == 'visible') {
209 $(imFID+'_typingAlertIcon').style.visibility = "hidden";
210 }
211 else {
212 $(imFID+'_typingAlertIcon').style.visibility = "visible";
213 }
214
215 } else {
216
217 var msgUserAddress = localOutput.contactID.fullAddress;
218 var imageDateTime = localOutput.contactMessage.messageInfo.dateTime;
219 var imageSrc = (msgContentType.indexOf('avi') != -1 || msgContentType.indexOf('mpeg') != -1)?imagesFolder+'/video.jpg':
220 (msgContentType.indexOf('wav') != -1)?imagesFolder+'/music.jpg':imagesFolder+'/file.jpg';
221 var saveFileSrc = cacheStreamerUrl+'?streamAsFile=&key='+outputSpecificClientSettingsObj.messageFileCacheKeyPrefix+msgUserAddress+imageDateTime;
222
223 rcvdBox.innerHTML +=
224 "<span><b class=\"userA\">"+imDisplayName+" has sent an "+sentMsgContentType+" file.</b><br/>"+
225 "<table style='border-spacing:3pt'><tr><td>" +
226 "<img id='"+localOutput.contactID.address+"_"+imageDateTime+"_img' src="+imageSrc+" alt="+msgImg+" width='50px'/>"+
227 "</td><td style='vertical-align:text-top'>" +
228 "<div id='"+localOutput.contactID.address+"_"+imageDateTime+"'>Format "+
229 msgContentType.substring(msgContentType.indexOf('/')+1).toUpperCase()+"<br/>"+
230 "size in bytes "+contentSize+"<br/>"+
231 "<a id='"+localOutput.contactID.address+"_"+imageDateTime+"_saveFile' href='"+saveFileSrc+"'>"+saveFile+"</a>"+
232 "</div></td></tr></table>"+
233 "</span>";
234 if (curSelected != msgUserId){
235 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv-newmsg.gif";
236 } else {
237 $(msgUserId+'_conversation').src="imps/html/generic/images/presence/Conv.gif";
238 }
239
240 imageIdArray.push(localOutput.contactID.address+"_"+imageDateTime+'_img');
241 imageDivIdArray.push(localOutput.contactID.address+"_"+imageDateTime);
242
243 }
244
245 if (updateDateTimeDisplay) {
246 $(imFID+'_dateTime').innerHTML = "<span>Last message received "+msgDateTime+"</span>";
247 $(imFID+'_dateTime').style.visibility = 'visible';
248 $(imFID+'_divTextArea').style.top = (IMWindows[msgUserId].getSize().height - 60) + 'px';
249
250 if(navigator.userAgent.indexOf('Safari') != -1 && navigator.platform.indexOf('Mac') != -1 && navigator.userAgent.indexOf('3') == -1) {
251 $(imFID+'_rcvd').style.height = (IMWindows[msgUserId].getSize().height - 150) + 'px';
252 $(imFID+'_dateTime').style.top = (IMWindows[msgUserId].getSize().height - 95) + 'px';
253 } else {
254 $(imFID+'_rcvd').style.height = (IMWindows[msgUserId].getSize().height - 148) + 'px';
255 $(imFID+'_dateTime').style.top = (IMWindows[msgUserId].getSize().height - 80) + 'px';
256 }
257 }
258 setTimeout("scrollToBottom('"+imFID+"_rcvd')", 125);
259 }
260
261 // Display pop-out IM window.
262 } else {
263 // User recieved message and pop-out IM window is created and opened.
264
265 rcvdBox = popupWin.$(imFID+"_rcvd");
266
267 if (msgContentType.indexOf('text/plain') != -1) {
268 rcvdBox.innerHTML = rcvdBox.innerHTML + "<b class=\"userA\">"+imDisplayName+": </b><span>"+msgContent+"</span><br/>\n";
269
270 } else if (msgContentType == 'application/x-colibria.simple-nudge.1'){
271 rcvdBox.innerHTML = rcvdBox.innerHTML + "<b class=\"userA\">"+imDisplayName+": </b><span>"+imDisplayName+" has nudged you</span><br/>\n";
272
273 } else if (msgContentType.indexOf('image/') != -1) {
274 var msgUserAddress = localOutput.contactID.fullAddress;
275 var imageDateTime = localOutput.contactMessage.messageInfo.dateTime;
276 var imageSrc = cacheStreamerUrl+'?key='+outputSpecificClientSettingsObj.messageFileCacheKeyPrefix+msgUserAddress+imageDateTime;
277
278 rcvdBox.innerHTML = rcvdBox.innerHTML + "<b class=\"userA\">"+imDisplayName+": </b><span><img src="+imageSrc+" alt="+msgImg+" width='50px'/></span><br/>\n";
279
280 } else if (msgContentType.indexOf('application/x-colibria.typing-alert.1') != -1) {
281 if ($(imFID+'_typingAlertIcon').style.visibility == 'visible') {
282 $(imFID+'_typingAlertIcon').style.visibility = "hidden";
283 } else {
284 $(imFID+'_typingAlertIcon').style.visibility = "visible";
285 }
286 }
287
288 if(msgContactPresence != null) {
289 $(imFID+'_presIcon').src = presencePath+"G-no-mood-Mob.gif";
290
291 popupWin.$(imFID+'_add').style.visibility = "visible";
292 popupWin.$(imFID+'_add').onclick = function() {
293 setNickname(localOutput);
294 popupWin.$(imFID+'_add').style.visibility = "hidden";
295 return false;
296 };
297 }
298
299 if (updateDateTimeDisplay) {
300 popupWin.$(imFID+'_rcvd').style.height = (IMWindows[msgUserId].getSize().height - 148) + 'px';
301 popupWin.$(imFID+'_dateTime').innerHTML = "<span>Last message received "+msgDateTime+"</span>";
302 popupWin.$(imFID+'_dateTime').style.visibility = 'visible';
303 popupWin.$(imFID+'_dateTime').style.top = (IMWindows[msgUserId].getSize().height - 80) + 'px';
304 popupWin.$(imFID+'_divTextArea').style.top = (IMWindows[msgUserId].getSize().height - 60) + 'px';
305 }
306
307 if(msgContactPresence != null) {
308 msgAlias = localOutput.contactPresence.alias;
309 insertConversation(msgAlias);
310 } else {
311 insertConversation(msgUserId);
312 }
313 }
314 }
In order to post a comment, you should have a friendsnippet account. Please sign-in.

0 comments

May '08
  • paki-add na lng sa renderP2P ng im.js, d ko kse alam baka ini-edit dn ni chad e..thanks!

Common Tags



snippet History

May '08