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("areas that are out of focus","dark, dramatic areas of a scene","bright, warm colors","blue and green colors")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest001 = new Question(
"Question 1",
0,
"In composition our eyes tend to be drawn first to",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("the various physical elements in a scene","the lighting in a scene","sets and settings in a dramatic production","All of the above are correct.","None of the answers is correct.")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest002 = new Question(
"Question 2",
0,
"The concept of <i>unity</i> in a production applies to",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("add important supplementary information","show information not in the basic scene","direct attention to a related element","All of the above are correct.","None of the answers is correct.")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest003 = new Question(
"Question 3",
0,
"Using a cutaway shot is a way to",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("shows information outside the basic scene","always consists of one or more close-ups of the main characters in a drama","tips us off to important things about characters by introducing us first to their environment or surroundings","is intended to tell us about the weather conditions in a drama","could be introduced during the closing credits of a production")
corr=new Array("0","0","1","0","0")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"An <i>atmosphere introduction</i>",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("the form a production takes is not important, only the content","the message and emotional dimension of a production are of the most importance","the technical quality of a production is the most important","when you get down to it, the real message of a production ends up being production techniques, special effects, and technical embellishments")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest005 = new Question(
"Question 5",
0,
"&quot;Content takes precedence over form.&quot; This means that",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("put less light on the talent so you no longer see them","move the prompter closer to the talent and zoom out to compensate","move the prompter farther away from the talent and zoom in to compensate","put more light on the prompter")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest006 = new Question(
"Question 6",
0,
"While doing a production where the talent is reading a camera prompter you see their eyes noticeably moving back and forth as they read. A solution would be to",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("is the same as static composition","takes into consideration the effect of time and movement","makes use of dynamic mics","All of the above are correct.","None of the answers is correct.")
corr=new Array("0","1","0","0","0")
comm=""
valu=""
quest007 = new Question(
"Question 7",
0,
"Dynamic composition",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("one of the few principles that you can fully rely on in TV production","not totally true, because production values have changed significantly over time","true, because good techniques have always remained exactly the same over time")
corr=new Array("0","1","0")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"The statement &quot;good production always good production, no matter how much time passes&quot; is",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("reduce distractions from unimportant subject matter in a scene","force viewers to look at a particular object or person","isolate subject matter you want to emphasize","All of the above are correct.","None of the answers is correct.")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest009 = new Question(
"Question 9",
0,
"Selective focus in a scene can",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("violence in film and on TV has no effect on audiences","violence has a negative effect on viewers","violence has a positive effect on viewers")
corr=new Array("0","1","0")
comm=""
valu=""
quest010 = new Question(
"Question 10",
0,
"According to the majority of the research cited in the reading",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("a low shutter speed","having a brightly lit scene","a high f-stop number","All of the above are correct.","None of the answers is correct.")
corr=new Array("0","0","0","0","1")
comm=""
valu=""
quest011 = new Question(
"Question 11",
0,
"As an aid to composition what elements would help you in achieving a selective focus effect?",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("place the center of interest near one of the four cross points","place the center of interest outside of the safe title area","make sure your center of interest is in the center of the frame","keep all important subject matter within any one-third section of the picture")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest012 = new Question(
"Question 12",
0,
"By following the rule of thirds you should",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("should be broken or interrupted at some point by one or more objects","should lead the eye to the center of interest","should not run through the middle of the frame","All of the above are correct.","None of the answers is correct.")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest013 = new Question(
"Question 13",
0,
"Ideally, dominant horizontal or vertical lines in a picture",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("stick to one level of meaning","be as &quot;on the nose&quot; as possible","be as totally abstract as possible","All of the above are correct.","None of the answers is correct.")
corr=new Array("0","0","0","0","1")
comm=""
valu=""
quest014 = new Question(
"Question 14",
0,
"Sophisticated audiences prefer that productions",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("dimensional merger","border merger","tonal merger","All of the above are correct.","None of the answers is correct.")
corr=new Array("0","1","0","0","0")
comm=""
valu=""
quest015 = new Question(
"Question 15",
0,
"A scene showing the side of a car with the back wheels cut off on the right side of the frame would be an example of a",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("six","four","two","three","one")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest016 = new Question(
"Question 16",
0,
"The number of prime objects that would typically provide the strongest composition is",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("right-to-left","downward","stationary","upward, diagonally, in a left-to-right direction","None of the answers is correct.","All of the above are correct.")
corr=new Array("0","0","0","1","0","0")
comm=""
valu=""
quest017 = new Question(
"Question 17",
0,
"The strongest direction of movement in dynamic composition would generally be",
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)

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 21 - 25</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>"
