+
+// Factory function for team objects. As much as possible, this uses
+// only member variables (prefixed "m_") and inner functions with
+// private scope. Some functions are visibl as member-functions to be
+// called from outside code -- specifically, from generated
+// HTML. These functions are that.switchView(), showDetails(),
+// limitTarget(), limitQuery(), delimitTarget(), delimitQuery(),
+// pagerPrev(), pagerNext(), showPage().
+//
+function team($, teamName) {
+ var that = {};
+ var m_teamName = teamName;
+ var m_submitted = false;
+ var m_query; // initially undefined
+ var m_sort; // will be set below
+ var m_perpage; // will be set below
+ var m_filters = [];
+ var m_totalRec = 0;
+ var m_curPage = 1;
+ var m_curDetRecId = '';
+ var m_curDetRecData = null;
+ var m_debug_time = {
+ // Timestamps for logging
+ "start": $.now(),
+ "last": $.now()
+ };
+ var m_paz; // will be initialised below
+ var m_template = {};
+
+
+ var debug = function (s) {
+ var now = $.now();
+ var timestamp = ((now - m_debug_time.start)/1000).toFixed(3) + " (+" + ((now - m_debug_time.last)/1000).toFixed(3) + ") "
+ m_debug_time.last = now;
+
+ mkws.debug(m_teamName + ": " + timestamp + s);
+ }
+
+ debug("start running MKWS");
+
+ m_sort = mkws_config.sort_default;
+ m_perpage = mkws_config.perpage_default;
+
+ debug("Create main pz2 object");
+ // create a parameters array and pass it to the pz2's constructor
+ // then register the form submit event with the pz2.search function
+ // autoInit is set to true on default
+ m_paz = new pz2({ "windowid": teamName,
+ "pazpar2path": mkws_config.pazpar2_url,
+ "usesessions" : mkws_config.use_service_proxy ? false : true,
+ "oninit": onInit,
+ "onbytarget": onBytarget,
+ "onstat": onStat,
+ "onterm": (mkws_config.facets.length ? onTerm : undefined),
+ "onshow": onShow,
+ "onrecord": onRecord,
+ "showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way
+ "termlist": mkws_config.facets.join(',')
+ });
+
+
+ //
+ // pz2.js event handlers:
+ //
+ function onInit(teamName) {
+ debug("init");
+ m_paz.stat();
+ m_paz.bytarget();