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("<font size=\"4\">A. A statement that is not true.</font>","<font size=\"4\">B. A statement that is true.</font>","<font size=\"4\">C. A conclusion that is valid.</font>","<font size=\"4\">D. A conclusion that is invalid</font>","<font size=\"4\">E. A statement that is not based on factual information</font>")
corr=new Array("0","0","1","0","0")
comm=""
valu=""
quest001 = new Question(
"Question 1",
0,
"<font size=\"4\">Which of the following statements best describes a fallacy?</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("<font size=\"4\">A. The conclusion is true.</font>","<font size=\"4\">B. The conclusion is false.</font>","<font size=\"4\">C. The conclusion is valid.</font>","<font size=\"4\">D. The conclusion is invalid.</font>","<font size=\"4\">E. The conclusion is consistent with the facts of the statement.</font>")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest002 = new Question(
"Question 2",
0,
"<font size=\"4\">&quot; The United States is a rich country. Jason Smith, Jr. is a citizen of the United States. Therefore, Jason Smith, Jr. is rich.&quot; Which of the following definitely describes the above reasoning?</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("<font size=\"4\">A. Abigail could not possibly be adversely affected by a weak dollar.</font>","<font size=\"4\">B. Abigail is not reaching a conclusion.</font>","<font size=\"4\">C. Abigail is committing the falacy of compostion.</font>","<font size=\"4\">D. Abigail is committing the falacy of decomposition.</font>","<font size=\"4\">E. Abigail is drawing a valid conclusion</font>")
corr=new Array("0","0","1","0","0")
comm=""
valu=""
quest003 = new Question(
"Question 3",
0,
"<font size=\"4\">Abigail makes the following statement: &quot;My family went to Europe and did not get as many euros for our dollars as we expected. The weaker dollar was not good for us. A weaker dollar is bad for all the citizens of the United States.&quot; Which of the following best describes Abigail's statement?</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("<font size=\"4\">A. A valid conclusion.</font>","<font size=\"4\">B. A fallacy of composition.</font>","<font size=\"4\">C. An untrue statement.</font>","<font size=\"4\">D. A fallacy of decomposition.</font>","<font size=\"4\">E. A good reason why no one should save.</font>")
corr=new Array("0","1","0","0","0")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"<font size=\"4\">The &quot;paradox of thrift&quot; is an example of</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("<font size=\"4\">A. A valid conclusion</font>","<font size=\"4\">B. A statement that is definitely not true.</font>","<font size=\"4\">C. A fallacy of composition</font>","<font size=\"4\">D. A fallacy of decomposition</font>","<font size=\"4\">E. An example of the paradox of thrift</font>")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest005 = new Question(
"Question 5",
0,
"<font size=\"4\">Increasing foreign trade is good for Mexico. Therefore it will be good for Jesus Martinez who lives in a rural area of Mexico. The above is an example of</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("<font size=\"4\">A. The fallacy of composition.</font>","<font size=\"4\">B. A well reasoned argument.</font>","<font size=\"4\">C. An example of the fallacy of decomposition.</font>","<font size=\"4\">D. A valid conclusion.</font>","<font size=\"4\">E. A cure for a recession.</font>")
corr=new Array("1","0","0","0","0")
comm=""
valu=""
quest006 = new Question(
"Question 6",
0,
"<font size=\"4\">During a recession a prudent person should increase her savings. Therefore, the government should cut its spending and save more. The above is an example of</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("<font size=\"4\">A. be a true statement.</font>","<font size=\"4\">B. Be an accurate conclusion based on the facts observed or given.</font>","<font size=\"4\">C. Be an example of poor reasoning.</font>","<font size=\"4\">D. Be consistent with an ideology.</font>","<font size=\"4\">E. Reach a conclusion that the person making the argument wants.</font>")
corr=new Array("0","1","0","0","0")
comm=""
valu=""
quest007 = new Question(
"Question 7",
0,
"<font size=\"4\">In order for a statement to be valid, it must</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("<font size=\"4\">A. a paradox of thrift.</font>","<font size=\"4\">B. an example of good economic reasoning.</font>","<font size=\"4\">C. a post hoc fallacy.</font>","<font size=\"4\">D. a fallacy of decomposition.</font>","<font size=\"4\">E. a fallacy of composition</font>")
corr=new Array("0","0","0","0","1")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"<font size=\"4\">If an &quot;American&quot; auto dealer outsources jobs to China than that is good for all the American workers in that industry. This is an example of</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("<font size=\"4\">A. a cruel individual.</font>","<font size=\"4\">B. a smart disciplinarian.</font>","<font size=\"4\">C. committing a fallacy of composition.</font>","<font size=\"4\">D. has high academic standards.</font>","<font size=\"4\">E. in need of a life.</font>")
corr=new Array("0","0","1","0","0")
comm=""
valu=""
quest009 = new Question(
"Question 9",
0,
"<font size=\"4\">A teacher who catches two students cheating and keeps all the students in the class after school for detention is</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("<font size=\"4\">A. reaching a valid conclusion.</font>","<font size=\"4\">B. using good economic skills.</font>","<font size=\"4\">C. drinking too much caffein anyways.</font>","<font size=\"4\">D. committing the fallacy of composition.</font>","<font size=\"4\">E. making a true statement.</font>")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest010 = new Question(
"Question 10",
0,
"<font size=\"4\">The price of coffee increases by by 35 cents a cup at coffee shops in Miami Florida. Deedee stops buying coffee from the coffee shops. She is sure that soon not one person will buy coffee at theses coffee shops. Deedee is</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

questions = new Array (
quest001,quest002,quest003,quest004,quest005,quest006,quest007,quest008,quest009,quest010)

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("    <tr>\n")
document.write("      <td width=\"5%\" align=\"center\" valign=\"top\" bgcolor=\"#E6E6FF\"><font face=\"Verdana\"\n")
document.write("      color=\"#000080\"><strong><small>")
document.write(numord)
document.write("</small></strong></font></td>\n")
document.write("      <td width=\"95%\" valign=\"top\" bgcolor=\"#F4F4FF\"><font face=\"Verdana\"><font color=\"#000080\"><strong><small>\n")
document.write("      ")
if (questions[quest].img!="") {
document.write("\n")
document.write("         <img border=\"0\" hspace=\"10\" vspace=\"5\" align=\"left\" src=\"")
document.write(questions[quest].img)
document.write("\">\n")
document.write("      ")
}
document.write("\n")
document.write("      ")
document.writeln(questions[quest].qstring)
document.write("</small></strong></font><br>\n")
document.write("      <br><small><small>\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("         ")
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")
if (type<3) document.write(questions[quest].response[i]);
document.write("<br>\n")
document.write("      ")
}
document.write("\n")
document.write("      </small></small></font></td>\n")
document.write("    </tr>\n")
document.write("    ")
}
function doTest() {
var count, i;

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>Fallacies of Composition and Decomposition Quiz</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";}}

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("<br><b>Total score: "+total+".</b><br>",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-1; 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>"

