"use strict"; // HTML5: disable for debug >= 2
+
/*
* global config object: mkws_config
*
var usesessions = mkws_config.use_service_proxy ? false : true;
+(function ($) {
var mkws_locale_lang = {
"de": {
"Authors": "Autoren",
}
function add_single_facet(acc, caption, data, max, cclIndex) {
- acc.push('<div class="facet">');
+ acc.push('<div class="facet" id="mkwsFacet' + caption + '">');
acc.push('<div class="termtitle">' + M(caption) + '</div>');
for (var i = 0; i < data.length && i < max; i++ ) {
+ acc.push('<div class="term">');
acc.push('<a href="#" ');
var action;
if (!cclIndex) {
action = 'limitQuery(\'' + cclIndex + '\', this.firstChild.nodeValue)';
}
acc.push('onclick="' + action + ';return false;">' + data[i].name + '</a>'
- + '<span> (' + data[i].freq + ')</span><br/>');
+ + ' <span>' + data[i].freq + '</span>');
+ acc.push('</div>');
}
acc.push('</div>');
}
}
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 {
var request = new pzHttpRequest(auth_url);
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;
}
/*
* implement jQuery plugins
*/
-jQuery.extend({
- // implement jQuery.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;
- },
+$.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
+ debug2: function(string) { // delayed debug, internal variables are set after dom ready
setTimeout(function() { debug(string); }, 500);
},
- // service-proxy or pazpar2
- pazpar2: function(config) {
-
- // simple layout
- var div = '<div id="mkwsSwitch"></div>\
- <div id="mkwsLang"></div>\
- <div id="mkwsSearch"></div>\
- <div id="mkwsResults"></div>\
- <div id="mkwsTargets"></div>\
- <div id="mkwsFooter">\
- <div id="mkwsStat"></div>\
- <span>Powered by MKWS © 2013 <a target="_new" href="http://www.indexdata.com">Index Data</a></span>\
- </div>';
-
- // new table layout
- var table = '\
- <style type="text/css">\
- #mkwsTermlists div.facet {\
- float:left;\
- width: 30%;\
- margin: 0.3em;\
- }\
- #mkwsStat {\
- text-align: right;\
- }\
- </style>\
- \
- <table width="100%" border="0">\
- <tr>\
- <td>\
- <div id="mkwsSwitch"></div>\
- <div id="mkwsLang"></div>\
- <div id="mkwsSearch"></div>\
- </td>\
- </tr>\
- <tr>\
- <td>\
- <div style="height:500px; overflow: auto">\
- <div id="mkwsPager"></div>\
- <div id="mkwsNavi"></div>\
- <div id="mkwsRecords"></div>\
- <div id="mkwsTargets"></div>\
- <div id="mkwsRanking"></div>\
- </div>\
- </td>\
- </tr>\
- <tr>\
- <td>\
- <div style="height:300px; overflow: hidden">\
- <div id="mkwsTermlists"></div>\
- </div>\
- </td>\
- </tr>\
- <tr>\
- <td>\
- <div id="mkwsStat"></div>\
- </td>\
- </tr>\
- </table>';
-
- if (config && config.layout == 'div') {
- this.debug2("jquery plugin layout: div");
- document.write(div);
- } else {
- this.debug2("jquery plugin layout: table");
- document.write(table);
+ // service-proxy or pazpar2
+ pazpar2: function(config) {
+ // simple layout
+ var div = '<div id="mkwsSwitch"></div>\
+ <div id="mkwsLang"></div>\
+ <div id="mkwsSearch"></div>\
+ <div id="mkwsResults"></div>\
+ <div id="mkwsTargets"></div>\
+ <div id="mkwsStat"></div>';
+
+ // new table layout
+ var table = '\
+ <style type="text/css">\
+ #mkwsTermlists div.facet {\
+ float:left;\
+ width: 30%;\
+ margin: 0.3em;\
+ }\
+ #mkwsStat {\
+ text-align: right;\
+ }\
+ </style>\
+ \
+ <table width="100%" border="0">\
+ <tr>\
+ <td>\
+ <div id="mkwsSwitch"></div>\
+ <div id="mkwsLang"></div>\
+ <div id="mkwsSearch"></div>\
+ </td>\
+ </tr>\
+ <tr>\
+ <td>\
+ <div style="height:500px; overflow: auto">\
+ <div id="mkwsPager"></div>\
+ <div id="mkwsNavi"></div>\
+ <div id="mkwsRecords"></div>\
+ <div id="mkwsTargets"></div>\
+ <div id="mkwsRanking"></div>\
+ </div>\
+ </td>\
+ </tr>\
+ <tr>\
+ <td>\
+ <div style="height:300px; overflow: hidden">\
+ <div id="mkwsTermlists"></div>\
+ </div>\
+ </td>\
+ </tr>\
+ <tr>\
+ <td>\
+ <div id="mkwsStat"></div>\
+ </td>\
+ </tr>\
+ </table>';
+
+ var popup = '\
+ <div id="mkwsSearch"></div>\
+ <div id="mkwsPopup">\
+ <div id="mkwsSwitch"></div>\
+ <div id="mkwsLang"></div>\
+ <div id="mkwsResults"></div>\
+ <div id="mkwsTargets"></div>\
+ <div id="mkwsStat"></div>\
+ </div>'
+
+ 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");
+ 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.button || "input#mkwsButton";
+ var id_popup = config.popup || "#mkwsPopup";
+
+ debug("popup height: " + height + ", width: " + width);
+
+ $(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;
/* magic */
$(document).ready(function() { mkws_html_all(mkws_config) });
+
+})(jQuery);