var latest_post_id = 0;
var oldest_post_id = 0;
live_scroll_position = 0;
function clearLoadingMediationCommentSignal(mediation) {
jQuery(".loading-mediation-comment").filter("#" + mediation).removeClass("loading-signal-error");
jQuery(".loading-mediation-comment").filter("#" + mediation).removeClass("loading-signal-done");
}
function clearLoadingMessageSignal() {
jQuery("#loading-message").removeClass("loading-signal-error");
jQuery("#loading-message").removeClass("loading-signal-done");
}
function clearLoadingMediationSignal() {
jQuery("#loading-mediation").removeClass("loading-signal-error");
jQuery("#loading-mediation").removeClass("loading-signal-done");
}
function toogle_mediation_comments(mediation) {
jQuery("#mediation-comment-list-" + mediation ).toggle();
jQuery("#mediation-comment-form-" + mediation ).toggle();
}
function new_mediation_comment(button, mediation) {
var form = jQuery(button).parents("form");
jQuery(".loading-mediation-comment").filter("#" + mediation).addClass("loading-signal-processing");
jQuery.post(form.attr("action"), form.serialize(), function(data) {
jQuery(".loading-mediation-comment").filter("#" + mediation).removeClass("loading-signal-processing");
if (data.ok) {
jQuery("#mediation-comment-form-" + mediation + " textarea").val('');
jQuery(".loading-mediation-comment").filter("#" + mediation).addClass("loading-signal-done");
setTimeout(function(){
clearLoadingMediationCommentSignal(mediation);
}, 3000);
}
else {
jQuery(".loading-mediation-comment").filter("#" + mediation).addClass("loading-signal-error");
setTimeout(clearLoadingMessageSignal, 3000);
}
}, 'json');
}
function new_message(button) {
var form = jQuery(button).parents("form");
jQuery("#loading-message").addClass("loading-signal-processing");
jQuery.post(form.attr("action"), form.serialize(), function(data) {
jQuery("#loading-message").removeClass("loading-signal-processing");
if (data.ok) {
jQuery(".hub .form #message_body").val('');
jQuery("#loading-message").addClass("loading-signal-done");
setTimeout(clearLoadingMessageSignal, 3000);
}
else {
jQuery("#loading-message").addClass("loading-signal-error");
setTimeout(clearLoadingMessageSignal, 3000);
}
}, 'json');
}
function new_mediation(button) {
var form = jQuery(button).parents("form");
jQuery("#loading-mediation").addClass("loading-signal-processing");
tinymce.triggerSave();
jQuery.post(form.attr("action"), form.serialize(), function(data) {
jQuery("#loading-mediation").removeClass("loading-signal-processing");
if (data.ok) {
jQuery("#loading-mediation").addClass("loading-signal-done");
tinymce.get('article_body').setContent('');
setTimeout(clearLoadingMediationSignal, 3000);
}
else {
jQuery("#loading-mediation").addClass("loading-signal-error");
setTimeout(clearLoadingMediationSignal, 3000);
}
}, 'json');
}
function promote_user(mediation, user_id) {
if (confirm(DEFAULT_PROMOTE_QUESTION)) {
var hub_id = jQuery(".hub").attr('id');
jQuery.ajax({
url: '/plugin/community_hub/public/promote_user',
type: 'get',
dataType: 'json',
data: { user: user_id, hub: hub_id },
success: function(data) {
jQuery(".promote a").filter("#" + mediation).replaceWith( '
' );
},
error: function(ajax, stat, errorThrown) {
console.log(stat);
}
});
}
}
function pin_message(post_id) {
if (confirm(DEFAULT_PIN_QUESTION)) {
var hub_id = jQuery(".hub").attr('id');
jQuery.ajax({
url: '/plugin/community_hub/public/pin_message',
type: 'get',
dataType: 'json',
data: { message: post_id, hub: hub_id },
success: function(data) {
jQuery(".pin a").filter("#" + post_id).replaceWith( '
' );
},
error: function(ajax, stat, errorThrown) {
console.log(stat);
}
});
}
}
function update_mediation_comments(mediation) {
if (jQuery("#mediation-section.show").size() != 0) {
var hub_id = jQuery(".hub").attr('id');
if (jQuery("#mediation-comment-list-" + mediation + " li").first().length == 0) {
var latest_post_id = 0;
}
else {
var latest_post_id = jQuery("#mediation-comment-list-" + mediation + " li.mediation-comment").last().attr('id');
}
jQuery.ajax({
url: '/plugin/community_hub/public/newer_mediation_comment',
type: 'get',
data: { latest_post: latest_post_id, mediation: mediation },
success: function(data) {
if (data.trim().length > 0) {
jQuery("#mediation-comment-list-" + mediation + "").append(data);
jQuery("#mediation-comment-total-" + mediation).html(jQuery("#mediation-comment-list-" + mediation + " li.mediation-comment").size());
}
},
error: function(ajax, stat, errorThrown) {
console.log(stat);
}
});
}
setTimeout(function() { update_mediation_comments(mediation); }, 5000);
}
function update_mediations() {
if (jQuery("#mediation-section.show").size() != 0) {
var hub_id = jQuery(".hub").attr('id');
if (jQuery("#mediation-posts li").first().length == 0) {
var latest_post_id = 0;
}
else {
var latest_post_id = jQuery("#mediation-posts li").first().attr('id');
}
jQuery.ajax({
url: '/plugin/community_hub/public/newer_articles',
type: 'get',
data: { latest_post: latest_post_id, hub: hub_id },
success: function(data) {
if (data.trim().length > 0) {
jQuery("#mediation-posts").prepend(data);
}
},
error: function(ajax, stat, errorThrown) {
console.log(stat);
}
});
}
setTimeout(update_mediations, 7000);
}
function update_live_stream() {
if (jQuery("#live-section.show").size() != 0) {
var hub_id = jQuery(".hub").attr('id');
if (jQuery("#live-posts li").first().length == 0) {
var latest_post_id = 0;
}
else {
var latest_post_id = jQuery("#live-posts li").first().attr('id');
}
jQuery.ajax({
url: '/plugin/community_hub/public/newer_comments',
type: 'get',
data: { latest_post: latest_post_id, hub: hub_id },
success: function(data) {
if (data.trim().length > 0) {
jQuery("#live-posts").prepend(data);
if (jQuery("#auto_scrolling").attr('checked')) {
jQuery("#live-posts").scrollTop(0);
}
else {
jQuery("#live-posts").scrollTop(live_scroll_position);
}
}
},
error: function(ajax, stat, errorThrown) {
console.log(stat);
}
});
}
//setTimeout(update_live_stream, 5000);
}
function hub_left_tab_click() {
jQuery("#mediation-section").removeClass('show');
jQuery("#mediation-section").addClass('hide');
jQuery("#live-section").removeClass('hide');
jQuery("#live-section").addClass('show');
}
function hub_right_tab_click() {
jQuery("#live-section").removeClass('show');
jQuery("#live-section").addClass('hide');
jQuery("#mediation-section").removeClass('hide');
jQuery("#mediation-section").addClass('show');
}
jQuery(document).ready(function() {
jQuery("#live-posts").scroll(function() {
live_scroll_position = jQuery("#live-posts").scrollTop();
});
jQuery(".hub #left-tab").click(hub_left_tab_click);
jQuery(".hub #right-tab").click(hub_right_tab_click);
setTimeout(update_live_stream, 5000);
setTimeout(update_mediations, 7000);
});