return $("#sone #formPassword").text();
}
+/**
+ * Returns the element of the Sone with the given ID.
+ *
+ * @param soneId
+ * The ID of the Sone
+ * @returns All Sone elements with the given ID
+ */
+function getSone(soneId) {
+ return $("#sone .sone").filter(function(index) {
+ return $(".id").text() == soneId;
+ });
+}
+
function getSoneElement(element) {
return $(element).closest(".sone");
}
return getReplyElement(element).find(".reply-author").text();
}
+/**
+ * Returns the notification with the given ID.
+ *
+ * @param notificationId
+ * The ID of the notification
+ * @returns The notification element
+ */
+function getNotification(notificationId) {
+ return $("#sone #notification-area .notification#" + notificationId);
+}
+
+/**
+ * Returns the notification element closest to the given element.
+ *
+ * @param element
+ * The element to get the closest notification of
+ * @return The closest notification element
+ */
+function getNotificationElement(element) {
+ return $(element).closest(".notification");
+}
+
+/**
+ * Returns the ID of the notification element.
+ *
+ * @param notificationElement
+ * The notification element
+ * @returns The ID of the notification
+ */
+function getNotificationId(notificationElement) {
+ return $(notificationElement).attr("id");
+}
+
function likePost(postId) {
$.getJSON("like.ajax", { "type": "post", "post" : postId, "formPassword": getFormPassword() }, function(data, textStatus) {
if ((data == null) || !data.success) {
});
/* process notifications. */
$.each(data.notifications, function(index, value) {
- oldNotification = $("#sone #notification-area .notification#" + value.id);
+ oldNotification = getNotification(value.id);
notification = ajaxifyNotification(createNotification(value.id, value.text, value.dismissable)).hide();
if (oldNotification.length != 0) {
if ((oldNotification.find(".short-text").length > 0) && (notification.find(".short-text").length > 0)) {
*
* @param soneElement
* The Sone to mark as known
+ * @param skipRequest
+ * true to skip the JSON request, false or omit to perform the JSON
+ * request
*/
-function markSoneAsKnown(soneElement) {
+function markSoneAsKnown(soneElement, skipRequest) {
if ($(".new", soneElement).length > 0) {
- $.getJSON("maskAsKnown.ajax", {"formPassword": getFormPassword(), "type": "sone", "id": getSoneId(soneElement)}, function(data, textStatus) {
- $(soneElement).removeClass("new");
- });
+ if ((typeof skipRequest != "undefined") && !skipRequest) {
+ $.getJSON("maskAsKnown.ajax", {"formPassword": getFormPassword(), "type": "sone", "id": getSoneId(soneElement)}, function(data, textStatus) {
+ $(soneElement).removeClass("new");
+ });
+ }
}
}
-function markPostAsKnown(postElements) {
+function markPostAsKnown(postElements, skipRequest) {
$(postElements).each(function() {
postElement = this;
if ($(postElement).hasClass("new")) {
(function(postElement) {
$(postElement).removeClass("new");
$(".click-to-show", postElement).removeClass("new");
- $.getJSON("markAsKnown.ajax", {"formPassword": getFormPassword(), "type": "post", "id": getPostId(postElement)});
+ if ((typeof skipRequest == "undefined") || !skipRequest) {
+ $.getJSON("markAsKnown.ajax", {"formPassword": getFormPassword(), "type": "post", "id": getPostId(postElement)});
+ }
})(postElement);
}
});
markReplyAsKnown($(postElements).find(".reply"));
}
-function markReplyAsKnown(replyElements) {
+function markReplyAsKnown(replyElements, skipRequest) {
$(replyElements).each(function() {
replyElement = this;
if ($(replyElement).hasClass("new")) {
(function(replyElement) {
$(replyElement).removeClass("new");
- $.getJSON("markAsKnown.ajax", {"formPassword": getFormPassword(), "type": "reply", "id": getReplyId(replyElement)});
+ if ((typeof skipRequest == "undefined") || !skipRequest) {
+ $.getJSON("markAsKnown.ajax", {"formPassword": getFormPassword(), "type": "reply", "id": getReplyId(replyElement)});
+ }
})(replyElement);
}
});