//**********************************************************************
//*
//* Copyright 1999,2000 Aware, Inc.
//*
//* $Workfile: getarg.js $    $Revision: 15 $
//* Last Modified: $Date: 10/30/02 3:15a $ by: $Author: Glauther $
//*
//**********************************************************************
function remove_arg(arg_name, url)
{
  start_index = url.indexOf("?");
  if (start_index > -1) {
    save = url.substring(0, start_index + 1);
    url = url.substring(start_index + 1, url.length);
  }
  else
    save = "";

  url = "&" + url;
  indx = url.indexOf("&" + arg_name + "=");
  if (indx > -1) {
    var tmp = url.substring(indx+arg_name.length+1, url.length);
    indx2 = tmp.indexOf("&");
    if (indx2 < 0) {
      return save + url.substring(1, indx);
    }
    else {
      return save + url.substring(1, indx) + "&" +
        tmp.substring(indx2+1, tmp.length);
    }
  }

  return save + url.substring(1,url.length);
}

function get_arg_base(arg_name, query, sep)
{
  indx = query.indexOf(arg_name+"=");
  if (indx > -1) {
    tmp = query.substring(indx+arg_name.length+1, query.length);
    indx = tmp.indexOf(sep);
    if (indx < 0) indx = tmp.length;
    return unescape(tmp.substring(0, indx));
  }
  else
    return "";
}

// Extract "Arg=Value;" pair from logging string
function get_log_arg_value_ex(arg_name, query)
{
  sep = ";";
  return get_arg_base(arg_name, query, sep);
}


function get_arg_value_ex(arg_name, query)
{
  sep = "&";
  return get_arg_base(arg_name, query, sep);
}

function get_arg_value(arg_name)
{
  return get_arg_value_ex(arg_name, this.location.search);
}

function exists_arg_value_ex(arg_name, query)
{
  indx = query.indexOf(arg_name+"=");
  if (indx > -1)
    return true;
  return false;
}

function exists_arg_value(arg_name)
{
  return exists_arg_value_ex(arg_name, this.location.search);
}

function get_arg_value_for_display(arg_name)
{
  str_sep = "^";
  tmp2 = get_arg_value(arg_name);
  indx2 = tmp2.indexOf(str_sep);
  if (indx2 < 0) indx2 = tmp2.length;
  return (tmp2.substring(0, indx2));
}

function  GetCookieValue(cName, vName) {
  str = GetCookie(cName);
  if (!str) return null;
  var aVal = str.split(",");
  for (var i=0; i < aVal.length; i++) {
    var fName= aVal[i].split(":");
    if (vName == fName[0])
       return fName[1];
  }
  return null;
}


function  GetCookie(sName) {
        var str = null;
        var aCookie = document.cookie.split("; ");
        for (var i=0; i < aCookie.length; i++) {
        var aCrumb = aCookie[i].split("=");
                if (sName == aCrumb[0]) {
                        var strTemp = '';
                        for ( var j=1; j < aCrumb.length-1; j++ ) {
                                strTemp += aCrumb[j] +'=';
                        }
                        strTemp += aCrumb[ aCrumb.length-1 ];
                str = unescape( strTemp );
                }
        }

        if ( str )                  // Not sure why this works
                str = unescape( str );  // but doesn't work without it.

        return str;
}


function SetCookie(cookieName, cookieValue, expiry) {
  var expDate = new Date();
  if(expiry) //specified in ms
  {
    expDate.setTime (expDate.getTime() + expiry);
    document.cookie = cookieName + "=" + escape (cookieValue) + "; expires=" + expDate.toGMTString();
  }
  else
  {
    document.cookie = cookieName + "=" + escape (cookieValue);
  }
}

function SetCookiewPath(cookieName, cookieValue, expiry, pathname) {
  var expDate = new Date();
  if(expiry) //specified in ms
  {
    expDate.setTime (expDate.getTime() + expiry);
    document.cookie = cookieName + "=" + escape (cookieValue) +"; path=" + pathname + "; expires=" + expDate.toGMTString();
  }
  else
  {
    document.cookie = cookieName + "=" + escape (cookieValue) +"; path=" + pathname;
  }
}

