var qmakeVers = '2.10.1';
var qmakeProgName = "Galli's QuizFaber";
var qmakeURL = 'www.lucagalli.net/';
var dhtmlEnabled = 0;
var frameEnabled = 0;
var bodyTagFrame1='<BODY BACKGROUND="media/" BGCOLOR="#FFFFFF" TEXT="#000000">';
var bodyTagFrame2='<BODY BACKGROUND="media/" BGCOLOR="#FFFFFF" TEXT="#FFFFFF">';
var noBorderBodyTagFrame2='<BODY BACKGROUND="media/" BGCOLOR="#FFFFFF" TEXT="#FFFFFF" TOPMARGIN="0" LEFTMARGIN="0" marginheight="0" marginwidth="0">';
var soundEnable = 0;
var okSound='';
var errSound='';
var warnSound='';
var valid = new init_array(8);
var nScore = new init_array(8);
var maxScore = new init_array(8);
var questions=8;
var qstHead = new init_array(8);
var pageWidth = 100;
var groups = new init_array(0,0,0,0,0,0,0,0);
var quizTitle="Past Simple";
var maxtime=0;
var keycode = new init_array(6);
var keyword = 'syskey';
MakeKeyCode();
var los = 0;
var maxvoto = 100;
var minvoto = 0;
var roundvoto = 1;
var voto = 0;
var silent = 0;
var quizRetire = 0;
var showReport = 1;
var ncols_report = 1;
var valutaQuiz = 1;
var falseQuests = 0;
var invisibleQuests = 0;
var auto_repeat = 0;
var man_repeat = 0;
var n_repeat = 0;
var reviewQuiz = 0;
var markPercentage = 1;
var finalMess = '';
var printCpRg=1;
var filename = 'past_simple_ex2';

