function QuizButton(document, worth, grade, correct)
{
    if (!QuizButton.prototype.over) {
        QuizButton.prototype.over = _QuizButton_over;
        QuizButton.prototype.out = _QuizButton_out;
        QuizButton.prototype.click = _QuizButton_click;
        QuizButton.images = new Array(8);
        for(var i = 0; i < 8; i++) {
            QuizButton.images[i] = new Image(QuizButton.width,
                                               QuizButton.height);
            QuizButton.images[i].src = QuizButton.imagenames[i];
        }
    }
    this.document = document;
    this.checked = false;
	this.grade = grade;
	this.correct = correct;
	this.worth = worth;
    this.highlighted = false;
    var index = document.images.length;
    document.write('<a href="about:blank" ' +   // &nbsp;
      'onmouseover="document.images[' + index + ']._qb.over();return true;" '+
      'onmouseout="document.images[' + index + ']._qb.out()" '+
      'onclick="document.images[' + index + ']._qb.click(); return false;">');
    document.write('<img src="' + QuizButton.imagenames[this.checked+0] +'"'+
                   ' width=' + QuizButton.width +                   ' height=' + QuizButton.height +
                   ' border="0" hspace="0" vspace="0" align="absmiddle">');
    document.write('</a>');

    this.image = document.images[index];
    this.image._qb = this;
}  

function _QuizButton_over()
{
    if (!grade) {
		this.image.src = QuizButton.imagenames[this.checked + 2];
    	this.highlighted = true;
	}
}

function _QuizButton_out()
{
    if (!grade)  {
		this.image.src = QuizButton.imagenames[this.checked + 0];
    	this.highlighted = false;
	}
}

function _QuizButton_click()
{
    if (!grade)  {  
		this.checked = !this.checked;
    	this.image.src = QuizButton.imagenames[this.checked+this.highlighted*2];	
	return null;
	}
	else  {  
		if (this.correct && this.checked) { 
			this.image.src = QuizButton.imagenames[5]; 
			return this.worth;  
		}
		else if (this.correct && !this.checked) {  
			this.image.src = QuizButton.imagenames[0];
			return 0;
		}
		else if (!this.correct && this.checked)	{  
			this.image.src = QuizButton.imagenames[7];
			return -this.worth/3; 
		}
		else if (!this.correct && !this.checked) return 0; // Correctly not marked wrong answer 0 points.
	}  
} 
QuizButton.imagenames = new Array(8);
QuizButton.imagenames[0] = "../i/qb0.gif"; 
QuizButton.imagenames[1] = "../i/qb1.gif"; 
QuizButton.imagenames[2] = "../i/qb2.gif"; 
QuizButton.imagenames[3] = "../i/qb3.gif"; 
QuizButton.imagenames[4] = ""; // Unchecked and right
QuizButton.imagenames[5] = "../i/qb5.gif"; 
QuizButton.imagenames[6] = ""; // Unchecked and wrong
QuizButton.imagenames[7] = "../i/qb7.gif"; 
QuizButton.width = QuizButton.height = 25;  
function displayInfo(link) {
	parent.InfoFrame.document.location.href= link
}	

function LinkButton(document, grade, link)
{
    if (!LinkButton.prototype.over) {
        LinkButton.prototype.over = _LinkButton_over;
        LinkButton.prototype.out = _LinkButton_out;
        LinkButton.prototype.click = _LinkButton_click;
        LinkButton.images = new Array(3);
        for(var i = 0; i < 3; i++) {
            LinkButton.images[i] = new Image(LinkButton.width,
                                               LinkButton.height);
            LinkButton.images[i].src = LinkButton.imagenames[i];
        }
    }
	this.document = document;
 	this.grade = grade;
    this.highlighted = false;
	this.link = link;
    var index = document.images.length;
    document.write('<a href="' + link   + '"'  + 
      'onmouseover="document.images[' + index + ']._lb.over();return true;" '+
      'onmouseout="document.images[' + index + ']._lb.out()" '+
      'onclick="return(document.images[' + index + ']._lb.click());return false ">'); // return false;
    document.write('<img src="' + LinkButton.imagenames[1] +'"'+
                   ' width=' + LinkButton.width + ' height=' + LinkButton.height + ' border="0" hspace="0" vspace="0" align="absmiddle">');
    document.write('</a>');
    this.image = document.images[index];
    this.image._lb = this;
} 

function _LinkButton_over()
{
    if (grade) {
		this.image.src = LinkButton.imagenames[2];
    	this.highlighted = true;
	}
}
function _LinkButton_out()
{
    if (grade)  {
		this.image.src = LinkButton.imagenames[0];
    	this.highlighted = false;
	}
}
function _LinkButton_click()
{
    if (grade)  { 
    	this.image.src = LinkButton.imagenames[0];	
		return true;	
	} else {
	return false;
	}
} 

LinkButton.imagenames = new Array(3);            
LinkButton.imagenames[0] = "../i/more_information.gif";
LinkButton.imagenames[1] = "../i/more_information_blank.gif";
LinkButton.imagenames[2] = "../i/more_information_hilight.gif";
LinkButton.width = 307;
LinkButton.height = 24;
function PrintQuiz(document) {
	var arraypointer = 0;
	var num_of_this_answers =0;
	document.write("<ol>");
	for (i=0; i<number_of_questions; i++) {  
		if (questions_answers[arraypointer++]) document.write(questions_answers[arraypointer++])
			else arraypointer++;
		document.write("<li><strong>" + questions_answers[arraypointer++] + "</strong><ol type='a' style='List-Style-Type : Lower-Alpha'>");
		num_of_this_answers = questions_answers[arraypointer++];
		total_num_answers += num_of_this_answers;
		for (c=0; c<num_of_this_answers; c++) { // for each possible answer of question make the check box.
			document.write("<li>");
			answers[answer_count++] = new QuizButton(
				questions_answers[arraypointer++],
				questions_answers[arraypointer++],
				questions_answers[arraypointer++],
				questions_answers[arraypointer++]);
			document.write(questions_answers[arraypointer++] + "</li>");	
					}
		document.write("<br />");
		link_buttons[index_LinkButtons] = new LinkButton(document, grade, link[index_LinkButtons++]);
		document.write("</ol></li>");  // end of answer block
	}		
	document.write("</ol>"); // end of quiz
}

function PrintLinkButtons() {
	for (i=0; i<number_of_questions; i++) {
		link_buttons[i].click();
	}
}
function PrintScore(score) {
			for (i=0; i<total_num_answers; i++) score += answers[i].click(); //92
if (score >= 90) {
	alert("Absolutly Perfect! Wow!");
	return; }
alert("Extend your learning by examining the explanations.");
/*if (score >= 80) {
	alert("You have done quite excellently");
	return; }
if (score >= 70) {
	alert("That was pretty good");
	return; }
if (score >= 60) {
	alert("That wasn't so bad");
	return; }*/

/*	alert("Your score is: " + Math.round(score)); */
}
function Score() {
grade = true;
PrintLinkButtons();
score = 0;
PrintScore(score);
}

function mirage(hidden_block)	{
	if (!document.getElementById) return false;
	var secretObj = document.getElementById(hidden_block);
	if (secretObj.style.display == "block" ) {
		secretObj.style.display = "none";
	} else {
		secretObj.style.display = "block";
	}
}
