
function path_Extract(oString,cutBegin,cutEnd) {
   var l = oString;
   var lin = "";

   l = oString.toString();
   if (cutBegin > 0) {
      for (i=0;i<cutBegin;i++) {
         lin = l.indexOf("/");
         if (lin < 0) {
            lin = l.indexOf("\\");
         }
         if (lin > 0) {
            l = l.substring(lin+1,l.length);
         }
      }
   } else {
      if (cutBegin < 0) {
         var dum = l;
         var lastlin = -1;
         for (i=0;i>cutBegin;i--) {
            lin = dum.lastIndexOf("/");
            if (lin < 0) {
               lin = dum.lastIndexOf("\\");
            }
            if (lin > 0) {
               dum = dum.substring(0,lin);
               lastlin = lin;
            }
          }
          if (lastlin > 0) {
             l = l.substring(lastlin+1,l.length);
          }
      }
   }

   if (cutEnd > 0) {
      for (i=0;i<cutEnd;i++) {
         lin = l.lastIndexOf("/");
         if (lin < 0) {
            lin = l.lastIndexOf("\\");
         }
         if (lin > 0) {
            l = l.substring(0,lin);
         }
      }
   }
   return (l);
}

function path_setSubDir(formName, inputName) {
   var fin = null;
   
   fin = eval("document." + formName + "." + inputName);
   
   if (fin != null) {
      fin.value = path_Extract(window.location.pathname, -2, 1);
   } else {
      alert("Error: form input document." + formName + "." + inputName + " not found !!");
   }
}

function path_SplitFileName(path) {
   var x = "";
   var n = new String(path);
   var i, lin = 0;

   lin = n.lastIndexOf("/");
   if (lin < 0) {
      lin = n.lastIndexOf("\\");
   }
   if (lin > 0) {
      n = n.substring(lin+1, n.length);
   }

   lin = n.lastIndexOf(".");
   if (lin > 0) {
      x = n.substring(lin+1, n.length);
      n = n.substring(0, lin);
   } else {
      x = "";
   }

   this.filename = n;
   this.ext = x;
   return (this);
}

function path_normalize(path) {
   var toret;
   var times = 0;
   toret = path;
   
   
   pos = toret.indexOf("/..");
   // alert("indexOf pos " + pos);
   while (pos > 0 && times < 10) {
      times++;
      var bstr = toret.substring(0,pos);
      var bpos = bstr.lastIndexOf("/");
      if (bpos > 0) {
         // alert("length " + toret.length+ " bstr to bpso" + bstr.substring(0,bpos));
         // alert( "toret " + toret + " ---- " + (toret.length-pos-3) + " ," + pos);
         var news = bstr.substring(0,bpos) + toret.substring((pos+3),toret.length);
         toret = news;
         // alert( "toret " + toret );
         pos = toret.indexOf("/..");
         //pos = 0;
      } else {
         pos = 0;
      }
   }
   return toret;
}