auth_domain guessing with protocol independend links, MKWS-103
[mkws-moved-to-github.git] / tools / htdocs / mkws.js
index cacc8d0..7343749 100644 (file)
@@ -2,11 +2,10 @@
 
 "use strict"; // HTML5: disable for debug_level >= 2
 
-// Set up namespace and some state.
+// Set up global mkws object. Contains a hash of session objects,
+// indexed by windowid.
 var mkws = {
-    sort: 'relevance',
-    authenticated: false,
-    filters: []
+    sessions: {}
 };
 
 // Define empty mkws_config for simple applications that don't define it.
@@ -19,7 +18,14 @@ function _mkws($) {
     // if (console && console.log) console.log("run _mkws()");
 
     // call this function only once
-    if (mkws.init) return;
+    if (mkws.init) {
+       alert("_mkws() called twice: how did that happen?!");
+       return;
+    }
+
+mkws.sort = 'relevance';
+mkws.authenticated = false;
+mkws.filters = [];
 
 mkws.locale_lang = {
     "de": {
@@ -42,7 +48,8 @@ mkws.locale_lang = {
        "Date": "Datum",
        "Subject": "Schlagwort",
        "Location": "Ort",
-       // ### to add: Records, Targets
+       "Records": "Datensätze",
+       "Targets": "Datenbanken",
 
        "dummy": "dummy"
     },
@@ -67,7 +74,8 @@ mkws.locale_lang = {
        "Date": "Dato",
        "Subject": "Emneord",
        "Location": "Lokation",
-       // ### to add: Records, Targets
+       "Records": "Poster",
+       "Targets": "Baser",
 
        "dummy": "dummy"
     }
@@ -207,6 +215,7 @@ Handlebars.registerHelper('commaList', function(items, options) {
     }
 }
 
+
 mkws.sort = mkws_config.sort_default;
 debug("copied mkws_config.sort_default '" + mkws_config.sort_default + "' to mkws.sort");
 
@@ -257,6 +266,10 @@ var SourceMax = 16;
 var SubjectMax = 10;
 var AuthorMax = 10;
 
+if (!isNaN(parseInt(mkws_config.perpage_default))) {
+    recPerPage = parseInt(mkws_config.perpage_default);
+}
+
 //
 // pz2.js event handlers:
 //
@@ -1071,7 +1084,7 @@ function mkws_service_proxy_auth(auth_url, auth_domain, pp2_url) {
     debug("Run service proxy auth URL: " + auth_url);
 
     if (!auth_domain) {
-       auth_domain = pp2_url.replace(/^http:\/\/(.*?)\/.*/, '$1');
+       auth_domain = pp2_url.replace(/^(https?:)?\/\/(.*?)\/.*/, '$2');
        debug("guessed auth_domain '" + auth_domain + "' from pp2_url '" + pp2_url + "'");
     }
 
@@ -1197,9 +1210,16 @@ function M(word) {
  * implement jQuery plugin $.pazpar2({})
  */
 function _mkws_jquery_plugin ($) {
-    // delayed debug, internal variables are set after dom ready
+    var debug_level = 1;
+
     function debug (string) {
-       setTimeout(function() { mkws.debug_function(string); }, 500);
+       if (!debug_level)
+           return;
+
+       if (typeof console === "undefined" || typeof console.log === "undefined")
+           return;
+
+       console.log("jquery.pazpar2: " + string);
     }
 
     function init_popup(obj) {
@@ -1215,7 +1235,7 @@ function _mkws_jquery_plugin ($) {
        // make sure that jquery-ui was loaded afte jQuery core lib, e.g.:
        // <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
        if (!$.ui) {
-           debug("Error: jquery-ui.js is missing, did you included it after jquery core in the HTML file?");
+           debug("Error: jquery-ui.js is missing, did you include it after jQuery core in the HTML file?");
            return;
        }