Move getParameterByName utility function from mkws-core.js to mkws-team.js (where...
[mkws-moved-to-github.git] / src / mkws-team.js
index 1b003e1..3754107 100644 (file)
@@ -456,7 +456,7 @@ function team($, teamName) {
 
 
     function mkwsSetLang()  {
-       var lang = mkws.getParameterByName("lang") || mkws_config.lang;
+       var lang = getParameterByName("lang") || mkws_config.lang;
        if (!lang || !mkws.locale_lang[lang]) {
            mkws_config.lang = ""
        } else {
@@ -577,7 +577,7 @@ function team($, teamName) {
 
        if (query.match(/^!param!/)) {
            var param = query.replace(/^!param!/, '');
-           query = mkws.getParameterByName(param);
+           query = getParameterByName(param);
            log("obtained query '" + query + "' from param '" + param + "'");
            if (!query) {
                alert("This page has a MasterKey widget that needs a query specified by the '" + param + "' parameter");
@@ -605,6 +605,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, " "));
+    }
+
+
     // Translation function. At present, this is properly a
     // global-level function (hence the assignment to mkws.M) but we
     // want to make it per-team so different teams can operate in