notification.find("form.mark-as-read button").click(function() {
$.getJSON("markAsKnown.ajax", {"formPassword": getFormPassword(), "type": $(":input[name=type]", this.form).val(), "id": $(":input[name=id]", this.form).val()});
});
+ notification.find("a[class^='link-']").each(function() {
+ linkElement = $(this);
+ if (linkElement.is("[href^='viewPost']")) {
+ id = linkElement.attr("class").substr(5);
+ if (hasPost(id)) {
+ linkElement.attr("href", "#post-" + id);
+ }
+ }
+ });
notification.find("form.dismiss button").click(function() {
$.getJSON("dismissNotification.ajax", { "formPassword" : getFormPassword(), "notification" : notification.attr("id") }, function(data, textStatus) {
/* dismiss in case of error, too. */
if (title.indexOf('(') != 0) {
document.title = "(!) " + title;
}
- setTimeout(toggleIcon, 1500);
+ if (!iconBlinking) {
+ setTimeout(toggleIcon, 1500);
+ iconBlinking = true;
+ }
}
}
/** Whether the icon is currently showing activity. */
var iconActive = false;
+/** Whether the icon is currently supposed to blink. */
+var iconBlinking = false;
+
/**
* Toggles the icon. If the window has gained focus and the icon is still
* showing the activity state, it is returned to normal.
changeIcon("images/icon.png");
iconActive = false;
}
+ iconBlinking = false;
} else {
iconActive = !iconActive;
console.log("showing icon: " + iconActive);