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("relational editing","thematic editing","acceleration editing","meaningful editing")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest001 = new Question(
"Question 1",
0,
"The filmmakers Pudovkin and Kuleshov first demonstrated that scenes shown in proximity add meaning to each other. This is an example of",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("apposite edit","incompatible edit","nonsequential edit","a jump cut","All of the above are correct.","None of the answers is correct.")
corr=new Array("0","0","0","1","0","0")
comm=""
valu=""
quest002 = new Question(
"Question 2",
0,
"A confusing, unsettling, or aesthetically rough change in continuity or content is commonly referred to as a (an)",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("temporal editing","parallel cutting","relational editing","concurrent editing")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest003 = new Question(
"Question 3",
0,
"Soap operas sitcoms and general dramatic productions typically have several stories taking place at the same time. This story/editing technique is commonly referred to as",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("dropouts","glitches in the video","head clog","All of the above are correct.","None of the answers is correct.")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"Leaving a tape in the pause mode in a VCR too long can cause",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("one minute five seconds","one minute 35 seconds","five minutes 15 seconds","None of the answers is correct.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest005 = new Question(
"Question 5",
0,
"This is a problem in backtiming. If a music selection is 3 minutes, 30 seconds long and a video segment 1 min. 45 seconds long, how much ahead of the video would you start the music to make them both end at the same time?",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("acceleration editing","vitalizing","motivation","All of the above are correct.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest006 = new Question(
"Question 6",
0,
"A good script (enhanced by good editing) suggests or explains why things happen. In the cybertext this concept is referred to as",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("a cutaway","an insert shot","a master shot","Two of the above are correct.","All of the above are correct.")
corr=new Array("0","1","0","0","0")
comm=""
valu=""
quest007 = new Question(
"Question 7",
0,
"A close-up of something within the basic scene (the establishing or wide shot) is called",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("relational editing","montage editing","parallel cutting","acceleration editing")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"In this type of editing images are edited together based only on a central theme.",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("a non-sequential edit","an opposite edit","crossing the line")
corr=new Array("0","0","1")
comm=""
valu=""
quest009 = new Question(
"Question 9",
0,
"This error causes a reversal of left-to-right action (and generally viewer confusion)",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("a sudden change in audio levels","an abrupt change in background sound after an edit","a noticeable change in color balance","All of the above are correct.","None of the answers is correct.")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest010 = new Question(
"Question 10",
0,
"An example of a technical continuity problem would be",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("changes facility clocks to agree with the time on a recording","made it possible for small cameras and recorders to be used in broadcasting","originally made electronic news-gathering (ENG) possible","only applies to black and white video","Two of the above are correct","All of the above are correct.")
corr=new Array("0","0","0","0","1","0")
comm=""
valu=""
quest011 = new Question(
"Question 11",
0,
"A <i>time-base corrector</i>",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("news","dramatic","documentary")
corr=new Array("0","1","0")
comm=""
valu=""
quest012 = new Question(
"Question 12",
0,
"In which type of productions is it more desirable to leave some things open interpretation?",
resp,
comm,
corr,
"",
valu,
2,
-1,
-1,
"");

resp=new Array("used to cover desired moments of &quot;silence&quot; in editing","typically ambient, on location sound","used to color balance cameras","Two of the above are correct","All of the above are correct.")
corr=new Array("0","0","0","1","0")
comm=""
valu=""
quest013 = new Question(
"Question 13",
0,
"<i>Room tone </i>is",
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 49 - 53</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>"

