fix broken debug() function for IE (again!!)
[mkws-moved-to-github.git] / tools / htdocs / mkws.js
index 1bf2137..1f114f8 100644 (file)
@@ -255,27 +255,30 @@ function _make_mkws_team($, teamName) {
        }
     }
 
-    // protocol independend link for pazpar2: "//mkws/sp" -> "https://mkws/sp"
+    // protocol independent link for pazpar2: "//mkws/sp" -> "https://mkws/sp"
     if (mkws_config.pazpar2_url.match(/^\/\//)) {
        mkws_config.pazpar2_url = document.location.protocol + mkws_config.pazpar2_url;
-       debug("adjust protocol independend links: " + mkws_config.pazpar2_url);
+       debug("adjust protocol independent links: " + mkws_config.pazpar2_url);
     }
 
     debug("Create main pz2 object");
     // create a parameters array and pass it to the pz2's constructor
     // then register the form submit event with the pz2.search function
     // autoInit is set to true on default
-    mkws.paz = new pz2({ "onshow": my_onshow,
-                        "showtime": 500,            //each timer (show, stat, term, bytarget) can be specified this way
-                        "pazpar2path": mkws_config.pazpar2_url,
-                        "oninit": my_oninit,
-                        "onstat": my_onstat,
-                        "onterm": my_onterm,
-                        "termlist": "xtargets,subject,author",
-                        "onbytarget": my_onbytarget,
-                        "usesessions" : mkws_config.use_service_proxy ? false : true,
-                        "showResponseType": '', // or "json" (for debugging?)
-                        "onrecord": my_onrecord });
+    if (!mkws.paz) {
+       mkws.paz = new pz2({ "onshow": my_onshow,
+                            "windowid": teamName,
+                            "showtime": 500,            //each timer (show, stat, term, bytarget) can be specified this way
+                            "pazpar2path": mkws_config.pazpar2_url,
+                            "oninit": my_oninit,
+                            "onstat": my_onstat,
+                            "onterm": my_onterm,
+                            "termlist": "xtargets,subject,author",
+                            "onbytarget": my_onbytarget,
+                            "usesessions" : mkws_config.use_service_proxy ? false : true,
+                            "showResponseType": '', // or "json" (for debugging?)
+                            "onrecord": my_onrecord });
+    }
 
     if (!isNaN(parseInt(mkws_config.perpage_default))) {
        m_recPerPage = parseInt(mkws_config.perpage_default);
@@ -285,13 +288,15 @@ function _make_mkws_team($, teamName) {
     //
     // pz2.js event handlers:
     //
-    function my_oninit() {
+    function my_oninit(teamName) {
+       debug("init for " + teamName);
        mkws.paz.stat();
        mkws.paz.bytarget();
     }
 
 
-    function my_onshow(data) {
+    function my_onshow(data, teamName) {
+       debug("show for " + teamName);
        m_totalRec = data.merged;
        // move it out
        var pager = document.getElementById("mkwsPager");
@@ -330,7 +335,8 @@ function _make_mkws_team($, teamName) {
     }
 
 
-    function my_onstat(data) {
+    function my_onstat(data, teamName) {
+       debug("stat for " + teamName);
        var stat = document.getElementById("mkwsStat");
        if (stat == null)
            return;
@@ -343,7 +349,8 @@ function _make_mkws_team($, teamName) {
     }
 
 
-    function my_onterm(data) {
+    function my_onterm(data, teamName) {
+       debug("term for " + teamName);
        // no facets
        if (!mkws_config.facets || mkws_config.facets.length == 0) {
            $("#mkwsTermlists").hide();
@@ -397,7 +404,8 @@ function _make_mkws_team($, teamName) {
     }
 
 
-    function my_onrecord(data) {
+    function my_onrecord(data, teamName) {
+       debug("record for " + teamName);
        // FIXME: record is async!!
        clearTimeout(mkws.paz.recordTimer);
        // in case on_show was faster to redraw element
@@ -410,7 +418,8 @@ function _make_mkws_team($, teamName) {
     }
 
 
-    function my_onbytarget(data) {
+    function my_onbytarget(data, teamName) {
+       debug("target for " + teamName);
        var targetDiv = document.getElementById("mkwsBytarget");
        if (!targetDiv) {
            // No mkwsTargets div.
@@ -971,15 +980,6 @@ function _make_mkws_team($, teamName) {
 
        mkws_html_switch();
 
-       if (mkws_config.use_service_proxy) {
-           mkws_service_proxy_auth(mkws_config.service_proxy_auth,
-                                   mkws_config.service_proxy_auth_domain,
-                                   mkws_config.pazpar2_url);
-       } else {
-           // raw pp2
-           run_auto_searches();
-       }
-
        if (mkws_config.responsive_design_width) {
            // Responsive web design - change layout on the fly based on
            // current screen width. Required for mobile devices.
@@ -1116,7 +1116,7 @@ function _make_mkws_team($, teamName) {
      * The username/password is configured in the apache config file
      * for the site.
      */
-    function mkws_service_proxy_auth(auth_url, auth_domain, pp2_url) {
+    mkws.service_proxy_auth = function(auth_url, auth_domain, pp2_url) {
        debug("Run service proxy auth URL: " + auth_url);
 
        if (!auth_domain) {
@@ -1394,8 +1394,12 @@ function _mkws_jquery_plugin ($) {
 // wrapper to call _make_mkws_team() after page load
 (function (j) {
     function log(s) {
-       if (console && console.log) console.log(s);
+        if (typeof console === "undefined" || typeof console.log === "undefined") { /* ARGH!!! old IE */
+            return;
+        }
+       console.log(s);
     }
+
     // enable before page load, so we could call it before mkws() runs
     _mkws_jquery_plugin(j);
 
@@ -1439,10 +1443,22 @@ function _mkws_jquery_plugin ($) {
                alert("No MKWS team specified for mkwsRecords element with classes '" + classes + "'");
            } else if (mkws.teams[tname]) {
                log("MKWS team '" + tname + "' already exists, skipping");
+           } else if (tname === "AUTO") {
+               // ### For now: later, this will be how the backwards-compatibility is done
+               log("Skipping MKWS team '" + tname + "'");
            } else {
                mkws.teams[tname] = _make_mkws_team(j, tname);
                log("Made MKWS team '" + tname + "'");
            }
        });
+
+       if (mkws_config.use_service_proxy) {
+           mkws.service_proxy_auth(mkws_config.service_proxy_auth,
+                                   mkws_config.service_proxy_auth_domain,
+                                   mkws_config.pazpar2_url);
+       } else {
+           // raw pp2
+           run_auto_searches();
+       }
     });
 })(jQuery);