docs: function updateQueryStringParameter(uri, key, value) {
              var re = new RegExp("([?|&])" + key + "=.*?(&|#|$)", "i");
  
              if (uri.match(re)) {
                  return uri.replace(re, '$1' + key + "=" + value + '$2');
              } else {
                  var hash = '';
  
                  if (uri.indexOf('#') !== -1) {
                      hash = uri.replace(/.*#/, '#');
                      uri = uri.replace(/#.*/, '');
                  }
  
                  var separator = uri.indexOf('?') !== -1 ? "&" : "?";
                  return uri + separator + key + "=" + value + hash;
              }
          }