/*	Simple Javascript Quiz Version 1.1	Copyright (c) 2004-2007 CS Truter	Written by Christoff Truter	email: Christoff@cstruter.com - (Please let me know if you intend to use the script) */	// Include cookies js filedocument.write('<script language="javascript" src="./cookies.js"></script>');// Arrays used in generating the quizvar Questions = new Array();var Potential_Answers = new Array();var cookieValue = new Array();var Explain = new Array();var xmlObj;var urlQ;var urlA;// Timer function added 23/4/09 map/i-Sevenvar now = new Date();var startTime = now.getTime()// How many entries will be displayed per pagevar perb = 13;getXmlUrls();if (document.all){	loadXML = function(file)	{		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");		xmlDoc.async="false";		xmlDoc.load(file);		xmlObj=xmlDoc.documentElement;	}	fetchQuestions = function()	{		loadXML(urlQ);		for (var i = 0; i < xmlObj.childNodes.length; i++)		{			Questions[i]=xmlObj.childNodes[i].childNodes(0).firstChild.text;			Potential_Answers[i] = new Array();			for (q=0;q<(xmlObj.childNodes[i].childNodes.length-1);q++)			{				Potential_Answers[i][q]=xmlObj.childNodes[i].childNodes(q+1).firstChild.text;			}		}	}	fetchAnswers = function()	{		loadXML(urlA);		for (i=0;i<xmlObj.childNodes.length;i++)		{			Answers[i]=xmlObj.childNodes[i].childNodes(0).firstChild.text;			Explain[i]=xmlObj.childNodes[i].childNodes(1).firstChild.text;		}	}}else{	loadXML = function(file)	{		{			try{				var xmlDoc = document.implementation.createDocument("","",null);				xmlDoc.async=false;				xmlDoc.load(file);					}catch(e){			 	// for Safari             	xmlDoc = new XMLHttpRequest();             	xmlDoc.open("GET", file, false);             	xmlDoc.send();            	 xmlDoc=xmlDoc.responseXML;			}			xmlObj = xmlDoc.getElementsByTagName("ANSWERS");		}	}		fetchQuestions = function()	{		loadXML( urlQ );		for(var i=0; i<xmlObj.length; i++) 		{			Questions[i] = xmlObj[i].getElementsByTagName("QUESTION")[0].childNodes[0].nodeValue;			Potential_Answers[i] = new Array();						for (q=0;q<((xmlObj[i].childNodes.length-1)/2)-1;q++)			{				Potential_Answers[i][q] = xmlObj[i].getElementsByTagName("ANSWER")[q].childNodes[0].nodeValue;							}		}	}	fetchAnswers = function()	{		loadXML( urlA );		for (i=0;i<xmlObj.length;i++)		{			Answers[i]=xmlObj[i].getElementsByTagName("ANSWER")[0].childNodes[0].nodeValue;			Explain[i]=xmlObj[i].getElementsByTagName("EXPLANATION")[0].childNodes[0].nodeValue;		}	}}function getXmlUrls(){	var qs = new Querystring()	var qname = qs.get("qname")	urlQ = './questions.xml?openview&RestrictToCategory=' + qname + '&art=q';	urlA = './answers.xml?openview&RestrictToCategory=' + qname + '&art=a'  ;}/* Client-side access to querystring name=value pairs	Version 1.2.3	22 Jun 2005	Adam Vandenberg*/function Querystring(qs) { // optionally pass a querystring to parse	this.params = new Object()	this.get=Querystring_get		if (qs == null)		qs=location.search.substring(1,location.search.length)	if (qs.length == 0) return// Turn <plus> back to <space>// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1	qs = qs.replace(/\+/g, ' ')	var args = qs.split('&') // parse out name/value pairs separated via &	// split out each name=value pair	for (var i=0;i<args.length;i++) {		var value;		var pair = args[i].split('=')		var name = unescape(pair[0])		if (pair.length == 2)			value = unescape(pair[1])		else			value = name				this.params[name] = value	}}function Querystring_get(key, default_) {	// This silly looking line changes UNDEFINED to NULL	if (default_ == null) default_ = null;		var value=this.params[key]	if (value==null) value=default_;		return value}
