]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/on-line/javascript/utils.js
New implementation of the graphs stuff: now every hard-coded URL has
[helm.git] / helm / on-line / javascript / utils.js
index 7a52b7cbe6d491200ae44cffdede8665ada7ff7f..42599f7e8462bf17553b8513994a55e320f678fe 100644 (file)
@@ -3,10 +3,28 @@ function chopSlash(url)
   return url.slice(0,url.lastIndexOf('/'));
 }
 
-function getParam(name)
+function setParam(url,name,value)
 {
-  var search = location.search;
-  search = search.slice(1);
+  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("&") + (found ? "" : ("&" + name + "=" + value)));
+}
+
+function extractParam(url,name)
+{
+  var search = url.split("?")[1];
+  search = search.split("#")[0];
   var args = search.split("&");
   var value = "???";
 
@@ -20,6 +38,38 @@ function getParam(name)
   return value;
 }
 
+function getParam0(search,name)
+{
+  var args = search.split("&");
+  var value = "???";
+
+  for (var i = 0 ; i < args.length ; i++) {
+     var couple = args[i].split("=");
+     if (couple[0] == name) value = couple[1];
+  }
+
+  if (value == "???") value = getDefaultParam(name);
+
+  return value;
+}
+
+function getParam(name)
+{
+  return getParam0(location.search.slice(1),name);
+}
+
+function getParam2(name)
+{
+  var url = unescape(getParam('xmluri'));
+  var tmp = url.split("?");
+
+  if (tmp.length > 1)
+     return getParam0(tmp[1],name);
+  else
+     return getDefaultParam(name);
+}
+
+
 function outputOption(doc, value, content, selected)
 {
   doc.write("<option value=\"" + value + "\" ");