Templates are specified by class rather then ID, like other elements.
[mkws-moved-to-github.git] / tools / htdocs / mkws.js
index 539f2bf..1d0b793 100644 (file)
@@ -174,6 +174,7 @@ function team($, teamName) {
        "last": $.now()
     };
     var m_paz; // will be initialised below
+    var m_template = {};
 
 
     var debug = function (s) {
@@ -762,17 +763,23 @@ function team($, teamName) {
 
     function loadTemplate(name)
     {
-       var template = mkws['template' + name];
+       var template = m_template[name];
 
        if (template === undefined) {
-           var source = $("#mkwsTemplate" + name).html();
+           // Fall back to generic template if there is no team-specific one
+           var node = $(".mkwsTemplate_" + name + ".mkwsTeam_" + m_teamName)
+           if (!node.length) {
+               node = $(".mkwsTemplate_" + name + ".mkwsTeam_ALL")
+           }
+
+           var source = node.html();
            if (!source) {
                source = defaultTemplate(name);
            }
 
            template = Handlebars.compile(source);
            debug("compiled template '" + name + "'");
-           mkws['template' + name] = template;
+           m_template[name] = template;
        }
 
        return template;
@@ -1131,6 +1138,16 @@ function team($, teamName) {
     }
 
 
+    // This function is taken from a StackOverflow answer
+    // http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript/901144#901144
+    function getParameterByName(name) {
+       name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
+       var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
+           results = regex.exec(location.search);
+       return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
+    }
+
+
     /* locale */
     function M(word) {
        var lang = mkws_config.lang;
@@ -1355,16 +1372,6 @@ function team($, teamName) {
     }
 
 
-    // This function is taken from a StackOverflow answer
-    // http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript/901144#901144
-    function getParameterByName(name) {
-       name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
-       var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
-           results = regex.exec(location.search);
-       return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
-    }
-
-
     $(document).ready(function() {
        debug("on load ready");
        default_mkws_config();