function Question (qname,
type,
qstring,
response,
comment,
corrects,
explan,
score,
ifcorrect,ifwrong,ifnull,
img)
{this.qname=qname;
this.type=type;
this.qstring=qstring;
this.response=response;
this.comment=comment;
this.corrects=corrects;
this.explan=explan;
this.score=score;
this.ifcorrect=ifcorrect;
this.ifwrong=ifwrong;
this.ifnull=ifnull;
this.img=img;
}

var zin=1,top=0, mycount=0, waitTime=0, qright=0, mycomment;
var global=new Array(3);
var recent, recent2, recdone=false, opera7, opera=CheckOpera56();
function cachewrite(s,idx){global[idx]+=s;}
function CheckOpera56()
{
var version;
if (navigator.userAgent.toLowerCase().indexOf('opera') == -1) return false;
version=parseInt(navigator.appVersion.toLowerCase());
if (version>6) {opera7=true; return false;}
if (version<5) return false;
return true;
}
resp=new Array("for selling indulgences","for preaching forgiveness","for translating the Bible into German","for believing in the Bible")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest001 = new Question(
"Question 1",
0,
"Why did Luther criticize the Roman Catholic Church?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("to please his subjects","to keep wealth in England","to annul his marriage","to become an Anabaptist")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest002 = new Question(
"Question 2",
0,
"Why did Henry VIII break from the Catholic Church?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("the Church.","faith.","buying indulgences.","participating in a crusade.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest003 = new Question(
"Question 3",
0,
"Luther believed that people could only be saved through...",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("theocracy.","Lutheranism.","Calvinism.","the Catholic Reformation.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"Predestination was one of the main doctrines of...",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("spreading them to non-Christians.","sentencing him to death.","excommunicating him.","adapting Church doctrine.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest005 = new Question(
"Question 5",
0,
"The Roman Catholic Church reacted to Luther's ideas by...",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("reject the beliefs of the Roman Catholic Church.","to find ways to persecute Protestants.","to reaffirm traditional Catholic views.","to start a new Church.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest006 = new Question(
"Question 6",
0,
"The purpose of the Council of Trent was to...",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Katarina Zell","Ignatius of Loyola","Pope Paul III","John Calvin")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest007 = new Question(
"Question 7",
0,
"Who was the Catholic Reformer who founded the Jesuit order?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("a new interest in the classics by the humanists","a split between England and the Catholic Church","a movement designed to eliminate the Catholic Church","a major revival effort within the Catholic Church")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"Which of the following best defines the Counter-Reformation?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Anabaptism","Anglicanism","Lutheranism","Calvinism","Catholicism","Believed in predestination")
corr=new Array("0","0","0","1","0","0")
comm=""
valu=""
quest009 = new Question(
"Question 9",
0,
"Which religion? Match the description of the religion with the religion. Believed in predestination&nbsp;&nbsp;",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Anabaptism","Anglicanism","Lutheranism","Calvinism","Catholicism","Believed in predestination")
corr=new Array("0","0","0","0","1","0")
comm=""
valu=""
quest010 = new Question(
"Question 10",
0,
"Which religion? Match the description of the religion with the religion. Rituals include seven sacraments",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Anabaptism","Anglicanism","Lutheranism","Calvinism","Catholicism","Believed in predestination")
corr=new Array("0","0","1","0","0","0")
comm=""
valu=""
quest011 = new Question(
"Question 11",
0,
"Which religion? Match the description of the religion with the religion. Founded by a German Catholic monk",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Anabaptism","Anglicanism","Lutheranism","Catholicism","Believed in predestination")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest012 = new Question(
"Question 12",
0,
"Which religion? Match the description of the religion with the religion. The Pope is the ultimate source of authority",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Anabaptism","Anglicanism","Lutheranism","Calvinism","Catholicism","Believed in predestination")
corr=new Array("1","0","0","0","0","0")
comm=""
valu=""
quest013 = new Question(
"Question 13",
0,
"Which religion? Match the description of the religion with the religion. Sin is everywhere and one gets rid of it through baptism as an adult",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Anabaptism","Anglicanism","Lutheranism","Calvinism","Catholicism","Believed in predestination")
corr=new Array("0","0","0","1","0","0")
comm=""
valu=""
quest014 = new Question(
"Question 14",
0,
"Which religion? Match the description of the religion with the religion. Combined church and state",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

questions = new Array (
quest001,quest002,quest003,quest004,quest005,quest006,quest007,quest008,quest009,quest010,quest011,quest012,quest013,quest014)

function doQuestion(quest)
{
var numdo;
var numord=eval(quest+1);
var i=-1, ii, type, myname, gadget;
type=questions[quest].type;
numdo=type>=3?1:questions[quest].response.length;


document.writeln ("<a name=\""+questions[quest].qname+"\"></a>")
document.write("\n")
document.write("      <table width=\"470\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n")
document.write("        <tr> \n")
document.write("          <td align=\"left\" valign=\"bottom\"> \n")
document.write("            <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n")
document.write("              <tr> \n")
document.write("                <td><img src=\"s_table_up_sx.gif\" width=\"10\" height=\"10\"></td>\n")
document.write("                <td background=\"s_table_up_bord.gif\" width=\"100%\"><img src=\"s_table_up_bord.gif\" width=\"10\" height=\"10\"></td>\n")
document.write("                <td><img src=\"s_table_up_dx.gif\" width=\"10\" height=\"10\"></td>\n")
document.write("              </tr>\n")
document.write("            </table>\n")
document.write("          </td>\n")
document.write("        </tr>\n")
document.write("        <tr> \n")
document.write("          <td> \n")
document.write("            <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" height=\"100%\">\n")
document.write("              <tr> \n")
document.write("                <td background=\"s_table_sx_bord.gif\" align=\"right\" valign=\"top\"><img src=\"s_table_sx_bord.gif\" width=\"10\" height=\"10\"></td>\n")
document.write("                <td width=\"100%\" bgcolor=\"#ffffff\" align=\"left\" valign=\"top\">\n")
document.write("                  <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n")
document.write("                    <tr>\n")
document.write("                      <td colspan=\"2\">\n")
document.write("                        <table >\n")
document.write("                          ")
if (questions[quest].img!="") {
document.write("\n")
document.write("                          <td width=1>\n")
document.write("                            <img border=\"0\" src=\"")
document.write(questions[quest].img)
document.write("\">\n")
document.write("                          </td>\n")
document.write("                          ")
}
document.write("\n")
document.write("                          <td class=question valign=\"top\">\n")
document.write("                            ")
document.writeln(questions[quest].qstring)
document.write("\n")
document.write("                          </td>\n")
document.write("                        </table>\n")
document.write("                      </td>\n")
document.write("                    </tr>\n")
document.write("                    <tr height=10>\n")
document.write("                    <td></td>\n")
document.write("                    </tr>\n")
document.write("                    ")
for (i=0; i<numdo; i++) {
myname=questions[quest].qname;
gadget="radio";
if (type>=3) gadget="text";
else if (type==1) {
myname+="_"+(i<9?"0":"")+(i+1);
gadget="checkbox";}
document.write("\n")
document.write("                    <tr>\n")
document.write("                      <td width=\"1%\" valign=\"top\">")
document.write(type==7?"<textarea name=\""+myname+"\" rows=5 cols=30 class=\"input\">":" <input type="+gadget+" name=\""+myname);
if (type<3) document.write("\" value=\""+i+"\">\n")
else document.write(type==7?"</textarea>":"\" class=\"input\" value=\"\">\n")
document.write("</td>\n")
document.write("                      <td width=\"99%\" class=answer align=\"left\">")
if (type<3) document.write(questions[quest].response[i]);
document.write("</td>\n")
document.write("                    </tr>\n")
document.write("                    ")
}
document.write("\n")
document.write("                  </table>\n")
document.write("                 </td>\n")
document.write("                <td background=\"s_table_dx_bord.gif\"><img src=\"s_table_dx_bord.gif\" width=\"10\" height=\"9\"></td>\n")
document.write("              </tr>\n")
document.write("            </table>\n")
document.write("          </td>\n")
document.write("        </tr>\n")
document.write("        <tr> \n")
document.write("          <td> \n")
document.write("            <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n")
document.write("              <tr> \n")
document.write("                <td><img src=\"s_table_dn_sx.gif\" width=\"10\" height=\"10\"></td>\n")
document.write("                <td background=\"s_table_dn_bord.gif\" width=\"100%\"><img src=\"s_table_dn_bord.gif\" width=\"10\" height=\"10\"></td>\n")
document.write("                <td><img src=\"s_table_dn_dx.gif\" width=\"10\" height=\"10\"></td>\n")
document.write("              </tr>\n")
document.write("            </table>\n")
document.write("          </td>\n")
document.write("        </tr>\n")
document.write("      </table>\n")
document.write("	  <br>\n")
document.write("      ")
}
function doTest() {
var count, i;
questions.sort(myrandom);
for (i=0; i<questions.length; i++) {
questions[i].qname="Question "+(i+1);}
count=questions.length;
for (i=0; i<count; i++) doQuestion(i);
}
function fill(s,l){
s=s+""
for (y=1;y<=l;y++)
if (s.length>=l) break; else s="0"+s;
return s
}
function CheckQName(wapf,ii,i,multi,selection){
var len;
if (!multi) return(wapf.elements[ii].name==questions[i].qname);
len=questions[i].qname.length;
if (wapf.elements[ii].name.substring(0,len)!=questions[i].qname) return false;
if (wapf.elements[ii].name.substring(len,len+1)!="_") return false;
if (eval(wapf.elements[ii].name.substring(len+1,len+3))==(selection+1)) return true;
return false;
}
function errore(uno,due,tre)
{
if (!errori) global[1]="<H3>You have made the following errors</H3>";
++errori;
cachewrite("<p><b>"+uno+"</b><br>"+due+"<br>"+mycomment+tre+"</p>",2);
mycomment="";
}
function testIE5plus(){
var pos=navigator.appVersion.lastIndexOf('MSIE ');
if (pos != -1) {
pos+=5;
if (eval(navigator.appVersion.charAt(pos))>4)
return true;}
return false;}
function correct(wapf)
{
var i, ii, t, re, tmp, selection, multi, multipage=0, type, isnull, iswrong, iscorrect, evaluation=0, total=0, udat;
errori=waitTime=0;
udat=new Array();
for (i=0, ii=0; i<wapf.elements.length; i++)
{tmp=wapf.elements[i];
if (tmp.name.substring(0,13)=="Quiz.UserData"){
t=tmp.name.substring(14,tmp.name.length);
re=new RegExp("_", "g");
t=t.replace(re," ");
udat[ii++]=t+": <i>"+tmp.value+"</i><br>";
if (opera) tmp.value="";}}
global[0]=global[2]="";
global[1]="<h3>Congratulations, you haven't made any errors</h3>";
cachewrite("<html><head><title>Results</title><BASE target='_blank'></head><body bgcolor='#FFFFFF'><font face='Verdana, Arial'><table border=0 cellpadding=0 cellspacing=0 width='100%' bgcolor='#C0C0C0'><tr><td width='100%'><font face='Verdana, Arial' size=5 color='#FFFFFF'><b>&nbsp;Results</b></font></td></tr></table>",0)
now= new Date()
cachewrite("<small><p>"+fill((now.getMonth()+1),2)+"/"+fill(now.getDate(),2)+"/"+now.getYear()+"&nbsp;&nbsp;"+fill(now.getHours(),2)+":"+fill(now.getMinutes(),2)+"</p>",0)
cachewrite("<b>Reformation</b><br><br>\n",0);
if (udat.length>0) {
cachewrite("<b>Information</b><br>\n",0);
for (i=0; i<udat.length; i++) cachewrite(udat[i],0);}
if (opera7 && multipage) {
for (i=0; i<questions.length; i++) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
id.style.display=id2.style.display="block";}
document.getElementById('wq_final').style.display='block';
}

for (i=0; i<questions.length; i++) {
if (opera && multipage) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
id.style.visibility=id2.style.visibility="visible";}
type=questions[i].type;
if (type==1) multi=1;
else multi=0;
isnull=true;
iscorrect=false;iswrong=false;
selection=0;
evaluation=0;
mycomment="";
for (ii=0; ii<wapf.elements.length; ii++) {
if (CheckQName(wapf,ii,i,multi,selection)) {
if (type>=3 && wapf.elements[ii].value!="") {
isnull=false;
if (wapf.elements[ii].value.toLowerCase()==questions[i].corrects.toLowerCase()) iscorrect=true;
else iswrong=true;
++selection;}
else if (wapf.elements[ii].checked) {
if (questions[i].score!="") evaluation+=questions[i].score[selection];
if (isnull) isnull=false;
if (questions[i].corrects[selection]=="1") iscorrect=(iswrong==false)?true:false;
else {
iswrong=true;
if (multi && questions[i].corrects!='') errore(questions[i].qname,"The checkbox  <i>"+questions[i].response[selection]+"</i>  shouldn't have been selected.",questions[i].explan)
}
if (questions[i].comment!="" && questions[i].comment[selection]!="")
mycomment+=((iscorrect || questions[i].corrects=='')?"<b>"+questions[i].qname+"</b><br>":"")+"<small>"+questions[i].comment[selection]+"</small><br>";
} else {
if (questions[i].corrects[selection]=="1") {
iswrong=true;
if (multi && questions[i].corrects!='') errore(questions[i].qname,"The checkbox  <i>"+questions[i].response[selection]+"</i>  should have been selected.",questions[i].explan);
}}
++selection;
}}
if (multi==false && (isnull || iswrong)) {
var okresp="", z;
if (type>=3) okresp=questions[i].corrects;
else {
for (z=0; z<questions[i].corrects.length; z++) {
if (questions[i].corrects[z]==1) {
okresp=questions[i].response[z];
break;
}}}
if (okresp!="") errore(questions[i].qname,"The right answer was <i>"+okresp+".</i>",questions[i].explan);
}
if (mycomment!="") cachewrite(mycomment,2);
if (questions[i].corrects!="") ++qright;
if (isnull) evaluation+=questions[i].ifnull;
else if (iswrong) evaluation+=questions[i].ifwrong;
else if (iscorrect) evaluation+=questions[i].ifcorrect;
total+=evaluation;}
if (qright==0) global[1]="<br>";
if (errori) cachewrite("<br><b>You have made "+errori+" "+(errori==1?"error":"errors")+".</b>",2);

cachewrite("</small><hr noshade><center><form>",2)
printest=(((navigator.appName=="Netscape") && (navigator.appVersion.charAt(0)>="4")) || (testIE5plus() == true))? "print()": "alert('This button can be used with Netscape Navigator 4 or Microsoft Internet Explorer 5 only. If you want to print with other browsers, please select the Print command in the File menu.')"
cachewrite("<input type='button' value='Print...' onClick='"+printest+"'>&nbsp;&nbsp;&nbsp;&nbsp;",2)
cachewrite("<input type='button' value='Close' onClick='window.close()'></form></center>",2)
cachewrite(aknw,2)
winr=window.open('','wapres', 'titlebar=1,location=0,directories=0,menubar=1,toolbar=0,scrollbars=1,resizable=1,status=1')
for (i=0; i<3; i++) winr.document.write(global[i]);winr.document.close()
if ((opera || opera7) && multipage) {
document.forms[0].elements[0].value='Print...';
document.forms[0].elements[1].value='Close';
for (i=0; i<questions.length; i++) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
opera?id.style.visibility=id2.style.visibility="hidden":id.style.display=id2.style.display="none";}}
}
aknw="<br><p align='center'><small><small>Created and managed with <a title='Click here to visit WebQuiz site' href='http://www.smartlite.it/go.asp?OLDLP' target = '_blank'>SmartLite WebQuiz</a></small></small></p>"
function myrandom(a,b)
{
var rc;
do {rc=Math.floor(Math.random()*3)-1;} while (rc==2);
return(rc);
}
