Merge remote-tracking branch 'origin/master' into wosch
[mkws-moved-to-github.git] / tools / htdocs / mkws.js
index e4d339a..484773e 100644 (file)
@@ -3,7 +3,6 @@
 
 "use strict"; // HTML5: disable for debug >= 2
 
-
 /*
  * global config object: mkws_config
  *
@@ -27,7 +26,6 @@ var pazpar2path = mkws_config.use_service_proxy ? service_proxy_url : pazpar2_ur
 var usesessions = mkws_config.use_service_proxy ? false : true;
 
 
-(function ($) {
 var mkws_locale_lang = {
     "de": {
        "Authors": "Autoren",
@@ -312,7 +310,7 @@ function loadSelect ()
 // limit the query after clicking the facet
 function limitQuery (field, value)
 {
-    document.mkwsSearchForm.query.value += ' and ' + field + '="' + value + '"';
+    document.mkwsSearchForm.mkwsQuery.value += ' and ' + field + '="' + value + '"';
     onFormSubmitEventHandler();
 }
 
@@ -526,7 +524,6 @@ function mkws_html_all(config) {
        sort_default: "relevance",
        perpage_default: 20,
        query_width: 50,
-       switch_menu: false,     /* show/hide Records|Targets menu */
        lang_menu: true,        /* show/hide language menu */
        sort_menu: true,        /* show/hide sort menu */
        perpage_menu: true,     /* show/hide perpage menu */
@@ -674,11 +671,6 @@ function mkws_html_switch(config) {
        No information available yet.\
       </div>');
     $("#mkwsTargets").css("display", "none");
-
-    if (!config.switch_menu) {
-       debug("disable switch menu");
-        $("#mkwsSwitch").css("display", "none");
-    }
 }
 
 function mkws_html_sort(config) {
@@ -729,7 +721,10 @@ function mkws_service_proxy_auth(auth_url) {
 
     debug("Run service proxy auth URL: " + auth_url);
 
-    var request = new pzHttpRequest(auth_url);
+    var request = new pzHttpRequest(auth_url, function(err) {
+       alert("HTTP call for authentication failed: " + err)
+       return;
+    });
     request.get(null, function(data) {
        if (!$.isXMLDoc(data)) {
            alert("service proxy auth response document is not valid XML document, give up!");
@@ -844,6 +839,9 @@ $.extend({
 
     // service-proxy or pazpar2
     pazpar2: function(config) {
+       var id_popup = config.id_popup || "#mkwsPopup";
+       id_popup = id_popup.replace(/^#/, "");
+
        // simple layout
        var div = '<div id="mkwsSwitch"></div>\
        <div id="mkwsLang"></div>\
@@ -900,7 +898,7 @@ $.extend({
 
        var popup = '\
          <div id="mkwsSearch"></div>\
-         <div id="mkwsPopup">\
+         <div id="' + id_popup + '">\
            <div id="mkwsSwitch"></div>\
            <div id="mkwsLang"></div>\
            <div id="mkwsResults"></div>\
@@ -912,7 +910,7 @@ $.extend({
            this.debug2("jquery plugin layout: div");
            document.write(div);
        } else if (config && config.layout == 'popup') {
-           this.debug2("jquery plugin layout: popup");
+           this.debug2("jquery plugin layout: popup with id: " + id_popup);
            document.write(popup);
            $(document).ready( function() { init_popup(config); } );
        } else {
@@ -927,11 +925,18 @@ function init_popup(obj) {
 
     var height = config.height || 760;
     var width = config.width || 880;
-    var id_button = config.button || "input#mkwsButton";
-    var id_popup = config.popup || "#mkwsPopup";
+    var id_button = config.id_button || "input#mkwsButton";
+    var id_popup = config.id_popup || "#mkwsPopup";
 
     debug("popup height: " + height + ", width: " + width);
 
+    // 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?");
+       return;
+    }
+
     $(id_popup).dialog({
       closeOnEscape: true,
       autoOpen: false,
@@ -973,6 +978,13 @@ function debug(string) {
 
 
 /* magic */
-$(document).ready(function() { mkws_html_all(mkws_config) });
+$(document).ready(function() {
+    try {
+       mkws_html_all(mkws_config)
+    }
 
-})(jQuery);
+    catch (e) {
+       mkws_config.error = e.message;
+       // alert(e.message);
+    }
+});