var topChartFile='';
var pesi = new init_array(8);
var allAnsReport = new init_array(8);
var author  = '';
var mediaDir  = 'media';
var questSlide  = 0;
var lockRightAns = 0;
var resultBoxKind  = 0;
var reportNotation  = 2;
var remRepAlways  = 0;
var confirmEachQst = 0;
var isResultsPageDark = 0
var ordineDomande = new init_array(0,1,2,3,4,5,6,7);
var typeOfQuest = new init_array(4,4,4,4,4,4,4,4);
var omitPoint = new init_array(0,0,0,0,0,0,0,0);
var nc=0,    
ns=0,    
nr;      
var end_test=0;  
var userName=""; 
var identityName=""; 
var computeMarkErr = 0;  
var okIcon = "smiling.gif";
var koIcon = "no.gif";
var warnIcon = "warn.gif";
var checkIcon = "check.gif";
function setCookie(cookie_name,cookie_value,minuti)
{
var expdate= new Date();  
cookie_value+="#"; 
expdate.setTime(expdate.getTime()+(60000*minuti));
document.cookie = cookie_name+"="+escape(cookie_value)+"; expires="+expdate.toGMTString();
}
function getCookie(cookie_name)
{
var arg;
var alen;
var clen = document.cookie.length;
var i=0,j,k;
var valore;
arg = cookie_name + "=";
alen=arg.length
while (i<clen) {
j = i+alen;
if (document.cookie.substring(i,j)==arg)  {
k = document.cookie.indexOf(escape("#"),j+1);
valore = unescape(document.cookie.substring(j,k));
return valore;
}
i = document.cookie.indexOf(" ",i)+1;
if (i==0) break;
}
return "";  
}
function getHTMLTagSound(soundFile)
{
var tagSound = "";
if (pluginInstalled("Crescendo"))
{
if (getBrowser()=="NS") {
if (getBrowserVers()==2) {
tagSound = '<EMBED SRC="'+soundFile+'" ';
tagSound += 'HEIGHT=2 WIDTH=0 ';
tagSound += 'loop="true" autostart="TRUE">';
}
else {
tagSound = '<EMBED TYPE="music/crescendo" ';
tagSound += 'SONG="'+soundFile+'" ';
tagSound += 'PLUGINSPAGE="www.liveupdate.com/dl.html" ';
tagSound += 'loop="true" autostart="TRUE" ';
tagSound += 'HEIGHT=2 WIDTH=0></EMBED>';
}
}
if (getBrowser()=="IE") {
tagSound = '<OBJECT ID=Crescendo ';
tagSound += 'CLASSID="clsid:0FC6BF2B-E16A-11CF-AB2E-0080AD08A326" ';
tagSound += 'HEIGHT=2 WIDTH=0> ';
tagSound += '<PARAM NAME="Song" VALUE="'+soundFile+'"></OBJECT>';
}
}
else { 
if (getBrowser()=="NS") {
tagSound = '<EMBED SRC="'+soundFile+'" ';
tagSound += 'HEIGHT=15 loop=yes autostart=true>';
}
else if (getBrowser()=="IE") {
tagSound = '<BGSOUND src="'+soundFile+'" loop=infinite>';
}
}
return tagSound;
}
function PlaySound(suonoObj)  {
if (soundEnable==0)
return;
if (navigator.appName == 'Netscape') {
if (parseInt(navigator.appVersion) >= 3) {
suonoObj.play(false); 
if (navigator.javaEnabled()) {
if (navigator.mimeTypes['audio/midi'] != null) {
if (navigator.mimeTypes['audio/midi'].enabledPlugin != null) {
suonoObj.play(false); 
}
else
alert('Your browser does not have a plug-in to play audio/midi mime types!');
}
else
alert('Your browser does not support the audio/midi mime type!');
}
else
alert('Requires Java enabled to be enabled');
}
else
alert('Only works in Netscape Navigator 3 or greater');
}
else {
suonoObj.play();
}
}
var dlgList = new init_array(10);
var nDlgs = 0;
function MyDialog(dlgId,filename,x,y) {
this.dlgId = dlgId;
this.filename = filename;
this.x = x;
this.y = y;
this.opened = 0;
this.handle = 0;
}
function CreateDialog(dlgId,filename,x,y) {
var my_dialog;
var i,found=0;
for (i=0; i<nDlgs; i++) {
if (dlgList[i].dlgId==dlgId) { found=1; break; }
}
if (found==0) {
my_dialog = new MyDialog(dlgId,filename,x,y);
dlgList[nDlgs] = my_dialog;
nDlgs++;
}
else {
my_dialog = dlgList[i];
}
return my_dialog;
}
function ManageDialog(myDialog) {
var handle;
var mode = '';
dlgId = 'my'+myDialog.filename;
if (myDialog.opened==0) {
mode = 'menubar=no,status=no,location=no';
mode += ',width='+myDialog.x;
mode += ',height='+myDialog.y;
handle = window.open(myDialog.filename,myDialog.dlgId,mode);
myDialog.handle = handle;
myDialog.opened = 1;
}
else {
handle = myDialog.handle;
}
return handle;
}
function UnmanageDialog(dlgId) {
var i;
for (i=0; i<nDlgs; i++) {
if (dlgList[i].dlgId==dlgId) {
if (dlgList[i].opened==1) {
dlgList[i].handle.close();
dlgList[i].opened = 0;
break;
}
}
}
}
function UnmanageAllDialogs() {
var i;
for (i=0; i<nDlgs; i++) {
UnmanageDialog(dlgList[i].dlgId);
}
}
function init_array()
{
this.length = init_array.arguments.length;
for (var i=0;i<this.length;i++)
this[i]=init_array.arguments[i];
}
function init_IntArray(n) {
var i;
this.length=n;
for (i=0; i<n; i++)
this[i]=-1;
}
function initOneElementVector() {
this.length=1;
}
function dec_to_hex(str_dec)
{
var H=0,L=0;
var S="";
var dec=0;
dec = eval(str_dec);
H=Math.floor(dec/16);
L=dec%16;
S+=valore_hex(H);
S+=valore_hex(L);
return S;
}
function hex_to_dec(hex)
{
var d=0,H=0,L=0;
H=valore_dec(hex.charAt(0));
L=valore_dec(hex.charAt(1));
d=H*16+L;
return d;
}
function valore_dec(c)
{
var n=0;
if (c<='9') n=eval(c);
if ((c=='A')||(c=='a')) n=10;
if ((c=='B')||(c=='b')) n=11;
if ((c=='C')||(c=='c')) n=12;
if ((c=='D')||(c=='d')) n=13;
if ((c=='E')||(c=='e')) n=14;
if ((c=='F')||(c=='f')) n=15;
return n;
}
function valore_hex(n)
{
if (n<=9) return n;
if (n==10) return 'A';
if (n==11) return 'B';
if (n==12) return 'C';
if (n==13) return 'D';
if (n==14) return 'E';
if (n==15) return 'F';
}
function Lettera(cc)
{
var c,chr=65;
var a=0,b=0;
if (cc<=25) {
chr+=cc;
c = unescape("%"+dec_to_hex(chr));
}
else {
a = Math.floor(cc / 26);
b = cc % 26;
chr+=b;
c = unescape("%"+dec_to_hex(chr));
c = "" + a + c;
}
return c;
}
function trim(str) {
var i,iStart,iStop;
for (i=0; i<str.length; i++) {
if (str.charAt(i)!=' ')
break;
}
iStart = i;
for (i=str.length-1; i>=0; i--) {
if (str.charAt(i)!=' ')
break;
}
iStop = i;
if ((iStart!=0)||(iStop!=str.length-1))
return str.substring(iStart,iStop+1);
return str;
}
function rand(n) {
return Math.floor(Math.random()*n);
}
function DataToStringa()
{
var obj = new Date();
var mese,giorno;
var nome="";
var stringa="";
var strData;
giorno = obj.getDay();
switch(giorno) {
case 0: nome = "Domingo"; break;
case 1: nome = "Segunda-feira"; break;
case 2: nome = "Terça-feira"; break;
case 3: nome = "Quarta-feira"; break;
case 4: nome = "Quinta-feira"; break;
case 5: nome = "Sexta-feira"; break;
case 6: nome = "Sábado"; break;
}
strData = nome+", "+obj.getDate();
mese = obj.getMonth();
switch(mese) {
case 0: nome = "Janeiro";  break;
case 1: nome = "Fevereiro"; break;
case 2: nome = "Março"; break;
case 3: nome = "Abril"; break;
case 4: nome = "Maio"; break;
case 5: nome = "Junho"; break;
case 6: nome = "Julho"; break;
case 7: nome = "Agosto"; break;
case 8: nome = "Setembro"; break;
case 9: nome = "Outubro"; break;
case 10: nome = "Novembro"; break;
case 11: nome = "Dezembro";
}
strData += " "+nome+" "+obj.getYear();
strData += " - ";
if (obj.getHours()<10)
strData += "0" + obj.getHours();
else
strData += obj.getHours();
strData += ":";
if (obj.getMinutes()<10)
strData += "0" + obj.getMinutes();
else
strData += obj.getMinutes();
strData += ":";
if (obj.getSeconds()<10)
strData += "0" + obj.getSeconds();
else
strData += obj.getSeconds();
return strData;
}
function getBrowserVers()
{
return parseInt (navigator.appVersion.charAt(0));
}
function getBrowser()
{
if (navigator.appName=="Netscape")
return "NS";
if (navigator.appName=="Microsoft Internet Explorer")
return "IE";
return "";
}
function pluginInstalled(str)
{
var i;
for (i=0; i<navigator.plugins.length; i++) {
if (navigator.plugins[i].name.indexOf(str) != -1)
return true;
}
return false;
}
function ASCIItoInt(c)
{
var i,car;
for (i=32;i<256;i++) {
car = '%'+dec_to_hex(i);
if (c==unescape(car))
return i;
}
return 0;
}
function InttoASCII(n)
{
var car;
if ((n<0)||(n>255))
return "NULL";
car = '%'+dec_to_hex(n);
return unescape(car);
}
function DecodeString(msg)
{
var i,j,n;
var decode_msg="";  
var num;            
var car;            
n = keyword.length;
j=0;
for(i=0;i<msg.length;i+=3) {
num = eval(msg.substring(i,i+3))-keycode[j%n];
if ((num<32)||(num>127)) {
PrintWrongKeyword();
return "";
} 
car = '%'+dec_to_hex(num);
decode_msg+=unescape(car);
j++;
}
return decode_msg;
}
function DecodeNumber(i,n,minNum,maxNum)
{
var num,lung;
lung = keyword.length;
num=i-keycode[n%lung];
if ((num<minNum)||(num>maxNum))  
PrintWrongKeyword();
return num;
}
function CodeString(msg)
{
var i,n;
var code_msg="";  
var c=0;
n = keyword.length;
for (i=0;i<msg.length;i++) {
if (ASCIItoInt(msg.charAt(i))<32) 
c = 32 + keycode[i%n];
else if (ASCIItoInt(msg[i])>127) 
c = 127 + keycode[i%n];
else
c = ASCIItoInt(msg.charAt(i)) + keycode[i%n];
if (c<10) 
code_msg += "  "+c;
else if (c<100)
code_msg += " "+c;
else
code_msg += ""+c;
}
return code_msg;
}
function MakeKeyCode()
{
var i,num;
var car;
for (i=0;i<keyword.length;i++) {
car = keyword.charAt(i);
num = ASCIItoInt(car);
if ((car>='a')&&(car<='z')) {
keycode[i]=num-97;
continue;
}
if ((car>='A')&&(car<='Z')) {
keycode[i]=num-65;
continue;
}
keycode[i]=0;
}
}
function AnsReport(choice,value,rem,data,answer)
{
this.choice = choice;
this.valuation = value;
this.remark = rem;
this.data = data;
this.answer = answer;
}
function doValuate(n) {
if (typeOfQuest[n]==1)          
doValuateMultiAns(n);
else if (typeOfQuest[n]==101)   
doValuateWithPoints(n);
else if (typeOfQuest[n]==2)    
doValuateBoolAns(n);
else if (typeOfQuest[n]==3)     
doValuateOpenAns(n);
else if (typeOfQuest[n]==4)     
doValuateFillGap(n);
else if (typeOfQuest[n]==5)     
doValuateMatching(n);
}
function doValuateMultiAns(n)
{
nScore[n] = getGuessAns(n);
maxScore[n] = getNumAns(n);
if (nScore[n]==maxScore[n])
valid[n]=1; else valid[n]=-1;
}
function doValuateWithPoints(n)
{
nScore[n] = getScore(n);
maxScore[n] = ConvertPointToMark(n,nScore[n]);
valid[n]=5;
}
function doValuateBoolAns(n)
{
nScore[n] = getGuessAns(n);
maxScore[n] = getNumAns(n);
if (nScore[n]==maxScore[n])
valid[n]=1;
else if (nScore[n]==0)
valid[n]=-1;
else
valid[n]=3;
}
function doValuateFillGap(n)
{
nScore[n] = getGuessFillGap(n);
maxScore[n] = getNumAns(n);
if (nScore[n]==maxScore[n])
valid[n]=1;
else if (nScore[n]==0)
valid[n]=-1;
else
valid[n]=3;
}
function doValuateMatching(n)
{
nScore[n] = getGuessMatch(n);
maxScore[n] = getNumAns(n);
if (nScore[n]==maxScore[n])
valid[n]=1;
else if (nScore[n]==0)
valid[n]=-1;
else
valid[n]=3;
}
function doValuateOpenAns(n)
{
nScore[n]   = 0;
maxScore[n] = 0;
valid[n]    = 2;
}
function getGuessAns(n)
{
var j,guess=0;
for (j=0;j<allAnsReport[n].length;j++) {
if (getGuessAnsN(n,j)) guess++;
}
return guess;
}
function getGuessAnsN(n,m)
{
var value,choice,data;
value  = allAnsReport[n][m].valuation;
choice = allAnsReport[n][m].choice;
data   = allAnsReport[n][m].data;
value += data;
if (((value>0)&&(choice==1)) || ((value<0)&&(choice==0)))
return 1;
return 0;
}
function getGuessMatch(n)
{
var j,guess=0;
for (j=0;j<allAnsReport[n].length;j++) {
if (getGuessMatchN(n,j)==1) guess++;
}
return guess;
}
function getGuessMatchN(n,m)
{
var i,j,value,choice;
var str1,str2,str3;
value  = allAnsReport[n][m].valuation;
choice = allAnsReport[n][m].choice;
str1 = choice[0] + choice[1];
for (i=0; i<value.length; i++) {
str2 = choice[0] + value[i];
if (str1.toLowerCase()==str2.toLowerCase()) {
for (j=0; j<allAnsReport[n].length; j++) {
str3 = allAnsReport[n][j].choice[0] + allAnsReport[n][j].choice[1];
if (str1.toLowerCase()==str3.toLowerCase()) {
if (j==m)
return 1; 
else
return -1; 
}
}
}
}
return 0;
}
function getGuessFillGap(n)
{
var j,guess=0;
for (j=0;j<allAnsReport[n].length;j++) {
if (getGuessFillGapN(n,j)==1) guess++;
}
return guess;
}
function getGuessFillGapN(n,m)
{
var i,j,value,choice;
var str1,str2;
choice = allAnsReport[n][m].choice;
value  = allAnsReport[n][m].valuation;
str1 = trim(choice.toLowerCase());
for (i=0; i<value.length; i++) {
str2 = trim(value[i].toLowerCase());
if (str1==str2)
return 1;
}
return 0;
}
function getNumAns(n)
{
return allAnsReport[n].length;
}
function getScore(n)
{
var j,choice,value,data,
score=0,nchoice=0;
for (j=0;j<allAnsReport[n].length;j++) {
choice = allAnsReport[n][j].choice;
value = allAnsReport[n][j].valuation;
data = allAnsReport[n][j].data;
if (choice==1) {
score += value;
nchoice++;
}
else
score += data;
}
if (nchoice==0)
return omitPoint[n];
return score;
}
function getListOfRightAns(n)
{
var j,value,msg='';
for (j=0;j<allAnsReport[n].length;j++) {
value = allAnsReport[n][j].valuation;
if (value>0)
msg += Lettera(j)+' ';
}
return msg;
}
function getNumOfRightAns(n)
{
var j,value,num=0;
for (j=0;j<allAnsReport[n].length;j++) {
value = allAnsReport[n][j].valuation;
if (value>0)
num++;
}
return num;
}
function getListOfSelAns(n)
{
var j,value,msg='';
if (typeOfQuest[n]==3) {    
return allAnsReport[n][0].choice;
}
for (j=0;j<allAnsReport[n].length;j++) {
choice = allAnsReport[n][j].choice;
if ((typeOfQuest[n]==1)||          
(typeOfQuest[n]==101)) {       
if (choice==1)
msg += Lettera(j)+' ';
}
else if (typeOfQuest[n]==2) {    
if (choice==1)
msg += 'V ';
else if (choice==0)
msg += 'F ';
}
else if (typeOfQuest[n]==4) {    
msg += choice+",";
}
else if (typeOfQuest[n]==5) {    
msg += choice[0] + "-" + choice[1] + ", ";
}
}
return msg;
}
function initListOfRemark(n)
{
var j,i,rem,value;
i=0;
this.length=0;
for (j=0;j<allAnsReport[n].length;j++) {
choice = allAnsReport[n][j].choice;
rem = allAnsReport[n][j].remark;
if (choice==1) {
this[i] = rem;
i++;
}
}
this.length = i;
}
function getListOfMistake(n)
{
var j,msg='',separator;
var isFirst=1;
for (j=0;j<allAnsReport[n].length;j++) {
if ((typeOfQuest[n]!=4)&&(typeOfQuest[n]!=5)) {
if (!getGuessAnsN(n,j)) {
if (isFirst==0) {
msg += ' ';
}
else {
isFirst=0;
}
msg += Lettera(j);
}
}
else if (typeOfQuest[n]==4) {
if (!getGuessFillGapN(n,j)) {
if (isFirst==0) {
separator = ', ';
}
else {
separator = '';
isFirst=0;
}
if (allAnsReport[n][j].choice!="") {
msg += separator + allAnsReport[n][j].choice;
}
}
}
else if (typeOfQuest[n]==5) {
if (!getGuessMatchN(n,j)) {
if (isFirst==0) {
msg += ', ';
}
else {
isFirst=0;
}
msg += allAnsReport[n][j].choice[0] + ' - ' + allAnsReport[n][j].choice[1];
}
}
}
return msg;
}
function ComputeMarks()
{
var voto = 0;
var sommaPesi = 0;
var sommatoria = 0;
var votoReal = 0.0;
var puntiGruppo = 0;
var votoGruppo;
var iCapoGruppo;  
for (var i=0;i<questions;i++) {
if ((valid[i]!=2)&&
(valid[i]!=4)&&
((groups[i]==0) || (groups[i]==2)))
sommaPesi += pesi[i];
if (valid[i]==1)
sommatoria += pesi[i];
else if (valid[i]==3)
sommatoria += (pesi[i] * nScore[i]) / maxScore[i];
else if (valid[i]==5) {
if (groups[i]==0)
sommatoria += pesi[i] * (maxScore[i]-minvoto)/(maxvoto-minvoto);
else if (groups[i]==2) {
puntiGruppo = nScore[i];
iCapoGruppo = i;
i++;
while (groups[i]==1) {
puntiGruppo += nScore[i];
i++;
}
votoGruppo = ConvertPointToMark(iCapoGruppo,puntiGruppo);
maxScore[iCapoGruppo] = votoGruppo;
sommatoria += pesi[iCapoGruppo] * (votoGruppo-minvoto)/(maxvoto-minvoto);
}
}
}
if (sommaPesi!=0) {
if (roundvoto==1)
voto = minvoto + Math.round(sommatoria*(maxvoto-minvoto)/sommaPesi);
else if (roundvoto==0) {
voto = minvoto + sommatoria*(maxvoto-minvoto)/sommaPesi;
}
else {
votoReal = sommatoria*(maxvoto-minvoto)/sommaPesi;
voto = minvoto + Math.round(votoReal / roundvoto) * roundvoto;
}
}
else {
window.alert("Aviso: impossível calcular o resultado final");
computeMarkErr = 1;
voto = 0;
}
return voto;
}
function CountAnswers() {
var ratio;
var nexcl=0;
nc = 0;
ns = 0;
nr = questions;
for (var i=0;i<questions;i++) {
if (valid[i]==1) nc++;
else if (valid[i]==-1) ns++;
else if (valid[i]==3) {
ratio = 100 * nScore[i] / maxScore[i];
if (ratio>=60) nc++;
else ns++;
}
else if (valid[i]==5) {
ratio = 100 * maxScore[i] / maxvoto;
if (ratio>=60) nc++;
else ns++;
}
if (valid[i]!=0) nr--;
if ((valid[i]==2)||(valid[i]==4)) nexcl++;
}
if ((questSlide==1)&&(lockRightAns==1)) {
if (nc + nexcl == questions) return 1;
}
else {
if (nr==0) return 1;
}
return 0;
}
var ctmnow=0,cnewdt;
var time,oldtime;
function StartTime()
{
var data,sec;
data = new Date();
sec = Math.floor(data.getTime()/1000);
return sec;
}
function getTimeString(deltatime)
{
var resto,h,m,s;
var str;
h = Math.floor(deltatime/3600);
resto = deltatime%3600;
m = Math.floor(resto/60);
s = resto%60;
if (h<10) h='0'+h;
if (m<10) m='0'+m;
if (s<10) s='0'+s;
str = h+":"+m+":"+s;
return str;
}
function determinaOrdineIniziale(nvett) {
var i,count,n;
var nuovoPezzo;
this.length=nvett;
for (i=0; i<nvett; i++)
this[i]=-1;
count=0;
while (count<nvett) {
n = rand(nvett);
nuovoPezzo = 1;
for (i=0; i<count; i++) {
if (this[i]==n)
nuovoPezzo = 0;
}
if (nuovoPezzo==1) {
this[count]=n;
count++;
}
}
}
function creaMatching(doc,lista1,lista2,ordine1, ordine2 , nomeSelect, lockLeftCol)
{
var i,n;
var lettera;
for (n=0; n<lista1.length; n++) {
lettera = Lettera(n);
doc.writeln("<TD WIDTH="+pageWidth+"% NOWRAP>");
if (lockLeftCol==0)
doc.writeln("<SELECT NAME='"+nomeSelect+"'>");
else
doc.writeln("<SELECT DISABLED NAME='"+nomeSelect+"'>");
for (i=0; i<lista1.length; i++) {
if (n==i)
doc.writeln("<OPTION SELECTED>"+lista1[ordine1[i]]);
else
doc.writeln("<OPTION>"+lista1[ordine1[i]]);
}
doc.writeln("</SELECT>");
doc.writeln("<SELECT NAME='"+nomeSelect+"'>");
for (i=0; i<lista2.length; i++) {
if (n==i)
doc.writeln("<OPTION SELECTED>"+lista2[ordine2[i]]);
else
doc.writeln("<OPTION>"+lista2[ordine2[i]]);
}
doc.writeln("</SELECT>");
doc.writeln("</TD>");
doc.writeln("<TR>");
}
}
function getSelezione(obj) {
var i;
for (i=0; i<obj.options.length; i++) {
if (obj.options[i].selected)
return i;
}
return -1;
}
function getTextSelected(selObj)
{
var i,found;
found =0;
for (i=0; i<selObj.length;i++) {
if (selObj.options[i].selected) {
found = 1;
break;
}
}
if (found==1) {
return selObj.options[i].value;
}
return "";
}
function AskMeName()
{
userName = window.prompt("Introduza o seu nome :","");
if (userName=="") {
userName = "desconhecido";
}
identityName = userName;
userName = "Nome="+userName;
}
function AskMeKeyword(word)
{
if (word=='') {
keyword = window.prompt("Introduza a password:","");
if (keyword==null) {
PrintWrongKeyword();
return false;
}
}
else {
keyword = word;
}
MakeKeyCode();
return true;
}
function DoneBefore()
{
window.alert("Ops!Você já respondeu à pergunta");
}
function IncompletedQuest()
{
window.alert("Resposta incompleta. Por favor, responda a todas as opções");
}
function Retire()
{
if (window.confirm("Tem a certeza?")) {
end_test=1;
EndQuiz();
}
}
function PrintStatusBar()
{
var i;
var msg;
if (nr==questions)
return;
if (silent==1) {
window.status="para verificar a resposta  : "+nr+" perguntas.";
return;
}
msg="em "+(questions-nr)+" perguntas, ";
if (nc>1) msg+=nc+" Correcto    e ";
if (nc==1) msg+=" apenas um exacto e ";
if (nc==0) msg+=" nada exacto e ";
if (ns>1) msg+=ns+" Incorrecto  .";
if (ns==1) msg+=" apenas um incorrecto.";
if (ns==0) msg+=" nada incorrecto.";
msg+=" Você deve responder a ";
if (nr>1) msg+=nr+" perguntas.";
else msg+=" um pergunta.";
window.status=msg;
}
function checkRisposta(checkBox,risp,n)
{
if ( ((checkBox.checked==true) && (isRightAns(n,risp)==1)) ||
((checkBox.checked==false) && (isRightAns(n,risp)==0)) )
return 1;
return 0;
}
function checkRispostaBooleana(radioBox,risp,n)
{
if ( ((radioBox[0].checked==true) && (risp[n]==1)) ||
((radioBox[1].checked==true) && (risp[n]==0)) )
return 1;
return 0;
}
function checkTrueOrFalse(radioBox)
{
if ( (radioBox[0].checked==false) &&
(radioBox[1].checked==false))
return 0;
return 1;
}
function isRightAns(nAns,risp)
{
var i;
for (i=0; i<risp.length; i++)
if (risp[i]==nAns)
return 1;
return 0;
}
function VerifyReload(time,titolo,indice)
{
var valore = getCookie("Qmake"+qmakeVers+"-"+indice);
if (valore==titolo) {
end_test=1;
PrintNoReload();
return 0;
}
setCookie("Qmake"+qmakeVers+"-"+indice,titolo,time);
return 1;
}
function verifyAnswer (risp,nrisp,ri)
{
var i;
for (i=0;i<nrisp;i++) {
if (risp[i]==ri)
return 1;
}
return 0;
}
function PrintReport(documento)
{
var i,j,n=1,k,l,m,isGuess;
var choice,value,data;
var half_index,index13,index23,index14,index34,col_width;
var okImage,boxImage,arrowImage,responseImage;
var tagOkImage,tagBoxImage;
if (isResultsPageDark==0) {
okImage  = mediaDir+"/ok.gif";
boxImage = mediaDir+"/square.gif";
}
else {
okImage  = mediaDir+"/ok2.gif";
boxImage = mediaDir+"/square2.gif";
}
tagOkImage = "<IMG SRC="+unescape("%22")+okImage+unescape("%22")+" ALIGN='CENTER' ALT='Resposta selecionada'>";
tagBoxImage = "<IMG SRC="+unescape("%22")+boxImage+unescape("%22")+" ALIGN='CENTER'>";
half_index = Math.ceil(questions/2);
index13  = Math.ceil(questions/3);
index23  = Math.ceil(2*questions/3);
index14  = Math.ceil(questions/4);
index34  = Math.ceil(3*questions/4);
col_width  = Math.floor(100 / ncols_report);
documento.writeln("<P><center><TABLE WIDTH='"+pageWidth+"%' BORDER=0>");
for (k=0;k<questions;k++) {
if ((k==0)&&(ncols_report==1)) {
documento.writeln("<TD>\n");
}
if ((k==0)&&(ncols_report>=2)) {
documento.writeln("<TD WIDTH='"+col_width+"%' VALIGN='top'>\n");
}
if ((k==half_index)&&((ncols_report==2)||(ncols_report==4))) {
documento.writeln("</TD><TD WIDTH='"+col_width+"%' VALIGN='top'>");
}
if (ncols_report==3) {
if ((k==index13)||(k==index23)) {
documento.writeln("</TD><TD WIDTH='33%' VALIGN='top'>");
}
}
if (ncols_report==4) {
if ((k==index14)||(k==index34)) {
documento.writeln("</TD><TD WIDTH='25%' VALIGN='top'>");
}
}
i = ordineDomande[k];
if (valid[i]==4)
continue;
documento.writeln("<B><FONT SIZE=+1 class='qstId'>"+n+"</FONT></B><B> "+qstHead[i]+"</B><BR>");
n++;
documento.writeln("<I>");
if (valid[i]==1)
documento.writeln("Resposta correcta<BR>");
else if (valid[i]==-1)
documento.writeln("Resposta incorrecta<BR>");
else if (valid[i]==2)
documento.writeln("Pergunta não validada<BR>");
else if (valid[i]==3) {
if (typeOfQuest[i]==2)
documento.writeln("Respostas correctas "+nScore[i]+" em "+maxScore[i]+"<BR>");
else if (typeOfQuest[i]==4)
documento.writeln("descubra as palavras "+nScore[i]+" em "+maxScore[i]+"<BR>");
else if (typeOfQuest[i]==5)
documento.writeln("Fazer a correspondência "+nScore[i]+" em "+maxScore[i]+"<BR>");
}
else if (valid[i]==5) {
documento.write("pontuações "+nScore[i]);
if (groups[i]==0)
documento.writeln(" (Pontuação "+maxScore[i]+")<BR>");
else if (groups[i]==1)
documento.writeln("<BR>Resultado adicionado à pontuação anterior<BR>");
else if (groups[i]==2)
documento.writeln("<BR>Pontuação (cálculos das respostas às perguntas seguintes): "+maxScore[i]+"<BR>");
}
documento.writeln("</I>");
if (valid[i]==2) {
documento.write("<P>"+allAnsReport[i][0].choice+"</P>");
continue;
}
documento.writeln("<BR>");
documento.writeln("<TABLE BORDER=0 WIDTH='"+pageWidth+"%'>");
for (j=0;j<allAnsReport[i].length;j++) {
if (typeOfQuest[i]==4)
isGuess = getGuessFillGapN(i,j);
else if (typeOfQuest[i]==5)
isGuess = (getGuessMatchN(i,j)==1);
else if (typeOfQuest[i]==2)
isGuess = getGuessAnsN(i,j); 
else {
if (reportNotation==1) 
isGuess = getGuessAnsN(i,j);
else 
isGuess = (allAnsReport[i][j].valuation + allAnsReport[i][j].data)>0;
}
if (isGuess) {
responseImage = mediaDir+"/smile.gif";
documento.write(" <TR><TD WIDTH=30><IMG SRC="+unescape("%22")+responseImage+unescape("%22")+" ALIGN='CENTER' ALT='Resposta correcta'></TD>");
}
else {
responseImage = mediaDir+"/ko.gif";
documento.write(" <TR><TD WIDTH=30><IMG SRC="+unescape("%22")+responseImage+unescape("%22")+" ALIGN='CENTER' ALT='Resposta incorrecta'></TD>");
}
documento.write("<TD WIDTH=30> <FONT FACE='Arial'>");
documento.write(Lettera(j));
documento.write("</FONT> </TD>");
choice = allAnsReport[i][j].choice;
if (typeOfQuest[i]==2) {
documento.write("<TD WIDTH=50> ");
PrintTrueOrFalse(documento,1);
documento.write(" ");
if (choice==1)
documento.write(tagOkImage+"</TD>");
else
documento.write(tagBoxImage+"</TD>");
documento.write("<TD WIDTH=50> ");
PrintTrueOrFalse(documento,0);
documento.write(" ");
if (choice==0)
documento.write(tagOkImage+"</TD>");
else
documento.write(tagBoxImage+"</TD>");
}
else if (typeOfQuest[i]==4) {
if (getGuessFillGapN(i,j))
documento.write("<TD>"+choice+"</TD>");
else {
arrowImage = mediaDir+"/arrow.gif";
documento.write("<TD><S>"+choice+"</S> <IMG SRC="+unescape("%22")+arrowImage+unescape("%22")+" ALIGN='CENTER'> ");
for (l=0; l<allAnsReport[i][j].valuation.length-1; l++)
documento.write(allAnsReport[i][j].valuation[l]+ " , ");
documento.write(allAnsReport[i][j].valuation[l]);
documento.write("</TD>");
}
}
else if (typeOfQuest[i]==5) {
m = getGuessMatchN(i,j);
if (m==1) 
documento.write("<TD>"+choice[0]+" - "+choice[1]+"</TD>");
else if (m==0) {
documento.write("<TD>"+choice[0]+" - ");
documento.write("<S>"+choice[1]+"</S>");
arrowImage = mediaDir+"/arrow.gif";
documento.write("<IMG SRC="+unescape("%22")+arrowImage+unescape("%22")+" ALIGN='CENTER'> ");
for (l=0; l<allAnsReport[i][j].valuation.length-1; l++)
documento.write(allAnsReport[i][j].valuation[l]+ " , ");
documento.write(allAnsReport[i][j].valuation[l]);
documento.write("</TD>");
}
else {
documento.write("<TD><S>"+choice[0]+" - "+choice[1]+"</S>");
}
}
else {
if (choice==1)
documento.write("<TD WIDTH=30>"+tagOkImage+"</TD>");
else
documento.write("<TD WIDTH=30>"+tagBoxImage+"</TD>");
}
documento.writeln("<TD>");
if (valid[i]==5) {
value = allAnsReport[i][j].valuation;
data = allAnsReport[i][j].data;
documento.write(" ("+value+") ");
if (data!=0)
documento.write(" ("+data+") ");
}
if ((typeOfQuest[i]==1)||(typeOfQuest[i]==101)) {
if (allAnsReport[i][j].answer!="")
documento.write(allAnsReport[i][j].answer+"<BR>");
if ((choice==1)||(remRepAlways==1))
documento.write("<I>"+allAnsReport[i][j].remark+"</I>");
}
documento.writeln("</TD></TR>");
}
documento.writeln("</TABLE><BR>");
}
documento.writeln("</TD></TABLE></center>");
}
function PrintResultTopBar(doc)
{
if ((showReport==1)&&(dhtmlEnabled==1)) {
doc.writeln("<center><TABLE WIDTH='"+pageWidth+"%' BORDER=0 BGCOLOR='#D0D0D0'>\n");
doc.writeln("<TD ALIGN='LEFT'><B>Resultado do Quiz</B></TD>\n");
doc.writeln("<TD ALIGN='RIGHT'>\n");
doc.writeln("<a href='javascript:printWindow()'>IMPRIMIR</A> | \n");
if (man_repeat)
doc.writeln("<a href='javascript:RepeatQuiz()'>REPETIR</A> | \n");
if (topChartFile!='')
doc.writeln("<a href='"+topChartFile+"' TARGET='topchartwin'>Top Chart</A> | \n");
doc.writeln("<a href='javascript:top.close()'>FECHAR</A>\n");
doc.writeln("</TD></TABLE></center><BR>\n");
}
}
function PrintLinkBack(documento) {

}
function PrintFrame(documento,titolo,msg)
{
documento.clear();
documento.open();
PrintOpenHTML(documento,titolo,1);
documento.writeln (bodyTagFrame1);
documento.writeln (msg);
documento.writeln ("</body></html>");
documento.close();
}
function PrintJSResult(doc)
{
doc.writeln("<script language='javascript'>\n");
doc.writeln("function printWindow(){\n");
doc.writeln("   var vers = parseInt(navigator.appVersion)\n");
doc.writeln("   if (vers >= 4) window.print()\n");
doc.writeln("   else window.alert('Please use FILE menu, then PRINT...');\n");
doc.writeln("}\n");
doc.writeln("function RepeatQuiz(){\n");
if (frameEnabled==1) {
doc.writeln("parent.frames.quiz_status.location.href = '" + filename + "3.htm';");
if (!questSlide) {
doc.writeln("parent.frames.quiz_main.location.href = '" + filename + "1.htm';");
}
else {
doc.writeln("parent.frames.quiz_main.location.href = '" + filename + "Q1.htm';");
}
}
else {
doc.writeln(" location.href = '"+filename+".htm';");
}
doc.writeln("}\n");
doc.writeln("</script>\n");
}
function GetVoto(mark)
{
var tipo;
var str="";
tipo = GetTypeOfSubstitution(mark);
if (tipo == 2) {
return GetRemFromMark(voto);
}
else {
if (markPercentage==0) {
str += ""+voto+"/"+maxvoto;
}
else {
str += ""+voto+"/"+maxvoto+" ( "+Math.floor(voto*100/maxvoto)+"% )";
}
if (tipo == 1) {
str += " - "+GetRemFromMark(voto);
}
return str;
}
}
function PrintAnswer(n,textField)
{
var msg;
var explan = new initListOfRemark(n);
end_test = CountAnswers();
PrintStatusBar();
if (silent==1) {
if (PrintAnswer.arguments.length>1)
textField.value = "Resposta selecionada";
}
else {
if (valid[n]==1) {
if (PrintAnswer.arguments.length>1)
textField.value = "Resposta correcta";
msg = "Excelente! Resposta correcta";
}
else {
msg = "Incorrecto! A resposta correcta era " + getListOfRightAns(n);
if (PrintAnswer.arguments.length>1)
textField.value = msg;
}
if (soundEnable==1)
PlaySound(GetSoundName(n));
ShowMessage(msg,explan);
}
if (end_test==1) {
window.status = "";
window.alert("Já respondeu a todas as perguntas");
EndQuiz();
}
return end_test;
}
function PrintOpenAnswer(n,outMsg) {
outMsg.value = "Questão respondida";
end_test = CountAnswers();
PrintStatusBar();
if (end_test==1) {
window.status = "";
window.alert("Já respondeu a todas as perguntas");
EndQuiz();
}
return end_test;
}
function PrintBooleanAnswer(n,textField)
{
var msg,msg2;
var explan= new initOneElementVector();
explan[0] = "";
end_test = CountAnswers();
PrintStatusBar();
if (silent==0) {
msg = "Respostas correctas " + nScore[n] + " / " + getNumAns(n);
textField.value = msg;
if (nScore[n]<getNumAns(n)) {
msg2 = "Respostas incorrectas : " + getListOfMistake(n);
textField.value += " ; " + msg2;
explan[0] = msg2;
}
if (soundEnable==1)
PlaySound(GetSoundName(n));
ShowMessage(msg,explan);
}
else
textField.value = "Resposta selecionada";
if (end_test==1) {
window.status = "";
window.alert("Já respondeu a todas as perguntas");
EndQuiz();
}
return end_test;
}
function PrintQuestionScore(n,textField)
{
var msg;
var explan = new initListOfRemark(n);
end_test = CountAnswers();
PrintStatusBar();
if (silent==0) {
msg = "Pontuação : " + nScore[n];
if (groups[n]==0) 
msg += " (Pontuação "+maxScore[n]+")";
textField.value = msg;
if (getGuessAns(n)<getNumAns(n))
msg += "<BR>A resposta correcta era " + getListOfRightAns(n);
if (soundEnable==1)
PlaySound(GetSoundName(n));
ShowMessage(msg,explan);
}
else
textField.value = "Resposta selecionada";
if (end_test==1) {
window.status = "";
window.alert("Já respondeu a todas as perguntas");
EndQuiz();
}
return end_test;
}
function ShowMessage(message,explan)
{
var i;
var msg=message;
for (i=0;i<explan.length; i++) {
if (explan[i]!="")
msg += "\n"+explan[i];
}
window.alert(msg);
}
function PrintWrongKeyword()
{
document.clear();
document.open();
PrintOpenHTML(document,"",1);
document.writeln (bodyTagFrame1);
document.writeln("<CENTER><FONT SIZE=6 FACE='Arial' COLOR='#FF0000'>Cuidado!</FONT><BR>");
document.writeln ("<FONT SIZE=+2>Password incorrecta</FONT><BR>");
document.writeln ("Não pode avançar no quiz<BR>");
document.writeln ("Para mais informação, contacte o autor do quiz<BR>");
document.writeln("<P><INPUT TYPE='BUTTON' VALUE='FECHAR' OnClick='top.close()'>");
document.writeln("</CENTER>");
document.writeln ("</body></html>");
document.close();
PrintCopyright();
}
function PrintNoReload()
{
document.clear();
document.open();
PrintOpenHTML(document,"",1);
document.writeln (bodyTagFrame1);
document.writeln("<CENTER><BR><BR><FONT SIZE=6 FACE='Arial' COLOR='#FF0000'>Cuidado!</FONT><BR>");
document.writeln ("<FONT SIZE=+2>É impossível reiniciar o quiz</FONT><BR>");
document.writeln ("É impossível iniciar o quiz<BR>");
document.writeln ("Para mais informação, contacte o autor do quiz<BR>");
document.writeln("<P><INPUT TYPE='BUTTON' VALUE='FECHAR' OnClick='top.close()'>");
document.writeln("</CENTER>");
document.writeln ("</body></html>");
document.close();
PrintCopyright();
}
function PrintCopyright()
{
var str;
if (printCpRg==1) {
str = "Este quiz foi criado ";
if (author!='') {
str += "por "+author+" ";
}
str += "com "+qmakeProgName+" "+qmakeVers;
window.status = str;
}
}
function AskPrintQuiz() {
if (window.confirm("Imprimir o quiz?")) {
window.print();
}
}
function PrintResults()
{
if (GetTypeOfSubstitution(voto)==4) {
document.location = GetLinkFromMark(voto);
window.status = "";
PrintCopyright(1);
return;
}
document.close();
document.clear();
document.open();
PrintOpenHTML(document,"Resultado do Quiz",0);
document.writeln("<style>\n");
document.writeln("TD,B,BODY {font-family:Arial; font-size:10pt  }\n");
document.writeln(".table1 {font-family:Arial; font-size:10pt; font-weight:bold  } \n");
document.writeln(".qstId {font-family:courier; font-size:16pt; background:#404040; color:#FFFFFF }\n");
document.writeln("</style>\n");

PrintJSResult(document);
document.writeln("</head>");
document.writeln(bodyTagFrame1);
if (valutaQuiz==1) {
if (GetTypeOfSubstitution(voto)<=2) {
PrintResultTopBar(document);
PrintResultsTable(document);
if (showReport==1)
PrintReport(document);
}
else if (GetTypeOfSubstitution(voto)==3) {
document.writeln("<center><TABLE WIDTH='"+pageWidth+"%' BORDER=0><TD ALIGN='LEFT'>");
document.writeln (GetRemFromMark(voto));
document.writeln("</TD></TABLE></center>");
}
else {
}
}
else {
document.writeln("<center><TABLE WIDTH='"+pageWidth+"%' BORDER=0><TD ALIGN='LEFT'>");
document.writeln(finalMess);
document.writeln("</TD></TABLE></center>");
}
PrintLinkBack(document);
document.writeln ("</body></html>");
document.close();
window.status = "";
PrintCopyright(1);
}
var showTimeout = 1;
function Timer()
{
var delta;
if (ctmnow) {
clearTimeout(ctmnow);
ctmnow=0;
}
cnewdt = new Date();
time   = Math.floor(cnewdt.getTime()/1000);
delta  = maxtime-(time-oldtime);
if ((end_test==0)&&(oldtime!=time)&&(showTimeout==1)) {
window.status = getTimeString(delta);
}
if ((delta<=0)&&(end_test==0)) {
window.status = "";
window.alert("Acabou o tempo!");
end_test=1;
EndQuiz();
}
else {
ctmnow=setTimeout("Timer()",1000);
}
}
function GetSoundName(n)
{
if ((valid[n]==-1)||(maxScore[n]==minvoto))
return document.errSound;
if ((valid[n]==1)||(maxScore[n]==maxvoto))
return document.okSound;
if ((valid[n]==3)||(valid[n]==5))
return document.warnSound;
return document.warnSound;
}
function showTooltip (strTooltip) {
showTimeout = 0;
window.status = "Pistas: "+strTooltip;
}
function clearTooltip () {
setTimeout(deleteTooltip,2000);
}
function deleteTooltip () {
showTimeout = 1;
}
function completeInitValuate() {
 if (valid[0]==0) {
   allAnsReport[0] = new initValuate1();
   doValuate(0,document.domanda.score1,document.domanda.risposta1);
 }
 if (valid[1]==0) {
   allAnsReport[1] = new initValuate2();
   doValuate(1,document.domanda.score2,document.domanda.risposta2);
 }
 if (valid[2]==0) {
   allAnsReport[2] = new initValuate3();
   doValuate(2,document.domanda.score3,document.domanda.risposta3);
 }
 if (valid[3]==0) {
   allAnsReport[3] = new initValuate4();
   doValuate(3,document.domanda.score4,document.domanda.risposta4);
 }
 if (valid[4]==0) {
   allAnsReport[4] = new initValuate5();
   doValuate(4,document.domanda.score5,document.domanda.risposta5);
 }
 if (valid[5]==0) {
   allAnsReport[5] = new initValuate6();
   doValuate(5,document.domanda.score6,document.domanda.risposta6);
 }
 if (valid[6]==0) {
   allAnsReport[6] = new initValuate7();
   doValuate(6,document.domanda.score7,document.domanda.risposta7);
 }
 if (valid[7]==0) {
   allAnsReport[7] = new initValuate8();
   doValuate(7,document.domanda.score8,document.domanda.risposta8);
 }
 CountAnswers();
}

