Rework pretty much all image displaying code
[Sone.git] / src / main / resources / static / javascript / sone.js
index 07c5b3d..3235f51 100644 (file)
@@ -1878,6 +1878,22 @@ var currentSoneMenuId;
 /** Timeout handler for the next-to-show Sone context menu. */
 var currentSoneMenuTimeoutHandler;
 
+function replaceImagesWithErrorWithBrokenImages() {
+       var replaceImage = function(imageElement, sourcePath) {
+               $(imageElement).attr("src", sourcePath)
+                       .attr("width", "160")
+                       .attr("height", "120")
+                       .attr("style", "position: absolute; top: 0px; left: 0px; opacity: .25");
+       };
+
+       $(".image-in-album .image img").error(function () {
+               replaceImage(this, "images/broken-image.png");
+       });
+       $(".album .image img").error(function () {
+               replaceImage(this, "images/broken-album.png");
+       });
+}
+
 $(document).ready(function() {
 
        /* rip out the status update textarea. */
@@ -2005,6 +2021,8 @@ $(document).ready(function() {
        /* activate status polling. */
        setTimeout(getStatus, 5000);
 
+       replaceImagesWithErrorWithBrokenImages();
+
        /* reset activity counter when the page has focus. */
        $(window).focus(function() {
                focus = true;