- that.switchView = switchView;
-
-
- // detailed record drawing
- that.showDetails = function(recId) {
- var oldRecordId = m_currentRecordId;
- m_currentRecordId = recId;
-
- // remove current detailed view if any
- findnode('#' + recordDetailsId(oldRecordId)).remove();
-
- // if the same clicked, just hide
- if (recId == oldRecordId) {
- m_currentRecordId = '';
- m_currentRecordData = null;
- return;
- }
- // request the record
- log("showDetails() requesting record '" + recId + "'");
- m_paz.record(recId);
- };
-
-
- /*
- * All the HTML stuff to render the search forms and
- * result pages.
- */
- function mkwsHtmlAll() {
- mkwsSetLang();
- if (m_config.show_lang)
- mkwsHtmlLang();
-
- log("HTML records");
- // If the team has a .mkwsResults, populate it in the usual
- // way. If not, assume that it's a smarter application that
- // defines its own subcomponents, some or all of the
- // following:
- // .mkwsTermlists
- // .mkwsRanking
- // .mkwsPager
- // .mkwsNavi
- // .mkwsRecords
- findnode(".mkwsResults").html('\
-<table width="100%" border="0" cellpadding="6" cellspacing="0">\
- <tr>\
- <td class="mkwsTermlistContainer1 mkwsTeam_' + m_teamName + '" width="250" valign="top">\
- <div class="mkwsTermlists mkwsTeam_' + m_teamName + '"></div>\
- </td>\
- <td class="mkwsMOTDContainer mkwsTeam_' + m_teamName + '" valign="top">\
- <div class="mkwsRanking mkwsTeam_' + m_teamName + '"></div>\
- <div class="mkwsPager mkwsTeam_' + m_teamName + '"></div>\
- <div class="mkwsNavi mkwsTeam_' + m_teamName + '"></div>\
- <div class="mkwsRecords mkwsTeam_' + m_teamName + '"></div>\
- </td>\
- </tr>\
- <tr>\
- <td colspan="2">\
- <div class="mkwsTermlistContainer2 mkwsTeam_' + m_teamName + '"></div>\
- </td>\
- </tr>\
-</table>');
-
- var acc = [];
- var facets = m_config.facets;
- acc.push('<div class="title">' + M('Termlists') + '</div>');
- for (var i = 0; i < facets.length; i++) {
- acc.push('<div class="mkwsFacet mkwsTeam_' + m_teamName + '" data-mkws-facet="' + facets[i] + '">');
- acc.push('</div>');
- }
- findnode(".mkwsTermlists").html(acc.join(''));
-
- var ranking_data = '<form name="mkwsSelect" class="mkwsSelect mkwsTeam_' + m_teamName + '" action="" >';
- if (m_config.show_sort) {
- ranking_data += M('Sort by') + ' ' + mkwsHtmlSort() + ' ';
- }
- if (m_config.show_perpage) {
- ranking_data += M('and show') + ' ' + mkwsHtmlPerpage() + ' ' + M('per page') + '.';
- }
- ranking_data += '</form>';
- findnode(".mkwsRanking").html(ranking_data);
-
- // on first page, hide the termlist
- $(document).ready(function() {
- var t = widgetNode("Termlists");
- if (t) t.hide();
- });
- var container = findnode(".mkwsMOTDContainer");
- if (container.length) {
- // Move the MOTD from the provided element down into the container
- findnode(".mkwsMOTD").appendTo(container);
- }
- }
-
-
- function mkwsSetLang() {
- var lang = mkws.getParameterByName("lang") || m_config.lang;
- if (!lang || !mkws.locale_lang[lang]) {
- m_config.lang = ""
- } else {
- m_config.lang = lang;
- }
-
- log("Locale language: " + (m_config.lang ? m_config.lang : "none"));
- return m_config.lang;
- }
-
- // set or re-set "lang" URL parameter
- function lang_url(lang) {
- var query = location.search;
- // no query parameters? done
- if (!query) {
- return "?lang=" + lang;
- }
-
- // parameter does not exists
- if (!query.match(/[\?&]lang=/)) {
- return query + "&lang=" + lang;
- }
-
- // replace existing parameter
- query = query.replace(/\?lang=([^&#;]*)/, "?lang=" + lang);
- query = query.replace(/\&lang=([^&#;]*)/, "&lang=" + lang);