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("follow the storyboard instructions","carefully follow the lighting plot in setting up the lights","carefully follow the director's instructions","closely follow the intention of the script","place key lights to correspond with the expected sources of illumination within a setting")
corr=new Array("0","0","0","0","1")
comm=""
valu=""
quest001 = new Question(
"Question 1",
0,
"Accomplished lighting directors say you should &quot;follow source&quot; in lighting dramatic productions. The means you should",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("no, the total wattage would blow a 30-amp breaker","yes, and you would have a safety margin to spare")
corr=new Array("1","0")
comm=""
valu=""
quest002 = new Question(
"Question 2",
0,
"You are doing an on-location shoot and you want to use three lights for an interview: a 2,000 watt umbrella reflector light for a key, a 750-watt back light and a 1,500-watt background light. Using the rule of thumb explained in the module, would you be able to plug these lights into the same 30-amp circuit?",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("film never evidences dirt or scratches","film is typically lit for a single camera position and studio video is commonly lit for three or four camera angles at the same time","film, as broadcast, has greater sharpness (clarity)","film has a &quot;live television&quot; look","All of the above are correct.")
corr=new Array("0","1","0","0","0")
comm=""
valu=""
quest003 = new Question(
"Question 3",
0,
"In broadcast television the reason that film often looks better than video, especially in dramatic productions, is",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("100 watts","1,000 watts","200 watts","2,000 watts","10,watts")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"In plugging in lights on a location shoot you check and find that the plugs you want to use are all on a single electrical circuit with a 20-amp breaker (fuse). Using the formula provided in the cybertext (which includes the safety margin), what is the approximate maximum wattage this circuit will carry",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("2,000-20,000 Hz","20-200 Hz","20-20,000 Hz","20,000-200,000 Hz","200-2,000Hz")
corr=new Array("0","0","1","0","0")
comm=""
valu=""
quest005 = new Question(
"Question 5",
0,
"Persons with good, unimpaired hearing can expect to hear a frequency range between",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("wave form monitor","graphic equalizer","dBSPL meter","sound sweetener","vectorscope")
corr=new Array("0","1","0","0","0")
comm=""
valu=""
quest006 = new Question(
"Question 6",
0,
"A device which can be very useful in postproduction sound sweetening that enables you to boost certain frequencies and attenuate others is called a",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("loudness","frequency","duration","All of the above are correct.","None of the answers is correct.")
corr=new Array("1","0","0","0","0")
comm=""
valu=""
quest007 = new Question(
"Question 7",
0,
"The term amplitude also means",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("contact mic","condenser mic","ribbon mic","dynamic mic")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"A rugged type of mic that is generally the best choice for ENG work is the",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("contact mic","dynamic mic","crystal mic","ribbon mic","condenser mic")
corr=new Array("0","0","0","0","1")
comm=""
valu=""
quest009 = new Question(
"Question 9",
0,
"The type of mic that can be used as a miniature clip-on mic or a high quality studio mic that requires batteries or an external power source is the",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("parabolic","suspended","line","PZM","headset")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest010 = new Question(
"Question 10",
0,
"Which mic application design is an example of a mic that is designed to pick up sounds from a hard surface such as a table top?",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("audio feedback","a proximity effect","exaggerated bass response","a popping sound","exaggerated or distorted &quot;s&quot; sounds")
corr=new Array("0","0","0","0","1")
comm=""
valu=""
quest011 = new Question(
"Question 11",
0,
"The problem of sibilance is evidenced by",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("can be a good choice where the talent must move around a lot","are also called RF mics","are sometimes subject to RF interference","All of the above are correct.","None of the answers is correct.")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest012 = new Question(
"Question 12",
0,
"Wireless mics",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("diversity","non-diversity")
corr=new Array("1","0")
comm=""
valu=""
quest013 = new Question(
"Question 13",
0,
"If you wanted to insure maximum reliability which type of antenna system would you use for wireless mics",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

questions = new Array (
quest001,quest002,quest003,quest004,quest005,quest006,quest007,quest008,quest009,quest010,quest011,quest012,quest013)

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 36 - 40</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>"
