    function stripWhitespace(str)
    {
      re=/ /g;
      str=str.replace(re, "");

      return str;
    }

    function stripPunctuation(str)
    {
      // TODO - Remove ALL punctuation!
      re=/:/g;
      str=str.replace(re, "");
      re=/-/g;
      str=str.replace(re, "");
      re=/'/g;
      str=str.replace(re, "");

      return str;
    }

    function getIsInternetExplorer()
    {
        bIs=false;

        if ("Microsoft Internet Explorer"==navigator.appName)
        {
            bIs=true;
        }

        return bIs;
    }

    function getIsOpera()
    {
        bIs=false;

        if ("Opera"==navigator.appName)
        {
            bIs=true;
        }

        return bIs;
    }

    function getIsFirefox()
    {
        bIs=false;

        if ("Netscape"==navigator.appName)
        {
            bIs=true;
        }

        return bIs;
    }

    function getScrollBarSize()
    {
        sz=18;
        
        if ((true==getIsOpera()) || (true==getIsFirefox()))
        {
          sz=17;
        }
        
        return sz;
    }
    
    function getObjectOffset(obj)
    {
      l=obj.offsetLeft;
      t=obj.offsetTop;

      while (obj=obj.offsetParent)
      {
        l+=obj.offsetLeft;
        t+=obj.offsetTop;
      }

      return [l, t];
    }

    function getFrameSize()
    {
      // Scale image to fit frame.
      wframe=0;
      hframe=0;

      if (true==getIsInternetExplorer())
      {
        wframe=document.body.offsetWidth;
        hframe=document.body.offsetHeight;
      }
      else
      {
        wframe=window.innerWidth;
        hframe=window.innerHeight;
      }

      return [wframe, hframe];
    }
    
    function getFileNamePrefix(value)
    {
        str=value.toLowerCase();
        str=stripWhitespace(str);
        str=stripPunctuation(str);

        return str;
    }

