Mercurial > hg > ismi-richfaces
changeset 27:0f907d47b956
Fixed: Updated diva
Updated diva to version 3.1.0.
Updated page layout to fit larger screens.
author | arussell |
---|---|
date | Wed, 13 May 2015 15:26:23 +0000 |
parents | b9ce41e5f80b |
children | b943b16d9b33 |
files | src/main/webapp/imageServer/resources/css/diva.min.css src/main/webapp/imageServer/resources/css/style.css src/main/webapp/imageServer/resources/img/fullscreen.png src/main/webapp/imageServer/resources/img/plugins/canvas.png src/main/webapp/imageServer/resources/img/plugins/play.png src/main/webapp/imageServer/resources/img/zoomin.png src/main/webapp/imageServer/resources/img/zoomout.png src/main/webapp/imageServer/resources/js/diva.min.js src/main/webapp/resources/css/ismi-db/default.css |
diffstat | 9 files changed, 131 insertions(+), 2539 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/webapp/imageServer/resources/css/diva.min.css Wed May 13 15:26:14 2015 +0000 +++ b/src/main/webapp/imageServer/resources/css/diva.min.css Wed May 13 15:26:23 2015 +0000 @@ -1,1 +1,1 @@ -.hidden{display:none}.grab{cursor:url("../img/openhand.cur"),pointer}.grabbing{cursor:url("../img/closedhand.cur"),move !important}.loading{background:url("../img/loading.gif") no-repeat center}.full-width{width:100% !important;max-width:100% !important}.full-height{height:100% !important;max-height:100% !important}.prevent-selection{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.diva-title{text-align:center;font-weight:bold;font-size:2em}.diva-tools{margin-top:15px}.diva-tools .diva-tools-left{float:left}.diva-tools .diva-tools-left .diva-slider-label{display:none;padding:7px 0;clear:both}.diva-tools .diva-tools-left.diva-fullscreen-space{margin-left:40px}.diva-tools .diva-tools-left.in-fullscreen{float:right;padding-top:10px;text-align:right;clear:both}.diva-tools .diva-tools-right{float:right;height:42px;position:relative;left:2px}.diva-tools .diva-tools-right .diva-button{float:right;cursor:pointer;height:32px;width:32px;background-color:#f1f1f1;background-repeat:no-repeat;background-position:center;border:1px solid #99bbe8}.diva-tools .diva-tools-right .diva-button:hover{background-color:#fdfdfd}.diva-tools .diva-tools-right .diva-grid-icon{float:right;cursor:pointer;height:32px;width:32px;background-color:#f1f1f1;background-repeat:no-repeat;background-position:center;border:1px solid #99bbe8;background-image:url("../img/grid.png")}.diva-tools .diva-tools-right .diva-grid-icon:hover{background-color:#fdfdfd}.diva-tools .diva-tools-right .diva-grid-icon.diva-in-grid{background-image:url("../img/document.png")}.diva-tools .diva-tools-right .diva-link-icon{float:right;cursor:pointer;height:32px;width:32px;background-color:#f1f1f1;background-repeat:no-repeat;background-position:center;border:1px solid #99bbe8;background-image:url("../img/link.png")}.diva-tools .diva-tools-right .diva-link-icon:hover{background-color:#fdfdfd}.diva-tools .diva-tools-right .diva-page-nav{float:left;text-align:right;padding-right:4px;white-space:nowrap}.diva-tools .diva-tools-right .diva-page-nav .diva-page-label{padding-top:2px;padding-right:2px}.diva-tools .diva-tools-right .diva-page-nav .diva-goto-form{text-align:right}.diva-tools .diva-tools-right .diva-page-nav .diva-goto-form .diva-input{width:30px;outline:none;margin:0;padding-top:0}.diva-tools.diva-fullscreen-tools{position:fixed;top:0;right:30px;z-index:101;width:210px;padding:15px 15px 10px 15px;border:1px solid #ddd;background:#fff;-webkit-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);-moz-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5)}.diva-outer{clear:both;background:#f1f1f1;border:1px solid #99bbe8;position:relative;min-height:100px;min-width:200px;height:700px;overflow:auto}.diva-outer .diva-inner{position:relative;overflow:hidden}.diva-outer .diva-inner .diva-page{-webkit-box-shadow:2px 2px 6px 0 rgba(0,0,0,0.5);-moz-box-shadow:2px 2px 6px 0 rgba(0,0,0,0.5);box-shadow:2px 2px 6px 0 rgba(0,0,0,0.5);background:url("../img/loading.gif") no-repeat center;position:absolute}.diva-outer .diva-inner .diva-document-page{-webkit-box-shadow:2px 2px 6px 0 rgba(0,0,0,0.5);-moz-box-shadow:2px 2px 6px 0 rgba(0,0,0,0.5);box-shadow:2px 2px 6px 0 rgba(0,0,0,0.5);background:url("../img/loading.gif") no-repeat center;position:absolute;left:0;right:0;margin:0 auto}.diva-outer .diva-inner .diva-document-page .diva-page-tools{position:absolute;top:-25px;left:0;height:25px;z-index:3}.diva-outer .diva-inner .diva-document-page .diva-page-tools div{display:inline-block;height:25px;width:25px;cursor:pointer}.diva-outer .diva-inner .diva-row{position:absolute;width:100%}.diva-outer .diva-inner.diva-grab{cursor:url("../img/openhand.cur"),pointer}.diva-outer .diva-inner.diva-grabbing{cursor:url("../img/closedhand.cur"),move !important}.diva-outer.diva-fullscreen{width:100% !important;max-width:100% !important;height:100% !important;max-height:100% !important;z-index:100;position:fixed !important;top:0;left:0}.diva-fullscreen-icon{position:absolute;z-index:101;top:5px;left:5px;height:26px;width:26px;cursor:pointer;background:url("../img/fullscreen.png") no-repeat}.diva-fullscreen-icon:hover{background-position:-26px 0}.diva-fullscreen-icon.diva-contained{top:50px}.diva-fullscreen-icon.diva-in-fullscreen{position:fixed}.diva-link-popup{background:#fff;border:1px solid #ddd;height:28px;width:230px;position:absolute;padding:5px;z-index:101;-webkit-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);-moz-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5)}.diva-link-popup input{width:226px;margin-top:5px}.diva-link-popup input:focus{outline:none}.diva-link-popup.in-fullscreen{top:150px;right:30px}.diva-hide-scrollbar{overflow:hidden !important}.diva-relative-position{position:relative}.ui-slider{display:none;position:relative;border:1px solid #ddd;background:#fdfdfd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;height:6px;width:100px;z-index:1}.ui-slider .ui-slider-handle{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;border:1px solid #ccc;background:#fdfdfd;outline:none;height:11px;width:11px;z-index:2;cursor:default;position:absolute;top:-3px;margin-left:-2px}.ui-slider .ui-slider-handle.hover{background:#ecf2fb;border:1px solid #6f9fdf}.ui-slider .ui-slider-handle.active{background:#fff;border:1px solid #99bbe8}.diva-throbber{display:none;position:absolute;width:50px;height:50px;background:url("../img/loading.gif") no-repeat center;background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);-moz-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);top:50%;left:50%;margin-left:-25px;margin-top:-25px}.diva-canvas-icon{background:url('../img/plugins/canvas.png') no-repeat;background-position:left center}.diva-canvas-icon:hover{background-position:-25px center}.diva-canvas-icon.new{background-position:-50px center}.diva-canvas-icon.new:hover{background-position:-75px center}#diva-canvas-backdrop{z-index:105;position:fixed;top:0;left:0;bottom:0;right:0;display:none;background:rgba(50,50,50,0.9)}#diva-canvas-tools{color:#333;position:fixed;top:10px;left:10px;width:230px;z-index:108;background:#fff;padding-bottom:10px;-webkit-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);-moz-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5)}#diva-canvas-tools .action-buttons{clear:both;margin-bottom:5px;text-align:right}#diva-canvas-tools .action-buttons a{color:#333;text-decoration:none;background:#f1f1f1;padding:5px;border:1px solid #99bbe8}#diva-canvas-tools .action-buttons a:last-child{border-left:0}#diva-canvas-tools .action-buttons a:hover{background:#fdfdfd}#diva-canvas-toolbar{height:16px;padding:10px;padding-bottom:0}#diva-canvas-toolbar div{height:18px;width:18px;background-repeat:no-repeat;cursor:pointer;z-index:109;display:inline-block;margin-right:5px;background-image:url("../img/actions.png")}#diva-canvas-toolbar span{vertical-align:top;float:right}#diva-canvas-toolwindow{position:relative;margin:10px}#diva-canvas-close:hover{background-position:-20px 0}#diva-canvas-minimise{background-position:-40px 0}#diva-canvas-minimise:hover{background-position:-60px 0}#diva-canvas-buttons div{cursor:pointer;background-image:url("../img/plugins/canvas-buttons.png");background-repeat:no-repeat;width:20px;height:20px;padding:5px;display:inline-block}#diva-canvas-buttons div.clicked{background-color:#ddd}#diva-canvas-buttons .contrast{background-position:5px 5px}#diva-canvas-buttons .contrast:hover,#diva-canvas-buttons .contrast.clicked{background-position:5px -25px}#diva-canvas-buttons .brightness{background-position:-25px 5px}#diva-canvas-buttons .brightness:hover,#diva-canvas-buttons .brightness.clicked{background-position:-25px -25px}#diva-canvas-buttons .rotation{background-position:-55px 5px}#diva-canvas-buttons .rotation:hover,#diva-canvas-buttons .rotation.clicked{background-position:-55px -25px}#diva-canvas-buttons .zoom{background-position:-85px 5px}#diva-canvas-buttons .zoom:hover,#diva-canvas-buttons .zoom.clicked{background-position:-85px -25px}#diva-canvas-buttons .red{background-position:-115px 5px}#diva-canvas-buttons .red:hover,#diva-canvas-buttons .red.clicked{background-position:-115px -25px}#diva-canvas-buttons .green{background-position:-145px 5px}#diva-canvas-buttons .green:hover,#diva-canvas-buttons .green.clicked{background-position:-145px -25px}#diva-canvas-buttons .blue{background-position:-175px 5px}#diva-canvas-buttons .blue:hover,#diva-canvas-buttons .blue.clicked{background-position:-175px -25px}#diva-canvas-pane{background:#ddd;padding-bottom:10px}#diva-canvas-pane p{margin-left:10px;padding-top:10px}#diva-canvas-pane p .link{cursor:pointer}#diva-canvas-pane p .link:hover{text-decoration:underline}#diva-canvas-mode{text-transform:capitalize}#diva-canvas-slider{width:188px;margin:0 auto;display:block}#diva-canvas-slider .handle{margin-left:-6px}#diva-canvas-minimap{height:210px;width:210px;cursor:crosshair;margin-bottom:10px;background:#000}#diva-canvas{position:absolute;left:0;right:0;margin:0 auto;z-index:107;cursor:url("../img/openhand.cur"),pointer}#diva-map-viewbox{border:2px solid #99bbe8;position:absolute;top:10px;left:10px;cursor:crosshair;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:none}.overflow-hidden{overflow:hidden !important}#diva-canvas-wrapper{z-index:106;position:absolute;top:0;left:0;bottom:0;right:0;overflow:scroll}.canvas-throbber{z-index:110;position:fixed}.diva-download-icon{background:url('../img/plugins/download.png') no-repeat;background-position:left center}.diva-download-icon:hover{background-position:-25px center} \ No newline at end of file +.hidden{display:none}.grab{cursor:url("../img/openhand.cur"),pointer}.grabbing{cursor:url("../img/closedhand.cur"),move !important}.loading{background:url("../img/loading.gif") no-repeat center}.full-width{width:100% !important;max-width:100% !important}.full-height{height:100% !important;max-height:100% !important}.prevent-selection{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.button{cursor:pointer;height:32px;width:32px;background-color:#f1f1f1;background-repeat:no-repeat;background-position:center;border:1px solid #99bbe8}@media screen and (min-device-width:769px){.button:hover{background-color:#fdfdfd}}.diva-title{text-align:center;font-weight:bold;font-size:2em}.diva-tools{margin-top:5px}.diva-tools .diva-tools-left{float:left}.diva-tools .diva-tools-left .diva-slider-label{display:none;padding:8px;float:left}.diva-tools .diva-tools-left .diva-zoom-buttons-label{display:none;padding:8px;float:left}.diva-tools .diva-tools-left .diva-zoom-out-button{display:none;float:left;background-image:url("../img/zoomout.png")}.diva-tools .diva-tools-left .diva-zoom-in-button{display:none;float:left;background-image:url("../img/zoomin.png");margin-left:-1px}.diva-tools .diva-tools-left .diva-grid-out-button{display:none;float:left;background-image:url("../img/zoomout.png")}.diva-tools .diva-tools-left .diva-grid-in-button{display:none;float:left;background-image:url("../img/zoomin.png");margin-left:-1px}.diva-tools .diva-tools-left .diva-buttons-label{display:none;padding:8px;float:left}.diva-tools .diva-tools-left.in-fullscreen{float:left;clear:none}.diva-tools .diva-tools-right{float:right;height:42px}.diva-tools .diva-tools-right .diva-grid-icon{float:right;background-image:url("../img/grid.png")}.diva-tools .diva-tools-right .diva-grid-icon.diva-in-grid{background-image:url("../img/document.png")}.diva-tools .diva-tools-right .diva-link-icon{float:right;background-image:url("../img/link.png")}.diva-tools .diva-tools-right .diva-page-nav{float:left;text-align:right;padding-right:4px;white-space:nowrap;line-height:32px}.diva-tools .diva-tools-right .diva-page-nav .diva-page-label{float:left;padding-top:1px;padding-right:.5em;line-height:32px}.diva-tools .diva-tools-right .diva-page-nav .diva-goto-form{float:right}.diva-tools .diva-tools-right .diva-page-nav .diva-goto-form .diva-input{width:30px;outline:none;margin:0;padding-top:0}.diva-tools.diva-fullscreen-tools{position:fixed;top:0;right:30px;z-index:101;width:230px;height:73px;padding:15px;border:1px solid #ddd;background:#fff;-webkit-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);-moz-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5)}.diva-tools.diva-fullscreen-tools .diva-buttons-label{margin-top:5px;padding:0;clear:both}.diva-tools.diva-fullscreen-tools .diva-page-nav{float:none;line-height:1em}.diva-tools.diva-fullscreen-tools .diva-page-nav .diva-goto-form{margin-top:9px}.diva-tools.diva-fullscreen-tools .diva-page-nav .diva-page-label{float:none;clear:both;line-height:1em}.diva-outer{clear:both;background:#f1f1f1;border:1px solid #99bbe8;position:relative;min-height:100px;min-width:200px;height:700px;overflow:auto}.diva-outer .diva-inner{position:relative;overflow:hidden;margin:0 auto}.diva-outer .diva-inner .diva-page{-webkit-box-shadow:2px 2px 6px 0 rgba(0,0,0,0.5);-moz-box-shadow:2px 2px 6px 0 rgba(0,0,0,0.5);box-shadow:2px 2px 6px 0 rgba(0,0,0,0.5);background:url("../img/loading.gif") no-repeat center;position:absolute}.diva-outer .diva-inner .diva-document-page{-webkit-box-shadow:2px 2px 6px 0 rgba(0,0,0,0.5);-moz-box-shadow:2px 2px 6px 0 rgba(0,0,0,0.5);box-shadow:2px 2px 6px 0 rgba(0,0,0,0.5);background:url("../img/loading.gif") no-repeat center;position:absolute;left:0;right:0}.diva-outer .diva-inner .diva-document-page .diva-page-tools{position:absolute;top:-25px;left:0;height:25px;z-index:3}.diva-outer .diva-inner .diva-document-page .diva-page-tools div{display:inline-block;height:25px;width:25px;cursor:pointer}.diva-outer .diva-inner .diva-page-vertical{margin:0 auto;display:inline-block}.diva-outer .diva-inner .diva-page-horizontal{vertical-align:middle;display:inline-block;top:50%;transform:translate(0, -50%);-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%)}.diva-outer .diva-inner .diva-row{position:absolute;width:100%}.diva-outer .diva-inner.diva-grab{cursor:url("../img/openhand.cur"),pointer}.diva-outer .diva-inner.diva-grabbing{cursor:url("../img/closedhand.cur"),move !important}.diva-outer.diva-fullscreen{width:100% !important;max-width:100% !important;height:100% !important;max-height:100% !important;z-index:100;position:fixed !important;top:0;left:0;margin:0;border:0}.diva-fullscreen-icon{background-image:url("../img/fullscreen.png");border-left:0;float:right}.diva-popup{background:#fff;border:1px solid #99bbe8;padding:.6em;z-index:101;position:absolute;-webkit-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);-moz-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5)}.diva-link-popup{font-size:10pt}.diva-link-popup input{width:15em}.diva-link-popup input:focus{outline:none}.diva-link-popup.in-fullscreen{top:150px;right:30px}.diva-hide-scrollbar{overflow:hidden !important}.diva-relative-position{position:relative}.zoom-slider{position:relative;top:.6em;display:none;float:left}@media (max-width:480px){.zoom-slider{width:100px}}.grid-slider{position:relative;top:.6em;display:none;float:left}@media (max-width:480px){.grid-slider{width:100px}}.diva-throbber{display:none;position:absolute;width:50px;height:50px;background:url("../img/loading.gif") no-repeat center;background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);-moz-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);top:50%;left:50%;margin-left:-25px;margin-top:-25px}.diva-error{position:absolute;width:400px;height:200px;background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);-moz-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);top:50%;left:50%;margin-left:-220px;margin-top:-120px;z-index:120;padding:0 1em}.diva-canvas-icon{background:url('../img/plugins/canvas.png') no-repeat;background-position:left center}.diva-canvas-icon:hover{background-position:-25px center}.diva-canvas-icon.new{background-position:-50px center}.diva-canvas-icon.new:hover{background-position:-75px center}#diva-canvas-backdrop{z-index:105;position:fixed;top:0;left:0;bottom:0;right:0;display:none;background:rgba(50,50,50,0.9)}#diva-canvas-tools{color:#333;position:fixed;top:10px;left:10px;width:230px;z-index:108;background:#fff;padding-bottom:10px;-webkit-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);-moz-box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5);box-shadow:2px 2px 4px 0 rgba(0,0,0,0.5)}#diva-canvas-tools .action-buttons{clear:both;margin-bottom:5px;text-align:right}#diva-canvas-tools .action-buttons a{color:#333;text-decoration:none;background:#f1f1f1;padding:5px;border:1px solid #99bbe8}#diva-canvas-tools .action-buttons a:last-child{border-left:0}#diva-canvas-tools .action-buttons a:hover{background:#fdfdfd}#diva-canvas-toolbar{height:16px;padding:10px;padding-bottom:0}#diva-canvas-toolbar div{height:18px;width:18px;background-repeat:no-repeat;cursor:pointer;z-index:109;display:inline-block;margin-right:5px;background-image:url("../img/actions.png")}#diva-canvas-toolbar span{vertical-align:top;float:right}#diva-canvas-toolwindow{position:relative;margin:10px}#diva-canvas-close:hover{background-position:-20px 0}#diva-canvas-minimise{background-position:-40px 0}#diva-canvas-minimise:hover{background-position:-60px 0}#diva-canvas-buttons div{cursor:pointer;background-image:url("../img/plugins/canvas-buttons.png");background-repeat:no-repeat;width:20px;height:20px;padding:5px;display:inline-block}#diva-canvas-buttons div.clicked{background-color:#ddd}#diva-canvas-buttons .contrast{background-position:5px 5px}#diva-canvas-buttons .contrast:hover,#diva-canvas-buttons .contrast.clicked{background-position:5px -25px}#diva-canvas-buttons .brightness{background-position:-25px 5px}#diva-canvas-buttons .brightness:hover,#diva-canvas-buttons .brightness.clicked{background-position:-25px -25px}#diva-canvas-buttons .rotation{background-position:-55px 5px}#diva-canvas-buttons .rotation:hover,#diva-canvas-buttons .rotation.clicked{background-position:-55px -25px}#diva-canvas-buttons .zoom{background-position:-85px 5px}#diva-canvas-buttons .zoom:hover,#diva-canvas-buttons .zoom.clicked{background-position:-85px -25px}#diva-canvas-buttons .red{background-position:-115px 5px}#diva-canvas-buttons .red:hover,#diva-canvas-buttons .red.clicked{background-position:-115px -25px}#diva-canvas-buttons .green{background-position:-145px 5px}#diva-canvas-buttons .green:hover,#diva-canvas-buttons .green.clicked{background-position:-145px -25px}#diva-canvas-buttons .blue{background-position:-175px 5px}#diva-canvas-buttons .blue:hover,#diva-canvas-buttons .blue.clicked{background-position:-175px -25px}#diva-canvas-pane{background:#ddd;padding-bottom:10px}#diva-canvas-pane p{margin-left:10px;padding-top:10px}#diva-canvas-pane p .link{cursor:pointer}#diva-canvas-pane p .link:hover{text-decoration:underline}#diva-canvas-mode{text-transform:capitalize}#diva-canvas-slider{width:188px;margin:0 auto;display:block}#diva-canvas-slider .handle{margin-left:-6px}#diva-canvas-minimap{height:210px;width:210px;cursor:crosshair;margin-bottom:10px;background:#000}#diva-canvas{position:absolute;left:0;right:0;margin:0 auto;z-index:107;cursor:url("../img/openhand.cur"),pointer}#diva-map-viewbox{border:2px solid #99bbe8;position:absolute;top:10px;left:10px;cursor:crosshair;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:none}.overflow-hidden{overflow:hidden !important}#diva-canvas-wrapper{z-index:106;position:absolute;top:0;left:0;bottom:0;right:0;overflow:scroll}.canvas-throbber{z-index:110;position:fixed}.diva-download-icon{background:url('../img/plugins/download.png') no-repeat;background-position:left center}.diva-download-icon:hover{background-position:-25px center}.diva-autoscroll-icon{float:right;border-right:none;background-image:url("../img/plugins/play.png")}.diva-autoscroll-prefs{display:none;margin-right:.6em}.diva-autoscroll-prefs-text{float:left}.diva-autoscroll-prefs-input{float:right;margin-left:.6em}.diva-autoscroll-pps{width:5em} \ No newline at end of file
--- a/src/main/webapp/imageServer/resources/css/style.css Wed May 13 15:26:14 2015 +0000 +++ b/src/main/webapp/imageServer/resources/css/style.css Wed May 13 15:26:23 2015 +0000 @@ -7,5 +7,5 @@ min-width: 960px; */ margin: 0 auto; - width: 80%; + width: 95%; } \ No newline at end of file
--- a/src/main/webapp/imageServer/resources/js/diva.min.js Wed May 13 15:26:14 2015 +0000 +++ b/src/main/webapp/imageServer/resources/js/diva.min.js Wed May 13 15:26:23 2015 +0000 @@ -1,2533 +1,125 @@ -Storage.prototype.setObject = function (b, e) { - this.setItem(b, JSON.stringify(e)) -}; -Storage.prototype.getObject = function (b) { - return (b = this.getItem(b)) && JSON.parse(b) -}; -(function (b) { - var e = 1; - b.generateId = function (b) { - var c; - do c = e+++(b ? "-" + b : ""); while (document.getElementById(c)); - return c - } -})(jQuery); -(function (b) { - b.getScrollbarWidth = function () { - var b = document.createElement("p"); - b.style.width = "100%"; - b.style.height = "200px"; - var d = document.createElement("div"); - d.style.position = "absolute"; - d.style.top = "0px"; - d.style.left = "0px"; - d.style.visibility = "hidden"; - d.style.width = "200px"; - d.style.height = "150px"; - d.style.overflow = "hidden"; - d.appendChild(b); - document.body.appendChild(d); - var c = b.offsetWidth; - d.style.overflow = "scroll"; - b = b.offsetWidth; - c == b && (b = d.clientWidth); - document.body.removeChild(d); - return c - b - } -})(jQuery); -(function (b) { - b.getHashParam = function (b) { - var d = window.location.hash; - if ("" !== d) { - var c = 0 < d.indexOf("&" + b + "=") ? d.indexOf("&" + b + "=") : d.indexOf("#" + b + "="); - if (0 <= c) return c += b.length + 2, b = d.indexOf("&", c), b > c ? d.substring(c, b) : 0 > b ? d.substring(c) : "" - } - return !1 - } -})(jQuery); -(function (b) { - b.updateHashParam = function (e, d) { - var c = b.getHashParam(e), - a = window.location.hash; - if (c !== d) - if ("string" == typeof c) { - var f = 0 < a.indexOf("&" + e + "=") ? a.indexOf("&" + e + "=") : a.indexOf("#" + e + "="), - c = f + e.length + 2 + c.length, - l = 0 === f ? "#" : "&"; - window.location.replace(a.substring(0, f) + l + e + "=" + d + a.substring(c)) - } else 0 === a.length ? window.location.replace("#" + e + "=" + d) : window.location.replace(a + "&" + e + "=" + d) - } -})(jQuery); -jQuery.fn.oneFingerScroll = function () { - var b, e; - $(this).bind("touchstart", function (d) { - d = d.originalEvent; - b = $(this).scrollTop() + d.touches[0].pageY; - e = $(this).scrollLeft() + d.touches[0].pageX; - d.preventDefault() - }); - $(this).bind("touchmove", function (d) { - d = d.originalEvent; - $(this).scrollTop(b - d.touches[0].pageY); - $(this).scrollLeft(e - d.touches[0].pageX); - d.preventDefault() - }); - return this -}; -(function (b) { - b.fn.dragscrollable = function (e) { - var d = b.extend({ - dragSelector: ">:first", - acceptPropagatedEvent: !0, - preventDefault: !0 - }, e || {}), - c = { - mouseDownHandler: function (a) { - if (1 != a.which || !a.data.acceptPropagatedEvent && a.target != this) return !1; - a.data.lastCoord = { - left: a.clientX, - top: a.clientY - }; - b.event.add(document, "mouseup", c.mouseUpHandler, a.data); - b.event.add(document, "mousemove", c.mouseMoveHandler, a.data); - if (a.data.preventDefault) return a.preventDefault(), !1 - }, - mouseMoveHandler: function (a) { - var b = a.clientX - - a.data.lastCoord.left, - c = a.clientY - a.data.lastCoord.top; - a.data.scrollable.scrollLeft(a.data.scrollable.scrollLeft() - b); - a.data.scrollable.scrollTop(a.data.scrollable.scrollTop() - c); - a.data.lastCoord = { - left: a.clientX, - top: a.clientY - }; - if (a.data.preventDefault) return a.preventDefault(), !1 - }, - mouseUpHandler: function (a) { - b.event.remove(document, "mousemove", c.mouseMoveHandler); - b.event.remove(document, "mouseup", c.mouseUpHandler); - if (a.data.preventDefault) return a.preventDefault(), !1 - } - }; - this.each(function () { - var a = { - scrollable: b(this), - acceptPropagatedEvent: d.acceptPropagatedEvent, - preventDefault: d.preventDefault - }; - b(this).find(d.dragSelector).bind("mousedown", a, c.mouseDownHandler) - }) - } -})(jQuery); -(function (b, e) { - function d(a, d) { - var e, f, m, n = a.nodeName.toLowerCase(); - return "area" === n ? (e = a.parentNode, f = e.name, a.href && f && "map" === e.nodeName.toLowerCase() ? (m = b("img[usemap=#" + f + "]")[0], !! m && c(m)) : !1) : (/input|select|textarea|button|object/.test(n) ? !a.disabled : "a" === n ? a.href || d : d) && c(a) - } - - function c(a) { - return b.expr.filters.visible(a) && !b(a).parents().addBack().filter(function () { - return "hidden" === b.css(this, "visibility") - }).length - } - var a = 0, - f = /^ui-id-\d+$/; - b.ui = b.ui || {}; - b.extend(b.ui, { - version: "1.10.3", - keyCode: { - BACKSPACE: 8, - COMMA: 188, - DELETE: 46, - DOWN: 40, - END: 35, - ENTER: 13, - ESCAPE: 27, - HOME: 36, - LEFT: 37, - NUMPAD_ADD: 107, - NUMPAD_DECIMAL: 110, - NUMPAD_DIVIDE: 111, - NUMPAD_ENTER: 108, - NUMPAD_MULTIPLY: 106, - NUMPAD_SUBTRACT: 109, - PAGE_DOWN: 34, - PAGE_UP: 33, - PERIOD: 190, - RIGHT: 39, - SPACE: 32, - TAB: 9, - UP: 38 - } - }); - b.fn.extend({ - focus: function (a) { - return function (d, c) { - return "number" == typeof d ? this.each(function () { - var a = this; - setTimeout(function () { - b(a).focus(); - c && c.call(a) - }, d) - }) : a.apply(this, arguments) - } - }(b.fn.focus), - scrollParent: function () { - var a; - return a = b.ui.ie && /(static|relative)/.test(this.css("position")) || - /absolute/.test(this.css("position")) ? this.parents().filter(function () { - return /(relative|absolute|fixed)/.test(b.css(this, "position")) && /(auto|scroll)/.test(b.css(this, "overflow") + b.css(this, "overflow-y") + b.css(this, "overflow-x")) - }).eq(0) : this.parents().filter(function () { - return /(auto|scroll)/.test(b.css(this, "overflow") + b.css(this, "overflow-y") + b.css(this, "overflow-x")) - }).eq(0), /fixed/.test(this.css("position")) || !a.length ? b(document) : a - }, - zIndex: function (a) { - if (a !== e) return this.css("zIndex", a); - if (this.length) { - var d, - c; - for (a = b(this[0]); a.length && a[0] !== document;) { - if (d = a.css("position"), ("absolute" === d || "relative" === d || "fixed" === d) && (c = parseInt(a.css("zIndex"), 10), !isNaN(c) && 0 !== c)) return c; - a = a.parent() - } - } - return 0 - }, - uniqueId: function () { - return this.each(function () { - this.id || (this.id = "ui-id-" + ++a) - }) - }, - removeUniqueId: function () { - return this.each(function () { - f.test(this.id) && b(this).removeAttr("id") - }) - } - }); - b.extend(b.expr[":"], { - data: b.expr.createPseudo ? b.expr.createPseudo(function (a) { - return function (d) { - return !!b.data(d, a) - } - }) : function (a, d, c) { - return !!b.data(a, c[3]) - }, - focusable: function (a) { - return d(a, !isNaN(b.attr(a, "tabindex"))) - }, - tabbable: function (a) { - var c = b.attr(a, "tabindex"), - e = isNaN(c); - return (e || 0 <= c) && d(a, !e) - } - }); - b("<a>").outerWidth(1).jquery || b.each(["Width", "Height"], function (a, c) { - function d(a, c, e, l) { - return b.each(f, function () { - c -= parseFloat(b.css(a, "padding" + this)) || 0; - e && (c -= parseFloat(b.css(a, "border" + this + "Width")) || 0); - l && (c -= parseFloat(b.css(a, "margin" + this)) || 0) - }), c - } - var f = "Width" === c ? ["Left", "Right"] : ["Top", "Bottom"], - m = c.toLowerCase(), - n = { - innerWidth: b.fn.innerWidth, - innerHeight: b.fn.innerHeight, - outerWidth: b.fn.outerWidth, - outerHeight: b.fn.outerHeight - }; - b.fn["inner" + c] = function (a) { - return a === e ? n["inner" + c].call(this) : this.each(function () { - b(this).css(m, d(this, a) + "px") - }) - }; - b.fn["outer" + c] = function (a, e) { - return "number" != typeof a ? n["outer" + c].call(this, a) : this.each(function () { - b(this).css(m, d(this, a, !0, e) + "px") - }) - } - }); - b.fn.addBack || (b.fn.addBack = function (a) { - return this.add(null == a ? this.prevObject : this.prevObject.filter(a)) - }); - b("<a>").data("a-b", "a").removeData("a-b").data("a-b") && (b.fn.removeData = function (a) { - return function (c) { - return arguments.length ? a.call(this, b.camelCase(c)) : a.call(this) - } - }(b.fn.removeData)); - b.ui.ie = !! /msie [\w.]+/.exec(navigator.userAgent.toLowerCase()); - b.support.selectstart = "onselectstart" in document.createElement("div"); - b.fn.extend({ - disableSelection: function () { - return this.bind((b.support.selectstart ? "selectstart" : "mousedown") + ".ui-disableSelection", function (a) { - a.preventDefault() - }) - }, - enableSelection: function () { - return this.unbind(".ui-disableSelection") - } - }); - b.extend(b.ui, { - plugin: { - add: function (a, c, d) { - var e; - a = b.ui[a].prototype; - for (e in d) a.plugins[e] = a.plugins[e] || [], a.plugins[e].push([c, d[e]]) - }, - call: function (a, b, c) { - var d = a.plugins[b]; - if (d && a.element[0].parentNode && 11 !== a.element[0].parentNode.nodeType) - for (b = 0; d.length > b; b++) a.options[d[b][0]] && d[b][1].apply(a.element, c) - } - }, - hasScroll: function (a, c) { - if ("hidden" === b(a).css("overflow")) return !1; - var d = c && "left" === c ? "scrollLeft" : "scrollTop", - e = !1; - return 0 < a[d] ? !0 : (a[d] = 1, e = 0 < a[d], a[d] = 0, e) - } - }) -})(jQuery); -(function (b, e) { - var d = 0, - c = Array.prototype.slice, - a = b.cleanData; - b.cleanData = function (c) { - for (var d, e = 0; null != (d = c[e]); e++) try { - b(d).triggerHandler("remove") - } catch (k) {} - a(c) - }; - b.widget = function (a, c, d) { - var k, h, m, n, t = {}, v = a.split(".")[0]; - a = a.split(".")[1]; - k = v + "-" + a; - d || (d = c, c = b.Widget); - b.expr[":"][k.toLowerCase()] = function (a) { - return !!b.data(a, k) - }; - b[v] = b[v] || {}; - h = b[v][a]; - m = b[v][a] = function (a, b) { - return this._createWidget ? (arguments.length && this._createWidget(a, b), e) : new m(a, b) - }; - b.extend(m, h, { - version: d.version, - _proto: b.extend({}, d), - _childConstructors: [] - }); - n = new c; - n.options = b.widget.extend({}, n.options); - b.each(d, function (a, d) { - return b.isFunction(d) ? (t[a] = function () { - var b = function () { - return c.prototype[a].apply(this, arguments) - }, e = function (b) { - return c.prototype[a].apply(this, b) - }; - return function () { - var a, c = this._super, - f = this._superApply; - return this._super = b, this._superApply = e, a = d.apply(this, arguments), this._super = c, this._superApply = f, a - } - }(), e) : (t[a] = d, e) - }); - m.prototype = b.widget.extend(n, { - widgetEventPrefix: h ? n.widgetEventPrefix : a - }, t, { - constructor: m, - namespace: v, - widgetName: a, - widgetFullName: k - }); - h ? (b.each(h._childConstructors, function (a, c) { - var d = c.prototype; - b.widget(d.namespace + "." + d.widgetName, m, c._proto) - }), delete h._childConstructors) : c._childConstructors.push(m); - b.widget.bridge(a, m) - }; - b.widget.extend = function (a) { - for (var d, g, k = c.call(arguments, 1), h = 0, m = k.length; m > h; h++) - for (d in k[h]) g = k[h][d], k[h].hasOwnProperty(d) && g !== e && (a[d] = b.isPlainObject(g) ? b.isPlainObject(a[d]) ? b.widget.extend({}, a[d], g) : b.widget.extend({}, g) : g); - return a - }; - b.widget.bridge = function (a, d) { - var g = d.prototype.widgetFullName || a; - b.fn[a] = function (k) { - var h = "string" == typeof k, - m = c.call(arguments, 1), - n = this; - return k = !h && m.length ? b.widget.extend.apply(null, [k].concat(m)) : k, h ? this.each(function () { - var d, c = b.data(this, g); - return c ? b.isFunction(c[k]) && "_" !== k.charAt(0) ? (d = c[k].apply(c, m), d !== c && d !== e ? (n = d && d.jquery ? n.pushStack(d.get()) : d, !1) : e) : b.error("no such method '" + k + "' for " + a + " widget instance") : b.error("cannot call methods on " + a + " prior to initialization; attempted to call method '" + - k + "'") - }) : this.each(function () { - var a = b.data(this, g); - a ? a.option(k || {})._init() : b.data(this, g, new d(k, this)) - }), n - } - }; - b.Widget = function () {}; - b.Widget._childConstructors = []; - b.Widget.prototype = { - widgetName: "widget", - widgetEventPrefix: "", - defaultElement: "<div>", - options: { - disabled: !1, - create: null - }, - _createWidget: function (a, c) { - c = b(c || this.defaultElement || this)[0]; - this.element = b(c); - this.uuid = d++; - this.eventNamespace = "." + this.widgetName + this.uuid; - this.options = b.widget.extend({}, this.options, this._getCreateOptions(), a); - this.bindings = b(); - this.hoverable = b(); - this.focusable = b(); - c !== this && (b.data(c, this.widgetFullName, this), this._on(!0, this.element, { - remove: function (a) { - a.target === c && this.destroy() - } - }), this.document = b(c.style ? c.ownerDocument : c.document || c), this.window = b(this.document[0].defaultView || this.document[0].parentWindow)); - this._create(); - this._trigger("create", null, this._getCreateEventData()); - this._init() - }, - _getCreateOptions: b.noop, - _getCreateEventData: b.noop, - _create: b.noop, - _init: b.noop, - destroy: function () { - this._destroy(); - this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(b.camelCase(this.widgetFullName)); - this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName + "-disabled ui-state-disabled"); - this.bindings.unbind(this.eventNamespace); - this.hoverable.removeClass("ui-state-hover"); - this.focusable.removeClass("ui-state-focus") - }, - _destroy: b.noop, - widget: function () { - return this.element - }, - option: function (a, c) { - var d, k, h, m = a; - if (0 === arguments.length) return b.widget.extend({}, this.options); - if ("string" == typeof a) - if (m = {}, d = a.split("."), a = d.shift(), d.length) { - k = m[a] = b.widget.extend({}, this.options[a]); - for (h = 0; d.length - 1 > h; h++) k[d[h]] = k[d[h]] || {}, k = k[d[h]]; - if (a = d.pop(), c === e) return k[a] === e ? null : k[a]; - k[a] = c - } else { - if (c === e) return this.options[a] === e ? null : this.options[a]; - m[a] = c - } - return this._setOptions(m), this - }, - _setOptions: function (a) { - for (var b in a) this._setOption(b, a[b]); - return this - }, - _setOption: function (a, b) { - return this.options[a] = - b, "disabled" === a && (this.widget().toggleClass(this.widgetFullName + "-disabled ui-state-disabled", !! b).attr("aria-disabled", b), this.hoverable.removeClass("ui-state-hover"), this.focusable.removeClass("ui-state-focus")), this - }, - enable: function () { - return this._setOption("disabled", !1) - }, - disable: function () { - return this._setOption("disabled", !0) - }, - _on: function (a, c, d) { - var k, h = this; - "boolean" != typeof a && (d = c, c = a, a = !1); - d ? (c = k = b(c), this.bindings = this.bindings.add(c)) : (d = c, c = this.element, k = this.widget()); - b.each(d, function (d, - n) { - function t() { - return a || !0 !== h.options.disabled && !b(this).hasClass("ui-state-disabled") ? ("string" == typeof n ? h[n] : n).apply(h, arguments) : e - } - "string" != typeof n && (t.guid = n.guid = n.guid || t.guid || b.guid++); - var g = d.match(/^(\w+)\s*(.*)$/), - p = g[1] + h.eventNamespace; - (g = g[2]) ? k.delegate(g, p, t) : c.bind(p, t) - }) - }, - _off: function (a, b) { - b = (b || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace; - a.unbind(b).undelegate(b) - }, - _delay: function (a, b) { - var c = this; - return setTimeout(function () { - return ("string" == typeof a ? - c[a] : a).apply(c, arguments) - }, b || 0) - }, - _hoverable: function (a) { - this.hoverable = this.hoverable.add(a); - this._on(a, { - mouseenter: function (a) { - b(a.currentTarget).addClass("ui-state-hover") - }, - mouseleave: function (a) { - b(a.currentTarget).removeClass("ui-state-hover") - } - }) - }, - _focusable: function (a) { - this.focusable = this.focusable.add(a); - this._on(a, { - focusin: function (a) { - b(a.currentTarget).addClass("ui-state-focus") - }, - focusout: function (a) { - b(a.currentTarget).removeClass("ui-state-focus") - } - }) - }, - _trigger: function (a, c, d) { - var e, h = this.options[a]; - if (d = d || {}, c = b.Event(c), c.type = (a === this.widgetEventPrefix ? a : this.widgetEventPrefix + a).toLowerCase(), c.target = this.element[0], a = c.originalEvent) - for (e in a) e in c || (c[e] = a[e]); - return this.element.trigger(c, d), !(b.isFunction(h) && !1 === h.apply(this.element[0], [c].concat(d)) || c.isDefaultPrevented()) - } - }; - b.each({ - show: "fadeIn", - hide: "fadeOut" - }, function (a, c) { - b.Widget.prototype["_" + a] = function (d, e, h) { - "string" == typeof e && (e = { - effect: e - }); - var m, n = e ? !0 === e || "number" == typeof e ? c : e.effect || c : a; - e = e || {}; - "number" == typeof e && - (e = { - duration: e - }); - m = !b.isEmptyObject(e); - e.complete = h; - e.delay && d.delay(e.delay); - m && b.effects && b.effects.effect[n] ? d[a](e) : n !== a && d[n] ? d[n](e.duration, e.easing, h) : d.queue(function (c) { - b(this)[a](); - h && h.call(d[0]); - c() - }) - } - }) -})(jQuery); -(function (b) { - var e = !1; - b(document).mouseup(function () { - e = !1 - }); - b.widget("ui.mouse", { - version: "1.10.3", - options: { - cancel: "input,textarea,button,select,option", - distance: 1, - delay: 0 - }, - _mouseInit: function () { - var d = this; - this.element.bind("mousedown." + this.widgetName, function (b) { - return d._mouseDown(b) - }).bind("click." + this.widgetName, function (c) { - return !0 === b.data(c.target, d.widgetName + ".preventClickEvent") ? (b.removeData(c.target, d.widgetName + ".preventClickEvent"), c.stopImmediatePropagation(), !1) : void 0 - }); - this.started = !1 - }, - _mouseDestroy: function () { - this.element.unbind("." + this.widgetName); - this._mouseMoveDelegate && b(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate) - }, - _mouseDown: function (d) { - if (!e) { - this._mouseStarted && this._mouseUp(d); - this._mouseDownEvent = d; - var c = this, - a = 1 === d.which, - f = "string" == typeof this.options.cancel && d.target.nodeName ? b(d.target).closest(this.options.cancel).length : !1; - return a && !f && this._mouseCapture(d) ? (this.mouseDelayMet = !this.options.delay, this.mouseDelayMet || (this._mouseDelayTimer = setTimeout(function () { - c.mouseDelayMet = !0 - }, this.options.delay)), this._mouseDistanceMet(d) && this._mouseDelayMet(d) && (this._mouseStarted = !1 !== this._mouseStart(d), !this._mouseStarted) ? (d.preventDefault(), !0) : (!0 === b.data(d.target, this.widgetName + ".preventClickEvent") && b.removeData(d.target, this.widgetName + ".preventClickEvent"), this._mouseMoveDelegate = function (a) { - return c._mouseMove(a) - }, this._mouseUpDelegate = function (a) { - return c._mouseUp(a) - }, - b(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate), d.preventDefault(), e = !0, !0)) : !0 - } - }, - _mouseMove: function (d) { - return b.ui.ie && (!document.documentMode || 9 > document.documentMode) && !d.button ? this._mouseUp(d) : this._mouseStarted ? (this._mouseDrag(d), d.preventDefault()) : (this._mouseDistanceMet(d) && this._mouseDelayMet(d) && (this._mouseStarted = !1 !== this._mouseStart(this._mouseDownEvent, d), this._mouseStarted ? this._mouseDrag(d) : this._mouseUp(d)), !this._mouseStarted) - }, - _mouseUp: function (d) { - return b(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate), this._mouseStarted && (this._mouseStarted = !1, d.target === this._mouseDownEvent.target && b.data(d.target, this.widgetName + ".preventClickEvent", !0), this._mouseStop(d)), !1 - }, - _mouseDistanceMet: function (b) { - return Math.max(Math.abs(this._mouseDownEvent.pageX - b.pageX), Math.abs(this._mouseDownEvent.pageY - b.pageY)) >= this.options.distance - }, - _mouseDelayMet: function () { - return this.mouseDelayMet - }, - _mouseStart: function () {}, - _mouseDrag: function () {}, - _mouseStop: function () {}, - _mouseCapture: function () { - return !0 - } - }) -})(jQuery); -(function (b) { - b.widget("ui.slider", b.ui.mouse, { - version: "1.10.3", - widgetEventPrefix: "slide", - options: { - animate: !1, - distance: 0, - max: 100, - min: 0, - orientation: "horizontal", - range: !1, - step: 1, - value: 0, - values: null, - change: null, - slide: null, - start: null, - stop: null - }, - _create: function () { - this._mouseSliding = this._keySliding = !1; - this._animateOff = !0; - this._handleIndex = null; - this._detectOrientation(); - this._mouseInit(); - this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget ui-widget-content ui-corner-all"); - this._refresh(); - this._setOption("disabled", this.options.disabled); - this._animateOff = !1 - }, - _refresh: function () { - this._createRange(); - this._createHandles(); - this._setupEvents(); - this._refreshValue() - }, - _createHandles: function () { - var e, d; - e = this.options; - var c = this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"), - a = []; - d = e.values && e.values.length || 1; - c.length > d && (c.slice(d).remove(), c = c.slice(0, d)); - for (e = c.length; d > e; e++) a.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>"); - this.handles = c.add(b(a.join("")).appendTo(this.element)); - this.handle = this.handles.eq(0); - this.handles.each(function (a) { - b(this).data("ui-slider-handle-index", a) - }) - }, - _createRange: function () { - var e = this.options, - d = ""; - e.range ? (!0 === e.range && (e.values ? e.values.length && 2 !== e.values.length ? e.values = [e.values[0], e.values[0]] : b.isArray(e.values) && (e.values = e.values.slice(0)) : e.values = [this._valueMin(), this._valueMin()]), this.range && this.range.length ? this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({ - left: "", - bottom: "" - }) : (this.range = b("<div></div>").appendTo(this.element), d = "ui-slider-range ui-widget-header ui-corner-all"), this.range.addClass(d + ("min" === e.range || "max" === e.range ? " ui-slider-range-" + e.range : ""))) : this.range = b([]) - }, - _setupEvents: function () { - var b = this.handles.add(this.range).filter("a"); - this._off(b); - this._on(b, this._handleEvents); - this._hoverable(b); - this._focusable(b) - }, - _destroy: function () { - this.handles.remove(); - this.range.remove(); - this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"); - this._mouseDestroy() - }, - _mouseCapture: function (e) { - var d, c, a, f, l, g, k, h, m = this, - n = this.options; - return n.disabled ? !1 : (this.elementSize = { - width: this.element.outerWidth(), - height: this.element.outerHeight() - }, this.elementOffset = this.element.offset(), d = { - x: e.pageX, - y: e.pageY - }, c = this._normValueFromMouse(d), a = this._valueMax() - this._valueMin() + 1, this.handles.each(function (d) { - var e = Math.abs(c - m.values(d)); - (a > e || a === e && (d === m._lastChangedValue || m.values(d) === n.min)) && (a = e, f = b(this), l = d) - }), g = this._start(e, l), !1 === g ? !1 : - (this._mouseSliding = !0, this._handleIndex = l, f.addClass("ui-state-active").focus(), k = f.offset(), h = !b(e.target).parents().addBack().is(".ui-slider-handle"), this._clickOffset = h ? { - left: 0, - top: 0 - } : { - left: e.pageX - k.left - f.width() / 2, - top: e.pageY - k.top - f.height() / 2 - (parseInt(f.css("borderTopWidth"), 10) || 0) - (parseInt(f.css("borderBottomWidth"), 10) || 0) + (parseInt(f.css("marginTop"), 10) || 0) - }, this.handles.hasClass("ui-state-hover") || this._slide(e, l, c), this._animateOff = !0, !0)) - }, - _mouseStart: function () { - return !0 - }, - _mouseDrag: function (b) { - var d = - this._normValueFromMouse({ - x: b.pageX, - y: b.pageY - }); - return this._slide(b, this._handleIndex, d), !1 - }, - _mouseStop: function (b) { - return this.handles.removeClass("ui-state-active"), this._mouseSliding = !1, this._stop(b, this._handleIndex), this._change(b, this._handleIndex), this._handleIndex = null, this._clickOffset = null, this._animateOff = !1, !1 - }, - _detectOrientation: function () { - this.orientation = "vertical" === this.options.orientation ? "vertical" : "horizontal" - }, - _normValueFromMouse: function (b) { - var d, c, a, f, l; - return "horizontal" === - this.orientation ? (d = this.elementSize.width, c = b.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)) : (d = this.elementSize.height, c = b.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0)), a = c / d, 1 < a && (a = 1), 0 > a && (a = 0), "vertical" === this.orientation && (a = 1 - a), f = this._valueMax() - this._valueMin(), l = this._valueMin() + a * f, this._trimAlignValue(l) - }, - _start: function (b, d) { - var c = { - handle: this.handles[d], - value: this.value() - }; - return this.options.values && this.options.values.length && (c.value = - this.values(d), c.values = this.values()), this._trigger("start", b, c) - }, - _slide: function (b, d, c) { - var a, f, l; - this.options.values && this.options.values.length ? (a = this.values(d ? 0 : 1), 2 === this.options.values.length && !0 === this.options.range && (0 === d && c > a || 1 === d && a > c) && (c = a), c !== this.values(d) && (f = this.values(), f[d] = c, l = this._trigger("slide", b, { - handle: this.handles[d], - value: c, - values: f - }), this.values(d ? 0 : 1), !1 !== l && this.values(d, c, !0))) : c !== this.value() && (l = this._trigger("slide", b, { - handle: this.handles[d], - value: c - }), !1 !== - l && this.value(c)) - }, - _stop: function (b, d) { - var c = { - handle: this.handles[d], - value: this.value() - }; - this.options.values && this.options.values.length && (c.value = this.values(d), c.values = this.values()); - this._trigger("stop", b, c) - }, - _change: function (b, d) { - if (!this._keySliding && !this._mouseSliding) { - var c = { - handle: this.handles[d], - value: this.value() - }; - this.options.values && this.options.values.length && (c.value = this.values(d), c.values = this.values()); - this._lastChangedValue = d; - this._trigger("change", b, c) - } - }, - value: function (b) { - return arguments.length ? - (this.options.value = this._trimAlignValue(b), this._refreshValue(), this._change(null, 0), void 0) : this._value() - }, - values: function (e, d) { - var c, a, f; - if (1 < arguments.length) return this.options.values[e] = this._trimAlignValue(d), this._refreshValue(), this._change(null, e), void 0; - if (!arguments.length) return this._values(); - if (!b.isArray(arguments[0])) return this.options.values && this.options.values.length ? this._values(e) : this.value(); - c = this.options.values; - a = arguments[0]; - for (f = 0; c.length > f; f += 1) c[f] = this._trimAlignValue(a[f]), - this._change(null, f); - this._refreshValue() - }, - _setOption: function (e, d) { - var c, a = 0; - switch ("range" === e && !0 === this.options.range && ("min" === d ? (this.options.value = this._values(0), this.options.values = null) : "max" === d && (this.options.value = this._values(this.options.values.length - 1), this.options.values = null)), b.isArray(this.options.values) && (a = this.options.values.length), b.Widget.prototype._setOption.apply(this, arguments), e) { - case "orientation": - this._detectOrientation(); - this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + - this.orientation); - this._refreshValue(); - break; - case "value": - this._animateOff = !0; - this._refreshValue(); - this._change(null, 0); - this._animateOff = !1; - break; - case "values": - this._animateOff = !0; - this._refreshValue(); - for (c = 0; a > c; c += 1) this._change(null, c); - this._animateOff = !1; - break; - case "min": - case "max": - this._animateOff = !0; - this._refreshValue(); - this._animateOff = !1; - break; - case "range": - this._animateOff = !0, this._refresh(), this._animateOff = !1 - } - }, - _value: function () { - return this._trimAlignValue(this.options.value) - }, - _values: function (b) { - var d, - c; - if (arguments.length) return d = this.options.values[b], this._trimAlignValue(d); - if (this.options.values && this.options.values.length) { - d = this.options.values.slice(); - for (c = 0; d.length > c; c += 1) d[c] = this._trimAlignValue(d[c]); - return d - } - return [] - }, - _trimAlignValue: function (b) { - if (this._valueMin() >= b) return this._valueMin(); - if (b >= this._valueMax()) return this._valueMax(); - var d = 0 < this.options.step ? this.options.step : 1, - c = (b - this._valueMin()) % d; - b -= c; - return 2 * Math.abs(c) >= d && (b += 0 < c ? d : -d), parseFloat(b.toFixed(5)) - }, - _valueMin: function () { - return this.options.min - }, - _valueMax: function () { - return this.options.max - }, - _refreshValue: function () { - var e, d, c, a, f, l = this.options.range, - g = this.options, - k = this, - h = this._animateOff ? !1 : g.animate, - m = {}; - this.options.values && this.options.values.length ? this.handles.each(function (a) { - d = 100 * ((k.values(a) - k._valueMin()) / (k._valueMax() - k._valueMin())); - m["horizontal" === k.orientation ? "left" : "bottom"] = d + "%"; - b(this).stop(1, 1)[h ? "animate" : "css"](m, g.animate); - !0 === k.options.range && ("horizontal" === k.orientation ? (0 === a && k.range.stop(1, 1)[h ? "animate" : - "css"]({ - left: d + "%" - }, g.animate), 1 === a && k.range[h ? "animate" : "css"]({ - width: d - e + "%" - }, { - queue: !1, - duration: g.animate - })) : (0 === a && k.range.stop(1, 1)[h ? "animate" : "css"]({ - bottom: d + "%" - }, g.animate), 1 === a && k.range[h ? "animate" : "css"]({ - height: d - e + "%" - }, { - queue: !1, - duration: g.animate - }))); - e = d - }) : (c = this.value(), a = this._valueMin(), f = this._valueMax(), d = f !== a ? 100 * ((c - a) / (f - a)) : 0, m["horizontal" === this.orientation ? "left" : "bottom"] = d + "%", this.handle.stop(1, 1)[h ? "animate" : "css"](m, g.animate), "min" === l && "horizontal" === this.orientation && - this.range.stop(1, 1)[h ? "animate" : "css"]({ - width: d + "%" - }, g.animate), "max" === l && "horizontal" === this.orientation && this.range[h ? "animate" : "css"]({ - width: 100 - d + "%" - }, { - queue: !1, - duration: g.animate - }), "min" === l && "vertical" === this.orientation && this.range.stop(1, 1)[h ? "animate" : "css"]({ - height: d + "%" - }, g.animate), "max" === l && "vertical" === this.orientation && this.range[h ? "animate" : "css"]({ - height: 100 - d + "%" - }, { - queue: !1, - duration: g.animate - })) - }, - _handleEvents: { - keydown: function (e) { - var d, c, a, f = b(e.target).data("ui-slider-handle-index"); - switch (e.keyCode) { - case b.ui.keyCode.HOME: - case b.ui.keyCode.END: - case b.ui.keyCode.PAGE_UP: - case b.ui.keyCode.PAGE_DOWN: - case b.ui.keyCode.UP: - case b.ui.keyCode.RIGHT: - case b.ui.keyCode.DOWN: - case b.ui.keyCode.LEFT: - if (e.preventDefault(), !this._keySliding && (this._keySliding = !0, b(e.target).addClass("ui-state-active"), d = this._start(e, f), !1 === d)) return - } - switch (a = this.options.step, d = c = this.options.values && this.options.values.length ? this.values(f) : this.value(), e.keyCode) { - case b.ui.keyCode.HOME: - c = this._valueMin(); - break; - case b.ui.keyCode.END: - c = this._valueMax(); - break; - case b.ui.keyCode.PAGE_UP: - c = this._trimAlignValue(d + (this._valueMax() - this._valueMin()) / 5); - break; - case b.ui.keyCode.PAGE_DOWN: - c = this._trimAlignValue(d - (this._valueMax() - this._valueMin()) / 5); - break; - case b.ui.keyCode.UP: - case b.ui.keyCode.RIGHT: - if (d === this._valueMax()) return; - c = this._trimAlignValue(d + a); - break; - case b.ui.keyCode.DOWN: - case b.ui.keyCode.LEFT: - if (d === this._valueMin()) return; - c = this._trimAlignValue(d - a) - } - this._slide(e, f, c) - }, - click: function (b) { - b.preventDefault() - }, - keyup: function (e) { - var d = b(e.target).data("ui-slider-handle-index"); - this._keySliding && (this._keySliding = !1, this._stop(e, d), this._change(e, d), b(e.target).removeClass("ui-state-active")) - } - } - }) -})(jQuery); -(function (b) { - var e = { - cursor: "move", - decelerate: !0, - triggerHardware: !1, - y: !0, - x: !0, - slowdown: 0.9, - maxvelocity: 40, - throttleFPS: 60, - movingClass: { - up: "kinetic-moving-up", - down: "kinetic-moving-down", - left: "kinetic-moving-left", - right: "kinetic-moving-right" - }, - deceleratingClass: { - up: "kinetic-decelerating-up", - down: "kinetic-decelerating-down", - left: "kinetic-decelerating-left", - right: "kinetic-decelerating-right" - } - }; - window.requestAnimationFrame || (window.requestAnimationFrame = function () { - return window.webkitRequestAnimationFrame || - window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (a, b) { - window.setTimeout(a, 1E3 / 60) - } - }()); - b.support = b.support || {}; - b.extend(b.support, { - touch: "ontouchend" in document - }); - var d = function () { - return !1 - }, c = function (a, b) { - var c = a; - 0 < a ? a > b && (c = b) : a < 0 - b && (c = 0 - b); - return c - }, a = function (a, b) { - this.removeClass(a.movingClass.up).removeClass(a.movingClass.down).removeClass(a.movingClass.left).removeClass(a.movingClass.right).removeClass(a.deceleratingClass.up).removeClass(a.deceleratingClass.down).removeClass(a.deceleratingClass.left).removeClass(a.deceleratingClass.right); - 0 < a.velocity && this.addClass(b.right); - 0 > a.velocity && this.addClass(b.left); - 0 < a.velocityY && this.addClass(b.down); - 0 > a.velocityY && this.addClass(b.up) - }, f = function (a, b) { - b.velocity = 0; - b.velocityY = 0; - b.decelerate = !0; - "function" === typeof b.stopped && b.stopped.call(a, b) - }, l = function (b, c) { - var d = b[0]; - c.x && 0 < d.scrollWidth ? (d.scrollLeft = c.scrollLeft = d.scrollLeft + c.velocity, 0 < Math.abs(c.velocity) && (c.velocity = c.decelerate ? 0 === Math.floor(Math.abs(c.velocity)) ? 0 : c.velocity * c.slowdown : c.velocity)) : c.velocity = 0; - c.y && 0 < d.scrollHeight ? - (d.scrollTop = c.scrollTop = d.scrollTop + c.velocityY, 0 < Math.abs(c.velocityY) && (c.velocityY = c.decelerate ? 0 === Math.floor(Math.abs(c.velocityY)) ? 0 : c.velocityY * c.slowdown : c.velocityY)) : c.velocityY = 0; - a.call(b, c, c.deceleratingClass); - "function" === typeof c.moved && c.moved.call(b, c); - 0 < Math.abs(c.velocity) || 0 < Math.abs(c.velocityY) ? window.requestAnimationFrame(function () { - l(b, c) - }) : f(b, c) - }, g = function (a, c) { - var d = b.kinetic.callMethods[a], - e = Array.prototype.slice.call(arguments); - d && this.each(function () { - var a = e.slice(1), - c = b(this).data("kinetic-settings"); - a.unshift(c); - d.apply(this, a) - }) - }, k = function (a, c) { - b.support.touch ? a.bind("touchstart", c.events.touchStart).bind("touchend", c.events.inputEnd).bind("touchmove", c.events.touchMove) : a.mousedown(c.events.inputDown).mouseup(c.events.inputEnd).mousemove(c.events.inputMove); - a.click(c.events.inputClick).scroll(c.events.scroll).bind("selectstart", d).bind("dragstart", c.events.dragStart) - }, h = function (d) { - this.addClass("kinetic-active").each(function () { - var f = this, - h = b(this); - if (!h.data("kinetic-settings")) { - var g = - b.extend({}, e, d), - p, q = !1, - u, w = !1, - r = !1, - I = 1E3 / g.throttleFPS, - x, z; - g.velocity = 0; - g.velocityY = 0; - var K = function () { - r = u = p = !1 - }; - b(document).mouseup(K).click(K); - var s = function () { - g.velocity = c(q - p, g.maxvelocity); - g.velocityY = c(w - u, g.maxvelocity) - }, A = function (c, d) { - if (!x || new Date > new Date(x.getTime() + I)) x = new Date, r && (p || u) && (z && (b(z).blur(), z = null, h.focus()), g.decelerate = !1, g.velocity = g.velocityY = 0, h[0].scrollLeft = g.scrollLeft = g.x ? h[0].scrollLeft - (c - p) : h[0].scrollLeft, h[0].scrollTop = g.scrollTop = g.y ? h[0].scrollTop - (d - - u) : h[0].scrollTop, q = p, w = u, p = c, u = d, s(), a.call(h, g, g.movingClass), "function" === typeof g.moved && g.moved.call(h, g)) - }; - g.events = { - touchStart: function (a) { - var c; - if (b.isFunction(g.filterTarget) ? !1 !== g.filterTarget.call(f, a.target) : 1) { - c = a.originalEvent.touches[0]; - var d = c.clientX; - c = c.clientY; - r = !0; - g.velocity = q = 0; - g.velocityY = w = 0; - p = d; - u = c; - a.stopPropagation() - } - }, - touchMove: function (a) { - var b; - r && (b = a.originalEvent.touches[0], A(b.clientX, b.clientY), a.preventDefault && a.preventDefault()) - }, - inputDown: function (a) { - if (b.isFunction(g.filterTarget) ? !1 !== g.filterTarget.call(f, a.target) : 1) { - var c = a.clientX, - d = a.clientY; - r = !0; - g.velocity = q = 0; - g.velocityY = w = 0; - p = c; - u = d; - z = a.target; - "IMG" === a.target.nodeName && a.preventDefault(); - a.stopPropagation() - } - }, - inputEnd: function (a) { - p && q && !1 === g.decelerate && (g.decelerate = !0, s(), p = q = r = !1, l(h, g)); - z = null; - a.preventDefault && a.preventDefault() - }, - inputMove: function (a) { - r && (A(a.clientX, a.clientY), a.preventDefault && a.preventDefault()) - }, - scroll: function (a) { - "function" === typeof g.moved && g.moved.call(h, g); - a.preventDefault && a.preventDefault() - }, - inputClick: function (a) { - if (0 < Math.abs(g.velocity)) return a.preventDefault(), !1 - }, - dragStart: function (a) { - if (z) return !1 - } - }; - k(h, g); - h.data("kinetic-settings", g).css("cursor", g.cursor); - g.triggerHardware && h.css({ - "-webkit-transform": "translate3d(0,0,0)", - "-webkit-perspective": "1000", - "-webkit-backface-visibility": "hidden" - }) - } - }) - }; - b.kinetic = { - settingsKey: "kinetic-settings", - callMethods: { - start: function (a, c) { - var d = b(this); - if (a = b.extend(a, c)) a.decelerate = !1, l(d, a) - }, - end: function (a, c) { - b(this); - a && (a.decelerate = !0) - }, - stop: function (a, - c) { - var d = b(this); - f(d, a) - }, - detach: function (a, c) { - var e = b(this); - b.support.touch ? e.unbind("touchstart", a.events.touchStart).unbind("touchend", a.events.inputEnd).unbind("touchmove", a.events.touchMove) : e.unbind("mousedown", a.events.inputDown).unbind("mouseup", a.events.inputEnd).unbind("mousemove", a.events.inputMove).unbind("scroll", a.events.scroll); - e.unbind("click", a.events.inputClick).unbind("selectstart", d); - e.unbind("dragstart", a.events.dragStart); - e.removeClass("kinetic-active").css("cursor", "") - }, - attach: function (a, - c) { - var d = b(this); - k(d, a); - d.addClass("kinetic-active").css("cursor", "move") - } - } - }; - b.fn.kinetic = function (a) { - "string" === typeof a ? g.apply(this, arguments) : h.call(this, a); - return this - } -})(window.jQuery || window.Zepto); -var Events = function () { - var b = {}; - return { - publish: function (e, d, c) { - if (b[e]) { - e = b[e]; - for (var a = e.length; a--;) e[a].apply(c || this, d || []) - } - }, - subscribe: function (e, d) { - b[e] || (b[e] = []); - b[e].push(d); - return [e, d] - }, - unsubscribe: function (e, d) { - var c = e[0], - a = b[c].length; - if (b[c]) - for (; a--;) b[c][a] === e[1] && (b[c].splice(b[c][a], 1), d && delete b[c]) - } - } -}(); -window.divaPlugins = []; -(function (b) { - var e = function (d, c) { - var a = b.extend({}, { - adaptivePadding: 0.05, - blockMobileMove: !0, - contained: !1, - objectData: "", - enableAutoHeight: !1, - enableAutoTitle: !0, - enableAutoWidth: !0, - enableCanvas: !0, - enableDownload: !0, - enableFilename: !0, - enableFullscreen: !0, - enableGotoPage: !0, - enableGridIcon: !0, - enableGridSlider: !0, - enableKeyScroll: !0, - enableLinkIcon: !0, - enableSpaceScroll: !1, - enableToolbar: !0, - enableZoomSlider: !0, - fixedPadding: 10, - fixedHeightGrid: !0, - goDirectlyTo: 0, - iipServerURL: "", - digiId: "", - inFullscreen: !1, - inGrid: !1, - imageDir: "", - maxPagesPerRow: 8, - maxZoomLevel: -1, - minPagesPerRow: 2, - minZoomLevel: 0, - onDocumentLoaded: null, - onModeToggle: null, - onViewToggle: null, - onJump: null, - onPageLoad: null, - onPageLoaded: null, - onReady: null, - onScroll: null, - onScrollDown: null, - onScrollUp: null, - onSetCurrentPage: null, - onZoom: null, - onZoomIn: null, - onZoomOut: null, - pageLoadTimeout: 200, - pagesPerRow: 5, - rowLoadTimeout: 50, - throbberTimeout: 100, - tileHeight: 256, - tileWidth: 256, - toolbarParentSelector: null, - viewerHeightPadding: 15, - viewerWidthPadding: 30, - viewportMargin: 200, - zoomLevel: 2 - }, c); - b.extend(a, { - allTilesLoaded: [], - averageHeights: [], - averageWidths: [], - currentPageIndex: 0, - dimAfterZoom: 0, - firstPageLoaded: -1, - firstRowLoaded: -1, - gridPageWidth: 0, - hashParamSuffix: "", - heightAbovePages: [], - horizontalOffset: 0, - horizontalPadding: 0, - ID: null, - innerSelector: "", - itemTitle: "", - lastPageLoaded: -1, - lastRowLoaded: -1, - leftScrollSoFar: 0, - loaded: !1, - maxWidths: [], - maxRatio: 0, - minHeight: 0, - minRatio: 0, - minWidth: 0, - mobileWebkit: !1, - numPages: 0, - numRows: 0, - oldPagesPerRow: 0, - oldZoomLevel: -1, - orientationChange: !1, - originalHeight: 0, - originalWidth: 0, - outerSelector: "", - pages: [], - pageLeftOffsets: [], - pageTimeouts: [], - pageTools: "", - panelHeight: 0, - panelWidth: 0, - plugins: [], - previousTopScroll: 0, - preZoomOffset: null, - realMaxZoom: -1, - resizeTimer: -1, - rowHeight: 0, - scaleWait: !1, - selector: "", - singleClick: !1, - scrollbarWidth: 0, - throbberTimeoutID: -1, - toolbar: null, - topScrollSoFar: 0, - totalHeights: [], - totalHeight: 0, - verticalOffset: 0, - verticalPadding: 0, - viewerXOffset: 0, - viewerYOffset: 0 - }); - var e = this, - l = function (a) { - var b, c, d; - if ("function" === typeof a) { - b = []; - c = 1; - for (d = arguments.length; c < d; c++) b.push(arguments[c]); - a.apply(e, b); - return !0 - } - return !1 - }, g = function (b, c) { - return a.pages[b].d[a.zoomLevel][c] - }, k = function (b) { - var c, d = a.numPages; - for (c = 0; c < d; c++) - if (a.pages[c].f === b) return c; - return -1 - }, h = function (b, c) { - var d = a.topScrollSoFar - a.viewportMargin, - e = d + a.panelHeight + 2 * a.viewportMargin; - return b >= d && b <= e || b <= d && c >= e || c >= d && c <= e - }, m = function (b) { - return 0 <= b && b < a.numPages - }, n = function (b) { - var c = a.heightAbovePages[b]; - b = c + g(b, "h") + a.verticalPadding; - return h(c, b) - }, t = function (c) { - if (!(0 < b(document.getElementById(a.ID + "page-" + c)).length && - a.allTilesLoaded[c])) { - var d = a.pages[c].f, - e = g(c, "w"), - f = g(c, "h"), - k = a.heightAbovePages[c] + a.verticalPadding, - s = a.selector + "page-" + c, - m; - if (!(0 < b(document.getElementById(a.ID + "page-" + c)).length)) - for (m in b(document.getElementById(a.ID + "inner")).append('<div id="' + a.ID + "page-" + c + '" style="top: ' + k + "px; width: " + e + "px; height: " + f + 'px;" class="diva-document-page" title="Page ' + (c + 1) + '" data-index="' + c + '" data-filename="' + d + '">' + a.pageTools + "</div>"), l(a.onPageLoad, c, d, s), Events.publish("PageHasLoaded", [c, - d, s - ]), a.plugins) l(a.plugins[m].onPageLoad, c, d, s); - a.pageTimeouts.push(setTimeout(function () { - if (n(c)) { - var k = a.imageDir + "/", - m = g(c, "r"), - O = g(c, "c"), - A = [], - F = !0, - J = 0, - G = f - (m - 1) * a.tileHeight, - B = e - (O - 1) * a.tileWidth, - H, R, p, E, u, t; - baseImageURL = a.iipServerURL + "?FIF=" + k + d + "&JTL=" + (a.zoomLevel + a.pages[c].m - a.realMaxZoom) + ","; - for (k = 0; k < m;) { - for (H = 0; H < O;) { - E = k * a.tileHeight; - u = H * a.tileWidth; - R = k === m - 1 ? G : a.tileHeight; - p = H === O - 1 ? B : a.tileWidth; - t = baseImageURL + J; - if (!1 !== document.getElementById(a.ID + "tile-" + c + "-" + J)) { - var y = a.heightAbovePages[c] + - k * a.tileHeight + a.verticalPadding, - q = a.pageLeftOffsets[c] + H * a.tileWidth, - r = q + a.tileWidth; - if (y = h(y, y + a.tileHeight)) var y = a.leftScrollSoFar - a.viewportMargin, - w = y + a.panelWidth + 2 * a.viewportMargin, z = r >= y && r <= w, r = q <= y && r >= w, y = q >= y && q <= w || r || z; - y ? A.push('<div id="' + a.ID + "tile-" + c + "-" + J + '" style="display:inline; position: absolute; top: ' + E + "px; left: " + u + "px; background-image: url('" + t + "'); height: " + R + "px; width: " + p + 'px;"></div>') : F = !1 - } - J++; - H++ - } - k++ - } - a.allTilesLoaded[c] = F; - b(document.getElementById(a.ID + "page-" + - c)).append(A.join("")); - l(a.onPageLoaded, c, d, s) - } - }, a.pageLoadTimeout)) - } - }, v = function (c) { - b(document.getElementById(a.ID + "page-" + c)).empty().remove() - }, p = function (b, c) { - 0 < c ? m(b) && (n(b) ? (t(b), a.lastPageLoaded = b, p(a.lastPageLoaded + 1, c)) : a.heightAbovePages[b] + g(b, "h") + a.verticalPadding < a.topScrollSoFar && p(b + 1, c)) : m(b) && (n(b) ? (t(b), a.firstPageLoaded = b, p(a.firstPageLoaded - 1, c)) : a.heightAbovePages[b] > a.topScrollSoFar + a.panelHeight && p(b - 1, c)) - }, q = function (b, c) { - 0 < c ? m(b) && a.heightAbovePages[b] + g(b, "h") + a.verticalPadding < - a.topScrollSoFar && (v(b), a.firstPageLoaded = b + 1, q(a.firstPageLoaded, c)) : m(b) && a.heightAbovePages[b] > a.topScrollSoFar + a.panelHeight && (v(b), a.lastPageLoaded = b - 1, q(a.lastPageLoaded, c)) - }, u = function (b) { - return 0 <= b && b < a.numRows - }, w = function (b) { - b *= a.rowHeight; - return h(b, b + a.rowHeight + a.fixedPadding) - }, r = function (c) { - if (!(0 < b(a.selector + "row-" + c).length)) { - var d = []; - d.push('<div class="diva-row" id="' + a.ID + "row-" + c + '" style="height: ' + a.rowHeight + "; top: " + (a.rowHeight * c + a.fixedPadding) + 'px;">'); - var e, f, k, s, h, l, - A = a.imageDir + "/", - F = a.pagesPerRow; - for (e = 0; e < F; e++) { - f = c * a.pagesPerRow + e; - if (!m(f)) break; - k = a.pages[f].f; - s = g(f, "w"); - h = g(f, "h"); - l = a.fixedHeightGrid ? (a.rowHeight - a.fixedPadding) * s / h : a.gridPageWidth; - s = a.fixedHeightGrid ? a.rowHeight - a.fixedPadding : l / s * h; - h = parseInt(e * (a.fixedPadding + a.gridPageWidth) + a.fixedPadding, 10); - l = parseInt(l, 10); - s = parseInt(s, 10); - h += a.fixedHeightGrid ? (a.gridPageWidth - l) / 2 : 0; - k = a.iipServerURL + "?FIF=" + A + k + "&HEI=" + (s + 2) + "&CVT=JPEG"; - d.push('<div id="' + a.ID + "page-" + f + '" class="diva-page" style="width: ' + - l + "px; height: " + s + "px; left: " + h + 'px;" title="Page ' + (f + 1) + '"></div>'); - K(c, f, k, l, s) - } - d.push("</div>"); - b(document.getElementById(a.ID + "inner")).append(d.join("")) - } - }, I = function (c) { - b(document.getElementById(a.ID + "row-" + c)).empty().remove() - }, x = function (b, c) { - 0 < c ? u(b) && (w(b) ? (r(b), a.lastRowLoaded = b, x(a.lastRowLoaded + 1, c)) : a.rowHeight * (b + 1) < a.topScrollSoFar && x(b + 1, c)) : u(b) && (w(b) ? (r(b), a.firstRowLoaded = b, x(a.firstRowLoaded - 1, c)) : a.rowHeight * b > a.topScrollSoFar + a.panelHeight && x(b - 1, c)) - }, z = function (b, c) { - 0 < - c ? u(b) && a.rowHeight * (b + 1) < a.topScrollSoFar && (I(b), a.firstRowLoaded++, z(a.firstRowLoaded, c)) : u(b) && a.rowHeight * b > a.topScrollSoFar + a.panelHeight && (I(b), a.lastRowLoaded--, z(a.lastRowLoaded, c)) - }, K = function (c, d, e, f, g) { - a.pageTimeouts.push(setTimeout(function () { - w(c) && b(a.selector + "page-" + d).html('<img src="' + e + '" style="width: ' + f + "px; height: " + g + 'px;" />') - }, a.rowLoadTimeout)) - }, s = function (b) { - var c = a.topScrollSoFar + a.panelHeight / 2, - d = a.currentPageIndex, - e = a.currentPageIndex + b, - f = !1; - 0 > b ? 0 <= e && a.heightAbovePages[e] + - g(e, "h") + a.verticalPadding >= c && (f = !0) : 0 < b && a.heightAbovePages[d] + g(d, "h") + a.verticalPadding < c && (f = !0); - return f ? (a.currentPageIndex = e, 0 === b || s(b) || (b = a.pages[e].f, l(a.onSetCurrentPage, e, b), Events.publish("VisiblePageDidChange", [e, b])), !0) : !1 - }, A = function (b) { - var c = Math.floor(a.currentPageIndex / a.pagesPerRow), - d = c + parseInt(b, 10), - e = a.topScrollSoFar + a.panelHeight / 2, - f = !1; - 0 > b ? 0 <= d && (a.rowHeight * c >= e || a.rowHeight * d >= a.topScrollSoFar) && (f = !0) : 0 < b && a.rowHeight * (c + 1) < a.topScrollSoFar && u(d) && (f = !0); - return f ? (a.currentPageIndex = - d * a.pagesPerRow, 0 === b || A(b) || (b = a.currentPageIndex, Events.publish("VisiblePageDidChange", [b, a.pages[b].f])), !0) : !1 - }, F = function (c, d, e) { - d = a.heightAbovePages[c] + ("undefined" !== typeof d ? d : 0); - e = (a.maxWidths[a.zoomLevel] - a.panelWidth) / 2 + a.horizontalPadding + ("undefined" !== typeof e ? e : 0); - b(a.outerSelector).scrollTop(d); - b(a.outerSelector).scrollLeft(e); - a.currentPageIndex = c; - e = a.pages[c].f; - Events.publish("VisiblePageDidChange", [c, e]); - l(a.onSetCurrentPage, c, e); - l(a.onJump, c) - }, J = function (c) { - var d = Math.floor(c / a.pagesPerRow) * - a.rowHeight; - b(a.outerSelector).scrollTop(d); - a.currentPageIndex = c; - Events.publish("VisiblePageDidChange", [c, a.pages[c].f]) - }, H = function () { - a.allTilesLoaded = []; - b(a.outerSelector).scrollTop(0); - a.topScrollSoFar = 0; - b(a.innerSelector).empty(); - a.firstPageLoaded = 0; - a.firstRowLoaded = -1; - a.previousTopScroll = 0; - for (clearTimeout(a.resizeTimer); a.pageTimeouts.length;) clearTimeout(a.pageTimeouts.pop()) - }, B = function () { - a.inGrid ? S() : y() - }, y = function () { - H(); - a.zoomLevel = a.zoomLevel >= a.minZoomLevel && a.zoomLevel <= a.maxZoomLevel ? - a.zoomLevel : a.minZoomLevel; - var c = a.zoomLevel; - 0 < a.adaptivePadding ? (a.horizontalPadding = a.averageWidths[c] * a.adaptivePadding, a.verticalPadding = a.averageHeights[c] * a.adaptivePadding) : (a.horizontalPadding = a.fixedPadding, a.verticalPadding = a.fixedPadding); - a.pageTools.length && (a.verticalPadding = Math.max(40, a.horizontalPadding)); - a.totalHeight = a.totalHeights[c] + a.verticalPadding * (a.numPages + 1); - a.dimAfterZoom = a.totalHeight; - var d = Math.max(a.maxWidths[c] + 2 * a.horizontalPadding, a.panelWidth), - e = 0, - f; - for (f = 0; f < a.numPages; f++) a.heightAbovePages[f] = - e, e = a.heightAbovePages[f] + g(f, "h") + a.verticalPadding, a.pageLeftOffsets[f] = (d - g(f, "w")) / 2, n(f) && (t(f), a.lastPageLoaded = f); - 0 <= a.oldZoomLevel && (a.oldZoomLevel < a.zoomLevel ? l(a.onZoomIn, c) : l(a.onZoomOut, c), l(a.onZoom, c)); - b(a.innerSelector).height(Math.round(a.totalHeight)); - b(a.innerSelector).width(Math.round(d)); - a.preZoomOffset ? (d = a.preZoomOffset.i, c = a.heightAbovePages[d] + a.verticalPadding, e = a.pageLeftOffsets[d], d = Math.pow(2, a.zoomLevel - a.oldZoomLevel), e = a.preZoomOffset.x * d - (a.preZoomOffset.originalX - - a.viewerXOffset) + e, c = a.preZoomOffset.y * d - (a.preZoomOffset.originalY - a.viewerYOffset) + c, b(a.outerSelector).scrollTop(c).scrollLeft(e), a.preZoomOffset = void 0) : (m(a.goDirectlyTo) || (a.goDirectlyTo = 0), F(a.goDirectlyTo, a.verticalOffset, a.horizontalOffset), a.horizontalOffset = 0, a.verticalOffset = 0); - a.scaleWait && (a.scaleWait = !1); - c = a.pages[a.currentPageIndex].f; - l(a.onDocumentLoaded, a.lastPageLoaded, c); - Events.publish("DocumentHasFinishedLoading", [a.lastPageLoaded, c]) - }, S = function () { - H(); - a.pagesPerRow = a.pagesPerRow >= - a.minPagesPerRow && a.pagesPerRow <= a.maxPagesPerRow ? a.pagesPerRow : a.maxPagesPerRow; - var c = (a.panelWidth - a.fixedPadding * (a.pagesPerRow + 1)) / a.pagesPerRow; - a.gridPageWidth = c; - a.rowHeight = a.fixedHeightGrid ? a.fixedPadding + a.minRatio * c : a.fixedPadding + a.maxRatio * c; - a.numRows = Math.ceil(a.numPages / a.pagesPerRow); - a.totalHeight = a.numRows * a.rowHeight + a.fixedPadding; - b(a.innerSelector).height(Math.round(a.totalHeight)); - b(a.innerSelector).width(Math.round(a.panelWidth)); - J(a.goDirectlyTo); - for (var d, e = a.numPages, c = 0; c < - e; c += a.pagesPerRow) d = Math.floor(c / a.pagesPerRow), w(d) && (a.firstRowLoaded = 0 > a.firstRowLoaded ? d : a.firstRowLoaded, r(d), a.lastRowLoaded = d) - }, G = function (c) { - if (0 <= a.oldZoomLevel && !a.inGrid) { - var d = b(a.selector + "page-" + a.currentPageIndex).offset(), - e = -(d.top - a.verticalPadding - a.viewerYOffset), - f = (a.panelWidth - g(a.currentPageIndex, "w")) / 2, - d = -(d.left - a.viewerXOffset - f); - a.verticalOffset = e; - a.horizontalOffset = d - } - Events.publish("ModeDidSwitch", null); - b(a.selector + "fullscreen").toggleClass("diva-in-fullscreen"); - b(a.outerSelector).toggleClass("diva-fullscreen"); - b("body").toggleClass("diva-hide-scrollbar"); - b(a.parentSelector).toggleClass("diva-full-width"); - a.panelHeight = b(a.outerSelector).height(); - a.panelWidth = b(a.outerSelector).width() - a.scrollbarWidth; - b(a.innerSelector).width(a.panelWidth); - a.viewerXOffset = b(a.outerSelector).offset().left; - a.viewerYOffset = b(a.outerSelector).offset().top; - c ? (a.inGrid = !a.inGrid, E()) : B(); - l(a.onModeToggle, a.inFullscreen); - Events.publish("ModeHasChanged", [a.inFullScreen]) - }, E = function () { - B(); - l(a.onViewToggle, a.inGrid); - Events.publish("ViewDidSwitch", [a.inGrid]) - }, N = function () { - a.goDirectlyTo = a.currentPageIndex; - a.inFullscreen = !a.inFullscreen; - G(!1) - }, L = function () { - a.goDirectlyTo = a.currentPageIndex; - a.inGrid = !a.inGrid; - E() - }, T = function (c) { - var d = b(this).offset(); - a.preZoomOffset = { - x: c.pageX - d.left, - y: c.pageY - d.top, - originalX: c.pageX, - originalY: c.pageY, - i: b(this).attr("data-index") - }; - M(c.ctrlKey ? a.zoomLevel - 1 : a.zoomLevel + 1) - }, M = function (b) { - var c = b >= a.minZoomLevel && b <= a.maxZoomLevel ? b : a.minZoomLevel; - if (c !== b) return !1; - a.oldZoomLevel = a.zoomLevel; - a.zoomLevel = c; - Events.publish("ZoomLevelDidChange", - null); - y(); - return !0 - }, U = function (b) { - var c = b >= a.minPagesPerRow && b <= a.maxPagesPerRow ? b : a.maxPagesPerRow; - if (c !== b) return !1; - a.oldPagesPerRow = a.zoomLevel; - a.pagesPerRow = c; - Events.publish("GridRowNumberDidChange", null); - S() - }, V = function () { - var c = a.inFullscreen, - d = a.inGrid, - e = a.zoomLevel, - f = a.pagesPerRow, - g = a.enableFilename ? a.pages[a.currentPageIndex].f : !1, - k = a.enableFilename ? !1 : a.currentPageIndex + 1, - s; - a.inGrid ? s = !1 : (s = document.getElementById(a.ID + "outer").scrollTop, s = parseInt(s - a.heightAbovePages[a.currentPageIndex], - 10)); - var h; - a.inGrid ? h = !1 : (h = (a.maxWidths[a.zoomLevel] + 2 * a.horizontalPadding - a.panelWidth) / 2, h = document.getElementById(a.ID + "outer").scrollLeft - h, h = parseInt(h, 10)); - return { - f: c, - g: d, - z: e, - n: f, - i: g, - p: k, - y: s, - x: h, - h: a.inFullscreen ? !1 : a.panelHeight, - w: a.inFullscreen ? !1 : b(a.outerSelector).width() - } - }, W = function () { - var b = V(), - c = [], - d; - for (d in b)!1 !== b[d] && c.push(d + a.hashParamSuffix + "=" + b[d]); - return c.join("&") - }, X = function () { - return location.protocol + "//" + location.host + location.pathname + "?digiId=" + c.digiId + "#" + W() - }, C = function () { - var c = b(a.outerSelector).offset().top; - a.panelHeight = window.innerHeight - c - a.viewerHeightPadding; - a.panelWidth = window.innerWidth - a.viewerWidthPadding; - a.parentSelector.style.width = a.panelWidth + "px"; - a.enableAutoHeight && (document.getElementById(a.ID + "outer").style.height = a.panelHeight + "px"); - a.enableAutoWidth && (document.getElementById(a.ID + "outer").style.width = a.panelWidth + "px") - }, D = function () { - var c = b(a.outerSelector).height(), - d = b(a.parentSelector).width() - a.scrollbarWidth, - e = b(a.outerSelector).offset().top, - f = (window.innerWidth || document.documentElement.clientWidth) - - a.viewerWidthPadding - a.scrollbarWidth - 2, - g = (window.innerHeight || document.documentElement.clientHeight) - e - a.viewerHeightPadding - 1; - a.enableAutoHeight && (c + e + 16 > window.innerHeight ? c = g : c <= a.originalHeight && (c = Math.min(g, a.originalHeight))); - a.enableAutoWidth && (d + 32 > window.innerWidth ? d = f : d <= a.originalWidth && (d = Math.min(f, a.originalWidth)), a.parentSelector[0].style.width = d + a.scrollbarWidth); - return d !== a.panelWidth || c !== a.panelHeight ? (e = document.getElementById(a.ID + "outer"), e.style.height = c + "px", e.style.width = - d + a.scrollbarWidth + "px", a.panelWidth = d, a.panelHeight = c, !0) : !1 - }, P = function (c, d) { - c >= a.minWidth && (a.originalWidth = c, b(a.outerSelector).width(c), document.getElementById(a.ID + "outer").style.width = c + "px", a.panelWidth = c - a.scrollbarWidth, a.parentSelector[0].style.width = c + "px"); - d >= a.minHeight && (a.originalHeight = d, document.getElementById(a.ID + "outer").style.height = d + "px", a.panelHeight = d) - }, Z = function () { - a.enableFullscreen && b(a.selector + "fullscreen").click(function () { - N() - }); - b(a.innerSelector).mouseover(function () { - b(this).removeClass("diva-grabbing").addClass("diva-grab") - }); - b(a.innerSelector).mouseout(function () { - b(this).removeClass("diva-grab") - }); - b(a.innerSelector).mousedown(function () { - b(this).removeClass("diva-grab").addClass("diva-grabbing") - }); - b(a.innerSelector).mouseup(function () { - b(this).removeClass("diva-grabbing").addClass("diva-grab") - }); - b(a.outerSelector + ", " + a.innerSelector).dragscrollable({ - dragSelector: ".diva-dragger", - acceptPropagatedEvent: !0 - }); - b(a.outerSelector).scroll(function () { - a.topScrollSoFar = document.getElementById(a.ID + "outer").scrollTop; - var c = a.topScrollSoFar - - a.previousTopScroll; - if (a.inGrid) 0 > c ? (x(a.firstRowLoaded, -1), A(-1), z(a.lastRowLoaded, -1)) : 0 < c && (x(a.lastRowLoaded, 1), A(1), z(a.firstRowLoaded, 1)), l(a.onScroll, a.topScrollSoFar), 0 < c ? l(a.onScrollDown, a.topScrollSoFar) : 0 > c && l(a.onScrollUp, a.topScrollSoFar); - else { - var d; - if (0 > c) p(a.firstPageLoaded, c), s(-1), q(a.lastPageLoaded, c); - else if (0 < c) p(a.lastPageLoaded, c), s(1), q(a.firstPageLoaded, c); - else { - var e = a.lastPageLoaded; - for (d = Math.max(a.firstPageLoaded, 0); d <= e; d++) n(d) && t(d) - } - l(a.onScroll, a.topScrollSoFar); - 0 < c ? - l(a.onScrollDown, a.topScrollSoFar) : 0 > c && l(a.onScrollUp, a.topScrollSoFar); - a.leftScrollSoFar = b(this).scrollLeft() - } - a.previousTopScroll = a.topScrollSoFar - }); - b(a.outerSelector).on("dblclick", ".diva-document-page", function (a) { - T.call(this, a) - }); - b(a.outerSelector).on("contextmenu", ".diva-document-page", function (b) { - if (b.ctrlKey) return clearTimeout(a.singleClickTimeout), a.singleClick ? (T.call(this, b), a.singleClick = !1) : (a.singleClick = !0, a.singleClickTimeout = setTimeout(function () { - a.singleClick = !1 - }, 500)), !1 - }); - b(a.outerSelector).on("dblclick", - ".diva-row", function (b) { - var c = document.getElementById(a.ID + "outer"); - a.goDirectlyTo = Math.floor((b.pageY - a.viewerYOffset + c.scrollTop) / a.rowHeight) * a.pagesPerRow + Math.floor((b.pageX - a.viewerXOffset + c.scrollLeft) / (a.panelWidth / a.pagesPerRow)); - a.inGrid = !1; - E() - }); - if (a.mobileWebkit) { - var c = []; - c.push('<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1" />'); - c.push('<meta name="apple-mobile-web-app-capable" content="yes" />'); - c.push('<meta name="apple-mobile-web-app-status-bar-style" content="black" />'); - b("head").append(c.join("\n")); - a.blockMobileMove && b("body").bind("touchmove", function (a) { - a.originalEvent.preventDefault(); - return !1 - }); - b("body").bind("gestureend", function (b) { - b = b.originalEvent; - if (!a.scaleWait) - if (a.goDirectlyTo = a.currentPageIndex, a.inGrid) a.inGrid = !1, E(); - else a: { - var c = a.zoomLevel; - if (1 < b.scale && c < a.maxZoomLevel) c++; - else if (1 > b.scale && c > a.minZoomLevel) c--; - else break a; - a.scaleWait = !0; - M(c) - } - return !1 - }); - b(window).bind("orientationchange", function (b) { - a.orientationChange = !0; - C(); - a.goDirectlyTo = - a.currentPageIndex; - B() - }); - b(a.outerSelector).kinetic() - } - if (a.enableSpaceScroll || a.enableKeyScroll) { - var d = b.ui.keyCode.SPACE, - e = b.ui.keyCode.PAGE_UP, - f = b.ui.keyCode.PAGE_DOWN, - g = b.ui.keyCode.HOME, - h = b.ui.keyCode.END; - b(document).keydown(function (c) { - if (a.enableSpaceScroll && c.keyCode === d || a.enableKeyScroll && c.keyCode === f) return b(a.outerSelector).scrollTop(a.topScrollSoFar + a.panelHeight), !1; - if (a.enableKeyScroll && c.keyCode === e) return b(a.outerSelector).scrollTop(a.topScrollSoFar - a.panelHeight), !1; - if (a.enableKeyScroll && - c.keyCode === g) return b(a.outerSelector).scrollTop(0), !1; - if (a.enableKeyScroll && c.keyCode === h) return b(a.outerSelector).scrollTop(a.totalHeight), !1 - }); - a.mobileWebkit || b(window).resize(function () { - var b; - a.inFullscreen ? (a.panelWidth = window.innerWidth - a.scrollbarWidth, a.panelHeight = window.innerHeight, b = !0) : b = D(); - b && (clearTimeout(a.resizeTimer), a.resizeTimer = setTimeout(function () { - a.goDirectlyTo = a.currentPageIndex; - B() - }, 200)) - }) - } - }, aa = function () { - var c = a.enableGridIcon ? '<div class="diva-grid-icon' + (a.inGrid ? " diva-in-grid" : - "") + '" id="' + a.ID + 'grid-icon" title="Toggle grid view"></div>' : "", - d = a.enableLinkIcon ? '<div class="diva-link-icon" id="' + a.ID + 'link-icon" style="' + (a.enableGridIcon ? "border-left: 0px" : "") + '" title="Link to this page"></div>' : "", - e = a.enableZoomSlider ? '<div id="' + a.ID + 'zoom-slider"></div>' : "", - f = a.enableGridSlider ? '<div id="' + a.ID + 'grid-slider"></div>' : "", - g = a.enableGotoPage ? '<form id="' + a.ID + 'goto-page" class="diva-goto-form"><input type="text" id="' + a.ID + 'goto-page-input" / class="diva-input"> <input type="submit" value="Go" style="margin-top: 0px;" /></form>' : - "", - h = a.enableZoomSlider ? '<div id="' + a.ID + 'zoom-slider-label" class="diva-slider-label">Zoom level: <span id="' + a.ID + 'zoom-level">' + a.zoomLevel + "</span></div>" : "", - s = a.enableGridSlider ? '<div id="' + a.ID + 'grid-slider-label" class="diva-slider-label">Pages per row: <span id="' + a.ID + 'pages-per-row">' + a.pagesPerRow + "</span></div>" : "", - k = '<div class="diva-page-label">Page <span id="' + a.ID + 'current-page">1</span> of <span id="' + a.ID + 'num-pages">' + a.numPages + "</span></div>", - l = ""; - a.contained && ("static" === b(a.parentSelector).css("position") && - b(a.parentSelector).addClass("diva-relative-position"), l = " diva-fullscreen-space", a.enableAutoTitle && b(a.selector + "fullscreen").addClass("diva-contained")); - c = '<div id="' + a.ID + 'tools-left" class="diva-tools-left' + l + '">' + e + f + h + s + '</div><div id="' + a.ID + 'tools-right" class="diva-tools-right">' + d + c + '<div class="diva-page-nav">' + g + k + "</div></div>"; - a.toolbarParentSelector ? b(a.toolbarParentSelector).prepend('<div id="' + a.ID + 'tools" class="diva-tools">' + c + "</div>") : b(a.parentSelector).prepend('<div id="' + - a.ID + 'tools" class="diva-tools">' + c + "</div>"); - b(a.selector + "zoom-slider").slider({ - value: a.zoomLevel, - min: a.minZoomLevel, - max: a.maxZoomLevel, - step: 1, - slide: function (c, d) { - var e = a.currentPageIndex; - a.goDirectlyTo = e; - var f = Math.pow(2, d.value - a.zoomLevel), - g = a.maxWidths[a.zoomLevel] + 2 * a.horizontalPadding, - h = b(a.outerSelector).scrollLeft() - (g - a.panelWidth) / 2; - a.horizontalOffset = g > a.panelWidth ? h * f : 0; - a.verticalOffset = f * (b(a.outerSelector).scrollTop() - a.heightAbovePages[e]); - M(d.value) - }, - change: function (b, c) { - c.value !== - a.zoomLevel && M(c.value) - } - }); - b(a.selector + "grid-slider").slider({ - value: a.pagesPerRow, - min: a.minPagesPerRow, - max: a.maxPagesPerRow, - step: 1, - slide: function (a, b) { - U(b.value) - }, - change: function (b, c) { - c.value !== a.pagesPerRow && U(c.value) - } - }); - b(a.selector + "grid-icon").click(function () { - L() - }); - b(a.selector + "goto-page").submit(function () { - var c = parseInt(b(a.selector + "goto-page-input").val(), 10) - 1; - m(c) ? a.inGrid ? J(c) : F(c, 0, 0) : alert("Invalid page number"); - return !1 - }); - b(a.selector + "link-icon").click(function () { - b("body").prepend('<div id="' + - a.ID + 'link-popup" class="diva-link-popup"><input id="' + a.ID + 'link-popup-input" class="diva-input" type="text" value="' + X() + '"/></div>'); - if (a.inFullscreen) b(a.selector + "link-popup").addClass("in-fullscreen"); - else { - var c = b(a.outerSelector).offset().left + a.panelWidth, - c = c + (a.scrollbarWidth - 240 - 1), - d = b(a.outerSelector).offset().top + 1; - b(a.selector + "link-popup").removeClass("in-fullscreen").css({ - top: d + "px", - left: c + "px" - }) - } - b("body").mouseup(function (c) { - c = c.target.id; - c !== a.ID + "link-popup" && c !== a.ID + "link-popup-input" && - b(a.selector + "link-popup").remove() - }); - b(a.outerSelector).scroll(function () { - b(a.selector + "link-popup").remove() - }); - b(a.selector + "link-popup input").click(function () { - b(this).focus().select() - }); - return !1 - }); - var A = a.inGrid ? "grid" : "zoom"; - b(a.selector + A + "-slider").show(); - b(a.selector + A + "-slider-label").show(); - return { - updateCurrentPage: function () { - b(a.selector + "current-page").text(a.currentPageIndex + 1) - }, - setNumPages: function (c) { - b(a.selector + "num-pages").text(c) - }, - updateZoomSlider: function () { - a.zoomLevel !== b(a.selector + - "zoom-slider").slider("value") && b(a.selector + "zoom-slider").slider({ - value: a.zoomLevel - }); - b(a.selector + "zoom-level").text(a.zoomLevel) - }, - updateGridSlider: function () { - a.pagesPerRow !== b(a.selector + "grid-slider").slider("value") && b(a.selector + "grid-slider").slider({ - value: a.pagesPerRow - }); - b(a.selector + "pages-per-row").text(a.pagesPerRow) - }, - switchView: function () { - b(a.selector + A + "-slider").hide(); - b(a.selector + A + "-slider-label").hide(); - A = a.inGrid ? "grid" : "zoom"; - b(a.selector + A + "-slider").show(); - b(a.selector + A + "-slider-label").show(); - b(a.selector + "grid-icon").toggleClass("diva-in-grid") - }, - switchMode: function () { - b(a.selector + "tools").toggleClass("diva-fullscreen-tools"); - a.inFullscreen ? (b(a.selector + "tools-right").after(b(a.selector + "tools-left")), b(a.selector + "tools-left").addClass("in-fullscreen")) : (b(a.selector + "tools-left").after(b(a.selector + "tools-right")), b(a.selector + "tools-left").removeClass("in-fullscreen")) - } - } - }, ba = function () { - if (window.divaPlugins) { - var c = []; - b.each(window.divaPlugins, function (d, g) { - var h = g.pluginName[0].toUpperCase() + - g.pluginName.substring(1); - a["enable" + h] && g.init(a, e) && (h = g.titleText || h + " plugin", "function" === typeof g.handleClick && (c.push('<div class="diva-' + g.pluginName + '-icon" title="' + h + '"></div>'), b(a.outerSelector).delegate(".diva-" + g.pluginName + "-icon", "click", function (b) { - g.handleClick.call(this, b, a) - })), a.plugins.push(g)) - }); - c.length && (a.pageTools = '<div class="diva-page-tools">' + c.join("") + "</div>") - } - }, Y = function () { - clearTimeout(a.throbberTimeoutID); - b(a.selector + "throbber").hide() - }, ca = function () { - var c = '<div id="' + - a.ID + 'throbber" class="diva-throbber"></div>'; - b(a.outerSelector).append(c); - a.throbberTimeoutID = setTimeout(function () { - b(a.selector + "throbber").show() - }, a.throbberTimeout); - b.ajax({ - url: a.objectData, - cache: !0, - dataType: "json", - error: function (c, d, e) { - Y(); - b(a.outerSelector).text("Invalid URL. Error code: " + d + " " + e) - }, - success: function (c, d, e) { - Y(); - a.pages = c.pgs; - a.maxRatio = c.dims.max_ratio; - a.minRatio = c.dims.min_ratio; - a.itemTitle = c.item_title; - a.numPages = c.pgs.length; - a.maxWidths = c.dims.max_w; - a.averageWidths = c.dims.a_wid; - a.averageHeights = c.dims.a_hei; - a.totalHeights = c.dims.t_hei; - a.realMaxZoom = c.max_zoom; - a.maxZoomLevel = 0 <= a.maxZoomLevel && a.maxZoomLevel <= c.max_zoom ? a.maxZoomLevel : c.max_zoom; - a.minZoomLevel = 0 <= a.minZoomLevel && a.minZoomLevel <= a.maxZoomLevel ? a.minZoomLevel : 0; - a.minPagesPerRow = Math.max(2, a.minPagesPerRow); - a.maxPagesPerRow = Math.max(a.minPagesPerRow, a.maxPagesPerRow); - a.enableFilename ? (c = b.getHashParam("i" + a.hashParamSuffix), c = k(c)) : c = parseInt(b.getHashParam("p" + a.hashParamSuffix), 10) - 1; - m(c) && (a.goDirectlyTo = - c); - b.each(a.plugins, function (b, c) { - l(c.setupHook, a) - }); - a.enableToolbar && (a.toolbar = aa(), Events.subscribe("VisiblePageDidChange", a.toolbar.updateCurrentPage), Events.subscribe("ModeDidSwitch", a.toolbar.switchMode), Events.subscribe("ViewDidSwitch", a.toolbar.switchView), Events.subscribe("ZoomLevelDidChange", a.toolbar.updateZoomSlider), Events.subscribe("GridRowNumberDidChange", a.toolbar.updateGridSlider)); - b(a.selector + "current label").text(a.numPages); - a.enableAutoTitle && b(a.parentSelector).prepend('<div id="' + - a.ID + 'title" class="diva-title">' + a.itemTitle + "</div>"); - a.mobileWebkit ? C() : (a.originalWidth = b(a.parentSelector).width() - a.scrollbarWidth, a.originalHeight = b(a.outerSelector).height(), D()); - c = b(a.outerSelector).offset(); - a.viewerXOffset = c.left; - a.viewerYOffset = c.top; - a.inFullscreen ? G(!1) : B(); - l(a.onReady, a); - Events.publish("ViewerHasFinishedLoading", [a]); - a.loaded = !0 - } - }) - }, Q = function () { - return a.loaded ? !0 : (console.warn("The viewer is not completely initialized. This is likely because it is still downloading data. To fix this, only call this function if the isReady() method returns true."), !1) - }; - (function () { - a.scrollbarWidth = b.getScrollbarWidth(); - a.mobileWebkit = void 0 !== window.orientation; - a.ID = b.generateId("diva-"); - a.selector = "#" + a.ID; - var c = parseInt(a.ID, 10); - 1 < c && (a.hashParamSuffix = c); - a.outerSelector = a.selector + "outer"; - a.innerSelector = a.selector + "inner"; - b(a.parentSelector).append('<div id="' + a.ID + 'outer" class="diva-outer"></div>'); - b(a.outerSelector).append('<div id="' + a.ID + 'inner" class="diva-inner diva-dragger"></div>'); - a.enableFullscreen && b(a.parentSelector).prepend('<div id="' + a.ID + - 'fullscreen" class="diva-fullscreen-icon" title="Toggle fullscreen mode"></div>'); - c = parseInt(b.getHashParam("n" + a.hashParamSuffix), 10); - c >= a.minPagesPerRow && c <= a.maxPagesPerRow && (a.pagesPerRow = c); - c = b.getHashParam("z" + a.hashParamSuffix); - "" !== c && (c = parseInt(c, 10), c >= a.minZoomLevel && (a.zoomLevel = c)); - c = parseInt(b.getHashParam("y" + a.hashParamSuffix), 10); - isNaN(c) || (a.verticalOffset = c); - c = parseInt(b.getHashParam("x" + a.hashParamSuffix), 10); - isNaN(c) || (a.horizontalOffset = c); - var c = b.getHashParam("g" + a.hashParamSuffix), - d = "true" === c, - e = b.getHashParam("f" + a.hashParamSuffix); - a.inGrid = a.inGrid && "false" !== c || d; - a.inFullscreen = a.inFullscreen && "false" !== e || "true" === e; - c = parseInt(b.getHashParam("h" + a.hashParamSuffix), 10); - d = parseInt(b.getHashParam("w" + a.hashParamSuffix), 10); - a.minHeight = parseInt(b(a.outerSelector).css("min-height"), 10); - a.minWidth = parseInt(b(a.outerSelector).css("min-width"), 10); - (0 < c || 0 < d) && P(d, c); - ca(); - ba(); - Z() - })(); - this.getItemTitle = function () { - return a.itemTitle - }; - this.gotoPageByNumber = function (a) { - a -= 1; - return m(a) ? - (F(a, 0, 0), !0) : !1 - }; - this.gotoPageByIndex = function (a) { - return m(a) ? (F(a, 0, 0), !0) : !1 - }; - this.getCurrentPage = function () { - console.warn("Deprecated. Use getCurrentPageIndex instead."); - return a.currentPageIndex - }; - this.getNumberOfPages = function () { - return Q() ? a.numPages : !1 - }; - this.getPageDimensionsAtZoomLevel = function (b, c) { - if (!Q()) return !1; - var d = a.pages[b].d[parseInt(c - 1, 10)]; - return { - width: d.w, - height: d.h - } - }; - this.getCurrentPageDimensionsAtCurrentZoomLevel = function () { - return this.getPageDimensionsAtZoomLevel(a.currentPageIndex, - a.zoomLevel) - }; - this.isReady = function () { - return a.loaded - }; - this.getCurrentPageIndex = function () { - return a.currentPageIndex - }; - this.getCurrentPageFilename = function () { - return a.pages[a.currentPageIndex].f - }; - this.getCurrentPageNumber = function () { - return a.currentPageIndex + 1 - }; - this.getZoomLevel = function () { - return a.zoomLevel - }; - this.getMaxZoomLevel = function () { - return a.maxZoomLevel - }; - this.getMaxZoomLevelForPage = function (b) { - return Q ? a.pages[b].m : !1 - }; - this.getMinZoomLevel = function () { - return a.minZoomLevel - }; - this.setZoomLevel = - function (b) { - a.inGrid && L(); - return M(b) - }; - this.zoomIn = function () { - return this.setZoomLevel(a.zoomLevel + 1) - }; - this.zoomOut = function () { - return this.setZoomLevel(a.zoomLevel - 1) - }; - this.inViewport = function (b, c, d) { - b = a.heightAbovePages[b - 1] + c; - return h(b, b + d) - }; - this.toggleFullscreenMode = function () { - N() - }; - this.enterFullscreenMode = function () { - return a.inFullscreen ? !1 : (N(), !0) - }; - this.leaveFullscreenMode = function () { - return a.inFullscreen ? (N(), !0) : !1 - }; - this.toggleGridView = function () { - L() - }; - this.enterGridView = function () { - return a.inGrid ? !1 : (L(), !0) - }; - this.leaveGridView = function () { - return a.inGrid ? (L(), !0) : !1 - }; - this.gotoPageByName = function (a) { - a = k(a); - return m(a) ? (F(a, 0, 0), !0) : !1 - }; - this.getPageIndex = function (a) { - return k(a) - }; - this.getCurrentURL = function () { - return X() - }; - this.getURLHash = function () { - return W() - }; - this.getState = function () { - return V() - }; - this.getInstanceSelector = function () { - return a.selector - }; - this.getInstanceId = function () { - return a.ID - }; - this.getSettings = function () { - return a - }; - this.setState = function (b) { - var c; - P(b.w, b.h); - c = k(b.i); - m(c) ? a.goDirectlyTo = - c : m(b.p) && (a.goDirectlyTo = b.p); - a.horizontalOffset = parseInt(b.x, 10); - a.verticalOffset = parseInt(b.y, 10); - b.z >= a.minZoomLevel && b.z <= a.maxZoomLevel && (a.zoomLevel = b.z); - b.n >= a.minPagesPerRow && b.n <= a.maxPagesPerRow && (a.pagesPerRow = b.n); - a.inFullscreen !== b.f ? (a.inFullscreen = b.f, G(a.inGrid !== b.g)) : a.inGrid !== b.g ? (a.inGrid = b.g, E()) : B() - }; - this.resize = function (a, b) { - P(a, b); - B() - }; - this.destroy = function () { - b("body").removeClass("diva-hide-scrollbar"); - b(a.parentSelector).empty().removeData("diva"); - b.each(a.plugins, function (a, - b) { - l(b.destroy) - }); - b(a.parentSelector).removeAttr("style").removeAttr("class") - } - }; - b.fn.diva = function (d) { - return this.each(function () { - var c = b(this); - if (!c.data("diva")) { - d.parentSelector = c; - var a = new e(this, d); - c.data("diva", a) - } - }) - } -})(jQuery); -(function (b) { - window.divaPlugins.push(function () { - var e = {}, d = {}, c = {}, a, f, l, g = { - brightnessMax: 150, - brightnessMin: -100, - brightnessStep: 1, - contrastMax: 3, - contrastMin: -1, - contrastStep: 0.05, - localStoragePrefix: "canvas-", - mobileWebkitMaxZoom: 2, - onInit: null, - rgbMax: 50, - rgbMin: -50, - throbberFadeSpeed: 200, - throbberTimeout: 100, - buttons: ["contrast", "brightness", "rotation", "zoom"] - }, k = function (b, c) { - var d = b.context, - e = b.size / 2, - f = -(b.width / 2), - g = -(b.height / 2); - d.clearRect(0, 0, b.size, b.size); - d.save(); - d.translate(e, e); - d.rotate(c * Math.PI / - 180); - d.drawImage(a, f, g, b.width, b.height); - d.restore(); - b.data = d.getImageData(0, 0, b.size, b.size) - }, h = function () { - for (var a in f) - if (f[a].current !== f[a].previous) return !0; - return !1 - }, m = function () { - k(d, f.rotation.current); - v(d) - }, n = function () { - var a = f.rotation.current, - d = f.zoom.current, - g = f.zoom.previous; - if (a !== f.rotation.previous || d !== g) { - var l = b("#diva-canvas-wrapper").scrollLeft(), - m = b("#diva-canvas-wrapper").scrollTop(), - n = c.viewport.width / 2, - y = c.viewport.height / 2, - l = l + n - e.centerX, - p = -(m + y - e.centerY), - G = (f.rotation.previous - - a) * Math.PI / 180, - m = Math.cos(G) * l - Math.sin(G) * p + e.centerX, - l = -(Math.sin(G) * l + Math.cos(G) * p) + e.centerY, - d = Math.pow(2, d - g), - n = d * m - n, - y = d * l - y; - k(e, a); - b("#diva-canvas-wrapper").scrollLeft(n); - b("#diva-canvas-wrapper").scrollTop(y) - } - if (h()) { - v(e); - for (var E in f) f[E].previous = f[E].current - } - }, t = function (a) { - var b = f[a].current !== f[a].initial; - return f[a].current !== f[a].previous || b - }, v = function (a) { - var b = a.data, - d = a.context.createImageData(b), - e = d.data, - g, h; - g = 0; - for (h = e.length; g < h; g++) e[g] = b.data[g]; - b = d.data; - g = f.contrast.current; - e = (1 + Math.min(c.brightnessMax, Math.max(c.brightnessMin, f.brightness.current)) / c.brightnessMax) * g; - g = 128 - 128 * g; - h = f.red.current; - var k = f.green.current, - l = f.blue.current, - m = t("red"), - n = t("green"), - p = t("blue"), - u = t("brightness"), - r = t("contrast"), - u = u || r, - q, w, z, x, v, C, D, r = 0; - for (w = d.width; r < w; r++) - for (q = 0, z = d.height; q < z; q++) x = 4 * (q * w + r), v = b[x], C = b[x + 1], D = b[x + 2], 0 < v + C + D && (m && v && (v += h), n && C && (C += k), p && D && (D += l), u && (v && (v = v * e + g), C && (C = C * e + g), D && (D = D * e + g)), b[x] = v, b[x + 1] = C, b[x + 2] = D); - a.context.clearRect(0, 0, w, z); - a.context.putImageData(d, - 0, 0) - }, p = function () { - var a = b("#diva-canvas-wrapper").scrollLeft() * d.scaleFactor, - e = b("#diva-canvas-wrapper").scrollTop() * d.scaleFactor, - f = Math.min(Math.round(c.viewport.height * d.scaleFactor), c.mapSize) - 4, - g = Math.min(Math.round(c.viewport.width * d.scaleFactor), c.mapSize) - 4; - b("#diva-map-viewbox").height(f).width(g).css({ - top: e, - left: a - }) - }, q = function (f, g) { - a = new Image; - a.src = f; - a.onload = function () { - e.size = Math.sqrt(a.width * a.width + a.height * a.height); - e.canvas = document.getElementById("diva-canvas"); - e.canvas.width = - e.size; - e.canvas.height = e.size; - e.cornerX = (e.size - a.width) / 2; - e.cornerY = (e.size - a.height) / 2; - e.width = a.width; - e.height = a.height; - e.centerX = e.size / 2; - e.centerY = e.size / 2; - e.context = e.canvas.getContext("2d"); - e.context.drawImage(a, e.cornerX, e.cornerY, e.width, e.height); - e.data = e.context.getImageData(0, 0, e.size, e.size); - if (void 0 === g) { - var f = a; - d.canvas = document.getElementById("diva-canvas-minimap"); - d.size = c.mapSize; - d.canvas.width = d.size; - d.canvas.height = d.size; - d.context = d.canvas.getContext("2d"); - d.context.fillRect(0, - 0, d.size, d.size); - d.scaleFactor = c.mapSize / e.size; - d.cornerX = e.cornerX * d.scaleFactor; - d.cornerY = e.cornerY * d.scaleFactor; - d.width = f.width * d.scaleFactor; - d.height = f.height * d.scaleFactor; - d.context.drawImage(f, d.cornerX, d.cornerY, d.width, d.height); - d.data = d.context.getImageData(0, 0, c.mapSize, c.mapSize); - b("#diva-map-viewbox").show(); - p() - } - m(); - n(e); - x(); - "function" === typeof g && g.call(g) - } - }, u = function () { - var a = f[l], - c = a.current, - a = a.transform ? a.transform(c) : c; - b("#diva-canvas-value").html(a) - }, w = function () { - b("#diva-canvas-slider").slider({ - value: f[l].current - }) - }, - r = function (a) { - a = c.zoomWidthRatio * Math.pow(2, a); - return c.proxyURL ? c.proxyURL + "?f=" + c.filename + "&w=" + a : c.iipServerURL + "?FIF=" + (c.imageDir + "/") + c.filename + "&WID=" + a + "&CVT=JPEG" - }, I = function () { - (2 < f.zoom.current || c.mobileWebkit) && b(c.selector + "throbber").addClass("canvas-throbber").show() - }, x = function () { - b(c.selector + "throbber").removeClass("canvas-throbber").hide() - }, z = function () { - var a = {}, b = !1, - d = c.localStoragePrefix + c.filename, - e; - for (e in f) f[e].previous !== f[e].initial && (a[e] = f[e].previous, b = !0); - b ? (c.pluginIcon.addClass("new"), - localStorage.setObject(d, a)) : (c.pluginIcon.removeClass("new"), localStorage.removeItem(d)) - }, K = function (a, b) { - c.zoomLevel = a; - var f = r(a); - q(f, function () { - d.scaleFactor = d.size / e.size; - p(); - z() - }) - }; - return { - init: function (a, k) { - if (!window.HTMLCanvasElement) return !1; - b.extend(c, g, a.canvasPlugin); - c.inCanvas = !1; - c.iipServerURL = a.iipServerURL; - c.digiId = a.digiId; - c.imageDir = a.imageDir; - c.selector = a.selector; - c.mobileWebkit = a.mobileWebkit; - f = { - contrast: { - initial: 1, - min: c.contrastMin, - max: c.contrastMax, - step: c.contrastStep, - transform: function (a) { - return a.toFixed(2) - }, - title: "Change the contrast" - }, - brightness: { - initial: 0, - min: c.brightnessMin, - max: c.brightnessMax, - step: c.brightnessStep, - title: "Adjust the brightness" - }, - rotation: { - initial: 0, - min: 0, - max: 359, - step: 1, - transform: function (a) { - return a + "°" - }, - title: "Rotate the image" - }, - zoom: { - initial: 0, - min: 0, - max: 0, - step: 1, - title: "Adjust the zoom level" - }, - red: { - initial: 0, - min: c.rgbMin, - max: c.rgbMax, - step: 1, - title: "Adjust the red channel" - }, - green: { - initial: 0, - min: c.rgbMin, - max: c.rgbMax, - step: 1, - title: "Adjust the green channel" - }, - blue: { - initial: 0, - min: c.rgbMin, - max: c.rgbMax, - step: 1, - title: "Adjust the blue channel" - } - }; - var r = function () { - var a, b, c; - for (c in f) b = f[c], a = b.initial, b.current = a, b.previous = a - }; - r(); - if (b("#diva-canvas-backdrop").length) return !0; - var q = [], - t, B, y; - for (y in c.buttons) t = c.buttons[y], B = f[t].title, t = '<div class="' + t + '" title="' + B + '"></div>', q.push(t); - q = '<div id="diva-canvas-backdrop">' + ('<div id="diva-canvas-tools"><div id="diva-canvas-toolbar"><div id="diva-canvas-close" title="Return to the document viewer"></div><div id="diva-canvas-minimise" title="Minimise the toolbar"></div><span id="diva-canvas-info">Test</span></div><div id="diva-canvas-toolwindow"><div id="diva-map-viewbox"></div><canvas id="diva-canvas-minimap"></canvas><div id="diva-canvas-buttons">' + - q.join("") + '</div><div id="diva-canvas-pane"><p id="diva-canvas-tooltip"><span id="diva-canvas-mode">contrast</span>: <span id="diva-canvas-value">0</span> <span id="diva-canvas-reset" class="link">(Reset)</span></p><div id="diva-canvas-slider"></div></div><br /><div class="action-buttons"><a href="#" id="diva-canvas-reset-all">Reset all</a><a href="#" id="diva-canvas-apply">Apply</a></div></div></div>') + '<div id="diva-canvas-wrapper"><canvas id="diva-canvas"></canvas></div></div>'; - b("body").append(q); - c.mapSize = b("#diva-canvas-minimap").width(); - b("#diva-canvas-buttons div").click(function () { - b("#diva-canvas-buttons .clicked").removeClass("clicked"); - v(b(this).attr("class")) - }); - var v = function (a) { - l = a; - a = f[l]; - b("#diva-canvas-buttons ." + l).addClass("clicked"); - b("#diva-canvas-mode").text(l); - var c = a.current, - d = a.transform ? a.transform(c) : c; - b("#diva-canvas-slider").slider({ - min: a.min, - max: a.max, - step: a.step - }).slider("value", c); - b("#diva-canvas-value").html(d) - }; - v("contrast"); - b("#diva-canvas-slider").slider({ - slide: function (a, - b) { - f[l].current = b.value; - u(); - m() - } - }); - b("#diva-canvas-reset-all").click(function () { - for (var a in f) f[a].current = f[a].initial; - u(); - w(); - m() - }); - b("#diva-canvas-reset").click(function () { - f[l].current = f[l].initial; - u(); - w(); - m() - }); - b("#diva-canvas-apply").click(function () { - h() && (I(), setTimeout(function () { - f.zoom.current !== f.zoom.previous ? K(f.zoom.current) : (n(), x(), z()) - }, c.throbberTimeout)) - }); - b("#diva-canvas-close").click(function () { - b("body").removeClass("overflow-hidden"); - e.context.clearRect(0, 0, e.size, e.size); - d.context.clearRect(0, - 0, d.size, d.size); - b("#diva-canvas-wrapper").scrollTop(0).scrollLeft(0); - b("#diva-canvas-backdrop").hide(); - b("#diva-map-viewbox").hide(); - r(); - u(); - w(); - b("#diva-canvas-buttons .clicked").removeClass("clicked"); - v("contrast"); - Events.publish("CanvasViewDidHide") - }); - b("#diva-canvas-minimise").click(function () { - b("#diva-canvas-toolwindow").slideToggle("fast") - }); - b(window).resize(function () { - c.viewport = { - height: window.innerHeight - a.scrollbarWidth, - width: window.innerWidth - a.scrollbarWidth - }; - c.inCanvas && p() - }); - b("#diva-canvas-wrapper").scroll(function () { - c.inCanvas && - p() - }); - b("#diva-canvas-minimap, #diva-map-viewbox").mouseup(function (a) { - var e = b("#diva-canvas-minimap").offset(), - f = (a.pageX - e.left) / d.scaleFactor; - a = (a.pageY - e.top) / d.scaleFactor; - b("#diva-canvas-wrapper").scrollTop(a - c.viewport.height / 2); - b("#diva-canvas-wrapper").scrollLeft(f - c.viewport.width / 2) - }); - b("#diva-canvas").mousedown(function () { - b(this).addClass("grabbing") - }).mouseup(function () { - b(this).removeClass("grabbing") - }); - c.mobileWebkit ? b("#diva-canvas-wrapper").kinetic() : b("#diva-canvas-wrapper").dragscrollable({ - acceptPropagatedEvent: !0 - }); - "function" === typeof c.onInit && c.onInit.call(this, c); - return !0 - }, - pluginName: "canvas", - titleText: "View the image on a canvas and adjust various settings", - setupHook: function (a) { - c.viewport = { - height: window.innerHeight - a.scrollbarWidth, - width: window.innerWidth - a.scrollbarWidth - }; - c.minZoomLevel = a.minZoomLevel; - c.maxZoomLevel = a.maxZoomLevel; - c.mobileWebkit && (c.maxZoomLevel = Math.min(c.maxZoomLevel, c.mobileWebkitMaxZoom)); - f.zoom.min = c.minZoomLevel; - f.zoom.max = c.maxZoomLevel - }, - handleClick: function (a, d) { - var e = b(this).parent().parent(), - g = b(e).attr("data-filename"), - h = b(e).width() - 1, - k = d.zoomLevel, - m; - c.zoomWidthRatio = h / Math.pow(2, k); - c.pluginIcon = b(this); - c.mobileWebkit && (k = Math.min(c.maxZoomLevel, k)); - c.filename = g; - f.zoom.initial = k; - f.zoom.current = k; - if (g = localStorage.getObject(c.localStoragePrefix + c.filename)) - for (m in g) f[m].current = g[m], m === l && (u(), w()), "zoom" === m && (k = g[m]); - f.zoom.previous = k; - b("body").addClass("overflow-hidden"); - b("#diva-canvas-backdrop").show(); - c.inCanvas = !0; - k = r(k); - b("#diva-canvas-info").text(b(e).attr("title")); - I(); - Events.publish("CanvasViewDidActivate", [e]); - q(k) - }, - onPageLoad: function (a, d, e) { - null !== localStorage.getItem(c.localStoragePrefix + d) && b(e).find(".diva-canvas-icon").addClass("new") - }, - destroy: function () { - b("#diva-canvas-backdrop").remove() - } - } - }()) -})(jQuery); -(function (b) { - window.divaPlugins.push(function () { - var e, d; - return { - init: function (b, a) { - e = b.iipServerURL; - d = b.imageDir; - return !0 - }, - pluginName: "download", - titleText: "Download image at the given zoom level", - handleClick: function (c) { - var a = b(this).parent().parent(); - c = b(a).attr("data-filename"); - a = b(a).width() - 1; - window.open(e + "?FIF=" + (d + "/") + c + "&WID=" + a + "&CVT=JPEG") - } - } - }()) -})(jQuery); -(function (b) { - window.divaPlugins.push(function () { - return { - init: function (b, d) { - b.parentSelector.data("highlights", {}); - Events.subscribe("PageHasLoaded", function (c, a, f) { - var l = b.parentSelector.data("highlights"); - if (l.hasOwnProperty(c)) { - a = d.getInstanceId() + "page-" + c; - a = document.getElementById(a); - f = l[c].regions; - c = l[c].colour; - for (var l = d.getMaxZoomLevel() - d.getZoomLevel(), g = f.length; g--;) { - var k = document.createElement("div"); - k.style.width = f[g].width / Math.pow(2, l) + "px"; - k.style.height = f[g].height / Math.pow(2, l) + - "px"; - k.style.top = f[g].uly / Math.pow(2, l) + "px"; - k.style.left = f[g].ulx / Math.pow(2, l) + "px"; - k.style.backgroundColor = c; - k.style.border = "1px solid #555"; - k.style.position = "absolute"; - k.style.zIndex = 1E3; - k.className = "search-result"; - a.appendChild(k) - } - } - }); - d.resetHighlights = function () { - for (var c = document.getElementsByClassName("search-result"), a = c.length; a--;) c[a].parentNode.removeChild(c[a]); - b.parentSelector.data("highlights", {}) - }; - d.removeHighlightsOnPage = function (c) { - var a = b.parentSelector.data("highlights"); - if (a.hasOwnProperty(c)) { - for (var f = - d.getInstanceId() + "page-" + c, f = document.getElementById(f), l = f.getElementsByClassName("search-result"), g = l.length; g--;) f.removeChild(l[g]); - delete a[c] - } - }; - d.highlightOnPages = function (b, a, e) { - for (var l = b.length; l--;) d.highlightOnPage(b[l], a, e) - }; - d.highlightOnPage = function (c, a, f) { - "undefined" === typeof f && (f = "rgba(255, 0, 0, 0.5)"); - d.getMaxZoomLevel(); - b.parentSelector.data("highlights")[c] = { - regions: a, - colour: f - }; - return !0 - }; - return !0 - }, - pluginName: "highlight", - titleText: "Highlight regions of pages" - } - }()) -})(jQuery); -(function (b) { - window.divaPlugins.push(function () { - return { - init: function (b, d) { - return !0 - }, - pluginName: "text", - titleText: "View the text of this page" - } - }()) -})(jQuery); \ No newline at end of file +Storage.prototype.setObject=function(b,e){this.setItem(b,JSON.stringify(e))};Storage.prototype.getObject=function(b){return(b=this.getItem(b))&&JSON.parse(b)};(function(b){var e=1;b.generateId=function(b){var d;do d=e++ +(b?"-"+b:"");while(document.getElementById(d));return d}})(jQuery); +(function(b){b.getScrollbarWidth=function(){var b=document.createElement("p");b.style.width="100%";b.style.height="200px";var f=document.createElement("div");f.style.position="absolute";f.style.top="0px";f.style.left="0px";f.style.visibility="hidden";f.style.width="200px";f.style.height="150px";f.style.overflow="hidden";f.appendChild(b);document.body.appendChild(f);var d=b.offsetWidth;f.style.overflow="scroll";b=b.offsetWidth;d==b&&(b=f.clientWidth);document.body.removeChild(f);return d-b}})(jQuery); +(function(b){b.getHashParam=function(b){var f=window.location.hash;if(""!==f){var d=0<f.indexOf("&"+b+"=")?f.indexOf("&"+b+"="):f.indexOf("#"+b+"=");if(0<=d)return d+=b.length+2,b=f.indexOf("&",d),b>d?f.substring(d,b):0>b?f.substring(d):""}return!1}})(jQuery); +(function(b){b.updateHashParam=function(e,f){var d=b.getHashParam(e),a=window.location.hash;if(d!==f)if("string"==typeof d){var g=0<a.indexOf("&"+e+"=")?a.indexOf("&"+e+"="):a.indexOf("#"+e+"="),d=g+e.length+2+d.length,h=0===g?"#":"&";window.location.replace(a.substring(0,g)+h+e+"="+f+a.substring(d))}else 0===a.length?window.location.replace("#"+e+"="+f):window.location.replace(a+"&"+e+"="+f)}})(jQuery); +(function(b){b.fn.dragscrollable=function(e){var f=b.extend({dragSelector:">:first",acceptPropagatedEvent:!0,preventDefault:!0},e||{}),d={mouseDownHandler:function(a){if(1!=a.which||!a.data.acceptPropagatedEvent&&a.target!=this)return!1;a.data.lastCoord={left:a.clientX,top:a.clientY};b.event.add(document,"mouseup",d.mouseUpHandler,a.data);b.event.add(document,"mousemove",d.mouseMoveHandler,a.data);if(a.data.preventDefault)return a.preventDefault(),!1},mouseMoveHandler:function(a){var b=a.clientX- +a.data.lastCoord.left,d=a.clientY-a.data.lastCoord.top;a.data.scrollable.scrollLeft(a.data.scrollable.scrollLeft()-b);a.data.scrollable.scrollTop(a.data.scrollable.scrollTop()-d);a.data.lastCoord={left:a.clientX,top:a.clientY};if(a.data.preventDefault)return a.preventDefault(),!1},mouseUpHandler:function(a){b.event.remove(document,"mousemove",d.mouseMoveHandler);b.event.remove(document,"mouseup",d.mouseUpHandler);if(a.data.preventDefault)return a.preventDefault(),!1}};this.each(function(){var a={scrollable:b(this), +acceptPropagatedEvent:f.acceptPropagatedEvent,preventDefault:f.preventDefault};b(this).find(f.dragSelector).bind("mousedown",a,d.mouseDownHandler)})}})(jQuery); +(function(b){var e={cursor:"move",decelerate:!0,triggerHardware:!1,y:!0,x:!0,slowdown:.9,maxvelocity:40,throttleFPS:60,movingClass:{up:"kinetic-moving-up",down:"kinetic-moving-down",left:"kinetic-moving-left",right:"kinetic-moving-right"},deceleratingClass:{up:"kinetic-decelerating-up",down:"kinetic-decelerating-down",left:"kinetic-decelerating-left",right:"kinetic-decelerating-right"}};window.requestAnimationFrame||(window.requestAnimationFrame=function(){return window.webkitRequestAnimationFrame|| +window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a,b){window.setTimeout(a,1E3/60)}}());b.support=b.support||{};b.extend(b.support,{touch:"ontouchend"in document});var f=function(){return!1},d=function(a,b){return 0===Math.floor(Math.abs(a))?0:a*b},a=function(a,b){var d=a;0<a?a>b&&(d=b):a<0-b&&(d=0-b);return d},g=function(a,b){this.removeClass(a.movingClass.up).removeClass(a.movingClass.down).removeClass(a.movingClass.left).removeClass(a.movingClass.right).removeClass(a.deceleratingClass.up).removeClass(a.deceleratingClass.down).removeClass(a.deceleratingClass.left).removeClass(a.deceleratingClass.right); +0<a.velocity&&this.addClass(b.right);0>a.velocity&&this.addClass(b.left);0<a.velocityY&&this.addClass(b.down);0>a.velocityY&&this.addClass(b.up)},h=function(a,b){b.velocity=0;b.velocityY=0;b.decelerate=!0;"function"===typeof b.stopped&&b.stopped.call(a,b)},l=function(a,b){var e=a[0];b.x&&0<e.scrollWidth?(e.scrollLeft=b.scrollLeft=e.scrollLeft+b.velocity,0<Math.abs(b.velocity)&&(b.velocity=b.decelerate?d(b.velocity,b.slowdown):b.velocity)):b.velocity=0;b.y&&0<e.scrollHeight?(e.scrollTop=b.scrollTop= +e.scrollTop+b.velocityY,0<Math.abs(b.velocityY)&&(b.velocityY=b.decelerate?d(b.velocityY,b.slowdown):b.velocityY)):b.velocityY=0;g.call(a,b,b.deceleratingClass);"function"===typeof b.moved&&b.moved.call(a,b);0<Math.abs(b.velocity)||0<Math.abs(b.velocityY)?window.requestAnimationFrame(function(){l(a,b)}):h(a,b)},n=function(a,d){var e=b.kinetic.callMethods[a],f=Array.prototype.slice.call(arguments);e&&this.each(function(){var a=f.slice(1),d=b(this).data("kinetic-settings");a.unshift(d);e.apply(this, +a)})},t=function(a,d){b.support.touch?a.bind("touchstart",d.events.touchStart).bind("touchend",d.events.inputEnd).bind("touchmove",d.events.touchMove):a.mousedown(d.events.inputDown).mouseup(d.events.inputEnd).mousemove(d.events.inputMove);a.click(d.events.inputClick).scroll(d.events.scroll).bind("selectstart",f).bind("dragstart",d.events.dragStart)},u=function(d){this.addClass("kinetic-active").each(function(){var f=this,h=b(this);if(!h.data("kinetic-settings")){var k=b.extend({},e,d),n,u=!1,y,v= +!1,A=!1,B=1E3/k.throttleFPS,I,G;k.velocity=0;k.velocityY=0;var M=function(){A=y=n=!1};b(document).mouseup(M).click(M);var m=function(){k.velocity=a(u-n,k.maxvelocity);k.velocityY=a(v-y,k.maxvelocity)},x=function(a){return b.isFunction(k.filterTarget)?!1!==k.filterTarget.call(f,a):!0},F=function(a,d){if(!I||new Date>new Date(I.getTime()+B))I=new Date,A&&(n||y)&&(G&&(b(G).blur(),G=null,h.focus()),k.decelerate=!1,k.velocity=k.velocityY=0,h[0].scrollLeft=k.scrollLeft=k.x?h[0].scrollLeft-(a-n):h[0].scrollLeft, +h[0].scrollTop=k.scrollTop=k.y?h[0].scrollTop-(d-y):h[0].scrollTop,u=n,v=y,n=a,y=d,m(),g.call(h,k,k.movingClass),"function"===typeof k.moved&&k.moved.call(h,k))};k.events={touchStart:function(a){var b;if(x(a.target)){b=a.originalEvent.touches[0];var d=b.clientX;b=b.clientY;A=!0;k.velocity=u=0;k.velocityY=v=0;n=d;y=b;a.stopPropagation()}},touchMove:function(a){var b;A&&(b=a.originalEvent.touches[0],F(b.clientX,b.clientY),a.preventDefault&&a.preventDefault())},inputDown:function(a){if(x(a.target)){var b= +a.clientX,d=a.clientY;A=!0;k.velocity=u=0;k.velocityY=v=0;n=b;y=d;G=a.target;"IMG"===a.target.nodeName&&a.preventDefault();a.stopPropagation()}},inputEnd:function(a){n&&u&&!1===k.decelerate&&(k.decelerate=!0,m(),n=u=A=!1,l(h,k));G=null;a.preventDefault&&a.preventDefault()},inputMove:function(a){A&&(F(a.clientX,a.clientY),a.preventDefault&&a.preventDefault())},scroll:function(a){"function"===typeof k.moved&&k.moved.call(h,k);a.preventDefault&&a.preventDefault()},inputClick:function(a){if(0<Math.abs(k.velocity))return a.preventDefault(), +!1},dragStart:function(a){if(G)return!1}};t(h,k);h.data("kinetic-settings",k).css("cursor",k.cursor);k.triggerHardware&&h.css({"-webkit-transform":"translate3d(0,0,0)","-webkit-perspective":"1000","-webkit-backface-visibility":"hidden"})}})};b.kinetic={settingsKey:"kinetic-settings",callMethods:{start:function(a,d){var e=b(this);if(a=b.extend(a,d))a.decelerate=!1,l(e,a)},end:function(a,d){b(this);a&&(a.decelerate=!0)},stop:function(a,d){var e=b(this);h(e,a)},detach:function(a,d){var e=b(this);b.support.touch? +e.unbind("touchstart",a.events.touchStart).unbind("touchend",a.events.inputEnd).unbind("touchmove",a.events.touchMove):e.unbind("mousedown",a.events.inputDown).unbind("mouseup",a.events.inputEnd).unbind("mousemove",a.events.inputMove).unbind("scroll",a.events.scroll);e.unbind("click",a.events.inputClick).unbind("selectstart",f);e.unbind("dragstart",a.events.dragStart);e.removeClass("kinetic-active").css("cursor","")},attach:function(a,d){var e=b(this);t(e,a);e.addClass("kinetic-active").css("cursor", +"move")}}};b.fn.kinetic=function(a){"string"===typeof a?n.apply(this,arguments):u.call(this,a);return this}})(window.jQuery||window.Zepto); +var diva=function(){var b={};return{Events:{publish:function(e,f,d){if(b[e]){e=b[e];for(var a=e.length;a--;)e[a].apply(d||this,f||[])}},subscribe:function(e,f){b[e]||(b[e]=[]);b[e].push(f);return[e,f]},unsubscribe:function(e,f){var d=e[0];if(b[d])for(var a=b[d].length;a--;)if(b[d][a]===e[1])return b[d].splice(a,1),f&&delete b[d],!0;return!1},unsubscribeAll:function(){b={}}}}}(),activeDivaController=function(){var b;$(document).on("click",function(e){a:{var f=$(e.target);e=f.find(".diva-outer");var f= +f.closest(".diva-outer"),d;if(!(0<e.length))if(0<f.length)e=f;else{d=document.getElementsByClassName("diva-outer");for(f=0;f<d.length;f++)$(d[f].parentElement).data("diva").deactivate();break a}e.parent().data("diva").activate();b=e.parent();d=document.getElementsByClassName("diva-outer");for(f=0;f<d.length;f++)d[f].getAttribute("id")!=e.attr("id")&&$(d[f].parentElement).data("diva").deactivate()}});this.getActive=function(){return b}},activeDiva=new activeDivaController;window.divaPlugins=[]; +(function(b){var e=function(e,d){var a=b.extend({},{adaptivePadding:.05,arrowScrollAmount:40,blockMobileMove:!0,objectData:"",enableAutoTitle:!0,enableFilename:!0,enableFullscreen:!0,enableGotoPage:!0,enableGridIcon:!0,enableGridControls:"buttons",enableKeyScroll:!0,enableLinkIcon:!0,enableSpaceScroll:!1,enableToolbar:!0,enableZoomControls:"buttons",fixedPadding:10,fixedHeightGrid:!0,goDirectlyTo:0,iipServerURL:"",inFullscreen:!1,inGrid:!1,imageDir:"",maxPagesPerRow:8,maxZoomLevel:-1,minPagesPerRow:2, +minZoomLevel:0,onDocumentLoaded:null,onModeToggle:null,onViewToggle:null,onJump:null,onPageLoad:null,onPageLoaded:null,onReady:null,onScroll:null,onScrollDown:null,onScrollUp:null,onSetCurrentPage:null,onZoom:null,onZoomIn:null,onZoomOut:null,pageLoadTimeout:200,pagesPerRow:5,rowLoadTimeout:50,throbberTimeout:100,tileHeight:256,tileWidth:256,toolbarParentObject:d.parentObject,verticallyOriented:!0,viewportMargin:200,zoomLevel:2},d);b.extend(a,{allTilesLoaded:[],averageHeights:[],averageWidths:[], +currentPageIndex:0,divaIsFullWindow:!1,doubleClickZoom:!1,firstPageLoaded:-1,firstRowLoaded:-1,gridPageWidth:0,hashParamSuffix:"",horizontalOffset:0,horizontalPadding:0,ID:null,initialKeyScroll:!1,initialSpaceScroll:!1,innerObject:"",isActiveDiva:!0,isScrollable:!0,itemTitle:"",lastPageLoaded:-1,lastRowLoaded:-1,loaded:!1,maxWidths:[],maxHeights:[],maxRatio:0,minRatio:0,mobileWebkit:!1,numPages:0,numRows:0,oldZoomLevel:-1,outerObject:"",pages:[],pageLeftOffsets:[],pageTopOffsets:[],pageTimeouts:[], +pageTools:"",panelHeight:0,panelWidth:0,plugins:[],previousLeftScroll:0,previousTopScroll:0,realMaxZoom:-1,resizeTimer:-1,rowHeight:0,scaleWait:!1,scrollbarWidth:0,selector:"",singleClick:!1,singleTap:!1,throbberTimeoutID:-1,toolbar:null,totalHeights:[],totalHeight:0,totalWidths:[],totalWidth:0,verticalOffset:0,verticalPadding:0});var g=this,h=function(a){var b=!0;return function(a){var c,d,e;if("function"===typeof a){c=[];d=1;for(e=arguments.length;d<e;d++)c.push(arguments[d]);b&&(console.warn('The use of callback functions is deprecated. Use diva.Events.subscribe("Event", function) instead.'), +b=!1);a.apply(g,c);return!0}return!1}}(),l=function(c,b){return a.pages[c].d[a.zoomLevel][b]},n=function(c){var b,d=a.numPages;for(b=0;b<d;b++)if(a.pages[b].f===c)return b;return-1},t=function(c,d){var e=b("#"+a.ID+"outer").scrollLeft()-a.viewportMargin,f=e+a.panelWidth+2*a.viewportMargin;return c>=e&&c<=f||c<=e&&d>=f||d>=e&&d<=f},u=function(c,d){var e=b("#"+a.ID+"outer").scrollTop()-a.viewportMargin,f=e+a.panelHeight+2*a.viewportMargin;return c>=e&&c<=f||c<=e&&d>=f||d>=e&&d<=f},p=function(c){return 0<= +c&&c<a.numPages},r=function(c){var b=a.pageTopOffsets[c],d=b+l(c,"h")+a.verticalPadding,e=a.pageLeftOffsets[c];c=e+l(c,"w")+a.horizontalPadding;return u(b,d)&&t(e,c)},q=function(c){return!!document.getElementById(a.ID+"page-"+c)},k=function(c){if(!q(c)||!a.allTilesLoaded[c]){var b=a.pages[c].f,d=l(c,"w"),e=l(c,"h"),f=a.pageTopOffsets[c]+a.verticalPadding,m=a.pageLeftOffsets[c]+a.horizontalPadding,U=a.selector+"page-"+c,x;if(!q(c)){var H=document.getElementById(a.ID+"inner"),k=document.createElement("div"); +k.id=a.ID+"page-"+c;k.classList.add("diva-document-page");k.setAttribute("data-index",c);k.setAttribute("data-filename",b);k.title="Page "+(c+1);k.innerHTML=a.pageTools;k.style.width=d+"px";k.style.height=e+"px";a.verticallyOriented?(k.style.top=f+"px",k.classList.add("diva-page-vertical")):(k.style.left=m+"px",k.classList.add("diva-page-horizontal"));H.appendChild(k);h(a.onPageLoad,c,b,U);diva.Events.publish("PageWillLoad",[c,b,U],g);for(x in a.plugins)h(a.plugins[x].onPageLoad,c,b,U)}a.pageTimeouts.push(setTimeout(function(c){var f= +document.getElementById(a.ID+"page-"+c);if(r(c)){var m=a.imageDir+"/",k=l(c,"r"),x=l(c,"c"),H=!0,Y=0,F=e-(k-1)*a.tileHeight,z=d-(x-1)*a.tileWidth,n,p,X,fa,ga,K;baseImageURL=a.iipServerURL+"?FIF="+m+b+"&JTL="+(a.zoomLevel+a.pages[c].m-a.realMaxZoom)+",";for(m=0;m<k;){for(n=0;n<x;){fa=m*a.tileHeight;ga=n*a.tileWidth;p=m===k-1?F:a.tileHeight;X=n===x-1?z:a.tileWidth;K=baseImageURL+Y;if(!document.getElementById(a.ID+"tile-"+c+"-"+Y)){var w=void 0,q=void 0;a.verticallyOriented?(w=a.pageTopOffsets[c]+m* +a.tileHeight+a.verticalPadding,q=a.pageLeftOffsets[c]+n*a.tileWidth):(w=a.pageTopOffsets[c]+m*a.tileHeight,q=a.pageLeftOffsets[c]+n*a.tileWidth+a.horizontalPadding);var ra=q+a.tileWidth;u(w,w+a.tileHeight)&&t(q,ra)?(w=document.createElement("div"),w.id=a.ID+"tile-"+c+"-"+Y,w.classList.add("diva-document-tile"),w.style.display="inline",w.style.position="absolute",w.style.top=fa+"px",w.style.left=ga+"px",w.style.backgroundImage="url('"+K+"')",w.style.height=p+"px",w.style.width=X+"px",f.appendChild(w)): +H=!1}Y++;n++}m++}a.allTilesLoaded[c]=H;h(a.onPageLoaded,c,b,U);diva.Events.publish("PageDidLoad",[c,b,U],g)}},a.pageLoadTimeout,c))}},T=function(c){c=document.getElementById(a.ID+"page-"+c);if(null!==c){for(;c.firstChild;)c.removeChild(c.firstChild);c.parentNode.removeChild(c)}},L=function(c){if(a.verticallyOriented){c=a.pageTopOffsets[c]+l(c,"h")+a.verticalPadding;var b=document.getElementById(a.ID+"outer").scrollTop}else c=a.pageLeftOffsets[c]+l(c,"w")+a.horizontalPadding,b=document.getElementById(a.ID+ +"outer").scrollLeft;return c=c<b},y=function(c){if(a.verticallyOriented){c=a.pageTopOffsets[c];var b=document.getElementById(a.ID+"outer").scrollTop+a.panelHeight}else c=a.pageLeftOffsets[c],b=document.getElementById(a.ID+"outer").scrollLeft+a.panelWidth;return c=c>b},v=function(c,b){0<b?p(c)&&(r(c)?(k(c),a.lastPageLoaded=c,v(a.lastPageLoaded+1,b)):L(c)&&v(c+1,b)):p(c)&&(r(c)?(k(c),a.firstPageLoaded=c,v(a.firstPageLoaded-1,b)):y(c)&&v(c-1,b))},A=function(c,b){0<b?p(c)&&L(c)&&(T(c),a.firstPageLoaded= +c+1,A(a.firstPageLoaded,b)):p(c)&&y(c)&&(T(c),a.lastPageLoaded=c-1,A(a.lastPageLoaded,b))},B=function(c){return 0<=c&&c<a.numRows},I=function(c){c*=a.rowHeight;return u(c,c+a.rowHeight+a.fixedPadding)},G=function(c){if(!document.getElementById(a.ID+"row-"+c)){var b=a.rowHeight*c+a.fixedPadding,d=document.getElementById(a.ID+"inner"),e=document.createElement("div");e.id=a.ID+"row-"+c;e.classList.add("diva-row");e.style.height=a.rowHeight+"px";e.style.top=b+"px";d.appendChild(e);for(var f,m,h,k,x,H, +F=a.imageDir+"/",n=a.pagesPerRow,d=0;d<n;d++){f=c*a.pagesPerRow+d;if(!p(f))break;m=a.pages[f].f;h=l(f,"w");k=l(f,"h");x=a.fixedHeightGrid?(a.rowHeight-a.fixedPadding)*h/k:a.gridPageWidth;h=a.fixedHeightGrid?a.rowHeight-a.fixedPadding:x/h*k;k=parseInt(d*(a.fixedPadding+a.gridPageWidth)+a.fixedPadding,10);x=parseInt(x,10);h=parseInt(h,10);k+=a.fixedHeightGrid?(a.gridPageWidth-x)/2:0;H=encodeURI(a.iipServerURL+"?FIF="+F+m+"&HEI="+(h+2)+"&CVT=JPEG");a.pageTopOffsets[f]=b;a.pageLeftOffsets[f]=k;var z= +document.createElement("div");z.id=a.ID+"page-"+f;var w=a.selector+"page-"+f;z.classList.add("diva-page");z.style.width=x+"px";z.style.height=h+"px";z.style.left=k+"px";z.setAttribute("data-index",f);z.setAttribute("data-filename",m);z.title="Page "+(f+1);e.appendChild(z);diva.Events.publish("PageWillLoad",[f,m,w],g);X(c,f,H,x,h)}}},M=function(c){c=document.getElementById(a.ID+"row-"+c);if(null!==c){for(;c.firstChild;)c.removeChild(c.firstChild);c.parentNode.removeChild(c)}},m=function(c){c=a.rowHeight* +(c+1);var b=document.getElementById(a.ID+"outer").scrollTop;return c<b},x=function(c){c*=a.rowHeight;var b=document.getElementById(a.ID+"outer").scrollTop+a.panelHeight;return c>b},F=function(c,b){0<b?B(c)&&(I(c)?(G(c),a.lastRowLoaded=c,F(a.lastRowLoaded+1,b)):m(c)&&F(c+1,b)):B(c)&&(I(c)?(G(c),a.firstRowLoaded=c,F(a.firstRowLoaded-1,b)):x(c)&&F(c-1,b))},H=function(c,b){0<b?B(c)&&m(c)&&(M(c),a.firstRowLoaded++,H(a.firstRowLoaded,b)):B(c)&&x(c)&&(M(c),a.lastRowLoaded--,H(a.lastRowLoaded,b))},X=function(c, +b,d,e,f){a.pageTimeouts.push(window.setTimeout(function(c,b,d,e,f){I(c)&&(c=document.createElement("img"),c.src=d,c.style.width=e+"px",c.style.height=f+"px",document.getElementById(a.ID+"page-"+b).appendChild(c))},a.rowLoadTimeout,c,b,d,e,f))},K=function(c){var b=a.currentPageIndex,d=b+c;if(!p(d))return!1;var e=a.verticallyOriented?document.getElementById(a.ID+"outer").scrollTop+a.panelHeight/2:document.getElementById(a.ID+"outer").scrollLeft+a.panelWidth/2,f=!1;0>c?a.verticallyOriented?0<=d&&a.pageTopOffsets[d]+ +l(d,"h")+a.verticalPadding>=e&&(f=!0):0<=d&&a.pageLeftOffsets[d]+l(d,"w")+a.horizontalPadding>=e&&(f=!0):0<c&&(a.verticallyOriented?a.pageTopOffsets[b]+l(b,"h")+a.verticalPadding<e&&(f=!0):a.pageLeftOffsets[b]+l(b,"w")+a.horizontalPadding<e&&(f=!0));return f?(a.currentPageIndex=d,0===c||K(c)||(c=a.pages[d].f,h(a.onSetCurrentPage,d,c),diva.Events.publish("VisiblePageDidChange",[d,c],g)),!0):!1},O=function(c){var b=Math.floor(a.currentPageIndex/a.pagesPerRow),d=b+parseInt(c,10),e=document.getElementById(a.ID+ +"outer").scrollTop,f=e+a.panelHeight/2,m=!1;0>c?0<=d&&(a.rowHeight*b>=f||a.rowHeight*d>=e)&&(m=!0):0<c&&a.rowHeight*(b+1)<e&&B(d)&&(m=!0);return m?(a.currentPageIndex=d*a.pagesPerRow,0===c||O(c)||(c=a.currentPageIndex,diva.Events.publish("VisiblePageDidChange",[c,a.pages[c].f],g)),!0):!1},J=function(c,b,d){d="undefined"!==typeof d?d:0;b=a.pageTopOffsets[c]+("undefined"!==typeof b?b:0)-parseInt(a.panelHeight/2,10);d=a.pageLeftOffsets[c]+d-parseInt(a.panelWidth/2,10);a.outerObject.scrollTop(b);a.outerObject.scrollLeft(d); +c!==a.currentPageIndex&&(a.currentPageIndex=c,d=a.pages[c].f,h(a.onSetCurrentPage,c,d),diva.Events.publish("VisiblePageDidChange",[c,d],g));h(a.onJump,c);diva.Events.publish("ViewerDidJump",[c],g)},z=function(c){a.outerObject.scrollTop(Math.floor(c/a.pagesPerRow)*a.rowHeight);a.currentPageIndex=c;diva.Events.publish("VisiblePageDidChange",[c,a.pages[c].f],g)},w=function(c){return c>=a.minZoomLevel&&c<=a.maxZoomLevel?c:a.minZoomLevel},ha=function(c){return c>=a.minPagesPerRow&&c<=a.maxPagesPerRow? +c:a.maxPagesPerRow},ia=function(){a.allTilesLoaded=[];a.outerObject.scrollTop(0);a.innerObject.empty();a.firstPageLoaded=0;a.firstRowLoaded=-1;a.previousTopScroll=0;a.previousLeftScroll=0;for(clearTimeout(a.resizeTimer);a.pageTimeouts.length;)clearTimeout(a.pageTimeouts.pop())},P=function(){a.inGrid?ja():aa()},aa=function(){ia();a.zoomLevel=w(a.zoomLevel);var c=a.zoomLevel;a.totalHeight=a.totalHeights[c]+a.verticalPadding*(a.numPages+1);a.totalWidth=a.totalWidths[c]+a.horizontalPadding*(a.numPages+ +1);var b=a.maxHeights[c]+2*a.verticalPadding,d=Math.max(a.maxWidths[c]+2*a.horizontalPadding,a.panelWidth),b=Math.max(b,a.panelHeight),e=document.getElementById(a.ID+"inner");a.verticallyOriented?(e.style.height=Math.round(a.totalHeight)+"px",e.style.width=Math.round(d)+"px"):(e.style.height=Math.round(b)+"px",e.style.width=Math.round(a.totalWidth)+"px");var f=0,m=0;a.pageTopOffsets=[];a.pageLeftOffsets=[];for(e=0;e<a.numPages;e++)a.pageTopOffsets[e]=parseInt(a.verticallyOriented?f:(b-l(e,"h"))/2, +10),a.pageLeftOffsets[e]=parseInt(a.verticallyOriented?(d-l(e,"w"))/2:m,10),f=a.pageTopOffsets[e]+l(e,"h")+a.verticalPadding,m=a.pageLeftOffsets[e]+l(e,"w")+a.horizontalPadding;p(a.goDirectlyTo)||(a.goDirectlyTo=0);J(a.goDirectlyTo,a.verticalOffset,a.horizontalOffset);d=!1;for(e=0;e<a.numPages;e++)if(r(e))k(e),a.lastPageLoaded=e,d=!0;else if(d)break;0<=a.oldZoomLevel?(a.oldZoomLevel<a.zoomLevel?(h(a.onZoomIn,c),diva.Events.publish("ViewerDidZoomIn",[c],g)):(h(a.onZoomOut,c),diva.Events.publish("ViewerDidZoomOut", +[c],g)),h(a.onZoom,c)):a.oldZoomLevel=a.zoomLevel;a.scaleWait&&(a.scaleWait=!1);c=a.pages[a.currentPageIndex].f;h(a.onDocumentLoaded,a.currentPageIndex,c);diva.Events.publish("DocumentDidLoad",[a.currentPageIndex,c],g)},ja=function(){var c=a.currentPageIndex;a.verticalOffset=a.verticallyOriented?a.panelHeight/2:l(c,"h")/2;a.horizontalOffset=a.verticallyOriented?l(c,"w")/2:a.panelWidth/2;ia();a.pagesPerRow=ha(a.pagesPerRow);c=(a.panelWidth-a.fixedPadding*(a.pagesPerRow+1))/a.pagesPerRow;a.gridPageWidth= +c;a.rowHeight=a.fixedHeightGrid?a.fixedPadding+a.minRatio*c:a.fixedPadding+a.maxRatio*c;a.numRows=Math.ceil(a.numPages/a.pagesPerRow);a.totalHeight=a.numRows*a.rowHeight+a.fixedPadding;c=document.getElementById(a.ID+"inner");c.style.height=Math.round(a.totalHeight)+"px";c.style.width=Math.round(a.panelWidth)+"px";z(a.goDirectlyTo);var b;a.pageTopOffsets=[];a.pageLeftOffsets=[];for(var d=a.numPages,c=0;c<d;c+=a.pagesPerRow)b=Math.floor(c/a.pagesPerRow),I(b)&&(a.firstRowLoaded=0>a.firstRowLoaded?b: +a.firstRowLoaded,G(b),a.lastRowLoaded=b)},ka=function(a){27==a.keyCode&&C()},ba=function(c){a.outerObject.toggleClass("diva-fullscreen");b("body").toggleClass("diva-hide-scrollbar");a.parentObject.toggleClass("diva-full-width");if(a.mobileWebkit){var d=parseInt(a.outerObject.css("margin-left"),10)-parseInt(b("body").css("margin-left"),10);a.outerObject.css("margin-left",d)}var d=a.panelHeight,e=a.panelWidth;Q();if(0<=a.oldZoomLevel&&!a.inGrid){var f=a.panelHeight,m=a.panelWidth;a.inFullscreen?(a.verticalOffset-= +(f-d)/2,a.horizontalOffset-=(m-e)/2):(a.verticalOffset+=(d-f)/2,a.horizontalOffset+=(e-m)/2)}c?(a.inGrid=!a.inGrid,D()):P();if(a.inFullscreen)b(document).on("keyup",ka);else b(document).off("keyup",ka);h(a.onModeToggle,a.inFullscreen);diva.Events.publish("ModeDidSwitch",[a.inFullscreen],g)},D=function(){P();h(a.onViewToggle,a.inGrid);diva.Events.publish("ViewDidSwitch",[a.inGrid],g)},C=function(){a.goDirectlyTo=a.currentPageIndex;a.inFullscreen=!a.inFullscreen;ba(!1)},E=function(){a.goDirectlyTo= +a.currentPageIndex;a.inGrid=!a.inGrid;D()},ca=function(c){var d=b(this).offset();a.doubleClickZoom=!0;a.horizontalOffset=c.pageX-d.left;a.verticalOffset=c.pageY-d.top;a.goDirectlyTo=parseInt(b(this).attr("data-index"),10);N(c.ctrlKey?a.zoomLevel-1:a.zoomLevel+1)},la=function(c){var d=parseInt(b(this).attr("data-index"),10);a.goDirectlyTo=d;var e=b(this).offset(),d=l(d,"w")/b(this).width();a.horizontalOffset=(c.pageX-e.left)*d;a.verticalOffset=(c.pageY-e.top)*d;a.inGrid=!1;D()},N=function(c){var b= +w(c);if(b!==c)return!1;c=Math.pow(2,b-a.zoomLevel);a.doubleClickZoom?(a.verticalOffset*=c,a.horizontalOffset*=c,a.doubleClickZoom=!1):(a.goDirectlyTo=a.currentPageIndex,a.verticalOffset=c*V(),a.horizontalOffset=c*W());a.oldZoomLevel=a.zoomLevel;a.zoomLevel=b;diva.Events.publish("ZoomLevelDidChange",[b],g);aa();return!0},Z=function(c){var b=ha(c);if(b!==c)return!1;a.pagesPerRow=b;diva.Events.publish("GridRowNumberDidChange",[b],g);a.goDirectlyTo=a.currentPageIndex;ja();return!0},R=function(c,b){c= +"undefined"===typeof c?a.currentPageIndex:c;return"center"===b||"centre"===b?parseInt(l(c,"h")/2,10):"bottom"===b?parseInt(l(c,"h")-a.panelHeight/2,10):parseInt(a.panelHeight/2,10)},S=function(c,b){c="undefined"===typeof c?a.currentPageIndex:c;return"left"===b?parseInt(a.panelWidth/2,10):"right"===b?parseInt(l(c,"w")-a.panelWidth/2,10):parseInt(l(c,"w")/2,10)},V=function(){return document.getElementById(a.ID+"outer").scrollTop-a.pageTopOffsets[a.currentPageIndex]+parseInt(a.panelHeight/2,10)},W=function(){return document.getElementById(a.ID+ +"outer").scrollLeft-a.pageLeftOffsets[a.currentPageIndex]+parseInt(a.panelWidth/2,10)},ma=function(){return{f:a.inFullscreen,g:a.inGrid,z:a.zoomLevel,n:a.pagesPerRow,i:a.enableFilename?a.pages[a.currentPageIndex].f:!1,p:a.enableFilename?!1:a.currentPageIndex+1,y:a.inGrid?!1:V(),x:a.inGrid?!1:W()}},na=function(){var c=ma(),b=[],d;for(d in c)!1!==c[d]&&b.push(d+a.hashParamSuffix+"="+c[d]);return b.join("&")},oa=function(){return location.protocol+"//"+location.host+location.pathname+"#"+na()},Q=function(){var c= +document.getElementById(a.ID+"outer");a.panelHeight=c.clientHeight-(c.scrollWidth>c.clientWidth?a.scrollbarWidth:0);a.panelWidth=c.clientWidth-(c.scrollHeight>c.clientHeight?a.scrollbarWidth:0);a.horizontalOffset=W();a.verticalOffset=V();J(a.currentPageIndex,a.verticalOffset,a.horizontalOffset);return!0},pa=function(){a.mobileWebkit||(a.outerObject.dragscrollable({dragSelector:".diva-dragger",acceptPropagatedEvent:!0}),a.innerObject.dragscrollable({dragSelector:".diva-dragger",acceptPropagatedEvent:!0})); +a.outerObject.on("dblclick",".diva-document-page",function(a){ca.call(this,a)});a.outerObject.on("contextmenu",".diva-document-page",function(c){if(c.ctrlKey)return clearTimeout(a.singleClickTimeout),a.singleClick?(ca.call(this,c),a.singleClick=!1):(a.singleClick=!0,a.singleClickTimeout=setTimeout(function(){a.singleClick=!1},500)),!1});a.outerObject.on("dblclick",".diva-row",function(a){la.call(b(a.target).parent(),a)})},da=function(a,b,d,e){return Math.sqrt((a-b)*(a-b)+(d-e)*(d-e))},sa=function(){a.innerObject.mouseover(function(){b(this).removeClass("diva-grabbing").addClass("diva-grab")}); +a.innerObject.mouseout(function(){b(this).removeClass("diva-grab")});a.innerObject.mousedown(function(){b(this).removeClass("diva-grab").addClass("diva-grabbing")});a.innerObject.mouseup(function(){b(this).removeClass("diva-grabbing").addClass("diva-grab")});pa();a.outerObject.scroll(function(){var c,b=document.getElementById(a.ID+"outer").scrollTop,d=document.getElementById(a.ID+"outer").scrollLeft;c=a.verticallyOriented||a.inGrid?b-a.previousTopScroll:d-a.previousLeftScroll;if(a.inGrid){0>c?(F(a.firstRowLoaded, +-1),O(-1),H(a.lastRowLoaded,-1)):0<c&&(F(a.lastRowLoaded,1),O(1),H(a.firstRowLoaded,1));var e=document.getElementById(a.ID+"outer").scrollTop}else{if(0>c)v(a.firstPageLoaded,c),K(-1),A(a.lastPageLoaded,c);else if(0<c)v(a.lastPageLoaded,c),K(1),A(a.firstPageLoaded,c);else for(var f=a.lastPageLoaded,e=Math.max(a.firstPageLoaded,0);e<=f;e++)r(e)&&k(e);e=a.verticallyOriented?document.getElementById(a.ID+"outer").scrollTop:document.getElementById(a.ID+"outer").scrollLeft}h(a.onScroll,e);diva.Events.publish("ViewerDidScroll", +[e],g);0<c?(h(a.onScrollDown,e),diva.Events.publish("ViewerDidScrollDown",[e],g)):0>c&&(h(a.onScrollUp,e),diva.Events.publish("ViewerDidScrollUp",[e],g));a.previousTopScroll=b;a.previousLeftScroll=d;a.horizontalOffset=W();a.verticalOffset=V()});b(document).keydown(function(c){if(!a.isActiveDiva)return!0;if(a.enableSpaceScroll&&!c.shiftKey&&32===c.keyCode||a.enableKeyScroll&&34===c.keyCode)return a.outerObject.scrollTop(document.getElementById(a.ID+"outer").scrollTop+a.panelHeight),!1;a.enableSpaceScroll|| +32!==c.keyCode||c.preventDefault();if(a.enableKeyScroll)switch(c.keyCode){case 33:return a.outerObject.scrollTop(document.getElementById(a.ID+"outer").scrollTop-a.panelHeight),!1;case 38:return a.outerObject.scrollTop(document.getElementById(a.ID+"outer").scrollTop-a.arrowScrollAmount),!1;case 40:return a.outerObject.scrollTop(document.getElementById(a.ID+"outer").scrollTop+a.arrowScrollAmount),!1;case 37:return a.outerObject.scrollLeft(document.getElementById(a.ID+"outer").scrollLeft-a.arrowScrollAmount), +!1;case 39:return a.outerObject.scrollLeft(document.getElementById(a.ID+"outer").scrollLeft+a.arrowScrollAmount),!1;case 36:return a.outerObject.scrollTop(0),!1;case 35:return a.outerObject.scrollTop(a.totalHeight),!1}return!0});if(a.mobileWebkit){var c=[];c.push('<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1" />');c.push('<meta name="apple-mobile-web-app-capable" content="yes" />');c.push('<meta name="apple-mobile-web-app-status-bar-style" content="black" />'); +b("head").append(c.join("\n"));a.blockMobileMove&&b("body").bind("touchmove",function(a){a.originalEvent.preventDefault();return!1});a.outerObject.kinetic({triggerHardware:!0});var d=[],e=[],f=0;a.outerObject.on("touchstart",".diva-document-page",function(a){2===a.originalEvent.touches.length&&(d=[a.originalEvent.touches[0].clientX,a.originalEvent.touches[0].clientY,a.originalEvent.touches[1].clientX,a.originalEvent.touches[1].clientY],f=da(d[2],d[0],d[3],d[1]))});a.outerObject.on("touchmove",".diva-document-page", +function(c){if(2===c.originalEvent.touches.length){e=[c.originalEvent.touches[0].clientX,c.originalEvent.touches[0].clientY,c.originalEvent.touches[1].clientX,c.originalEvent.touches[1].clientY];var d=da(e[2],e[0],e[3],e[1])-f;if(!a.scaleWait)if(a.goDirectlyTo=a.currentPageIndex,a.inGrid)a.inGrid=!1,D();else a:{var m=a.zoomLevel;if(100<d&&m<a.maxZoomLevel)m++;else if(-100>d&&m>a.minZoomLevel)m--;else break a;a.scaleWait=!0;d=b(this).offset();a.horizontalOffset=c.pageX-d.left;a.verticalOffset=c.pageY- +d.top;a.goDirectlyTo=parseInt(b(this).attr("data-index"),10);N(m)}}});var m={},x=0,c=function(c){if(a.singleTap){var d={pageX:c.originalEvent.changedTouches[0].clientX,pageY:c.originalEvent.changedTouches[0].clientY};x=da(m.pageX,d.pageX,m.pageY,d.pageY);50>x&&a.zoomLevel<a.maxZoomLevel&&(a.inGrid?la.call(b(c.target).parent(),d):ca.call(this,d));a.singleTap=!1;m={}}else a.singleTap=!0,m.pageX=c.originalEvent.changedTouches[0].clientX,m.pageY=c.originalEvent.changedTouches[0].clientY,a.singleTapTimeout= +setTimeout(function(){a.singleTap=!1;m={}},250)};a.outerObject.on("touchend",".diva-document-page",c);a.outerObject.on("touchend",".diva-page",c);c="onorientationchange"in window?"orientationchange":"resize";b(window).bind(c,function(c){c=a.panelWidth;var b=a.panelHeight;Q();a.horizontalOffset-=(a.panelWidth-c)/2;a.verticalOffset-=(a.panelHeight-b)/2;a.goDirectlyTo=a.currentPageIndex;P()})}else b(window).resize(function(){Q();clearTimeout(a.resizeTimer);a.resizeTimer=setTimeout(function(){a.goDirectlyTo= +a.currentPageIndex;a.verticalOffset=V();a.horizontalOffset=W();P()},200)});diva.Events.subscribe("PanelSizeDidChange",Q)},ta=function(){a.toolbarParentObject.prepend('<div id="'+a.ID+'tools" class="diva-tools">'+('<div id="'+a.ID+'tools-left" class="diva-tools-left">'+("slider"===a.enableZoomControls?'<input type="range" id="'+a.ID+'zoom-slider" class="zoom-slider" value="'+a.zoomLevel+'" min="'+a.minZoomLevel+'" max="'+a.maxZoomLevel+'">':"")+("buttons"===a.enableZoomControls?'<div id="'+a.ID+'zoom-out-button" class="diva-zoom-out-button button" title="Zoom Out"></div><div id="'+ +a.ID+'zoom-in-button" class="diva-zoom-in-button button" title="Zoom In"></div>':"")+("slider"===a.enableGridControls?'<input type="range" id="'+a.ID+'grid-slider" class="grid-slider" value="'+a.pagesPerRow+'" min="'+a.minPagesPerRow+'" max="'+a.maxPagesPerRow+'">':"")+("buttons"===a.enableGridControls?'<div id="'+a.ID+'grid-out-button" class="diva-grid-out-button button" title="Zoom Out"></div><div id="'+a.ID+'grid-in-button" class="diva-grid-in-button button" title="Zoom In"></div>':"")+("slider"=== +a.enableZoomControls?'<div id="'+a.ID+'zoom-slider-label" class="diva-slider-label">Zoom level: <span id="'+a.ID+'zoom-level">'+a.zoomLevel+"</span></div>":"")+("buttons"===a.enableZoomControls?'<div id="'+a.ID+'zoom-buttons-label" class="diva-buttons-label">Zoom level: <span id="'+a.ID+'zoom-level">'+a.zoomLevel+"</span></div>":"")+("slider"===a.enableGridControls?'<div id="'+a.ID+'grid-slider-label" class="diva-slider-label">Pages per row: <span id="'+a.ID+'pages-per-row">'+a.pagesPerRow+"</span></div>": +"")+("buttons"===a.enableGridControls?'<div id="'+a.ID+'grid-buttons-label" class="diva-buttons-label">Pages per row: <span id="'+a.ID+'pages-per-row">'+a.pagesPerRow+"</span></div>":"")+'</div><div id="'+a.ID+'tools-right" class="diva-tools-right">'+(a.enableFullscreen?'<div id="'+a.ID+'fullscreen" class="diva-fullscreen-icon button" title="Toggle fullscreen mode"></div>':"")+(a.enableLinkIcon?'<div class="diva-link-icon button" id="'+a.ID+'link-icon" style="'+(a.enableGridIcon?"border-left: 0px": +"")+'" title="Link to this page"></div>':"")+(a.enableGridIcon?'<div class="diva-grid-icon button'+(a.inGrid?" diva-in-grid":"")+'" id="'+a.ID+'grid-icon" title="Toggle grid view"></div>':"")+'<div id="'+a.ID+'page-nav" class="diva-page-nav">'+(a.enableGotoPage?'<form id="'+a.ID+'goto-page" class="diva-goto-form"><input type="text" id="'+a.ID+'goto-page-input" / class="diva-input"> <input type="submit" value="Go" style="margin-top: 0px;" /></form>':"")+('<div class="diva-page-label">Page <span id="'+ +a.ID+'current-page">1</span> of <span id="'+a.ID+'num-pages">'+a.numPages+"</span></div>")+"</div></div>")+"</div>");b(a.selector+"zoom-slider").on("input",function(a){a=parseInt(this.value,10);N(a)});b(a.selector+"zoom-slider").on("change",function(c){c=parseInt(this.value,10);c!==a.zoomLevel&&N(c)});b(a.selector+"zoom-out-button").click(function(){N(a.zoomLevel+-1)});b(a.selector+"zoom-in-button").click(function(){N(a.zoomLevel+1)});b(a.selector+"grid-slider").on("input",function(a){a=parseInt(this.value, +10);Z(a)});b(a.selector+"grid-slider").on("change",function(c){c=parseInt(this.value,10);c!==a.zoomLevel&&Z(c)});b(a.selector+"fullscreen").click(function(){C()});b(a.selector+"grid-out-button").click(function(){Z(a.pagesPerRow-1)});b(a.selector+"grid-in-button").click(function(){Z(a.pagesPerRow+1)});b(a.selector+"grid-icon").click(function(){E()});b(a.selector+"goto-page").submit(function(){var c=parseInt(b(a.selector+"goto-page-input").val(),10)-1;if(p(c))if(a.inGrid)z(c);else{var d=R(c,"top"), +e=S(c,"center");J(c,d,e)}else alert("Invalid page number");return!1});b(a.selector+"link-icon").click(function(){b("body").prepend('<div id="'+a.ID+'link-popup" class="diva-popup diva-link-popup"><input id="'+a.ID+'link-popup-input" class="diva-input" type="text" value="'+oa()+'"/></div>');if(a.inFullscreen)b(a.selector+"link-popup").addClass("in-fullscreen");else{var c=a.outerObject.offset().left+a.panelWidth,c=c+(a.scrollbarWidth-240-1),d=a.outerObject.offset().top+1;b(a.selector+"link-popup").removeClass("in-fullscreen").css({top:d+ +"px",left:c+"px"})}b("body").mouseup(function(c){c=c.target.id;c!==a.ID+"link-popup"&&c!==a.ID+"link-popup-input"&&b(a.selector+"link-popup").remove()});a.outerObject.scroll(function(){b(a.selector+"link-popup").remove()});b(a.selector+"link-popup input").click(function(){b(this).focus().select()});return!1});var c=a.inGrid?"grid":"zoom";b(a.selector+c+"-slider").show();b(a.selector+c+"-out-button").show();b(a.selector+c+"-in-button").show();b(a.selector+c+"-slider-label").show();b(a.selector+c+"-buttons-label").show(); +return{updateCurrentPage:function(){document.getElementById(a.ID+"current-page").textContent=a.currentPageIndex+1},setNumPages:function(c){document.getElementById(a.ID+"num-pages").textContent=c},updateZoomSlider:function(){a.zoomLevel!==b(a.selector+"zoom-slider").val()&&b(a.selector+"zoom-slider").val(a.zoomLevel);document.getElementById(a.ID+"zoom-level").textContent=a.zoomLevel},updateZoomButtons:function(){document.getElementById(a.ID+"zoom-level").textContent=a.zoomLevel},updateGridSlider:function(){a.pagesPerRow!== +b(a.selector+"grid-slider").val()&&b(a.selector+"grid-slider").val(a.pagesPerRow);document.getElementById(a.ID+"pages-per-row").textContent=a.pagesPerRow},updateGridButtons:function(){document.getElementById(a.ID+"pages-per-row").textContent=a.pagesPerRow},closePopups:function(){b(".diva-popup").css("display","none")},switchView:function(){b(a.selector+c+"-slider").hide();b(a.selector+c+"-out-button").hide();b(a.selector+c+"-in-button").hide();b(a.selector+c+"-slider-label").hide();b(a.selector+c+ +"-buttons-label").hide();c=a.inGrid?"grid":"zoom";b(a.selector+c+"-slider").show();b(a.selector+c+"-out-button").show();b(a.selector+c+"-in-button").show();b(a.selector+c+"-slider-label").show();b(a.selector+c+"-buttons-label").show();b(a.selector+"grid-icon").toggleClass("diva-in-grid")},switchMode:function(){b(a.selector+"tools").toggleClass("diva-fullscreen-tools");a.inFullscreen?b(a.selector+"tools-left").addClass("in-fullscreen"):b(a.selector+"tools-left").removeClass("in-fullscreen")}}},ua= +function(){if(window.divaPlugins){var c=[];b.each(window.divaPlugins,function(b,d){var e=d.pluginName[0].toUpperCase()+d.pluginName.substring(1);a["enable"+e]&&d.init(a,g)&&(e=d.titleText||e+" plugin","function"===typeof d.handleClick&&(c.push('<div class="diva-'+d.pluginName+'-icon" title="'+e+'"></div>'),a.outerObject.on(a.mobileWebkit?"touchend":"click",".diva-"+d.pluginName+"-icon",function(c){d.handleClick.call(this,c,a,g)})),a.plugins.push(d))});c.length&&(a.pageTools='<div class="diva-page-tools">'+ +c.join("")+"</div>")}},qa=function(){clearTimeout(a.throbberTimeoutID);b(a.selector+"throbber").hide()},va=function(){a.outerObject.append('<div id="'+a.ID+'throbber" class="diva-throbber"></div>');a.throbberTimeoutID=setTimeout(function(){b(a.selector+"throbber").show()},a.throbberTimeout);b.ajax({url:a.objectData,cache:!0,dataType:"json",error:function(c,b,d){qa();c='<div id="'+a.ID+'error" class="diva-error"><p><strong>Error</strong></p><p>Invalid objectData. Error code: '+b+" "+d+"</p>";0===a.objectData.lastIndexOf("http", +0)&&""===d&&(d=a.objectData.replace(/https?:\/\//i,"").split(/[/?#]/)[0],location.hostname!==d&&(c+='<p>Attempted to access cross-origin data without CORS.</p><p>You may need to update your server configuration to support CORS. For help, see the <a href="https://github.com/DDMAL/diva.js/wiki/Installation#a-note-about-cross-site-requests" target="_blank">cross-site request documentation.</a></p>'));a.outerObject.append(c+"</div>")},success:function(c,d,e){qa();a.pages=c.pgs;a.maxRatio=c.dims.max_ratio; +a.minRatio=c.dims.min_ratio;a.itemTitle=c.item_title;a.numPages=c.pgs.length;a.maxWidths=c.dims.max_w;a.maxHeights=c.dims.max_h;a.averageWidths=c.dims.a_wid;a.averageHeights=c.dims.a_hei;a.totalHeights=c.dims.t_hei;a.totalWidths=c.dims.t_wid;a.realMaxZoom=c.max_zoom;a.maxZoomLevel=0<=a.maxZoomLevel&&a.maxZoomLevel<=c.max_zoom?a.maxZoomLevel:c.max_zoom;a.minZoomLevel=0<=a.minZoomLevel&&a.minZoomLevel<=a.maxZoomLevel?a.minZoomLevel:0;a.zoomLevel=w(a.zoomLevel);a.minPagesPerRow=Math.max(2,a.minPagesPerRow); +a.maxPagesPerRow=Math.max(a.minPagesPerRow,a.maxPagesPerRow);a.enableFilename?(c=b.getHashParam("i"+a.hashParamSuffix),c=n(c)):c=parseInt(b.getHashParam("p"+a.hashParamSuffix),10)-1;p(c)&&(a.goDirectlyTo=c,a.currentPageIndex=c);b.each(a.plugins,function(c,b){h(b.setupHook,a)});a.enableToolbar&&(a.toolbar=ta(),diva.Events.subscribe("VisiblePageDidChange",a.toolbar.updateCurrentPage),diva.Events.subscribe("ModeDidSwitch",a.toolbar.switchMode),diva.Events.subscribe("ViewDidSwitch",a.toolbar.switchView), +diva.Events.subscribe("ZoomLevelDidChange",a.toolbar.updateZoomSlider),diva.Events.subscribe("ZoomLevelDidChange",a.toolbar.updateZoomButtons),diva.Events.subscribe("GridRowNumberDidChange",a.toolbar.updateGridSlider),diva.Events.subscribe("ZoomLevelDidChange",a.toolbar.updateGridButtons),diva.Events.subscribe("ClosePopups",a.toolbar.closePopups));b(a.selector+"current label").text(a.numPages);a.enableAutoTitle&&a.parentObject.prepend('<div id="'+a.ID+'title" class="diva-title">'+a.itemTitle+"</div>"); +a.parentObject.parent()[0]!==document.body||a.parentObject.siblings().not("#diva-canvas-backdrop")[0]||(a.divaIsFullWindow=!0);Q();p(parseInt(a.goDirectlyTo),10)||(a.goDirectlyTo=0);0<a.adaptivePadding?(c=a.zoomLevel,a.horizontalPadding=parseInt(a.averageWidths[c]*a.adaptivePadding,10),a.verticalPadding=parseInt(a.averageHeights[c]*a.adaptivePadding,10)):(a.horizontalPadding=a.fixedPadding,a.verticalPadding=a.fixedPadding);a.pageTools.length&&(a.verticalPadding=Math.max(40,a.verticalPadding));c=parseInt(b.getHashParam("y"+ +a.hashParamSuffix),10);isNaN(c)?a.verticalOffset=R(a.currentPageIndex,"top"):a.verticalOffset=c;c=parseInt(b.getHashParam("x"+a.hashParamSuffix),10);isNaN(c)?a.horizontalOffset=S(a.currentPageIndex,"center"):a.horizontalOffset=c;a.inFullscreen?ba(!1):P();Q();h(a.onReady,a);diva.Events.publish("ViewerDidLoad",[a],g);a.loaded=!0}})},ea=function(){return a.loaded?!0:(console.warn("The viewer is not completely initialized. This is likely because it is still downloading data. To fix this, only call this function if the isReady() method returns true."), +!1)};(function(){a.scrollbarWidth=b.getScrollbarWidth();a.mobileWebkit=void 0!==window.orientation;a.ID=b.generateId("diva-");a.selector="#"+a.ID;var c=parseInt(a.ID,10);1<c&&(a.hashParamSuffix=c);a.parentObject.append('<div id="'+a.ID+'outer" class="diva-outer"></div>');a.outerObject=b(a.selector+"outer");a.outerObject.append('<div id="'+a.ID+'inner" class="diva-inner diva-dragger"></div>');a.innerObject=b(a.selector+"inner");c=parseInt(b.getHashParam("n"+a.hashParamSuffix),10);c>=a.minPagesPerRow&& +c<=a.maxPagesPerRow&&(a.pagesPerRow=c);c=b.getHashParam("z"+a.hashParamSuffix);""!==c&&(c=parseInt(c,10),c>=a.minZoomLevel&&(a.zoomLevel=c));var c=b.getHashParam("g"+a.hashParamSuffix),d="true"===c,e=b.getHashParam("f"+a.hashParamSuffix);a.inGrid=a.inGrid&&"false"!==c||d;a.inFullscreen=a.inFullscreen&&"false"!==e||"true"===e;va();ua();sa()})();this.getItemTitle=function(){return a.itemTitle};this.gotoPageByNumber=function(a,b,d){--a;return p(a)?(J(a,R(a,d),S(a,b)),!0):!1};this.gotoPageByIndex=function(a, +b,d){return p(a)?(J(a,R(a,d),S(a,b)),!0):!1};this.getCurrentPage=function(){console.warn("The call to getCurrentPage is deprecated. Use getCurrentPageIndex instead.");return a.currentPageIndex};this.getNumberOfPages=function(){return ea()?a.numPages:!1};this.getPageDimensionsAtZoomLevel=function(c,b){if(!ea())return!1;b>a.maxZoomLevel&&(b=a.maxZoomLevel);var d=a.pages[c].d[parseInt(b,10)];return{width:d.w,height:d.h}};this.getCurrentPageDimensionsAtCurrentZoomLevel=function(){return this.getPageDimensionsAtZoomLevel(a.currentPageIndex, +a.zoomLevel)};this.isReady=function(){return a.loaded};this.getCurrentPageIndex=function(){return a.currentPageIndex};this.getCurrentPageFilename=function(){return a.pages[a.currentPageIndex].f};this.getCurrentPageNumber=function(){return a.currentPageIndex+1};this.getFilenames=function(){for(var c=[],b=0;b<a.numPages;b++)c[b]=a.pages[b].f;return c};this.getZoomLevel=function(){return a.zoomLevel};this.getMaxZoomLevel=function(){return a.maxZoomLevel};this.getMaxZoomLevelForPage=function(c){return ea? +a.pages[c].m:!1};this.getMinZoomLevel=function(){return a.minZoomLevel};this.setZoomLevel=function(c){a.inGrid&&E();return N(c)};this.zoomIn=function(){return this.setZoomLevel(a.zoomLevel+1)};this.zoomOut=function(){return this.setZoomLevel(a.zoomLevel-1)};this.inViewport=function(c,b,d,e,f){--c;d=a.pageTopOffsets[c]+d;b=a.pageLeftOffsets[c]+b;e=b+e;return u(d,d+f)&&t(b,e)};this.isPageInViewport=function(a){return r(a)};this.isPageInDOM=function(a){return q(a)};this.toggleFullscreenMode=function(){C()}; +this.enterFullscreenMode=function(){return a.inFullscreen?!1:(C(),!0)};this.leaveFullscreenMode=function(){return a.inFullscreen?(C(),!0):!1};this.toggleGridView=function(){E()};this.enterGridView=function(){return a.inGrid?!1:(E(),!0)};this.leaveGridView=function(){return a.inGrid?(E(),!0):!1};this.gotoPageByName=function(a,b,d){a=n(a);return p(a)?(J(a,R(a,d),S(a,b)),!0):!1};this.getPageIndex=function(a){return n(a)};this.getCurrentURL=function(){return oa()};this.getURLHash=function(){return na()}; +this.getState=function(){return ma()};this.getInstanceSelector=function(){return a.selector};this.getInstanceId=function(){return a.ID};this.getSettings=function(){return a};this.translateFromMaxZoomLevel=function(c){return c/Math.pow(2,a.maxZoomLevel-a.zoomLevel)};this.translateToMaxZoomLevel=function(c){var b=a.maxZoomLevel-a.zoomLevel;return 0===b?c:c*Math.pow(2,b)};this.setState=function(c){var b;b=n(c.i);p(b)?a.goDirectlyTo=b:p(c.p)&&(a.goDirectlyTo=c.p);horizontalOffset=parseInt(c.x,10);verticalOffset= +parseInt(c.y,10);c.z>=a.minZoomLevel&&c.z<=a.maxZoomLevel&&(a.zoomLevel=c.z);c.n>=a.minPagesPerRow&&c.n<=a.maxPagesPerRow&&(a.pagesPerRow=c.n);a.inFullscreen!==c.f?(a.inFullscreen=c.f,ba(a.inGrid!==c.g),a.horizontalOffset=horizontalOffset,a.verticalOffset=verticalOffset,J(b,a.verticalOffset,a.horizontalOffset)):(a.horizontalOffset=horizontalOffset,a.verticalOffset=verticalOffset,a.inGrid!==c.g?(a.inGrid=c.g,D()):P())};this.enableScrollable=function(){a.isScrollable||(pa(),a.enableKeyScroll=a.initialKeyScroll, +a.enableSpaceScroll=a.initialSpaceScroll,a.outerObject.css("overflow","auto"),a.isScrollable=!0)};this.disableScrollable=function(){a.isScrollable&&(a.innerObject.hasClass("diva-dragger")&&a.innerObject.unbind("mousedown"),a.outerObject.unbind("dblclick"),a.outerObject.unbind("contextmenu"),a.outerObject.css("overflow","hidden"),a.initialKeyScroll=a.enableKeyScroll,a.initialSpaceScroll=a.enableSpaceScroll,a.enableKeyScroll=!1,a.enableSpaceScroll=!1,a.isScrollable=!1)};this.toggleOrientation=function(){a.verticallyOriented= +!a.verticallyOriented;a.verticalOffset=R();a.horizontalOffset=S();a.goDirectlyTo=a.currentPageIndex;aa();return a.verticallyOriented};this.getPageOffset=function(c){return{top:parseInt(a.pageTopOffsets[c]),left:parseInt(a.pageLeftOffsets[c])}};this.getCurrentPageOffset=function(){return this.getPageOffset(a.currentPageIndex)};this.getPageDimensionsAtCurrentGridLevel=function(c){c=p(c)?c:a.currentPageIndex;var b=a.rowHeight-a.fixedPadding;c=a.fixedHeightGrid?(a.rowHeight-a.fixedPadding)*l(c,"w")/l(c, +"h"):a.gridPageWidth;return{height:parseInt(b,10),width:parseInt(c,10)}};this.getPageIndexForPageXYValues=function(c,b){var d=document.getElementById(a.ID+"outer").getBoundingClientRect(),e=d.bottom,f=d.right;if(c<d.left||c>f||b<d.top||b>e)return!1;d=document.getElementsByClassName("diva-document-page");for(e=d.length;e--;){var f=d[e],m=f.getBoundingClientRect();if(!(c<m.left||c>m.right||b<m.top||b>m.bottom))return f.getAttribute("data-index")}return!1};this.isVerticallyOriented=function(){return a.verticallyOriented}; +this.activate=function(){a.isActiveDiva=!0};this.deactivate=function(){a.isActiveDiva=!1};this.destroy=function(){b("body").removeClass("diva-hide-scrollbar");a.parentObject.empty().removeData("diva");b.each(a.plugins,function(c,b){h(b.destroy,a,g)});a.parentObject.removeAttr("style").removeAttr("class");diva.Events.unsubscribeAll()}};b.fn.diva=function(f){return this.each(function(){f.parentObject=b(this);if(!f.parentObject.data("diva")){var d=new e(this,f);f.parentObject.data("diva",d)}})}})(jQuery);function log10(b){return Math.log(b)/Math.log(10)} +(function(b){window.divaPlugins.push(function(){return{init:function(e,f){var d,a,g,h,l;f.startScrolling=function(){e.currentlyAutoScrolling?console.warn("Diva is already autoscrolling!"):(b("#"+e.ID+"autoscroll-toggle").text("Turn off"),a&&f.disableScrollable(),e.currentlyAutoScrolling=!0,restartScrollingInterval())};restartScrollingInterval=function(){clearInterval(e.autoScrollInterval);e.autoScrollInterval=e.verticallyOriented?setInterval(function(){e.outerObject.scrollTop(e.outerObject.scrollTop()+d)}, +g):setInterval(function(){e.outerObject.scrollLeft(e.outerObject.scrollLeft()+d)},g)};f.stopScrolling=function(){e.currentlyAutoScrolling?(b("#"+e.ID+"autoscroll-toggle").text("Turn on"),a&&f.enableScrollable(),e.currentlyAutoScrolling=!1,clearInterval(e.autoScrollInterval)):console.warn("Diva isn't autoscrolling!")};f.toggleScrolling=function(){e.currentlyAutoScrolling?f.stopScrolling():f.startScrolling()};f.changeRefresh=function(a){g=a;n()};f.changeScrollSpeed=function(a){l=a;n();b("#"+e.ID+"autoscroll-pps").val(log10(l)); +e.currentlyAutoScrolling&&restartScrollingInterval()};var n=function(){g=h;d=l/(1E3/g);1>d&&(g*=1/d,d=l/(1E3/g))};f.disableManualScroll=function(){a=!0;e.currentlyAutoScrolling&&f.disableScrollable()};f.enableManualScroll=function(){a=!1;e.currentlyAutoScrolling&&f.enableScrollable()};e.currentlyAutoScrolling=!1;e.autoScrollInterval="";a=e.disableManualScroll||!1;h=g=e.autoScrollRefresh||50;f.changeScrollSpeed(e.scrollSpeed||10);b(window).on("keyup",function(a){a.shiftKey&&32==a.keyCode&&f.toggleScrolling()}); +e.disableAutoscrollPrefs||diva.Events.subscribe("ViewerDidLoad",function(a){a="<div id='"+e.ID+"autoscroll-prefs' class='diva-autoscroll-prefs diva-popup'><b>Autoscrolling options:</b><br><span class='diva-autoscroll-prefs-text'>Pixels per second:</span><input type='range' id='"+e.ID+"autoscroll-pps' class='diva-autoscroll-pps diva-autoscroll-prefs-input' value='"+log10(l)+"' min='0' max='3' step='0.1'><br><span class='diva-autoscroll-prefs-text'>Allow manual scroll:</span><input type='checkbox' id='"+ +e.ID+"autoscroll-manual' class='diva-autoscroll-manual diva-autoscroll-prefs-input' checked='checked'><br><button id='"+e.ID+"autoscroll-toggle' class='diva-autoscroll-prefs-toggle diva-autoscroll-prefs-input'> Turn on </button></div>";b("#"+e.ID+"page-nav").before("<div id='"+e.ID+"autoscroll-icon' class='button diva-autoscroll-icon' title='Expand autoscroll options'></div>");b("body").prepend(a);b("#"+e.ID+"autoscroll-pps").on("change",function(a){f.changeScrollSpeed(Math.pow(10,a.target.value))}); +b("#"+e.ID+"autoscroll-manual").on("change",function(a){a.target.checked?f.enableManualScroll():f.disableManualScroll()});b("#"+e.ID+"autoscroll-toggle").on("click",f.toggleScrolling);b("#"+e.ID+"autoscroll-icon").on("click",function(a){a=b("#"+e.ID+"autoscroll-prefs");"none"==a.css("display")?(a.css({display:"block",right:b(window).width()-(e.outerObject.offset().left+e.outerObject.outerWidth())+e.scrollbarWidth}),a.offset({top:e.outerObject.offset().top+1})):a.css("display","none")})})},pluginName:"autoscroll", +titleText:"Automatically scrolls page along primary axis"}}())})(jQuery);(function(b){window.divaPlugins.push(function(){var e={},f={},d={},a,g,h,l={brightnessMax:150,brightnessMin:-100,brightnessStep:1,contrastMax:3,contrastMin:-1,contrastStep:.05,localStoragePrefix:"canvas-",mobileWebkitMaxZoom:2,onInit:null,rgbMax:50,rgbMin:-50,throbberFadeSpeed:200,throbberTimeout:100,buttons:["contrast","brightness","rotation","zoom"]},n=function(b,d){var e=b.context,f=b.size/2,g=-(b.width/2),h=-(b.height/2);e.clearRect(0,0,b.size,b.size);e.save();e.translate(f,f);e.rotate(d*Math.PI/ +180);e.drawImage(a,g,h,b.width,b.height);e.restore();b.data=e.getImageData(0,0,b.size,b.size)},t=function(){for(var a in g)if(g[a].current!==g[a].previous)return!0;return!1},u=function(){n(f,g.rotation.current);q(f)},p=function(){var a=g.rotation.current,f=g.zoom.current,h=g.zoom.previous;if(a!==g.rotation.previous||f!==h){var k=b("#diva-canvas-wrapper").scrollLeft(),l=b("#diva-canvas-wrapper").scrollTop(),p=d.viewport.width/2,r=d.viewport.height/2,k=k+p-e.centerX,u=-(l+r-e.centerY),z=(g.rotation.previous- +a)*Math.PI/180,l=Math.cos(z)*k-Math.sin(z)*u+e.centerX,k=-(Math.sin(z)*k+Math.cos(z)*u)+e.centerY,f=Math.pow(2,f-h),p=f*l-p,r=f*k-r;n(e,a);b("#diva-canvas-wrapper").scrollLeft(p);b("#diva-canvas-wrapper").scrollTop(r)}if(t()){q(e);for(var w in g)g[w].previous=g[w].current}},r=function(a){var b=g[a].current!==g[a].initial;return g[a].current!==g[a].previous||b},q=function(a){var b=a.data,e=a.context.createImageData(b),f=e.data,h,k;h=0;for(k=f.length;h<k;h++)f[h]=b.data[h];b=e.data;h=g.contrast.current; +f=(1+Math.min(d.brightnessMax,Math.max(d.brightnessMin,g.brightness.current))/d.brightnessMax)*h;h=128-128*h;k=g.red.current;var l=g.green.current,n=g.blue.current,z=r("red"),p=r("green"),q=r("blue"),u=r("brightness"),t=r("contrast"),u=u||t,y,A,v,B,D,C,E,t=0;for(A=e.width;t<A;t++)for(y=0,v=e.height;y<v;y++)B=4*(y*A+t),D=b[B],C=b[B+1],E=b[B+2],0<D+C+E&&(z&&D&&(D+=k),p&&C&&(C+=l),q&&E&&(E+=n),u&&(D&&(D=D*f+h),C&&(C=C*f+h),E&&(E=E*f+h)),b[B]=D,b[B+1]=C,b[B+2]=E);a.context.clearRect(0,0,A,v);a.context.putImageData(e, +0,0)},k=function(){var a=b("#diva-canvas-wrapper").scrollLeft()*f.scaleFactor,e=b("#diva-canvas-wrapper").scrollTop()*f.scaleFactor,g=Math.min(Math.round(d.viewport.height*f.scaleFactor),d.mapSize)-4,h=Math.min(Math.round(d.viewport.width*f.scaleFactor),d.mapSize)-4;b("#diva-map-viewbox").height(g).width(h).css({top:e,left:a})},T=function(g,h){a=new Image;a.src=g;a.crossOrigin="Anonymous";a.onload=function(){e.size=Math.sqrt(a.width*a.width+a.height*a.height);e.canvas=document.getElementById("diva-canvas"); +e.canvas.width=e.size;e.canvas.height=e.size;e.cornerX=(e.size-a.width)/2;e.cornerY=(e.size-a.height)/2;e.width=a.width;e.height=a.height;e.centerX=e.size/2;e.centerY=e.size/2;e.context=e.canvas.getContext("2d");e.context.drawImage(a,e.cornerX,e.cornerY,e.width,e.height);try{e.data=e.context.getImageData(0,0,e.size,e.size)}catch(g){var m='<div id="diva-error" class="diva-error"><p><strong>Error</strong></p><p>'+g.message+"</p>";if("SecurityError"!==g.name)throw g;m+='<p>You may need to update your server configuration in order to use the image manipulation tools. For help, see the <a href="https://github.com/DDMAL/diva.js/wiki/The-API-and-Plugins#a-note-about-canvas-and-cross-site-data" target="_blank">canvas cross-site data documentation</a>.</p></div></div>'; +b("#diva-canvas-backdrop").append(m);B()}void 0===h&&(m=a,f.canvas=document.getElementById("diva-canvas-minimap"),f.size=d.mapSize,f.canvas.width=f.size,f.canvas.height=f.size,f.context=f.canvas.getContext("2d"),f.context.fillRect(0,0,f.size,f.size),f.scaleFactor=d.mapSize/e.size,f.cornerX=e.cornerX*f.scaleFactor,f.cornerY=e.cornerY*f.scaleFactor,f.width=m.width*f.scaleFactor,f.height=m.height*f.scaleFactor,f.context.drawImage(m,f.cornerX,f.cornerY,f.width,f.height),f.data=f.context.getImageData(0, +0,d.mapSize,d.mapSize),b("#diva-map-viewbox").show(),k());u();p(e);B();"function"===typeof h&&h.call(h)}},L=function(){var a=g[h],d=a.current,a=a.transform?a.transform(d):d;b("#diva-canvas-value").html(a)},y=function(){b("#diva-canvas-slider").val(g[h].current)},v=function(a){a=d.zoomWidthRatio*Math.pow(2,a);return d.proxyURL?d.proxyURL+"?f="+d.filename+"&w="+a:d.iipServerURL+"?FIF="+(d.imageDir+"/")+d.filename+"&WID="+a+"&CVT=JPEG"},A=function(){(0<g.zoom.current||d.mobileWebkit)&&b(d.selector+"throbber").addClass("canvas-throbber").show()}, +B=function(){b(d.selector+"throbber").removeClass("canvas-throbber").hide()},I=function(){var a={},b=!1,e=d.localStoragePrefix+d.filename,f;for(f in g)g[f].previous!==g[f].initial&&(a[f]=g[f].previous,b=!0);b?(d.pluginIcon.addClass("new"),localStorage.setObject(e,a)):(d.pluginIcon.removeClass("new"),localStorage.removeItem(e))},G=function(a,b){d.zoomLevel=a;var g=v(a);T(g,function(){f.scaleFactor=f.size/e.size;k();I()})},M=function(a){switch(a.keyCode){case 38:return b("#diva-canvas-wrapper").scrollTop(document.getElementById("diva-canvas-wrapper").scrollTop- +d.arrowScrollAmount),!1;case 40:return b("#diva-canvas-wrapper").scrollTop(document.getElementById("diva-canvas-wrapper").scrollTop+d.arrowScrollAmount),!1;case 37:return b("#diva-canvas-wrapper").scrollLeft(document.getElementById("diva-canvas-wrapper").scrollLeft-d.arrowScrollAmount),!1;case 39:return b("#diva-canvas-wrapper").scrollLeft(document.getElementById("diva-canvas-wrapper").scrollLeft+d.arrowScrollAmount),!1}};return{init:function(a,n){if(!window.HTMLCanvasElement)return!1;b.extend(d, +l,a.canvasPlugin);d.inCanvas=!1;d.iipServerURL=a.iipServerURL;d.imageDir=a.imageDir;d.selector=a.selector;d.mobileWebkit=a.mobileWebkit;d.arrowScrollAmount=a.arrowScrollAmount;g={contrast:{initial:1,min:d.contrastMin,max:d.contrastMax,step:d.contrastStep,transform:function(a){return a.toFixed(2)},title:"Change the contrast"},brightness:{initial:0,min:d.brightnessMin,max:d.brightnessMax,step:d.brightnessStep,title:"Adjust the brightness"},rotation:{initial:0,min:0,max:359,step:1,transform:function(a){return a+ +"°"},title:"Rotate the image"},zoom:{initial:0,min:0,max:0,step:1,title:"Adjust the zoom level"},red:{initial:0,min:d.rgbMin,max:d.rgbMax,step:1,title:"Adjust the red channel"},green:{initial:0,min:d.rgbMin,max:d.rgbMax,step:1,title:"Adjust the green channel"},blue:{initial:0,min:d.rgbMin,max:d.rgbMax,step:1,title:"Adjust the blue channel"}};var r=function(){var a,b,d;for(d in g)b=g[d],a=b.initial,b.current=a,b.previous=a};r();if(b("#diva-canvas-backdrop").length)return!0;var q=[],v,K,O;for(O in d.buttons)v= +d.buttons[O],K=g[v].title,v='<div class="'+v+'" title="'+K+'"></div>',q.push(v);q='<div id="diva-canvas-backdrop">'+('<div id="diva-canvas-tools"><div id="diva-canvas-toolbar"><div id="diva-canvas-close" title="Return to the document viewer"></div><div id="diva-canvas-minimise" title="Minimise the toolbar"></div><span id="diva-canvas-info">Test</span></div><div id="diva-canvas-toolwindow"><div id="diva-map-viewbox"></div><canvas id="diva-canvas-minimap"></canvas><div id="diva-canvas-buttons">'+q.join("")+ +'</div><div id="diva-canvas-pane"><p id="diva-canvas-tooltip"><span id="diva-canvas-mode">contrast</span>: <span id="diva-canvas-value">0</span> <span id="diva-canvas-reset" class="link">(Reset)</span></p><input type="range" id="diva-canvas-slider"></input></div><br /><div class="action-buttons"><a href="#" id="diva-canvas-reset-all">Reset all</a><a href="#" id="diva-canvas-apply">Apply</a></div></div></div>')+'<div id="diva-canvas-wrapper"><canvas id="diva-canvas"></canvas></div></div>';b("body").append(q); +d.mapSize=b("#diva-canvas-minimap").width();b("#diva-canvas-buttons div").click(function(){b("#diva-canvas-buttons .clicked").removeClass("clicked");J(b(this).attr("class"))});var J=function(a){h=a;a=g[h];b("#diva-canvas-buttons ."+h).addClass("clicked");b("#diva-canvas-mode").text(h);var d=a.current,e=a.transform?a.transform(d):d,f=document.getElementById("diva-canvas-slider");f.min=a.min;f.max=a.max;f.step=a.step;b("#diva-canvas-slider").val(d);b("#diva-canvas-value").html(e)};J("contrast");b("#diva-canvas-slider").on("input", +function(a){g[h].current=parseFloat(this.value);L();u()});b("#diva-canvas-reset-all").click(function(){for(var a in g)g[a].current=g[a].initial;L();y();u()});b("#diva-canvas-reset").click(function(){g[h].current=g[h].initial;L();y();u()});b("#diva-canvas-apply").click(function(){t()&&(A(),setTimeout(function(){g.zoom.current!==g.zoom.previous?G(g.zoom.current):(p(),B(),I())},d.throbberTimeout))});b("#diva-canvas-close").click(function(){b("body").removeClass("overflow-hidden");e.context.clearRect(0, +0,e.size,e.size);f.context.clearRect(0,0,f.size,f.size);b("#diva-canvas-wrapper").scrollTop(0).scrollLeft(0);b("#diva-canvas-backdrop").hide();b("#diva-map-viewbox").hide();B();n.enableScrollable();b(document).off("keydown",M);r();L();y();b("#diva-canvas-buttons .clicked").removeClass("clicked");J("contrast");diva.Events.publish("CanvasViewDidHide")});b("#diva-canvas-minimise").click(function(){b("#diva-canvas-toolwindow").slideToggle("fast")});b(window).resize(function(){d.viewport={height:window.innerHeight- +a.scrollbarWidth,width:window.innerWidth-a.scrollbarWidth};d.inCanvas&&k()});b("#diva-canvas-wrapper").scroll(function(){d.inCanvas&&k()});b("#diva-canvas-minimap, #diva-map-viewbox").mouseup(function(a){var e=b("#diva-canvas-minimap").offset(),g=(a.pageX-e.left)/f.scaleFactor;a=(a.pageY-e.top)/f.scaleFactor;b("#diva-canvas-wrapper").scrollTop(a-d.viewport.height/2);b("#diva-canvas-wrapper").scrollLeft(g-d.viewport.width/2)});b("#diva-canvas").mousedown(function(){b(this).addClass("grabbing")}).mouseup(function(){b(this).removeClass("grabbing")}); +d.mobileWebkit?b("#diva-canvas-wrapper").kinetic():b("#diva-canvas-wrapper").dragscrollable({acceptPropagatedEvent:!0});"function"===typeof d.onInit&&d.onInit.call(this,d);return!0},pluginName:"canvas",titleText:"View the image on a canvas and adjust various settings",setupHook:function(a){d.viewport={height:window.innerHeight-a.scrollbarWidth,width:window.innerWidth-a.scrollbarWidth};d.minZoomLevel=a.minZoomLevel;d.maxZoomLevel=a.maxZoomLevel;d.mobileWebkit&&(d.maxZoomLevel=Math.min(d.maxZoomLevel, +d.mobileWebkitMaxZoom));g.zoom.min=d.minZoomLevel;g.zoom.max=d.maxZoomLevel},handleClick:function(a,e,f){a=b(this).parent().parent();var k=b(a).attr("data-filename"),l=b(a).width()-1;e=e.zoomLevel;var n;d.zoomWidthRatio=l/Math.pow(2,e);d.pluginIcon=b(this);d.mobileWebkit&&(e=Math.min(d.maxZoomLevel,e));d.filename=k;g.zoom.initial=e;g.zoom.current=e;if(k=localStorage.getObject(d.localStoragePrefix+d.filename))for(n in k)g[n].current=k[n],n===h&&(L(),y()),"zoom"===n&&(e=k[n]);g.zoom.previous=e;b("body").addClass("overflow-hidden"); +b("#diva-canvas-backdrop").show();f.disableScrollable();b(document).keydown(M);d.inCanvas=!0;f=v(e);b("#diva-canvas-info").text(b(a).attr("title"));A();diva.Events.publish("CanvasViewDidActivate",[a]);T(f)},onPageLoad:function(a,e,f){null!==localStorage.getItem(d.localStoragePrefix+e)&&b(f).find(".diva-canvas-icon").addClass("new")},destroy:function(a,d){b("#diva-canvas-backdrop").remove()}}}())})(jQuery);(function(b){window.divaPlugins.push(function(){var e,f;return{init:function(b,a){e=b.iipServerURL;f=b.imageDir;return!0},pluginName:"download",titleText:"Download image at the given zoom level",handleClick:function(d){var a=b(this).parent().parent();d=b(a).attr("data-filename");a=b(a).width()-1;window.open(e+"?FIF="+(f+"/")+d+"&WID="+a+"&CVT=JPEG")}}}())})(jQuery);(function(b){window.divaPlugins.push(function(){return{init:function(b,f){function d(a,d,h){var l=b.parentObject.data("highlights");if("undefined"!==typeof l){if(l.hasOwnProperty(a)){var n=f.getInstanceId()+"page-"+a,n=document.getElementById(n),t=l[a].regions,u=l[a].colour,l=l[a].divClass,p=f.getMaxZoomLevel();b.inGrid?(p=f.getPageDimensionsAtZoomLevel(a,p).width,p=Math.log(p/n.clientWidth)/Math.log(2)):p-=f.getZoomLevel();for(var r=t.length;r--;){var q=document.createElement("div");q.style.width= +t[r].width/Math.pow(2,p)+"px";q.style.height=t[r].height/Math.pow(2,p)+"px";q.style.top=t[r].uly/Math.pow(2,p)+"px";q.style.left=t[r].ulx/Math.pow(2,p)+"px";q.style.background=u;q.style.border="1px solid #555";q.style.position="absolute";q.style.zIndex=100;q.className=l;"undefined"!==typeof t[r].divID&&(q.id=t[r].divID);n.appendChild(q)}}diva.Events.publish("HighlightCompleted",[a,d,h])}}b.parentObject.data("highlights",{});diva.Events.subscribe("PageWillLoad",d);f.resetHighlights=function(){for(var a= +document.getElementById(b.ID+"inner").getElementsByClassName(b.ID+"highlight"),d=a.length;d--;)a[d].parentNode.removeChild(a[d]);b.parentObject.data("highlights",{})};f.removeHighlightsOnPage=function(a){var d=b.parentObject.data("highlights");if(d.hasOwnProperty(a)){for(var h=f.getInstanceId()+"page-"+a,h=document.getElementById(h),l=h.getElementsByTagName("div"),n=d[a].divClass,t=l.length;t--;)l[t].className===n&&h.removeChild(l[t]);delete d[a]}};f.highlightOnPages=function(a,b,d,e){for(var n=a.length;n--;)f.highlightOnPage(a[n], +b[n],d,e)};f.highlightOnPage=function(a,g,h,l){"undefined"===typeof h&&(h="rgba(255, 0, 0, 0.2)");l="undefined"===typeof l?b.ID+"highlight":b.ID+"highlight "+l;f.getMaxZoomLevel();b.parentObject.data("highlights")[a]={regions:g,colour:h,divClass:l};f.isPageInDOM(a)&&d(a,null,null);return!0};return!0},destroy:function(b,f){b.parentObject.removeData("highlights")},pluginName:"highlight",titleText:"Highlight regions of pages"}}())})(jQuery);(function(b){window.divaPlugins.push(function(){return{init:function(b,f){void 0===b.pageAliases&&(b.pageAliases={});void 0===b.pageAliasFunction&&(b.pageAliasFunction=function(){return!1});f.getAliasForPageIndex=function(d){return b.pageAliases[d]||b.pageAliasFunction(d)||d+1};f.getPageIndexForAlias=function(d){for(var a=0;a<b.numPages;a++)if(f.getAliasForPageIndex(a)==d)return a;return!1};f.getPageIndicesForAlias=function(d){for(var a=[],g=0;g<b.numPages;g++)f.getAliasForPageIndex(g)==d&&a.push(g); +return a};f.getCurrentAliasedPageIndex=function(){return f.getAliasForPageIndex(b.currentPageIndex)};f.gotoPageByAliasedNumber=function(b,a,e){return f.gotoPageByIndex(f.getPageIndexForAlias(b),a,e)};updateCurrentAliasedPage=function(){document.getElementById(this.getSettings().ID+"current-page").textContent=this.getCurrentAliasedPageIndex()};initialChanges=function(){var b=this.getSettings(),a=b.numPages;void 0!==b.newTotalPages?a=b.newTotalPages:void 0!==b.totalPageOffset&&(a+=b.totalPageOffset); +document.getElementById(this.getSettings().ID+"num-pages").textContent=a;document.getElementById(this.getSettings().ID+"current-page").textContent=this.getCurrentAliasedPageIndex();diva.Events.unsubscribe(["VisiblePageDidChange",b.toolbar.updateCurrentPage]);diva.Events.subscribe("VisiblePageDidChange",updateCurrentAliasedPage)};diva.Events.subscribe("ViewerDidLoad",initialChanges)},pluginName:"pagealias",titleText:"Re-aliases page indexes"}}())})(jQuery);
--- a/src/main/webapp/resources/css/ismi-db/default.css Wed May 13 15:26:14 2015 +0000 +++ b/src/main/webapp/resources/css/ismi-db/default.css Wed May 13 15:26:23 2015 +0000 @@ -315,7 +315,7 @@ /*********************************************************************************/ #header { - width: 80%; + width: 95%; margin: 0 auto; background-color: #FCF2DF; box-shadow: 0 0 5px 3px #D0D0D0; @@ -359,7 +359,7 @@ #iconContent{ float: right; - margin-top: 10px; + margin-top: 0px; margin-right: 100px; } @@ -431,8 +431,8 @@ #login { width: 80%; margin: 0 auto; - background-color: #FCF2DF; - height: 15px; + + height: 20px; padding-bottom: 2px; font-size: 11px;