]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/on-line/javascript/utils.js
Initial revision
[helm.git] / helm / on-line / javascript / utils.js
index d7903ef6226d0cccfe9628751b2e6b20de5f0eb7..bb018ad0edee4cd57d1485bbf06a3a2b912eee61 100644 (file)
@@ -3,19 +3,41 @@ function chopSlash(url)
   return url.slice(0,url.lastIndexOf('/'));
 }
 
-function setParam(url,name,value)
+function dropParam(url,name)
 {
   var urla = url.split("?");
   var search = urla[1];
   var args = search.split("&");
+  var newargs = new Array();
+  var j = 0;
 
   for (var i = 0 ; i < args.length ; i++) {
      var couple = args[i].split("=");
-     if (couple[0] == name) args[i] = name + "=" + value;
+     if (couple[0] != name) {
+        newargs[j] = args[i];
+        j++;
+     }
   }
 
+  return (urla[0] + "?" + newargs.join("&"));
+}
+
+function setParam(url,name,value)
+{
+  var urla = url.split("?");
+  var search = urla[1];
+  var args = search.split("&");
+  var found = false;
+
+  for (var i = 0 ; i < args.length ; i++) {
+     var couple = args[i].split("=");
+     if (couple[0] == name) {
+        found = true;
+        args[i] = name + "=" + value;
+     }
+  }
 
-  return (urla[0] + "?" + args.join("&"));
+  return (urla[0] + "?" + args.join("&") + (found ? "" : ("&" + name + "=" + value)));
 }
 
 function extractParam(url,name)