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
Binary file src/main/webapp/imageServer/resources/img/fullscreen.png has changed
Binary file src/main/webapp/imageServer/resources/img/plugins/canvas.png has changed
Binary file src/main/webapp/imageServer/resources/img/plugins/play.png has changed
Binary file src/main/webapp/imageServer/resources/img/zoomin.png has changed
Binary file src/main/webapp/imageServer/resources/img/zoomout.png has changed
--- 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 + "&amp;HEI=" + (s + 2) + "&amp;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 + "&deg;"
-                        },
-                        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+
+"&deg;"},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;