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("5mm","10mm","50mm","100mm","500mm")
corr=new Array("0","0","0","0","1")
comm=""
valu=""
quest001 = new Question(
"Question 1",
0,
"<p>In the famous film, <i>The Graduate,</i> the director wanted the audience to feel what the main character was feeling--that as he was running toward the camera and church that he was hardly moving. Which of the following lenses would be best to convey that feeling? </p>",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("angle of view","focal length","depth of field","back focus","depth of focus")
corr=new Array("0","0","1","0","0")
comm=""
valu=""
quest002 = new Question(
"Question 2",
0,
"<p>The range of distance in sharp focus along the path of the lens is </p>",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("extends primarily in front of the object focused on","extends equally in front of and behind the object focused on","depends on the speed of the lens","extends about one-third of the way in front of and two-thirds of the way behind the object focused on","depth of field does not apply in normal subject-to-camera distances")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest003 = new Question(
"Question 3",
0,
"At normal distances depth of field",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("2,000mm","250mm","50mm","5mm")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"Which lens focal length would give you the widest angle of view?",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("100mm","210mm","120mm","2,100mm","1,200mm")
corr=new Array("0","0","1","0","0")
comm=""
valu=""
quest005 = new Question(
"Question 5",
0,
"If a lens has a minimum focal length of 10mm and a 12:1 zoom ratio, the maximum focal length of this zoom lens would be",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("zoomed all the way in (maximum focal length)","set at the mid-point in the zoom range","set at the widest angle (minimum focal length)")
corr=new Array("0","0","1")
comm=""
valu=""
quest006 = new Question(
"Question 6",
0,
"If you cannot use a tripod with a camcorder and must hand-hold the unit, it would be best to stick with which zoom setting?",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("reduces the focal length of a lens","speeds up the lens","increases the focal length of the lens","gives you a wider angle of view","none of the above is true")
corr=new Array("0","0","1","0","0")
comm=""
valu=""
quest007 = new Question(
"Question 7",
0,
"A lens extender",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("5mm","10mm","50mm","100mm","120mm")
corr=new Array("0","0","0","0","1")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"Which of the following focal lengths would appear to do the most to compress or reduce the apparent distances between objects along the path of the lens",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("f/11","f/22","f/1.4","f/2.0","f/32")
corr=new Array("0","0","1","0","0")
comm=""
valu=""
quest009 = new Question(
"Question 9",
0,
"Which of the following f-stop settings would transmit the most amount of light to the camera's target?",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("follow focus","selective focus","rack focus","intermediate focus","incongruent focus")
corr=new Array("0","1","0","0","0")
comm=""
valu=""
quest010 = new Question(
"Question 10",
0,
"By intentionally using a limited depth of field to force views to look at a particular area of a static scene you are using the technique of",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("f/11","f/2.8","f/22","f/5.6","f/1.4")
corr=new Array("0","0","0","0","1")
comm=""
valu=""
quest011 = new Question(
"Question 11",
0,
"Which f-stop would appear to offer the least depth of field?",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("varies with the speed of the lens","varies with the effective focal length","varies with the f-stop used","never varies","none of the above is true")
corr=new Array("0","1","0","0","0")
comm=""
valu=""
quest012 = new Question(
"Question 12",
0,
"The angle of view of a zoom lens",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("has a longer focal length than a telephoto lens","has a narrow angle of view","compresses distance and speed","all of the above are true","none of the above is true")
corr=new Array("0","0","0","0","1")
comm=""
valu=""
quest013 = new Question(
"Question 13",
0,
"A wide-angle lens",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("requiring the area you want to focus on to be in the center of the frame","reliably focusing on solid areas without detail","trying to accurately focus through glass","being fooled by reflections","All of the above are correct.","None of the answers is correct.")
corr=new Array("0","0","0","0","1","0")
comm=""
valu=""
quest014 = new Question(
"Question 14",
0,
"Auto-focus lenses generally have the problem of",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("on the reflection in the subject's eyes","on the tip of the nose","slightly in front of the subject","slightly behind the subject")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest015 = new Question(
"Question 15",
0,
"With human subjects the best (and easiest) place to focus a lens is",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("wide-angle shots","super telephoto shots","extreme close-ups","on telescopes")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest016 = new Question(
"Question 16",
0,
"The<i> macro</i> lens setting is used for",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("are lenses of a fixed focal length","are used by non-professionals","are only used on still cameras and amateur equipment","are preferred by some video and film professionals","two of the above are correct","one of the answers is correct.")
corr=new Array("0","0","0","0","1","0")
comm=""
valu=""
quest017 = new Question(
"Question 17",
0,
"<i>Prime</i> lenses",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("non-adjustable f-stops","T-stops","servo zooms","shutter speeds","None of the answers is correct.")
corr=new Array("0","1","0","0","0")
comm=""
valu=""
quest018 = new Question(
"Question 18",
0,
"The <i>f-stop </i>designation, especially among professionals, is being replaced by",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

questions = new Array (
quest001,quest002,quest003,quest004,quest005,quest006,quest007,quest008,quest009,quest010,quest011,quest012,quest013,quest014,quest015,quest016,quest017,quest018)

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>\n")
document.write("      <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" onmouseover=\"this.className='graybg'\" onmouseout=\"this.className='whitebg'\">\n")
document.write("      <tr height=5>\n")
document.write("        <td colSpan=5></td>\n")
document.write("      </tr>\n")
document.write("      <tr>\n")
document.write("        <td width=\"5%\" rowspan=\"3\"></td>\n")
document.write("        <td width=\"9%\" rowspan=\"3\" valign=\"top\" align=\"center\"><font face=\"Verdana\" size=\"7\" color=\"#C0C0C0\">")
document.write(numord)
document.write("</font></td>\n")
document.write("        <td width=\"1%\" rowspan=\"3\" background=\"s_vline.gif\">&nbsp;</td>\n")
document.write("        <td width=\"80%\" class=\"question\" valign=\"top\">\n")
document.write("         ")
if (questions[quest].img!="") {
document.write("\n")
document.write("         <img border=\"0\" hspace=\"10\" vspace=\"0\" 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("\n")
document.write("        </td>\n")
document.write("        <td width=\"5%\"></td>\n")
document.write("      </tr>\n")
document.write("      <tr height=10>\n")
document.write("        <td width=\"80%\"></td>\n")
document.write("        <td width=\"5%\"></td>\n")
document.write("      </tr>\n")
document.write("      <tr>\n")
document.write("        <td width=\"80%\" class=\"answer\">\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("        </td>\n")
document.write("        <td width=\"5%\"></td>\n")
document.write("      </tr>\n")
document.write("      <tr height=5>\n")
document.write("        <td colSpan=5></td>\n")
document.write("      </tr>\n")
document.write("      </table>\n")
document.write("    </td>\n")
document.write("  </tr>\n")
document.write("  <tr height=10>\n")
document.write("    <td>&nbsp;</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)
{
if (!errori) global[1]="<H3>You have made the following errors</H3>";
++errori;
cachewrite("<p><b>"+uno+"</b><br>This answer is not correct."+mycomment+"</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>Modules 10 - 12</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);
}
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);
}}
++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);
}
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='Back' onClick='history.back()'></form></center>",2)
cachewrite(aknw,2)
winr=window
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='Back';
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>"
