');
acc.push('
' + M(caption) + '
');
for (var i = 0; i < data.length && i < max; i++ ) {
acc.push('
');
@@ -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();
}
@@ -524,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 */
@@ -640,7 +639,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 {
@@ -672,11 +671,6 @@ function mkws_html_switch(config) {
No information available yet.\
');
$("#mkwsTargets").css("display", "none");
-
- if (!config.switch_menu) {
- debug("disable switch menu");
- $("#mkwsSwitch").css("display", "none");
- }
}
function mkws_html_sort(config) {
@@ -727,9 +721,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;
}
@@ -820,33 +817,148 @@ function M(word) {
return mkws_locale_lang[lang][word] ? mkws_locale_lang[lang][word] : word;
}
-/* implement jQuery.parseQuerystring() for parsing URL parameters */
-jQuery.extend({
- parseQuerystring: function() {
- var nvpair = {};
- var qs = window.location.search.replace('?', '');
- var pairs = qs.split('&');
- $.each(pairs, function(i, v){
- var pair = v.split('=');
- nvpair[pair[0]] = pair[1];
- });
- return nvpair;
- },
- pazpar2: function(data) {
- document.write('
\
-
\
-
\
-
\
-
\
- ');
-
- mkws_html_all(mkws_config);
- }
+/*
+ * implement jQuery plugins
+ */
+$.extend({
+ // implement $.parseQuerystring() for parsing URL parameters
+ parseQuerystring: function() {
+ var nvpair = {};
+ var qs = window.location.search.replace('?', '');
+ var pairs = qs.split('&');
+ $.each(pairs, function(i, v){
+ var pair = v.split('=');
+ nvpair[pair[0]] = pair[1];
+ });
+ return nvpair;
+ },
+
+ debug2: function(string) { // delayed debug, internal variables are set after dom ready
+ setTimeout(function() { debug(string); }, 500);
+ },
+
+ // service-proxy or pazpar2
+ pazpar2: function(config) {
+ var id_popup = config.id_popup || "#mkwsPopup";
+ id_popup = id_popup.replace(/^#/, "");
+
+ // simple layout
+ var div = '
\
+
\
+
\
+
\
+
\
+
';
+
+ // new table layout
+ var table = '\
+ \
+ \
+
\
+ \
+ \
+ \
+ \
+ \
+ | \
+
\
+ \
+ \
+ \
+ | \
+
\
+ \
+ \
+ \
+ | \
+
\
+ \
+ \
+ \
+ | \
+
\
+
';
+
+ var popup = '\
+
\
+ '
+
+ if (config && config.layout == 'div') {
+ this.debug2("jquery plugin layout: div");
+ document.write(div);
+ } else if (config && config.layout == 'popup') {
+ this.debug2("jquery plugin layout: popup with id: " + id_popup);
+ document.write(popup);
+ $(document).ready( function() { init_popup(config); } );
+ } else {
+ this.debug2("jquery plugin layout: table");
+ document.write(table);
+ }
+ }
});
+function init_popup(obj) {
+ var config = obj ? obj : {};
+
+ var height = config.height || 760;
+ var width = config.width || 880;
+ 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.:
+ //
+ 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,
+ height: height,
+ width: width,
+ modal: true,
+ resizable: true,
+ buttons: {
+ Cancel: function() {
+ $(this).dialog("close");
+ }
+ },
+ close: function() { }
+ });
+
+ $(id_button)
+ .button()
+ .click(function() {
+ $(id_popup).dialog("open");
+ });
+};
+
function debug(string) {
if (!mkws_debug)
return;
@@ -864,5 +976,15 @@ function debug(string) {
console.log(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);
+ }
+});