diff client/digitallibrary/jquery/jquery.digilib.js @ 744:95e6dc1b34ec jquery

get reference works now in embedded. url configurable or taken from scaler url.
author robcast
date Thu, 03 Feb 2011 10:30:15 +0100
parents 05665cc70a5f
children ad483c008159
line wrap: on
line diff
--- a/client/digitallibrary/jquery/jquery.digilib.js	Wed Feb 02 22:28:36 2011 +0100
+++ b/client/digitallibrary/jquery/jquery.digilib.js	Thu Feb 03 10:30:15 2011 +0100
@@ -183,6 +183,8 @@
         'logoUrl' : '../img/digilib-logo-text1.png',
         // homepage url (behind logo)
         'homeUrl' : 'http://digilib.berlios.de',
+        // base URL to digilib viewer (for reference URLs)
+        'digilibBaseUrl' : null,
         // base URL to Scaler servlet
         'scalerBaseUrl' : null,
         // list of Scaler parameters
@@ -315,7 +317,7 @@
                     $elem.data('digilib', data);
                 }
                 unpackParams(data);
-                // check if browser knows background-size
+                // check if browser knows *background-size
                 for (var bs in {'':1, '-moz-':1, '-webkit-':1, '-o-':1}) {
                     if ($elem.css(bs+'background-size')) {
                         data.hasBgSize = true;
@@ -323,6 +325,22 @@
                         break;
                     }
                 }
+                // check digilib base URL
+                if (elemSettings.digilibBaseUrl == null) {
+                    if (isFullscreen) {
+                        // take current host
+                        var url = window.location.toString();
+                        var pos = url.indexOf('?');
+                        elemSettings.digilibBaseUrl = url.substring(0, pos);
+                    } else {
+                        var url = elemSettings.scalerBaseUrl;
+                        if (url) {
+                            // build it from scaler URL
+                            var bp = url.indexOf('/servlet/Scaler');
+                            elemSettings.digilibBaseUrl = url.substring(0, bp) + '/digilib.jsp';                        
+                        }
+                    }
+                }
                 // create HTML structure for scaler
                 setupScalerDiv(data);
                 // add buttons
@@ -547,12 +565,7 @@
         // presents a reference url (returns value if noprompt)
         reference : function (data, noprompt) {
             var settings = data.settings;
-            var url;
-            if (settings.interactionMode === 'fullscreen') {
-                url = getDigilibUrl(data);
-            } else {
-                url = getScalerUrl(data);
-                }
+            var url = getDigilibUrl(data);
             if (noprompt == null) {
                 window.prompt("URL reference to the current view", url);
             }
@@ -663,11 +676,7 @@
         packParams(data);
         var settings = data.settings;
         var queryString = getParamString(settings, settings.digilibParamNames, defaults);
-        var url = window.location.toString();
-        var pos = url.indexOf('?');
-        var baseUrl = url.substring(0, pos);
-        var newurl = baseUrl + '?' + queryString;
-        return newurl;
+        return settings.digilibBaseUrl + '?' + queryString;
     };
 
     // processes some parameters into objects and stuff