PageSourceSearch

https://collectie.hetnoordbrabantsmuseum.nl/Scripts/Base/ImageViewer.js

js hetnoordbrabantsmuseum.nl collected 2026-10-02 04:27:28 UTC 8,774 bytes, 229 lines download raw bytes

1if (typeof (AIS) !== "object") { var AIS = new Object(); }
2
3AIS.ImageViewer = function () {
4  return {
5
6    Open: function (sender) {
7
8      $(document).off("click", AIS.ImageViewer.NextImageButton);
9      $(document).off("click", AIS.ImageViewer.PreviousImageButton);
10
11      //bind events to buttons
12
13      AIS.ImageViewer.GetViewerHtml(sender);
14
15      // zooming
16      $(document).on("click", AIS.ImageViewer.ZoomInButton, function () {
17        var cz = $(AIS.ImageViewer.CurrentZoomMultiplier).val();
18        var zm = $(AIS.ImageViewer.ZoomMultiplier).val();
19        $(AIS.ImageViewer.CurrentZoomMultiplier).val(parseFloat(cz) + parseFloat(zm) - 1);
20        AIS.ImageViewer.UpdateImageURLSize();
21      });
22
23      $(document).on("click", AIS.ImageViewer.ZoomOutButton, function () {
24        var cz = $(AIS.ImageViewer.CurrentZoomMultiplier).val();
25        var zm = $(AIS.ImageViewer.ZoomMultiplier).val();
26        $(AIS.ImageViewer.CurrentZoomMultiplier).val(parseFloat(cz) - parseFloat(zm) + 1);
27        AIS.ImageViewer.UpdateImageURLSize();
28      });
29
30      // listing
31      $(document).on("click", AIS.ImageViewer.NextImageButton, function () {
32        var currIndex = parseInt($(AIS.ImageViewer.CurrentImageIndex).val());
33        if (currIndex + 1 >= AIS.ImageViewer.TotalImages) {
34          AIS.ImageViewer.SetIndex(0);
35        }
36        else {
37          AIS.ImageViewer.SetIndex(currIndex + 1);
38        }
39
40        var imageFilename = ($(AIS.ImageViewer.Filenames)[$(AIS.ImageViewer.CurrentImageIndex).val()]).value;
41
42        AIS.ImageViewer.UpdateImageURLSource(imageFilename);
43      });
44
45      $(document).on("click", AIS.ImageViewer.PreviousImageButton, function () {
46        var currIndex = $(AIS.ImageViewer.CurrentImageIndex).val();
47        if (currIndex <= 0) {
48          AIS.ImageViewer.SetIndex(AIS.ImageViewer.TotalImages - 1);
49        }
50        else {
51          AIS.ImageViewer.SetIndex(currIndex - 1);
52        }
53
54        var imageFilename = $(AIS.ImageViewer.Filenames)[$(AIS.ImageViewer.CurrentImageIndex).val()].value;
55
56        AIS.ImageViewer.UpdateImageURLSource(imageFilename);
57      });
58
59      // printing
60      $(document).on("click", AIS.ImageViewer.PrintButton, function () {
61        var printContents = $(".ais-image-viewer-image-container").html();
62        var newWindow = window.open();
63        newWindow.document.open();
64        newWindow.document.write(printContents);
65        newWindow.document.close(); // necessary for IE >= 10
66        newWindow.focus(); // necessary for IE >= 10
67        if (newWindow.addEventListener) {// W3C DOM
68          newWindow.addEventListener('load', (event) => {
69            newWindow.print();
70            setTimeout(function () {
71              newWindow.close();
72            }, 0);
73          });
74        }
75        else if (newWindow.attachEvent) { // IE DOM
76          newWindow.attachEvent("onload", function () {
77            newWindow.print();
78            newWindow.close();
79          });
80        }
81      });
82  },
83
84    // loading
85
86    GetViewerHtml: function (sender) {
87
88      var index = $(".ais-detail-image-viewer-script").index(sender);
89
90      var _commentImage = "false";
91      var urlSplit = document.URL.split("/");
92      var priref = urlSplit[urlSplit.length - 1];
93      if ($(sender).hasClass("ais-comment-image")) { _commentImage = "true"; }
94      $.ajax({
95        type: "get",
96        url: AIS.Helpers.ResolveUrl("/helper/GetImageViewer"),
97        data: {
98          filename: $($(".ais-image-filename-value").get(index)).val(),
99          databaseid: $(".ais-database-name").val(),
100          imageServer: $(".ais-image-server").val(),
101          priref: priref,
102          totalimages: $(AIS.ImageViewer.Filenames).length,
103          commentImage: _commentImage
104        },
105        dataType: "html",
106        success: function (html) {
107          $(AIS.ImageViewer.Popup).html(html);
108          $('.ais-image-viewer-image-element').attr("src", AIS.Helpers.ResolveUrl("/Content/GetContent?") + $('.ais-image-viewer-image-element').attr("src").split('?')[1] + "&imageformat=jpg");
109          $(AIS.ImageViewer.Popup).dialog({
110            title: "",
111            width: 'auto',
112            modal: true,
113            position: { my: "center", at: "top", of: window },
114            resizable: false,
115            open: function () {
116              jQuery('.ui-widget-overlay').bind('click', function () {
117                jQuery(AIS.ImageViewer.Popup).dialog('close');
118              })
119            }
120          });
121          var left = $(".page").position().left;
122          var top = $(".page").position().top;
123          $(".ui-dialog").css({
124            top: top + 'px',
125            left: left + 'px'
126          });
127          AIS.ImageViewer.SetIndex(index);
128        }
129      });
130    },
131
132  // url update functions
133
134  UpdateImageURLSize: function () {
135    var s = $(AIS.ImageViewer.DefaultSize).val();
136    var z = $(AIS.ImageViewer.CurrentZoomMultiplier).val();
137    if (z < 0.5) {
138      z = 0.5;
139      $(AIS.ImageViewer.CurrentZoomMultiplier).val(0.5);
140    }
141    if (z > 3) {
142      z = 3;
143      $(AIS.ImageViewer.CurrentZoomMultiplier).val(3);
144    }
145    var size = Math.floor(s * z);
146    if (size < $(AIS.ImageViewer.MinSize).val()) {
147      size = $(AIS.ImageViewer.MinSize).val();
148    }
149    var urlSplit = document.URL.split("/");
150    var priref = urlSplit[urlSplit.length - 1];
151    $.ajax({
152      type: "get",
153      url: AIS.Helpers.ResolveUrl("/helper/GetImageURL"),
154      async: false,
155      data: {
156        filename: AIS.ImageViewer.CurrentFilename(),
157        databaseid: $(".ais-database-name").val(),
158        imageServer: $(".ais-image-server").val(),
159        priref: priref,
160        size: size,
161        commentImage: AIS.ImageViewer.CommentImageFlag
162      },
163      dataType: "html",
164      success: function (url) {
165        //$(AIS.ImageViewer.Image).attr("src", url + "&imageformat=jpg");
166        $(AIS.ImageViewer.Image).attr("src", AIS.Helpers.ResolveUrl("/Content/GetContent?") + url.split('?')[1] + "&imageformat=jpg");
167        $(AIS.ImageViewer.CurrentSize).val(size);
168      }
169    });
170  },
171
172  UpdateImageURLSource: function (filename) {
173    var urlSplit = document.URL.split("/");
174    var priref = urlSplit[urlSplit.length - 1];
175    $.ajax({
176      type: "get",
177      url: AIS.Helpers.ResolveUrl("/helper/GetImageURL"),
178      data: {
179        filename: filename,
180        databaseid: $(".ais-database-name").val(),
181        imageServer: $(".ais-image-server").val(),
182        priref: priref,
183        size: $(AIS.ImageViewer.CurrentSize).val()
184      },
185      dataType: "html",
186      success: function (url) {
187        //$(AIS.ImageViewer.Image).attr("src", url + "&imageformat=jpg");
188        $(AIS.ImageViewer.Image).attr("src", AIS.Helpers.ResolveUrl("/Content/GetContent?") + url.split('?')[1] + "&imageformat=jpg");
189      }
190    });
191  },
192
193  // accessors
194
195  // buttons
196  NextImageButton: ".ais-images-listing-script .ais-next-image-script",
197    PreviousImageButton: ".ais-images-listing-script .ais-prev-image-script",
198      ZoomInButton: ".ais-image-viewer-zoom .ais-zoom-in-script",
199        ZoomOutButton: ".ais-image-viewer-zoom .ais-zoom-out-script",
200          PrintButton: "#ais-image-viewer-print .ais-print-script",
201            // variables
202            CurrentSize: ".ais-image-viewer-controls .ais-current-size-value",
203              CurrentImageIndex: ".ais-images-listing-script .ais-current-image-index-value",
204                CurrentFilename: function () {
205                  var index = $(AIS.ImageViewer.CurrentImageIndex).val();
206                  return $($(".ais-image-filename-value").get(index)).val();
207                },
208
209  SetIndex: function (index) {
210    $(AIS.ImageViewer.CurrentImageIndex).val(index);
211    $("span.ais-current-image-number-element").html(index + 1);
212  },
213
214  // inputs and settings
215  DefaultSize: ".ais-image-viewer-controls .ais-default-size-value",
216    MinSize: ".ais-image-viewer-controls .ais-image-viewer-zoom .ais-min-size-value",
217      ZoomMultiplier: ".ais-image-viewer-controls .ais-zoom-multiplier-value",
218        CurrentZoomMultiplier: ".ais-image-viewer-controls .ais-current-zoom-multiplier-value",
219          CommentImageFlag: ".ais-image-viewer-controls .ais-image-viewer-zoom .ais-comment-image-flag",
220            Filenames: ".ais-image-filename-value",
221              TotalImages: $(".ais-image-filename-value").length,
222
223                // objects 
224                Image: ".ais-popupwrapper-script .ais-image-viewer-image-container img.ais-image-viewer-image-element",
225                  Popup: ".ais-popupwrapper-script"
226
227}
228
229}();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.