// 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;
$(window).blur(function() {
$('#notices_primary .notice').css({
'border-top-color':$('#notices_primary .notice:last').css('border-top-color'),
'border-top-style':'dotted'
});
$('#notices_primary .notice:first').css({
'border-top-color':'#AAAAAA',
'border-top-style':'solid'
});
});
},
receive: function(data)
{
setTimeout(function() {
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);
$("#notices_primary .notice:first").css({display:"none"});
$("#notices_primary .notice:first").fadeIn(1000);
NoticeReply();
}, 500);
},
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)
{
$('#notices_primary').css({'position':'relative'});
$('#notices_primary').prepend('Pop up ');
$('#realtime_timeline').css({
'margin':'0 0 11px 0',
'background':'transparent url('+ iconurl + ') no-repeat 0% 30%',
'padding':'0 0 0 20px',
'display':'block',
'position':'absolute',
'top':'-20px',
'right':'0',
'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(500, 550);
$('address').hide();
$('#content').css({'width':'93.5%'});
$('#form_notice').css({
'margin':'18px 0 18px 1.795%',
'width':'93%',
'max-width':'451px'
});
$('#form_notice label[for=notice_data-text], h1').css({'display': 'none'});
$('.notices li:first-child').css({'border-top-color':'transparent'});
$('#form_notice label[for="notice_data-attach"], #form_notice #notice_data-attach').css({'top':'0'});
$('#form_notice #notice_data-attach').css({
'left':'auto',
'right':'0'
});
}
}