+ function mkws_html_perpage() {
+ debug("HTML perpage");
+ var perpage_html = '<select name="mkwsPerpage" id="mkwsPerpage">';
+
+ for(var i = 0; i < mkws_config.perpage_options.length; i++) {
+ var key = mkws_config.perpage_options[i];
+
+ perpage_html += '<option value="' + key + '"';
+ if (key == mkws_config.perpage_default) {
+ perpage_html += ' selected="selected"';
+ }
+ perpage_html += '>' + key + '</option>';
+ }
+ perpage_html += '</select>';
+
+ return perpage_html;
+ }
+
+
+ /* create locale language menu */
+ function mkws_html_lang() {
+ var lang_default = "en";
+ var lang = mkws_config.lang || lang_default;
+ var list = [];
+
+ /* display a list of configured languages, or all */
+ var lang_options = mkws_config.lang_options || [];
+ var toBeIncluded = {};
+ for (var i = 0; i < lang_options.length; i++) {
+ toBeIncluded[lang_options[i]] = true;
+ }
+
+ for (var k in mkws.locale_lang) {
+ if (toBeIncluded[k] || lang_options.length == 0)
+ list.push(k);
+ }
+
+ // add english link
+ if (lang_options.length == 0 || toBeIncluded[lang_default])
+ list.push(lang_default);
+
+ debug("Language menu for: " + list.join(", "));
+
+ /* the HTML part */
+ var data = "";
+ for(var i = 0; i < list.length; i++) {
+ var l = list[i];
+
+ if (data)
+ data += ' | ';
+
+ if (lang == l) {
+ data += ' <span>' + l + '</span> ';
+ } else {
+ data += ' <a href="?lang=' + l + '">' + l + '</a> '
+ }
+ }
+
+ $(".mkwsLang.mkwsTeam_" + m_teamName).html(data);
+ }
+
+
+ function mkws_resize_page () {
+ var list = ["mkwsSwitch"];
+
+ var width = mkws_config.responsive_design_width;
+ var parentId = $("#mkwsTermlists").parent().attr('id');
+
+ if ($(window).width() <= width &&
+ parentId === "mkwsTermlistContainer1") {
+ debug("changing from wide to narrow: " + $(window).width());
+ $("#mkwsTermlists").appendTo($("#mkwsTermlistContainer2"));
+ $("#mkwsTermlistContainer1").hide();
+ $("#mkwsTermlistContainer2").show();
+ for(var i = 0; i < list.length; i++) {
+ $("#" + list[i]).hide(); // ### make team-aware
+ }
+ } else if ($(window).width() > width &&
+ parentId === "mkwsTermlistContainer2") {
+ debug("changing from narrow to wide: " + $(window).width());
+ $("#mkwsTermlists").appendTo($("#mkwsTermlistContainer1"));
+ $("#mkwsTermlistContainer1").show();
+ $("#mkwsTermlistContainer2").hide();
+ for(var i = 0; i < list.length; i++) {
+ $("#" + list[i]).show(); // ### make team-aware
+ }
+ }
+ };
+
+
+ /* locale */
+ function M(word) {
+ var lang = mkws_config.lang;
+
+ if (!lang || !mkws.locale_lang[lang])
+ return word;
+
+ return mkws.locale_lang[lang][word] || word;
+ }
+ mkws.M = M; // so the Handlebars helper can use it
+
+
+ // main
+ (function() {
+ try {
+ mkws_html_all()
+ }
+
+ catch (e) {
+ mkws_config.error = e.message;
+ // alert(e.message);
+ }
+ })();
+
+ // Bizarrely, 'that' is just an empty hash. All its state is in
+ // the closure variables defined earlier in this function.
+ return that;
+};
+
+
+/*
+ * implement jQuery plugin $.pazpar2({})
+ */
+function _mkws_jquery_plugin ($) {
+ var debug_level = 1;
+
+ function debug (string) {
+ if (!debug_level)
+ return;
+
+ if (typeof console === "undefined" || typeof console.log === "undefined")
+ return;
+
+ console.log("jquery.pazpar2: " + string);
+ }
+
+ 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";