/*
 * URL argument capture and URL en-/de-coding
 *
 * © 2001-2002 eleventeenth, a division of eMedia Solutions Ltd
 *
 */

queryArgs = new Array();
queryString = document.location.search;
var i = 0;
var j = 0;
if( queryString.indexOf("?") > -1 && queryString.indexOf("=") > -1 && queryString.length > 0 )
{
  queryString = queryString.substr(1);
  nameValuePairArray = queryString.split("&");
  for( i = 0; i < nameValuePairArray.length; i++ )
  {
    nameValuePair = nameValuePairArray[ i ].split("=");
    if( typeof( queryArgs[ nameValuePair[0] ] ) == "undefined" )
    {
      //queryArgs["?"][j++] = nameValuePair[0]
      queryArgs[ nameValuePair[0] ] = nameValuePair[1];
      //queryArgs[ nameValuePair[0] ] = escape( nameValuePair[1] );
    }
    else
    {
      tmpArray = queryArgs[ nameValuePair[0] ].split(",");
      tmpArray[ tmpArray.length ] = escape( nameValuePair[1] );
      queryArgs[ nameValuePair[0] ] = tmpArray.join(",");
    }
  }
}


function getParameter( parameterName )
{
  if( typeof( queryArgs[ parameterName ] ) != "undefined" )
  {
    var parameterValue = queryArgs[parameterName];
    if( parameterValue.indexOf(",") > -1 )
    {
      var parameterValueArray = parameterValue.split(",");
      for( var i in parameterValueArray )
      {
        parameterValueArray[i] = URLdecode(parameterValueArray[i])
      }
      return parameterValueArray;
    }
    else
    {
      return URLdecode( parameterValue );
    }
  }
  else
  {
    return "";
  }
}

function getParameters()
{
  return queryArgs;
}



function testParameterNameValues()
{
  reportString = "";
  for( i in queryArgs )
  {
    reportString += ( i + "=" + queryArgs[i] + "\n");
  }
  alert(reportString);
  return false;
}

function URLencode(inString)
{
  re = new RegExp("\/","gi")
  inString = escape( inString );
  inString.replace( re, "%2F" );
  return inString
}


function URLdecode(inString)
{
  inString = inString.split("+").join(" ");

  inString = unescape( inString );

  regExp = /%2F/gi;
  inString.replace( regExp, "/" );

  return inString
}

function spacetoUnderScore( inString )
{
  return inString.split(" ").join("_")
}