function createRequestObject() {
  var FORM_DATA = new Object();
  var separator = ',';
  var query = '' + this.location;

  query = query.substr(query.indexOf('?') + 1);
  if (query.length < 1) return false;

  query = query.replace(/\+/g, ' ');
  var keyPairs = query.split('&');

  var pos, keyName, keyValue;
 
  for (var i=0; i<keyPairs.length; i++) {
    pos = keyPairs[i].indexOf('=');
    keyName = unescape(keyPairs[i].substr(0, pos));
    keyValue = unescape(keyPairs[i].substr(pos + 1));

    if (FORM_DATA[keyName]) FORM_DATA[keyName] += separator + keyValue;
    else FORM_DATA[keyName] = keyValue;
  }
  return FORM_DATA;
}

FORM_DATA = createRequestObject();

//------------------------
// Associative array class
//------------------------

function Hash()
{
  // initialize the member function references 
  // for the class prototype
  if (typeof(_hash_prototype_called) == 'undefined')
  {
     _hash_prototype_called = true;
     function StringifyHash() {
       var str = "", first = true;
       for (var i in this) {
         if (first) first = false; else str += ", ";
         str += i + " => '" + this[i] + "'";
       }
       return str;
     }
     Hash.prototype.toString = StringifyHash;
  }

  // initialize this instance of the hash
  for (var i = 0; i < arguments.length; i+=2)
    this[Hash.arguments[i]] = Hash.arguments[i+1];
}

//-----------------------
// Set whoareyou text box
//-----------------------

function setWhoAreYou()
{
  var name = location.search.substr(1);
  if (FORM_DATA["name"])
    document.quiz.elements["whoareyou"].value =
      document.quiz.elements["whoareyou2"].value = FORM_DATA["name"];
  return true;
}

//----------------------------------
// Check that questions are answered
//----------------------------------


function checkquestion(name)
{
  var i, question = document.quiz.elements[name];
  for (i=0; i < question.length; i++) {
    if (question[i].checked) return question[i].value;
  }
  return -1;
}

// var answers;

function check()
{
  var i, name;

  for (i=0; i < questions.length; i++) {
    name = questions[i];
    answer = checkquestion(name);
    if (answer == -1) {
      location.hash = name;
      alert("You missed this question!");
      return false;
    }
  }
  return true;
}
