function Question (qname,
type,
qstring,
response,
corrects,
explan,
ifcorrect,ifwrong,ifnull,
img)
{this.qname=qname;
this.type=type;
this.qstring=qstring;
this.response=response;
this.corrects=corrects;
this.explan=explan;
this.ifcorrect=ifcorrect;
this.ifwrong=ifwrong;
this.ifnull=ifnull;
this.img=img;
}

resp=new Array("<font size=3><b><i>soy</i></b></font>","<font size=3><b><i>eres</i></b></font>","<font size=3><b><i>es</i></b></font>","<font size=3><b><i>somos</i></b></font>","<font size=3><b><i>son</i></b></font>")
corr=new Array("0","0","1","0","0")
quest001 = new Question(
"Question 1",
0,
"<font size=3><b><i>El .... el presidente, y ella .... su esposa.</i></b></font>",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("<font size=3><b><i>soy</i></b></font>","<font size=3><b><i>eres</i></b></font>","<font size=3><b><i>es</i></b></font>","<font size=3><b><i>somos</i></b></font>","<font size=3><b><i>son</i></b></font>")
corr=new Array("0","0","0","0","1")
quest002 = new Question(
"Question 2",
0,
"<font size=3><b><i>….&nbsp; las seis de la tarde.</i></b></font>",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("<font size=3><b><i>soy</i></b></font>","<font size=3><b><i>eres</i></b></font>","<font size=3><b><i>es</i></b></font>","<font size=3><b><i>somos</i></b></font>","<font size=3><b><i>son</i></b></font>")
corr=new Array("0","0","1","0","0")
quest003 = new Question(
"Question 3",
0,
"<font size=3><b><i>Hoy …. martes, seis de agosto.</i></b></font>",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("<font size=3><b><i>soy</i></b></font>","<font size=3><b><i>eres</i></b></font>","<font size=3><b><i>es</i></b></font>","<font size=3><b><i>somos</i></b></font>","<font size=3><b><i>son</i></b></font>")
corr=new Array("0","0","0","1","1")
quest004 = new Question(
"Question 4",
1,
"<font size=3><b><i>Nosotros .... mejicanos y ellos … norteamericanos.</i></b></font>",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("<font size=3><b><i>soy</i></b></font>","<font size=3><b><i>eres</i></b></font>","<font size=3><b><i>es</i></b></font>","<font size=3><b><i>somos</i></b></font>","<font size=3><b><i>son</i></b></font>")
corr=new Array("0","0","1","0","0")
quest005 = new Question(
"Question 5",
0,
"<font size=3><b><i>Ana .... extrovertida y Pedro …. t&iacute;mido</i></b></font>",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("<font size=3><b><i>soy</i></b></font>","<font size=3><b><i>eres</i></b></font>","<font size=3><b><i>es</i></b></font>","<font size=3><b><i>somos</i></b></font>","<font size=3><b><i>son</i></b></font>")
corr=new Array("0","0","1","0","0")
quest006 = new Question(
"Question 6",
0,
"<font size=3><b><i>El restaurante ... grande y .... bueno.</i></b></font>",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("<font size=3><b><i>soy</i></b></font>","<font size=3><b><i>eres</i></b></font>","<font size=3><b><i>es</i></b></font>","<font size=3><b><i>somos</i></b></font>","<font size=3><b><i>son</i></b></font>")
corr=new Array("0","0","1","0","0")
quest007 = new Question(
"Question 7",
0,
"<font size=3><b><i>Luisa .... estudiante y Laura .... profesora.</i></b></font>",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("<font size=3><b><i>soy</i></b></font>","<font size=3><b><i>eres</i></b></font>","<font size=3><b><i>es</i></b></font>","<font size=3><b><i>somos</i></b></font>","<font size=3><b><i>son</i></b></font>")
corr=new Array("1","0","0","0","0")
quest008 = new Question(
"Question 8",
0,
"<font size=3><b><i>Yo ... profesora de espa&ntilde;ol (castellano).</i></b></font>",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("<font size=3><b><i>soy</i></b></font>","<font size=3><b><i>eres</i></b></font>","<font size=3><b><i>es</i></b></font>","<font size=3><b><i>somos</i></b></font>","<font size=3><b><i>son</i></b></font>")
corr=new Array("0","1","0","0","0")
quest009 = new Question(
"Question 9",
0,
"<font size=3><b><i>Tu ... una persona inteligente.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </i></b></font>",
resp,
corr,
"",
1,
0,
0,
"");

resp=new Array("<font size=3><b><i>soy</i></b></font>","<font size=3><b><i>es</i></b></font>","<font size=3><b><i>somos</i></b></font>","<font size=3><b><i>son</i></b></font>","<font size=3><b><i>eres</i></b></font>")
corr=new Array("0","1","0","0","0")
quest010 = new Question(
"Question 10",
0,
"<font size=3><b><i>Ella ... alta y &eacute;l .... bajo.&nbsp;&nbsp;&nbsp; </i></b></font>",
resp,
corr,
"",
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;
if (type<3) {
respcopy=new Array(numdo);corrcopy=new Array(numdo);
for (i=0; i<numdo; i++) respcopy[i]=questions[quest].response[i];
respcopy.sort(myrandom);
for (i=0; i<numdo; i++) {
for (ii=0; ii<numdo; ii++) {
if (respcopy[i]==questions[quest].response[ii]) {
corrcopy[i]=questions[quest].corrects[ii];break;}}}
questions[quest].response=respcopy;
questions[quest].corrects=corrcopy;}

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(" <input type="+gadget+" name=\""+myname);
if (type<3) document.write("\" value=\""+i+"\">\n")
else document.write("\" 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;
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) winr.document.write("<H3>You have made the following errors</H3>");
++errori;
winr.document.write("<p><b>"+uno+"</b><br>"+due+"<br>"+tre+"</p>");
}
function correct(wapf)
{
var i, ii, t, re, tmp, selection, multi, type, isnull, iswrong, iscorrect, evaluation=0, total=0, udat;
errori=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>";}}
winr=window.open('','wapres', 'titlebar=1,location=0,directories=0,menubar=1,toolbar=0,scrollbars=1,resizable=1,status=1')
winr.document.write("<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>")
now= new Date()
winr.document.write("<small><p>"+fill((now.getMonth()+1),2)+"/"+fill(now.getDate(),2)+"/"+now.getYear()+"&nbsp;&nbsp;"+fill(now.getHours(),2)+":"+fill(now.getMinutes(),2)+"</p>")
if (udat.length>0) {
winr.document.write("<b>Information</b><br>\n");
for (i=0; i<udat.length; i++) winr.document.write(udat[i]);}

for (i=0; i<questions.length; i++) {
type=questions[i].type;
if (type==1) multi=1;
else multi=0;
isnull=true;
iscorrect=false;iswrong=false;
selection=0;
evaluation=0;
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 (isnull) isnull=false;
if (questions[i].corrects[selection]=="1") iscorrect=(iswrong==false)?true:false;
else {
iswrong=true;
if (multi) errore(questions[i].qname,"The checkbox  <i>"+questions[i].response[selection]+"</i>  shouldn't have been selected.",questions[i].explan)
}} else {
if (questions[i].corrects[selection]=="1") {
iswrong=true;
if (multi) 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;
}}}
errore(questions[i].qname,"The right answer was <i>"+okresp+".</i>",questions[i].explan);
}
if (isnull) evaluation+=questions[i].ifnull;
else if (iswrong) evaluation+=questions[i].ifwrong;
else if (iscorrect) evaluation+=questions[i].ifcorrect;
total+=evaluation;}
if (errori) {var voc=(errori==1)?"":"s";winr.document.write("<br><b>You have made "+errori+" error"+voc+".</b>");}
else winr.document.write("<h3>Congratulations, you haven't made any errors</h3>")
{var voc=(total==1)?"":"s";winr.document.write("<br><b>Total score: "+total+" point"+voc+".</b><br>");}

winr.document.write("</small><hr noshade><center><form>")
printest=(((navigator.appName=='Netscape') && (navigator.appVersion.charAt(0)>='4')) || (navigator.appVersion.lastIndexOf('MSIE 5') !=-1))? '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.")'
winr.document.write("<input type='button' value='Print...' onClick='"+printest+"'>&nbsp;&nbsp;&nbsp;&nbsp;")
winr.document.write("<input type='button' value='Close' onClick='window.close()'></form></center>")
winr.document.write(aknw)
winr.document.close()
if (navigator.appVersion.lastIndexOf('MSIE 3') == -1) nomsie3=true
else nomsie3=false
if (nomsie3) winr.focus()
}
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);
}
