');
mkws_html_switch(config);
+
if (mkws_config.use_service_proxy)
mkws_service_proxy_auth(config.service_proxy_auth);
+ if (mkws_config.responsive_design)
+ mkws_responsive_design();
+
domReady();
+
+ // on first page, hide the termlist
+ $(document).ready(function() { $("#mkwsTermlists").parent().hide(); } );
+}
+
+/* Responsive web design - change layout on the fly depending on
+ * the current screen size width/height. Required for mobile devices.
+ */
+function mkws_responsive_design () {
+ var timeout = null;
+
+ $(window).resize( function(e) {
+ if (timeout)
+ clearTimeout(timeout);
+ timeout = setTimeout(function () { mkws_mobile_resize() }, 100);
+ });
+
+ // initial check after page load
+ $(document).ready(function() { mkws_mobile_resize() });
}
function mkws_set_lang(mkws_config) {
@@ -505,14 +599,14 @@ function mkws_set_lang(mkws_config) {
} else {
mkws_config.lang = lang;
}
-
- debug("Locale language: " + mkws_config.lang);
+
+ debug("Locale language: " + (mkws_config.lang ? mkws_config.lang : "none"));
return mkws_config.lang;
}
function mkws_html_switch(config) {
debug("HTML switch");
-
+
$("#mkwsSwitch").html($("
", {
href: '#',
onclick: "switchView(\'records\')",
@@ -527,13 +621,13 @@ function mkws_html_switch(config) {
debug("HTML targets");
$("#mkwsTargets").html('\
-
\
+
\
No information available yet.\
');
$("#mkwsTargets").css("display", "none");
- if (!config.switch) {
- debug("disable switch");
+ if (!config.switch_menu) {
+ debug("disable switch menu");
$("#mkwsSwitch").css("display", "none");
}
}
@@ -582,58 +676,92 @@ function mkws_html_perpage(config) {
*/
function mkws_service_proxy_auth(auth_url) {
if (!auth_url)
- auth_url = "/service-proxy-auth";
-
+ auth_url = "http://mkws.indexdata.com/service-proxy-auth";
+
debug("Run service proxy auth URL: " + auth_url);
- var jqxhr = jQuery.get(auth_url)
- .fail(function() {
- alert("service proxy authentication failed, give up!");
- })
- .success(function(data) {
- if (!jQuery.isXMLDoc(data)) {
- alert("service proxy auth response document is not valid XML document, give up!");
- return;
- }
- var status = $(data).find("status");
- if (status.text() != "OK") {
- alert("service proxy auth repsonse status: " + status.text() + ", give up!");
- return;
- }
- });
+ var request = new pzHttpRequest(auth_url);
+ request.get(null, function(data) {
+ if (!jQuery.isXMLDoc(data)) {
+ alert("service proxy auth response document is not valid XML document, give up!");
+ return;
+ }
+ var status = $(data).find("status");
+ if (status.text() != "OK") {
+ alert("service proxy auth repsonse status: " + status.text() + ", give up!");
+ return;
+ }
+ });
}
/* create locale language menu */
function mkws_html_lang(mkws_config) {
var lang_default = "en";
var lang = mkws_config.lang || lang_default;
- var list = [lang_default];
-
+ var list = [];
+
+ /* display a list of configured languages, or all */
+ var lang_display = mkws_config.lang_display || [];
+ var hash = {};
+ for (var i = 0; i < lang_display.length; i++) {
+ hash[lang_display[i]] = 1;
+ }
+
for (var k in mkws_locale_lang) {
- list.push(k);
+ if (hash[k] == 1 || lang_display.length == 0)
+ list.push(k);
}
+
+ // add english link
+ if (lang_display.length == 0 || hash[lang_default] == 1)
+ list.push(lang_default);
+
debug("Language menu for: " + list.join(", "));
- var data = "";
+ /* the HTML part */
+ var data = "";
for(var i = 0; i < list.length; i++) {
var l = list[i];
-
+
if (data)
data += ' | ';
-
+
if (lang == l) {
- data += l;
+ data += '
' + l + ' ';
} else {
- data += '
' + l + ' '
+ data += '
' + l + ' '
}
}
-
+
$("#mkwsLang").html(data);
}
+function mkws_mobile_resize () {
+ debug("resize width: " + $(window).height() + ", width: " + $(window).width());
+ var list = ["mkwsSwitch"];
+ var obj;
+ // alert($(window).width());
+
+ if ($(window).width() <= 980) {
+ for(var i = 0; i < list.length; i++) {
+ $("#" + list[i]).hide();
+ }
+
+ $("#mkwsTermlists").parent().hide();
+ obj = $("#mkwsTermlists").parent().html();
+ $("#mkwsShiftedTermlists").html("
" + obj);
+ } else {
+ for(var i = 0; i < list.length; i++) {
+ $("#" + list[i]).show();
+ }
+ $("#mkwsTermlists").parent().show();
+ $("#mkwsShiftedTermlists").html("");
+ }
+};
+
/* locale */
function M(word) {
- var lang = jQuery.parseQuerystring().lang || mkws_config.lang;
+ var lang = mkws_config.lang;
if (!lang || !mkws_locale_lang[lang])
return word;
@@ -643,7 +771,7 @@ function M(word) {
/* implement jQuery.parseQuerystring() for parsing URL parameters */
jQuery.extend({
- parseQuerystring: function() {
+ parseQuerystring: function() {
var nvpair = {};
var qs = window.location.search.replace('?', '');
var pairs = qs.split('&');
@@ -652,16 +780,36 @@ jQuery.extend({
nvpair[pair[0]] = pair[1];
});
return nvpair;
-} });
+ },
+ pazpar2: function(data) {
+ document.write('
\
+
\
+
\
+
\
+
\
+ ');
+
+ mkws_html_all(mkws_config);
+ }
+});
function debug(string) {
if (!mkws_debug)
return;
-
- if (!console) { /* ARGH!!! */
+
+ if (typeof console === "undefined" || typeof console.log === "undefined") { /* ARGH!!! old IE */
return;
}
-
+
+ // you need to disable use strict at the top of the file!!!
+ if (mkws_debug >= 3) {
+ console.log(arguments.callee.caller);
+ } else if (mkws_debug >= 2) {
+ console.log(">>> called from function " + arguments.callee.caller.name + ' <<<');
+ }
console.log(string);
}