Merge branch 'master' into wosch
[mkws-moved-to-github.git] / tools / htdocs / mkws.js
index dd9364f..d5eb267 100644 (file)
@@ -310,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();
 }
 
@@ -640,7 +640,7 @@ function mkws_html_all(config) {
 }
 
 function mkws_set_lang(mkws_config)  {
-    var lang = jQuery.parseQuerystring().lang || mkws_config.lang || "";
+    var lang = $.parseQuerystring().lang || mkws_config.lang || "";
     if (!lang || !mkws_locale_lang[lang]) {
        mkws_config.lang = ""
     } else {
@@ -727,9 +727,12 @@ 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 (!jQuery.isXMLDoc(data)) {
+       if (!$.isXMLDoc(data)) {
            alert("service proxy auth response document is not valid XML document, give up!");
            return;
        }
@@ -823,8 +826,8 @@ function M(word) {
 /*
  * implement jQuery plugins
  */
-jQuery.extend({
-    // implement jQuery.parseQuerystring() for parsing URL parameters
+$.extend({
+    // implement $.parseQuerystring() for parsing URL parameters
     parseQuerystring: function() {
        var nvpair = {};
        var qs = window.location.search.replace('?', '');
@@ -842,6 +845,9 @@ jQuery.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>\
@@ -898,7 +904,7 @@ jQuery.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>\
@@ -910,7 +916,7 @@ jQuery.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 {
@@ -925,11 +931,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,
@@ -971,4 +984,13 @@ function debug(string) {
 
 
 /* magic */
-$(document).ready(function() { mkws_html_all(mkws_config) });
+$(document).ready(function() {
+    try {
+       mkws_html_all(mkws_config)
+    }
+
+    catch (e) {
+       mkws_config.error = e.message;
+       // alert(e.message);
+    }
+});