function ConvertPointToMark(n,points) {
return 0;
}


function PrintResultsTable(doc) {
  var deltatime = time - oldtime;
  var percentage;
  doc.writeln("<center><TABLE border=0 WIDTH='100%'><TD ALIGN='LEFT'><TABLE border=0 cellpadding=1>");
  doc.writeln("<TR><TD bgcolor='#FFFFFF'>");
  doc.writeln("<TABLE cellpadding=3 border=0 cellspacing=1><TR><TD bgcolor='#FFFFFF' colspan=2>");
  doc.writeln("<TABLE cellpadding=5 border=0 width=100%><TR><TD>");
  doc.writeln("<B><FONT  COLOR='#000000' FACE='Trebuchet MS' SIZE='3'>"+quizTitle+"</FONT></B>");
  doc.writeln("</TD></TR></TABLE></TD></TR>");
  doc.writeln("<TR><TD bgcolor='#FFFFFF' nowrap><FONT  COLOR='#000000' FACE='Trebuchet MS' SIZE='3'>&#160;&#160;Número de perguntas</FONT></TD>");
  doc.writeln("    <TD bgcolor='#FFFFFF' nowrap><FONT  COLOR='#000000' FACE='Trebuchet MS' SIZE='3'>&#160;&#160;"+(questions-invisibleQuests)+"</FONT></TD></TR>");
  if (identityName!="") {
  doc.writeln("<TR><TD bgcolor='#FFFFFF' nowrap><FONT  COLOR='#000000' FACE='Trebuchet MS' SIZE='3'>&#160;&#160;Nome</FONT></TD>");
  doc.writeln("    <TD bgcolor='#FFFFFF' ><FONT  COLOR='#000000' FACE='Trebuchet MS' SIZE='3'>&#160;&#160;"+identityName+"</FONT></TD></TR>");
  }
  doc.writeln("<TR><TD bgcolor='#FFFFFF' nowrap><FONT  COLOR='#000000' FACE='Trebuchet MS' SIZE='3'>&#160;&#160;Respostas correctas</FONT></TD>");
  doc.writeln("    <TD bgcolor='#FFFFFF' nowrap><FONT  COLOR='#000000' FACE='Trebuchet MS' SIZE='3'>&#160;&#160;"+nc+"</FONT></TD></TR>");
  doc.writeln("<TR><TD bgcolor='#FFFFFF' nowrap><FONT  COLOR='#000000' FACE='Trebuchet MS' SIZE='3'>&#160;&#160;Respostas incorrectas</FONT></TD>");
  doc.writeln("    <TD bgcolor='#FFFFFF' nowrap><FONT  COLOR='#000000' FACE='Trebuchet MS' SIZE='3'>&#160;&#160;"+ns+"</FONT></TD></TR>");
  
  if (computeMarkErr==0) {
  doc.writeln("<TR><TD bgcolor='#FFFFFF' nowrap><FONT  COLOR='#000000' FACE='Trebuchet MS' SIZE='3'>&#160;&#160;Pontuação</FONT></TD>");
  doc.writeln("    <TD bgcolor='#FFFFFF' nowrap><FONT  COLOR='#ff0000' FACE='Trebuchet MS' SIZE='3'>&#160;&#160;"+GetVoto(voto)+"</FONT></TD></TR>");
  } else {
  doc.writeln("<TR><TD bgcolor='#FFFFFF' nowrap><FONT  COLOR='#000000' FACE='Trebuchet MS' SIZE='3'>&#160;&#160;Pontuação</FONT></TD>");
  doc.writeln("    <TD bgcolor='#FFFFFF' nowrap><FONT  COLOR='#000000' FACE='Trebuchet MS' SIZE='3'>&#160;&#160;sem pontuação</FONT></TD></TR>");
  }
  doc.writeln("</TABLE></TD></TR></TABLE></TD></TABLE></center>");
}

