/* This script and many more are available free online at
The JavaScript Source :: http://javascript.internet.com
Created by: James Crooke :: http://www.cj-design.com */

var useranswers = new Array();
var answered = 0;

function renderQuiz() {
  for(i=0;i<questions.length;i++) {
    document.writeln('<p class="question">' + questions[i] + ' <span id="result_' + i + '"><img src="http://awards.randalssanctuary.com/blank.gif" style="border:0" alt=""></span></p>');
    for(j=0;j<choices[i].length;j++) {
      document.writeln('<input type="radio" name="answer_' + i + '" value="' + choices[i][j] + '" id="answer_' + i + '_' + j + '" class="question_' + i + '" onclick="submitAnswer(' + i + ', this, \'question_' + i + '\', \'label_' + i + '_' + j + '\')"><label id="label_' + i + '_' + j + '" for="answer_' + i + '_' + j + '"> ' + choices[i][j] + '</label><br />');
    }
  }
  document.writeln('<p><input type="submit" value="Show Score" onclick="showScore()"> <input type="submit" value="Reset Quiz" onclick="resetQuiz(true)" /></p><p style="display:none"><img src="correct.gif" style="border:0" alt="Correct!"><img src="incorrect.gif" style="border:0" alt="Incorrect!"></p>');
}
function resetQuiz(showConfirm) {
  if(showConfirm)
    if(!confirm("Are you sure you want to reset your answers and start from the beginning?"))
      return false;
  document.location = document.location;
}
function submitAnswer(questionId, obj, classId, labelId) {
  useranswers[questionId] = obj.value;
  document.getElementById(labelId).style.fontWeight = "bold";
  disableQuestion(classId);
  showResult(questionId);
  answered++;
}
function showResult(questionId) {
  if(answers[questionId] == useranswers[questionId]) {
    document.getElementById('result_' + questionId).innerHTML = '<img src="correct.gif" style="border:0" alt="Correct!">';
  } else {
    document.getElementById('result_' + questionId).innerHTML = '<img src="incorrect.gif" style="border:0" alt="Incorrect!">';
  }
}
function showScore() {
  if(answered != answers.length) {
    alert("You have not answered all of the questions yet!");
    return false;
  }
  questionCount = answers.length;
  correct = 0;
  incorrect = 0;
  for(i=0;i<questionCount;i++) {
    if(useranswers[i] == answers[i])
      correct++;
    else
      incorrect++;
  }
  pc = Math.round((correct / questionCount) * 100);
  alertMsg = "You scored " + correct + " out of " + questionCount + "\n\n";
  alertMsg += "You correctly answered " + pc + "% of the questions! \n\n";
  if(pc == 100)
    alertMsg += response[0];
  else if(pc >= 90)
    alertMsg += response[1];
  else if(pc >= 70)
    alertMsg += response[2];
  else if(pc > 50)
    alertMsg += response[3];
  else if(pc >= 40)
    alertMsg += response[4];
  else if(pc >= 20)
    alertMsg += response[5];
  else if(pc >= 10)
    alertMsg += response[6];
  else
    alertMsg += response[7];
  if(pc < 100) {
    if(confirm(alertMsg))
      resetQuiz(false);
    else
      return false;
  } else {
    alert(alertMsg);
  }
}
function disableQuestion(classId) {
  var alltags=document.all? document.all : document.getElementsByTagName("*")
  for (i=0; i<alltags.length; i++) {
    if (alltags[i].className == classId) {
      alltags[i].disabled = true;
    }
  }
}

var questions = new Array();
var choices = new Array();
var answers = new Array();
var response = new Array();

// To add more questions, just follow the format below.

questions[0] = "1) Is your website written in English?";
choices[0] = new Array();
choices[0][0] = "Yes";
choices[0][1] = "No";
answers[0] = choices[0][0];

questions[1] = "2) Have you proofread your website?";
choices[1] = new Array();
choices[1][0] = "Yes";
choices[1][1] = "No";
answers[1] = choices[1][0];

questions[2] = "3) Is your website mostly advertisements for paid products and services?";
choices[2] = new Array();
choices[2][0] = "Yes";
choices[2][1] = "No";
answers[2] = choices[0][1];

questions[3] = "4) Is your website mostly a collection of links to other sites?";
choices[3] = new Array();
choices[3][0] = "Yes";
choices[3][1] = "No";
answers[3] = choices[3][1];

questions[4] = "5) Does your website have more than just gadgets?";
choices[4] = new Array();
choices[4][0] = "Yes";
choices[4][1] = "No";
answers[4] = choices[4][0];

questions[5] = "6) Is your website compatible with all browsers?";
choices[5] = new Array();
choices[5][0] = "Yes";
choices[5][1] = "No";
answers[5] = choices[5][0];

questions[6] = "7) Is your website more than just a vanity/pet site?";
choices[6] = new Array();
choices[6][0] = "Yes";
choices[6][1] = "No";
answers[6] = choices[5][0];

questions[7] = "8) Is your website rated by Safesurf or a comparable program?";
choices[7] = new Array();
choices[7][0] = "Yes";
choices[7][1] = "No";
answers[7] = choices[5][0];

questions[8] = "9) Is your website free of pornography and/or offensive images?";
choices[8] = new Array();
choices[8][0] = "Yes";
choices[8][1] = "No";
answers[8] = choices[5][0];

questions[9] = "10) Is your website free of rude and/or hateful language?";
choices[9] = new Array();
choices[9][0] = "Yes";
choices[9][1] = "No";
answers[9] = choices[5][0];

questions[10] = "11) Is your website free of stolen / uncredited material?";
choices[10] = new Array();
choices[10][0] = "Yes";
choices[10][1] = "No";
answers[10] = choices[5][0];

questions[11] = "12) Does your website have some color and imagery?";
choices[11] = new Array();
choices[11][0] = "Yes";
choices[11][1] = "No";
answers[11] = choices[5][0];

questions[12] = "13) Does your website have any broken graphics and/or links?";
choices[12] = new Array();
choices[12][0] = "Yes";
choices[12][1] = "No";
answers[12] = choices[5][1];

questions[13] = "14) Does your website have only controllable MIDIs (or none)?";
choices[13] = new Array();
choices[13][0] = "Yes";
choices[13][1] = "No";
answers[13] = choices[5][0];

// response for getting 100%
response[0] = "Nicely done!  Your site appears to be ready for evaluation!";
// response for getting 90% or more
response[1] = "Almost...  Take another quick look at my criteria."
// response for getting 70% or more
response[2] = "You might want to look over my criteria again.";
// response for getting over 50%
response[3] = "You need to make some changes to your site before you apply.";
// response for getting 40% or more
response[4] = "You need to make some changes to your site before you apply.";
// response for getting 20% or more
response[5] = "You need to make some changes to your site before you apply.";
// response for getting 10% or more
response[6] = "You need to make some changes to your site before you apply.";
// response for getting 9% or less
response[7] = "You need to make some changes to your site before you apply.";