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("Guam","Hawaii","Puerto Rico","The Philippine Islands")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest001 = new Question(
"Question 1",
0,
"As a direct result of the Spanish-American War, the United States acquired - all of the following except:",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Russia","France","Britain","Germans")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest002 = new Question(
"Question 2",
0,
"The Crimean War was lost by",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Egypt","Persia","Herzegovina","The Ottoman Empire")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest003 = new Question(
"Question 3",
0,
"Muhammad Ali introduced a series of reforms in the military &amp; economy of",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("the British East India Company went bankrupt","the British government tightened its control over India","the British stopped trying to convert Indians to Christianity","British officials became more sensitive to the needs of the Indians")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"One result of the Sepoy Mutiny was that",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("It was the most valuable of all British colonies","It had a vast supply of diamonds, rubies, and sapphires","The sepoys were a perfect model of successful imperialism","The success of India's self-sufficient economy strengthened Britain.")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest005 = new Question(
"Question 5",
0,
"Why was India called the &quot;jewel in the crown&quot;",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Russia wanted land on the Black sea to gain access to the Mediterranean.","Russia wanted oil and other raw materials found in the Ottoman lands","Russia refused to pay an export tax levied by the Ottoman Empire.","Russia broke a treaty that limited its trade through the Bosporus.")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest006 = new Question(
"Question 6",
0,
"What was the main reason for the Crimean War?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("France traded control of the Suez for control of Nigeria","Muhammad Ali thought maintaining it was a security risk","Egypt could not pay its foreign debt","The British helped the Egyptians defeat French invaders")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest007 = new Question(
"Question 7",
0,
"Why did Britain take control of the Suez Canal?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Korea","Britain","Germany","The United States")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"Which nation did Japan sign the Treaty of Kanagawa, opening ports for trade?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Russia","Germany","The Netherlands","The United States")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest009 = new Question(
"Question 9",
0,
"After which nation did Japan decide to model a strong central government during the Meiji era?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("trade with China","Japan's annexation of Korea","Japan's colonization of Taiwan","Russia's presences in Manchuria")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest010 = new Question(
"Question 10",
0,
"Russia and Japan went to war over what issue?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("a military draft","universal public education","separation of church and state","a democratic form of government")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest011 = new Question(
"Question 11",
0,
"What American system did the Japanese adopt during the Meiji era?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("to open trade in China to all nations","to annex Texas to the United States","to establish the right of the U.S. to be an international policeman","so European nations would not attempt to colonize the American continents")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest012 = new Question(
"Question 12",
0,
"What was the purpose of the Monroe Doctrine?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("The treaty of Nanjing was signed","Britain stopped selling Opium to China","China suffered a humiliating defeat","China gave up the island of Hong Kong")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest013 = new Question(
"Question 13",
0,
"What was NOT a result of the Opium War?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Japan closed all it ports","Japan declared war on Russia to gain Korea as a border","Japan and the U.S. signed the Treaty of Kanagawa","Japan would not allow the U.S. to use its ports so they went to war.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest014 = new Question(
"Question 14",
0,
"What effect did the visit of Commander Perry have on the Japanese?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("It gained Panama as a result of winning the Spanish-American War.","It bought the isthmus of Panama from Columbia","It invaded Mexico and forced the president to give up Mexico","It aided Panamanians fight for independence from Columbia")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest015 = new Question(
"Question 15",
0,
"What action did the United States take to gain the right to build the&nbsp;&nbsp; Panama Canal?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Food shortages","British insensitivity to Indian customs","A tax increase","A reduction in the sepoys' salary")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest016 = new Question(
"Question 16",
0,
"What caused the Sepoy Rebellion?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Britain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;","United States","France","Spain")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest017 = new Question(
"Question 17",
0,
"What country controlled India before their movement towards independence?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Gandhi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;","Mau Mau","Kenyatta","None of the above")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest018 = new Question(
"Question 18",
0,
"Who was the strong nationalistic leader of the independence movement in Kenya?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Algeria&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;","S. Africa","Kenya","Gold Coast")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest019 = new Question(
"Question 19",
0,
"Which area in Africa was renamed Ghana?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Protectorate","Colony","Sphere of Influence","Territory")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest020 = new Question(
"Question 20",
0,
"An area that has its own internal government but is under the control of an outside power is called _______.",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Nigeria","South Africa","Congo","Ethiopia")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest021 = new Question(
"Question 21",
0,
"What was the only African country to resist European imperialism?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("France in West Africa","Britain in Egypt","Europe in China","Belgium in France")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest022 = new Question(
"Question 22",
0,
"Colonies are areas governed internally by a foreign power.&nbsp; An example is ____________.",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("They got a lot of coal from Africa","They knew little about the interior of the land","They were referring to the Africans skin color","God did not shin his sun on the country because they were heathens.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest023 = new Question(
"Question 23",
0,
"Why did westerners in the early 1800s call Africa the &quot;dark continent&quot;?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("France &amp; Britain agreed to govern African colonies jointly.","There was less fighting between African leaders &amp; European powers","African leaders gave suggestions for better relations with Europe.","Europeans divided Africa into colonies without consulting Africa leaders.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest024 = new Question(
"Question 24",
0,
"What happened as a result of the Berlin Conference?",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

questions = new Array (
quest001,quest002,quest003,quest004,quest005,quest006,quest007,quest008,quest009,quest010,quest011,quest012,quest013,quest014,quest015,quest016,quest017,quest018,quest019,quest020,quest021,quest022,quest023,quest024)

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>Imperialism</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);
}
