// Nick wrote: This code looks at the query string supplied in the url and parses it.
// It returns an associative array of url decoded name value pairs
function parseQueryString(){
  var ret=new Array();
  var qstring=location.search;
  
  if (qstring.charAt(0) == '?') qstring = qstring.substr(1);
  if (qstring.length == 0) return ret;
  
  qstring=qstring.replace(/\;/g, '&', qstring);
  //Purcell added: Needed to parse out urlencoded querystrings as well
  qstring=qstring.replace(/%26/g, '&', qstring);
  qstring=qstring.replace(/%3D/g, '=', qstring);
  
  nvpairs=qstring.split('&');

  for (i=0; i < nvpairs.length; i++){
    if (nvpairs[i].length == 0){
      continue;
    }

    if ((intIndex = nvpairs[i].indexOf('=')) != -1) {
      varName = pqsUrlDecode(nvpairs[i].substr(0, intIndex));
      varValue = pqsUrlDecode(nvpairs[i].substr(intIndex + 1)); 
    } else {
      varName = pqsUrlDecode(nvpairs[i].substr(0, intIndex));
      varValue = '';
    }

    if (varName=='' || varValue==''){
      continue;
    }

    ret[varName]=varValue;
  }

  return ret;
}

function pqsUrlDecode(string){
  // unescape doesn't handle +.
  return unescape(string.replace(/\+/g, ' ')); 
}

