Fix Sone marking.
[Sone.git] / src / main / resources / static / javascript / sone.js
index 8065b73..b6987c3 100644 (file)
@@ -277,7 +277,7 @@ function getFormPassword() {
  */
 function getSone(soneId) {
        return $("#sone .sone").filter(function(index) {
-               return $(".id").text() == soneId;
+               return $(".id", this).text() == soneId;
        });
 }
 
@@ -1280,11 +1280,10 @@ function loadNewReply(replyId, soneId, postId, postSoneId) {
  *            request
  */
 function markSoneAsKnown(soneElement, skipRequest) {
-       if ($(".new", soneElement).length > 0) {
-               if ((typeof skipRequest != "undefined") && !skipRequest) {
-                       $.getJSON("maskAsKnown.ajax", {"formPassword": getFormPassword(), "type": "sone", "id": getSoneId(soneElement)}, function(data, textStatus) {
-                               $(soneElement).removeClass("new");
-                       });
+       if ($(soneElement).is(".new")) {
+               $(soneElement).removeClass("new");
+               if ((typeof skipRequest == "undefined") || !skipRequest) {
+                       $.getJSON("markAsKnown.ajax", {"formPassword": getFormPassword(), "type": "sone", "id": getSoneId(soneElement)});
                }
        }
 }
@@ -1692,6 +1691,11 @@ $(document).ready(function() {
                ajaxifyNotification($(this));
        });
 
+       /* disable all permalinks. */
+       $(".permalink").click(function() {
+               return false;
+       });
+
        /* activate status polling. */
        setTimeout(getStatus, 5000);