function EndQuiz() {
 completeInitValuate();
 FinalActions();
}

function FinalActions() {
 voto = ComputeMarks();
 PrintResults();
}
function PrintTrueOrFalse(documento,flag) {
  if (flag==1) documento.write("V");
  else if (flag==0) documento.write("F");
}
function PrintATagLinkBack(documento) {
 return;
}

function init_valid()
{
 for (var i=0;i<questions;i++) {
   valid[i]=0;
   pesi[i]=0;
   nScore[i]=0;
   maxScore[i]=0;
 }
 nc = 0;
 ns = 0;
 nr = questions-0;
 voto = 0;
 computeMarkErr = 0;
 window.status='';
}
function initShortQuestion() {
 qstHead[0]="Complete with the correct form of the past simple of the verbs in brackets:";
 qstHead[1]="";
 qstHead[2]="";
 qstHead[3]="";
 qstHead[4]="";
 qstHead[5]="";
 qstHead[6]="";
 qstHead[7]="";
}


function PrintOpenHTML(documento,title,closeHead) {
  documento.writeln ('<HTML>');
  documento.writeln ('<HEAD>');
  documento.writeln ("<TITLE>"+title+"</TITLE>");
  documento.writeln ('<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">');
  documento.writeln ("<META name='generator' content='QuizFaber 2.10.1'>");
  if (closeHead==1)
    documento.writeln ('</HEAD>');
}
function GetTypeOfSubstitution(aMark) { return 0; }
