// add a notice encoded as JSON into the current timeline
//
// TODO: i18n
RealtimeUpdate = {
_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)
{
id = data.id;
// Don't add it if it already exists
//
if ($("#notice-"+id).length > 0) {
return;
}
var noticeItem = RealtimeUpdate.makeNoticeItem(data);
$("#notices_primary .notices").prepend(noticeItem, true);
$("#notices_primary .notice:first").css({display:"none"});
$("#notices_primary .notice:first").fadeIn(1000);
NoticeReply();
},
makeNoticeItem: function(data)
{
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 = "
"+
""+
""+
"
"+
"a few seconds ago "+
" "+
"
"+
"from "+
""+source+" "+ // may have a link
" ";
if (data['in_reply_to_status_id']) {
ni = ni+"
in context ";
}
ni = ni+"
"+
"";
if (RealtimeUpdate._userid != 0) {
var input = $("form#form_notice fieldset input#token");
var session_key = input.val();
ni = ni+RealtimeUpdate.makeFavoriteForm(data['id'], session_key);
ni = ni+RealtimeUpdate.makeReplyLink(data['id'], data['user']['screen_name']);
if (RealtimeUpdate._userid == data['user']['id']) {
ni = ni+RealtimeUpdate.makeDeleteLink(data['id']);
}
}
ni = ni+"
"+
" ";
return ni;
},
makeFavoriteForm: function(id, session_key)
{
var ff;
ff = "";
return ff;
},
makeReplyLink: function(id, nickname)
{
var rl;
rl = "Reply "+id+" ";
return rl;
},
makeDeleteLink: function(id)
{
var dl, delurl;
delurl = RealtimeUpdate._deleteurl.replace("0000000000", id);
dl = "Delete ";
return dl;
},
addPopup: function(url, timeline, iconurl)
{
$('#content').prepend('Realtime ');
$('#realtime_timeline').css({
'margin':'0 0 18px 0',
'background':'transparent url('+ iconurl + ') no-repeat 0% 30%',
'padding':'0 0 0 20px',
'display':'block',
'float':'right',
'border':'none',
'cursor':'pointer',
'color':$("a").css("color"),
'font-weight':'bold',
'font-size':'1em'
});
$('#realtime_timeline').click(function() {
window.open(url,
timeline,
'toolbar=no,resizable=yes,scrollbars=yes,status=yes');
return false;
});
},
initPopupWindow: function()
{
window.resizeTo(575, 640);
$('address').hide();
$('#content').css({'width':'92%'});
}
}