2009-07-14 15:26:39 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// add a notice encoded as JSON into the current timeline
 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								//
 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-15 13:53:16 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// TODO: i18n
 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 15:26:39 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								RealtimeUpdate  =  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 17:06:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     _userid :  0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     _replyurl :  '' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     _favorurl :  '' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     _deleteurl :  '' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     init :  function ( userid ,  replyurl ,  favorurl ,  deleteurl ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          RealtimeUpdate . _userid  =  userid ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          RealtimeUpdate . _replyurl  =  replyurl ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          RealtimeUpdate . _favorurl  =  favorurl ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          RealtimeUpdate . _deleteurl  =  deleteurl ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     receive :  function ( data ) 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								     { 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 15:26:39 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          id  =  data . id ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          // Don't add it if it already exists
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  ( $ ( "#notice-" + id ) . length  >  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 15:26:39 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          var  noticeItem  =  RealtimeUpdate . makeNoticeItem ( data ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								          $ ( "#notices_primary .notices" ) . prepend ( noticeItem ,  true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          $ ( "#notices_primary .notice:first" ) . css ( { display : "none" } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          $ ( "#notices_primary .notice:first" ) . fadeIn ( 1000 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          NoticeReply ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 17:06:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 15:26:39 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     makeNoticeItem :  function ( data ) 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								     { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          user  =  data [ 'user' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          html  =  data [ 'html' ] . replace ( /&/g , '&' ) . replace ( /</g , '<' ) . replace ( />/g , '>' ) . replace ( /"/g , '"' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          source  =  data [ 'source' ] . replace ( /&/g , '&' ) . replace ( /</g , '<' ) . replace ( />/g , '>' ) . replace ( /"/g , '"' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          ni  =  "<li class=\"hentry notice\" id=\"notice-" + data [ 'id' ] + "\">" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "<div class=\"entry-title\">" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "<span class=\"vcard author\">" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "<a href=\"" + user [ 'profile_url' ] + "\" class=\"url\">" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "<img src=\"" + user [ 'profile_image_url' ] + "\" class=\"avatar photo\" width=\"48\" height=\"48\" alt=\"" + user [ 'screen_name' ] + "\"/>" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "<span class=\"nickname fn\">" + user [ 'screen_name' ] + "</span>" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "</a>" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "</span>" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "<p class=\"entry-content\">" + html + "</p>" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "</div>" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "<div class=\"entry-content\">" + 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-15 13:53:16 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								               "<a class=\"timestamp\" rel=\"bookmark\" href=\"" + data [ 'url' ] + "\" >" + 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								               "<abbr class=\"published\" title=\"" + data [ 'created_at' ] + "\">a few seconds ago</abbr>" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "</a> " + 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-15 13:53:16 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								               "<span class=\"source\">" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "from " + 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-16 16:04:19 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								               "<span class=\"device\">" + source + "</span>" +  // may have a link
 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-15 13:53:16 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								               "</span>" ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								          if  ( data [ 'in_reply_to_status_id' ] )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-15 13:53:16 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								               ni  =  ni + " <a class=\"response\" href=\"" + data [ 'in_reply_to_status_url' ] + "\">in context</a>" ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          ni  =  ni + "</div>" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "<div class=\"notice-options\">" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 17:06:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          if  ( RealtimeUpdate . _userid  !=  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								               var  input  =  $ ( "form#form_notice fieldset input#token" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               var  session _key  =  input . val ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 15:26:39 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								               ni  =  ni + RealtimeUpdate . makeFavoriteForm ( data [ 'id' ] ,  session _key ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ni  =  ni + RealtimeUpdate . makeReplyLink ( data [ 'id' ] ,  data [ 'user' ] [ 'screen_name' ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 17:06:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								               if  ( RealtimeUpdate . _userid  ==  data [ 'user' ] [ 'id' ] )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 15:26:39 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    ni  =  ni + RealtimeUpdate . makeDeleteLink ( data [ 'id' ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								               } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          ni  =  ni + "</div>" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "</li>" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          return  ni ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 17:06:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 15:26:39 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     makeFavoriteForm :  function ( id ,  session _key ) 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								     { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          var  ff ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 17:06:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          ff  =  "<form id=\"favor-" + id + "\" class=\"form_favor\" method=\"post\" action=\"" + RealtimeUpdate . _favorurl + "\">" + 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								               "<fieldset>" + 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-15 13:53:16 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								               "<legend>Favor this notice</legend>" + 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								               "<input name=\"token-" + id + "\" type=\"hidden\" id=\"token-" + id + "\" value=\"" + session _key + "\"/>" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "<input name=\"notice\" type=\"hidden\" id=\"notice-n" + id + "\" value=\"" + id + "\"/>" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "<input type=\"submit\" id=\"favor-submit-" + id + "\" name=\"favor-submit-" + id + "\" class=\"submit\" value=\"Favor\" title=\"Favor this notice\"/>" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "</fieldset>" + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               "</form>" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          return  ff ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 17:06:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 15:26:39 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     makeReplyLink :  function ( id ,  nickname ) 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								     { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          var  rl ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-15 13:53:16 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          rl  =  "<a class=\"notice_reply\" href=\"" + RealtimeUpdate . _replyurl + "?replyto=" + nickname + "\" title=\"Reply to this notice\">Reply <span class=\"notice_id\">" + id + "</span></a>" ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								          return  rl ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 17:06:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 15:26:39 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     makeDeleteLink :  function ( id ) 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								     { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          var  dl ,  delurl ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 17:06:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          delurl  =  RealtimeUpdate . _deleteurl . replace ( "0000000000" ,  id ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-09-15 13:53:16 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          dl  =  "<a class=\"notice_delete\" href=\"" + delurl + "\" title=\"Delete this notice\">Delete</a>" ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-13 09:58:52 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          return  dl ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 17:06:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}