﻿/* 

Copyright It figures 2003-2010

Versie 6.2 

Vragen
 VraagArray[Vraagnummer][0]: Vraagtype (string)
 VraagArray[Vraagnummer][1]: Vraagtekst (string)
 VraagArray[Vraagnummer][2]: Aantal antwoorden (byte)
 VraagArray[Vraagnummer][3]: Maximum aantal antwoorden (byte), bij semdif aantal gradaties, bij constantsum te verdelen punten
 VraagArray[Vraagnummer][4]: Standaard-vervolgvraagnummer (integer)
 VraagArray[Vraagnummer][5]: Loopstarter (0 = Nee, 1 = Altijd vragen, 2 = Alleen bij loop 0 vraag stellen, bij overige loops antwoord eerste keer gebruiken)
 VraagArray[Vraagnummer][6]: Opties matrixvraag, ranking
 VraagArray[Vraagnummer][7]: Gegeven antwoord (loop-vragen)
 VraagArray[Vraagnummer][8]: Minimum aantal antwoorden (Voor checkbox, staat in vraag als var 5)
 VraagArray[Vraagnummer][9]: Startwaarde voor constantsum-antwoorden
 VraagArray[Vraagnummer][10]: Teksten verplicht invullen
 VraagArray[Vraagnummer][11]: Witregelposities (in vraagdefinitie opgegeven als |-delimited met afsluitende tab)

Antwoorden
 AntwoordArray[Vraagnummer][Antwoordnummer][0]: Antwoordtekst (string)
 AntwoordArray[Vraagnummer][Antwoordnummer][1]: Vervolgvraagnummer (integer)
 AntwoordArray[Vraagnummer][Antwoordnummer][2]: Namelijk-optie (0/1/2/3)
 AntwoordArray[Vraagnummer][Antwoordnummer][3]: Format
 AntwoordArray[Vraagnummer][Antwoordnummer][4]: Tekst voor gebruik in loop
 AntwoordArray[Vraagnummer][Antwoordnummer][5]: Switch voor gray/black-out antwoord (2/3 (bit 2 aan en bit voor switch gray/black)) en verplicht invullen (bit 3 aan) (m.u.v. conditional)
 AntwoordArray[Vraagnummer][Antwoordnummer][6]: Tab-delimited condities voor gray/black-out


Gegeven antwoorden:
 [0]: Gegeven antwoord (string: Radio:nr, Checkbox:1001010, Text:string, Matrix:31452, Remark:nvt, Ranking:12345, Semdif:13252,  Dropdown:nr) evt gevolgd door namelijk-antwoorden
 [1]: Antwoord definitief (ja/nee) nee wanneer teruggebladerd is en de vraag daarna niet nog eens gesteld is
 [2]: Pointer naar array van vervolgvragen (1 loopniveau dieper)

*/

var VraagArray=new Array(0),AntwoordArray=new Array(0),AQ=0,GaNaar="",VN=0,AN=0,EnqueteNummer="",VerderTekst="",TerugTekst="",TopDivContent="",BottomDivContent="",AfsluitText="";
var rtfFont='arial,verdana,sans-serif';
var rtfSize='100%';
var rtfBackground='#FFF';
var rtfColor='#000';
var Header='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html><head><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" ><style type="text/css">p{margin:0}ul,ol{margin-top:0;padding-top:0;margin-bottom:0;padding-bottom:0}body{font:100% arial,verdana,sans-serif;background:#FFF;color:#000;text-align:left;padding:100px}.b{font:100% arial,verdana,sans-serif;background:#CCC;color:#000}td{text-align:left}table{width:100%}a:link img,a:hover img,a:visited img,a:active img{border:none}.hidden{display:none}.visible{display:block}</style><meta http-equiv="cache-control" content="no-store"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>';
var EnqueteNummer="";
var TerugTekst="";
var VerderTekst="Verder";
var VoortgangNummering=false;
var TopDivContent="";
var BottomDivContent="";
var TestRunning=false;
var Language="NL";
var DefaultLanguage="NL";
var Dividers=0;
var ByEmail=0;
var Separator="\t";
var ConditieSeparator="-=(conditional)=-";
var FilesSeparator="|";
var Anonymous="";
var AfsluitText="";
var MaxVragen=99999999;
var SurveyClosed=0;
var Feedback=0;
var tekst="";
var RTFActive=false;
var redirectUserpage="";
var BuggyIE=(document.all && !document.querySelector); /* Aren't they all buggy? */

/********************************** Vertalingen ***********************************/

var Messages=new Array(0);
Messages["NL"]=new Array(0);
Messages["EN"]=new Array(0);
Messages["FR"]=new Array(0);
Messages["DE"]=new Array(0);

/* Tekst voor Start-button */
Messages["NL"]["Start"]="Start";
Messages["EN"]["Start"]="Start";
Messages["FR"]["Start"]="D&eacute;marrer";
Messages["DE"]["Start"]="Umfrage beginnen";

/* Foutmelding Nog geen anders-nl antwoord gegeven */
Messages["NL"]["GeenAndersAntwoordGegeven"]="Er is een antwoord gekozen waarbij nog geen tekstantwoord is gegeven. Vul svp een tekstantwoord in.";
Messages["EN"]["GeenAndersAntwoordGegeven"]="An answer with an empty textfield has been chosen. Please give an answer in the textfield.";
Messages["FR"]["GeenAndersAntwoordGegeven"]="Une r&eacute;ponse a &eacute;t&eacute; choisi qui a un champ de texte vide. S'il vous pla&icirc;t donner une r&eacute;ponse dans le champ de texte.";
Messages["DE"]["GeenAndersAntwoordGegeven"]="Eine Antwort mit einem leeren Textfeld wurde ausgew&auml;hlt. Bitte geben Sie eine Antwort in das Textfeld ein.";

/* Foutmelding Nog geen antwoord gegeven */
Messages["NL"]["GeenAntwoordGegeven"]="Er is nog geen antwoord gegeven. Vul svp uw keuze in.";
Messages["EN"]["GeenAntwoordGegeven"]="No answer has been given. Please select an option.";
Messages["FR"]["GeenAntwoordGegeven"]="Il manque une r&eacute;ponse. Veuillez indiquer votre choix SVP.";
Messages["DE"]["GeenAntwoordGegeven"]="Sie haben noch keine Antwort angegeben.";

/* Foutmelding numeriek antwoord buiten anders-nl-range gegeven */
Messages["NL"]["AndersNumeric1"]="Geef svp een antwoord tussen ";
Messages["EN"]["AndersNumeric1"]="Please give an answer between ";
Messages["FR"]["AndersNumeric1"]="S'il vous pla&icirc;t donner une r&eacute;ponse entre ";
Messages["DE"]["AndersNumeric1"]="Bitte geben Sie eine Antwort zwischen ";

Messages["NL"]["AndersNumeric2"]=" en ";
Messages["EN"]["AndersNumeric2"]=" and ";
Messages["FR"]["AndersNumeric2"]=" et ";
Messages["DE"]["AndersNumeric2"]=" und ";

Messages["NL"]["AndersNumeric3"]=" met maximaal ";
Messages["EN"]["AndersNumeric3"]=" with up to ";
Messages["FR"]["AndersNumeric3"]=" avec un maximum de ";
Messages["DE"]["AndersNumeric3"]=" mit bis zu ";

Messages["NL"]["AndersNumeric4"]=" decimalen.";
Messages["EN"]["AndersNumeric4"]=" decimal places.";
Messages["FR"]["AndersNumeric4"]=" d&eacute;cimales.";
Messages["DE"]["AndersNumeric4"]=" Nachkommastellen.";

/* Foutmelding Tenminste een vraag nog geen antwoord gegeven */
Messages["NL"]["NietAllesBeantwoord"]="Op tenminste &eacute;&eacute;n van de vragen is nog geen antwoord gegeven. Vul svp uw keuze in.";
Messages["EN"]["NietAllesBeantwoord"]="At least one of the questions has not been answered. Please answer all questions.";
Messages["FR"]["NietAllesBeantwoord"]="Il manque une r&eacute;ponse à au moins une des questions. Veuillez indiquer votre choix SVP.";
Messages["DE"]["NietAllesBeantwoord"]="Sie haben eine oder mehrere Fragen nicht beantwortet.";

/* Foutmelding Antwoord niet toegekend */
Messages["NL"]["AntwoordNietToegekend"]="Tenminste &eacute;&eacute;n van de antwoorden is niet toegekend. Vul svp uw keuze in.";
Messages["EN"]["AntwoordNietToegekend"]="At least one of the answers has not been assigned. Please assign all answers.";
Messages["FR"]["AntwoordNietToegekend"]="Une des r&eacute;ponses au moins n'a pas &eacute;t&eacute; attribu&eacute;&eacute;. Veuillez indiquer votre choix SVP.";
Messages["DE"]["AntwoordNietToegekend"]="Mindestens eine Ihrer Antworten ist fehlerhaft.";

/* Foutmelding Maximum aantal antwoorden overschreden */
Messages["NL"]["MaximumOverschreden"]=new Array("U kunt maximaal "," antwoorden invullen. Pas svp uw keuzes aan.");
Messages["EN"]["MaximumOverschreden"]=new Array("You can check "," answers at most. Please adapt your choices.");
Messages["FR"]["MaximumOverschreden"]=new Array("Vous ne pouvez donner qu&#39;un maximum de "," r&eacute;ponses. Veuillez adapter vos choix SVP.");
Messages["DE"]["MaximumOverschreden"]=new Array("Sie k&ouml;nnen maximal "," Antworten angeben.");

/* Foutmelding Minimum aantal antwoorden niet gegeven */
Messages["NL"]["MinimumNietGeantwoord"]=new Array("U moet minimaal "," antwoorden invullen. Pas svp uw keuzes aan.");
Messages["EN"]["MinimumNietGeantwoord"]=new Array("You must check at least "," answers. Please adapt your choices.");
Messages["FR"]["MinimumNietGeantwoord"]=new Array("Vous faut donner au minimum "," r&eacute;ponses. Veuillez adapter vos choix SVP.");
Messages["DE"]["MinimumNietGeantwoord"]=new Array("Sie m&uuml;ssen mindestens "," Antworten angeben.");

/* Melding Enquete gesloten */
Messages["NL"]["Gesloten"]="Deze enqu&ecirc;te is be&euml;indigd.";
Messages["EN"]["Gesloten"]="This survey is closed.";
Messages["FR"]["Gesloten"]="l&#39;enqu&ecirc;te est arrive &agrave; son terme.";
Messages["DE"]["Gesloten"]="Die Umfrage wurde beendet.";

/* Constantsum niet volledig verdeeld */
Messages["NL"]["ConstantsumNietNul"]="Het totaal is niet volledig verdeeld";
Messages["EN"]["ConstantsumNietNul"]="The total has not been distributed completely";
Messages["FR"]["ConstantsumNietNul"]="Le total n'est past distribue completement";
Messages["DE"]["ConstantsumNietNul"]="Das total ist nicht völlig verteild";

/* Constantsum nog te verdelen */
Messages["NL"]["ConstantsumVerdelen"]="over";
Messages["EN"]["ConstantsumVerdelen"]="left";
Messages["FR"]["ConstantsumVerdelen"]="a distribuer";
Messages["DE"]["ConstantsumVerdelen"]="zu verteilen";

/* Melding Sluit deze Enquete */
Messages["NL"]["Sluiten"]="Sluit deze vragenlijst";
Messages["EN"]["Sluiten"]="Close this questionnaire";
Messages["FR"]["Sluiten"]="Cl&ocirc;turer cette questionnaire";
Messages["DE"]["Sluiten"]="Fragebogen beenden";

/* Melding Antwoorden ontvangen */
Messages["NL"]["Ontvangen"]="Dit is het einde van deze vragenlijst. Uw antwoorden zijn opgeslagen.";
Messages["EN"]["Ontvangen"]="This is the end of this questionnaire. Your answers have been saved.";
Messages["FR"]["Ontvangen"]="C'est la fin de ce questionnaire. Vos r&eacute;ponses ont &eacute;t&eacute; enregistr&eacute;es.";
Messages["DE"]["Ontvangen"]="Das ist das Ende dieses Fragebogens. Ihre Antworten wurden gespeichert.";

/* Melding Controleer uw antwoorden */
Messages["NL"]["UwAntwoorden"]="Controleer uw antwoorden";
Messages["EN"]["UwAntwoorden"]="Check your answers";
Messages["FR"]["UwAntwoorden"]="V&eacute;rifiez vos r&eacute;ponses";
Messages["DE"]["UwAntwoorden"]="&Uuml;berpr&uuml;fen SieIhre Antworten";

/* Terug naar uw account */
Messages["NL"]["TerugAccount"]="Terug naar uw account";
Messages["EN"]["TerugAccount"]="Back to your account";
Messages["FR"]["TerugAccount"]="";
Messages["DE"]["TerugAccount"]="Zurück zu Ihrem Konto";

/* Generiek maximum aantal files bereikt */
Messages["NL"]["MaxFiles"]="Het maximum van 16 bestanden (in totaal) is bereikt";
Messages["EN"]["MaxFiles"]="";
Messages["FR"]["MaxFiles"]="";
Messages["DE"]["MaxFiles"]="";

/* Maximum aantal files voor vraag bereikt */
Messages["NL"]["MaxFilesBereikt"]="Het maximum van ";
Messages["EN"]["MaxFilesBereikt"]="";
Messages["FR"]["MaxFilesBereikt"]="";
Messages["DE"]["MaxFilesBereikt"]="";

/* Maximum aantal files voor vraag bereikt, deel 2 */
Messages["NL"]["Bereikt"]=" bestanden is bereikt";
Messages["EN"]["Bereikt"]="";
Messages["FR"]["Bereikt"]="";
Messages["DE"]["Bereikt"]="";

/* Toevoegen */
Messages["NL"]["Toevoegen"]="Toevoegen";
Messages["EN"]["Toevoegen"]="";
Messages["FR"]["Toevoegen"]="";
Messages["DE"]["Toevoegen"]="";

/* Wissen */
Messages["NL"]["Wissen"]="Wissen";
Messages["EN"]["Wissen"]="";
Messages["FR"]["Wissen"]="";
Messages["DE"]["Wissen"]="";

/* Maximaal 1 Mb per bestand */
Messages["NL"]["Max1Mb"]="Max 1 Mb per bestand";
Messages["EN"]["Max1Mb"]="Up to 1 Mb per file";
Messages["FR"]["Max1Mb"]="jusqu&#39;&agrave; 1 Mo par fichier";
Messages["DE"]["Max1Mb"]="Bis zu 1 MB pro Datei";

/* LoopLevel */
Messages["NL"]["LoopLevel"]="Vragenlijst is niet compleet, informeer svp de afzender";
Messages["EN"]["LoopLevel"]="Questionlist is not complete, please inform sender";
Messages["FR"]["LoopLevel"]="l'enquête n'est pas complete, veuillez informer le expéditeur";
Messages["DE"]["LoopLevel"]="Fragenbogen ist nicht, bitte sender informieren";

/* Melding Creditsop */
Messages["NL"]["CreditOp"]="De maximale respons is bereikt. Informeer de afzender of probeer het later nog eens.";
Messages["EN"]["CreditOp"]="The maximum response has been achieved. Inform the sender or try again later.";
Messages["FR"]["CreditOp"]="La r&eacute;ponse maximale est atteinte. Informer l&#39;exp&eacute;diteur ou r&eacute;essayer plus tard.";
Messages["DE"]["CreditOp"]="Die maximale Reaktion ist erreicht. Informieren Sie den Absender oder versuchen Sie es sp&auml;ter erneut.";

/******************************* Einde vertalingen ********************************/

var Start='<body>'+TopDivContent+'<p style="margin-top:1em"><form><input type="button" name="start" class="b" onclick="this.disabled=true;parent.StartEnquete()" value="'+Messages[Language]["Start"]+'" /></form></p>'+BottomDivContent+'</body></html>';
var LoopLevel=0;
var loopstack=new Array();
var antwoordstack=new Array();
antwoordstack[0]=new Array();
antwoordstack[1]=new Array();
var LoopAntwoordTekst=new Array();
var SiteVersie="emailenquete";

var VraagBoom=new Array();
var boom=new Array();
var boomvraag=new Array();
var boomvraagantwoordlijst=new Array();
var boomvraagantwoordnummer=new Array();
var runcounter=new Array();
runcounter[0]=0;
var selStart;
var selEnd;

var Stack1=new Array();
var Stack2=new Array();
var Stack3=new Array();
var Stack4=new Array();
var Stack5=new Array();
var Stack6=new Array();
var Stack7=new Array();
var Stack8=new Array();
var Stack9=new Array();
var Stack10=new Array();
var Stack1Pos=0;

var AVN=0;

var BUStack1=new Array();
var BUStack2=new Array();
var BUStack3=new Array();
var BUStack4=new Array();
var BUStack5=new Array();
var BUStack6=new Array();
var BUStack7=new Array();
var BUStack8=new Array();
var BUStack9=new Array();
var BUStack10=new Array();
var BUStack1Pos=0;
var BULoopLevel=0;
var BUloopstack=new Array();
var BUantwoordstack=new Array();

function backupstacks(){
 BUStack1=Stack1.slice(0);
 BUStack2=Stack2.slice(0);
 BUStack3=Stack3.slice(0);
 BUStack4=Stack4.slice(0);
 BUStack5=Stack5.slice(0);
 BUStack6=Stack6.slice(0);
 BUStack7=Stack7.slice(0);
 BUStack8=Stack8.slice(0);
 BUStack9=Stack9.slice(0);
 BUStack10=Stack10.slice(0);
 BUStack1Pos=Stack1Pos;
 BULoopLevel=LoopLevel;
 BUloopstack=loopstack.slice(0);
 BUantwoordstack=antwoordstack.slice(0);
}

function restorestacks(){
 Stack1=BUStack1.slice(0);
 Stack2=BUStack2.slice(0);
 Stack3=BUStack3.slice(0);
 Stack4=BUStack4.slice(0);
 Stack5=BUStack5.slice(0);
 Stack6=BUStack6.slice(0);
 Stack7=BUStack7.slice(0);
 Stack8=BUStack8.slice(0);
 Stack9=BUStack9.slice(0);
 Stack10=BUStack10.slice(0);
 Stack1Pos=BUStack1Pos;
 LoopLevel=BULoopLevel;
 loopstack=BUloopstack.slice(0);
 antwoordstack=BUantwoordstack.slice(0);
}

function push(CurrentVraagNummer){
 Stack1[++Stack1Pos]=CurrentVraagNummer;
 Stack2[Stack1Pos]=boom[LoopLevel];
 Stack3[Stack1Pos]=boomvraag[LoopLevel];
 Stack4[Stack1Pos]=boomvraagantwoordlijst[LoopLevel];
 Stack5[Stack1Pos]=boomvraagantwoordnummer[LoopLevel];
 Stack6[Stack1Pos]=LoopLevel;
 var temp=antwoordstack[LoopLevel].slice();
 Stack7[Stack1Pos]=temp;
 var temp=loopstack.slice();
 Stack8[Stack1Pos]=temp;
 var temp=LoopAntwoordTekst[LoopLevel];
 Stack9[Stack1Pos]=temp;
 Stack10[Stack1Pos]=runcounter[LoopLevel];
}

function pop(){
 if(Stack1Pos>1)Stack1Pos--;
 LoopLevel=Stack6[Stack1Pos];
 boom[LoopLevel]=Stack2[Stack1Pos];
 boomvraag[LoopLevel]=Stack3[Stack1Pos];
 boomvraagantwoordlijst[LoopLevel]=Stack4[Stack1Pos];
 boomvraagantwoordnummer[LoopLevel]=Stack5[Stack1Pos];
 antwoordstack[LoopLevel]=Stack7[Stack1Pos];
 loopstack=Stack8[Stack1Pos];
 LoopAntwoordTekst[LoopLevel]=Stack9[Stack1Pos]; 
 runcounter[LoopLevel]=Stack10[Stack1Pos];
 while(VraagArray[Stack1[Stack1Pos]][0]=="endloop"||(VraagArray[Stack1[Stack1Pos]][5]==2&&runcounter[LoopLevel]!=0)){
  Stack1Pos--;
  LoopLevel=Stack6[Stack1Pos];
  boom[LoopLevel]=Stack2[Stack1Pos];
  boomvraag[LoopLevel]=Stack3[Stack1Pos];
  boomvraagantwoordlijst[LoopLevel]=Stack4[Stack1Pos];
  boomvraagantwoordnummer[LoopLevel]=Stack5[Stack1Pos];
  antwoordstack[LoopLevel]=Stack7[Stack1Pos];
  loopstack=Stack8[Stack1Pos];
  LoopAntwoordTekst[LoopLevel]=Stack9[Stack1Pos]; 
  runcounter[LoopLevel]=Stack10[Stack1Pos];
 }
 boom[LoopLevel][boomvraag[LoopLevel]][1]=0;
 return(Stack1Pos==1?1:Stack1[Stack1Pos--]);
}

function pushloop(aa){
 LoopLevel++;
 loopstack.push(aa);
 antwoordstack[LoopLevel+1]=new Array();
 boomvraagantwoordlijst[LoopLevel]=boom[LoopLevel-1][boomvraag[LoopLevel-1]-1][2];
 boomvraagantwoordnummer[LoopLevel]=0;
 boomvraag[LoopLevel]=0;
 runcounter[LoopLevel]=0;
}

function peekloop(){
 return loopstack[loopstack.length-1]; 
}

function poploop(){
 LoopLevel--;
 return loopstack.pop();
}

function pushantwoord(aa){
 antwoordstack[LoopLevel+1].push(aa);
}

function peekantwoord(){
 if(antwoordstack[LoopLevel].length<=0)return false; else return antwoordstack[LoopLevel][antwoordstack[LoopLevel].length-1];
}

function popantwoord(){
 if(antwoordstack[LoopLevel].length<=0){
  return false;
 }else{
  runcounter[LoopLevel]++;
  boomvraag[LoopLevel]=0;
  return antwoordstack[LoopLevel].pop();
 }
}

function writestart(actie){
 if(Language=="")Language=DefaultLanguage;
 main.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html><head><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" ><title></title><meta http-equiv="cache-control" content="no-store" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body><form id="Enquete" action="'+actie+'" method="post" target="_parent"><input type="hidden" name="Deelnemer" size=200 value="" /><input type="hidden" name="Enquetenummer" size=10 value="" /><input type="hidden" name="Respons" size=640000 value="" /></form><form id="MailEnquete" action="readmail.php" method="post"></form></body></html>');
 with(show.document){
  write(Header);
  write(Start);
  close(); 
 }
}

function init(){
 if(SurveyClosed==0)writestart("http://"+location.hostname+"/result.php");
 else closed();
}

function initeval(){
 if(SurveyClosed==0)writestart("http://"+location.hostname+"/evaluate.php");
 else closed();
}

function initevalnc(){
 initeval();
}

function initdownloaded(){
 if(SurveyClosed==0)writestart("http://"+location.hostname+"/result.php");
 else closed();
}

function initnc(){
 if(SurveyClosed==0)writestart("http://"+location.hostname+"/resultnc.php");
 else closed();
}

function initvv(){
 if(SurveyClosed==0)writestart("http://"+location.hostname+"/resultvv.php");
 else closed();
}

function initem(){
 if(SurveyClosed==0){
  writestart("");
  ByEmail=1;
 }else closed();
}

function initam(){
 if(SurveyClosed==0){
  writestart("");
  ByEmail=1;
  Anonymous="ANONYMOUS";
 }else closed();
}

function test(){
 Start=replace(Start,'</body></html>','<p><form action="account.php" method="post" target="_top" style="position:fixed;top:10px;left:10px;z-index:9999"><input type="hidden" name="enquetecode" value="'+EnqueteNummer+'"><input type="button" value="'+Messages[Language]["TerugAccount"]+'" onclick="submit()" /></form></p></body></html>');
 writestart("http://"+location.hostname+"/test.php");
 TestRunning=true;
}

function testformnm(){
 Start=replace(Start,'</body></html>','<p><form action="account.php" method="post" target="_top" style="position:fixed;top:10px;left:10px;z-index:9999"><input type="hidden" name="enquetecode" value="'+EnqueteNummer+'"><input type="button" value="'+Messages[Language]["TerugAccount"]+'" onclick="submit()" /></form></p></body></html>');
 writestart("http://"+location.hostname+"/formtestnm.php");
 TestRunning=true;
}


function replace(S,C,B){
 L=S.length;
 T=C.length;
 if((L==0)||(T==0))return S;
 i=S.indexOf(C);
 if((!i)&&(C!=S.substring(0,T)))return S;
 if(i==-1)return S;
 ns=S.substring(0,i)+B;
 if(i+T<L)ns+=replace(S.substring(i+T,L),C,B);
 return ns;
}

function alerthtml(htmlstring){
 workstring=replace(htmlstring,"&aacute;","á");
 workstring=replace(workstring,"&agrave;","à");
 workstring=replace(workstring,"&egrave;","è");
 workstring=replace(workstring,"&eacute;","é");
 workstring=replace(workstring,"&ecirc;","ê");
 workstring=replace(workstring,"&euml;","ë");
 workstring=replace(workstring,"&iuml;","ï");
 workstring=replace(workstring,"&ouml;","ö");
 workstring=replace(workstring,"&uuml;","ü");
 alert(workstring);
}

function getFont(FontNr){
 switch(FontNr){
  case 2: return "verdana,arial,sans-serif";break;
  case 3: return "garamond,'times new roman','courier new',serif";break;
  case 4: return "'courier new',garamond,'times new roman',serif";break;
  case 5: return "'times new roman',garamond,'courier new',serif";break;
  case 6: return "simpson,bangle,sans-serif";break;
  case 7: return "'signet roundhand',script,cursive";break;
  case 8: return "'comic sans ms',verdana,sans-serif";break;
  default: return "arial,verdana,sans-serif";
 }
}

function resetquot(s){
 return replace(s,"&quot;",'"');
}

function getatt(istr,att){
 var cistr=istr.toLowerCase();
 var attstart=cistr.indexOf(att);
 var srchstr=cistr.substr(attstart,20).replace(/ /gi,"");
 if(attstart!=-1){
  attdel=srchstr.substr(srchstr.indexOf(att+"=")+att.length+1,1);
  delfirst=cistr.indexOf(attdel,attstart);
  delnext=cistr.indexOf(attdel,delfirst+1);
  srctext=" "+att+"="+istr.substring(delfirst,delnext+1);
 }else srctext="";
 return srctext;
}

function loseIEbreaks(htmlstr){
 var a=htmlstr.replace(/<(br|br \/)><(li|ol|ul)>/ig,"<$2>");
 a=a.replace(/(\r|\n)/g,"");
 var firefox=1;
 try{
  if(firefox.toSource()){
   lasttagstart=a.lastIndexOf("<");
   IsBr=(a.substr(lasttagstart+1,2).toLowerCase()=="br");
   lasttagend=a.indexOf(">",lasttagstart);
   Laatste=(a.substr(lasttagend+1,a.length)=="");
   if(IsBr&&Laatste)a=a.substr(0,lasttagstart);
  }
 }catch(err){}
 return a;
}

function safehtml(istr){
 if(istr.indexOf("<",istrpos)==-1)return istr;
 var nstr="";
 var istrpos=0;
 var nextstrpos=0;
 var selfclosing=false;
 var notag=false;
 var tag="";
 var tagend=0;
 var tagendend=0;
 var nextend=0;
 var nextendend=0;
 var nextsame=0;
 while((nextstrpos=(istr.indexOf("<",istrpos)))!=-1){
  nstr+=istr.substring(istrpos,nextstrpos);
  tagend=istr.indexOf(" ",nextstrpos);
  tagendend=istr.indexOf(">",nextstrpos);
  if(tagend>tagendend||tagend==-1)tagend=tagendend;
  tag=istr.substring(nextstrpos+1,tagend).toLowerCase();
  nextend=istr.toLowerCase().indexOf("</"+tag+">",nextstrpos);
  nextsame=istr.toLowerCase().indexOf("<"+tag,nextstrpos+1);
  if(nextsame<nextend&&nextsame!=-1){
   var nextsamecounter=1;
   while(nextsamecounter>0){
    if(nextsame!=-1&&nextsame<nextend){
     nextstrpos=nextsame;
     nextsame=istr.toLowerCase().indexOf("<"+tag,nextstrpos+1); 
     nextsamecounter++;
    }else{
      if(nextend!=-1)nextstrpos=nextend;
     nextend=istr.toLowerCase().indexOf("</"+tag+">",nextstrpos+1);
     nextsamecounter--;
    }
   }
   nextend=nextstrpos;
  }
  nextendend=istr.indexOf(">",nextend)+1;
  selfclosing=false;
  notag=false;
  if(nextend==-1){
   if(tag=="br"||tag=="img"){
    nextendend=nextend=tagendend+1;
    selfclosing=true;
   }else notag=true;
  }
  if(notag){
   nstr+="&lt;";
   istrpos=nextendend=nextstrpos+1;
  }else{
   var tagcontent=istr.substring(tagendend+1,nextend);
   var tagatts=istr.substring(tagend,tagendend);
   istrpos=nextendend;
   var validtag=true;
   switch(tag){
    case "p": 
    case "li":
    case "ul":
    case "ol":
    case "span":
    case "div":
    case "b":
    case "i":
    case "em":
    case "u":
    case "strong":
    case "br":
     nstr+="<"+tag;
     break;
    case "img": 
     attstart=getatt(tagatts,"src");
     if(attstart!=""){
      nstr+="<"+tag;
      nstr+=attstart;
     }else validtag=false;
     break;
    case "a":
     attstart=getatt(tagatts,"href");
     if(attstart!=""){
      nstr+="<"+tag;
      nstr+=attstart;
      nstr+=getatt(tagatts,"target");
     }else validtag=false;
     break;
    default: 
     validtag=false;
   }
   nstr+=getatt(tagatts,"style");
   if(!validtag)nstr+="&lt;"+istr.substring(nextstrpos+1,tagendend);
   if(selfclosing)nstr+=" /";
   nstr+=">";
   if(tagcontent!="")nstr+=safehtml(tagcontent);
   if(validtag){
    if(!selfclosing)nstr+="</"+tag+">";
   }else nstr+="&lt;"+istr.substring(nextend+1,nextendend);
  }
 }
 nstr+=istr.substring(nextendend,istr.length);
 return nstr;
} 

function Opmaak(EnqNr,NextQ,PrevQ,Nummers,BodyFontSize,BodyFontType,BodyBackground,BodyColor,BodyAlign,ButtonFontSize,ButtonFontType,ButtonBackground,ButtonColor,Div1Color,Div1Background,Div1Font,Div1Size,Div1content1,Div1content2,Div1content3,Div2Color,Div2Background,Div2Font,Div2Size,Div2content1,Div2content2,Div2content3,HR1size,HR1color,HR2size,HR2color,Terugkoppeling){
 Header='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" ><title></title><style type="text/css">p{margin:0}ul,ol{margin-top:0;padding-top:0;margin-bottom:0;padding-bottom:0}';
 rtfFont=getFont(BodyFontType);
 rtfSize=BodyFontSize+'% ';
 rtfBackground=BodyBackground;
 rtfColor=BodyColor;
 Header+='body{font:'+BodyFontSize+'% '+getFont(BodyFontType)+';background:'+BodyBackground+';color:'+BodyColor+';text-align:'+BodyAlign+';padding:50px 100px}';
 Header+='textarea{font:'+BodyFontSize+'% '+getFont(BodyFontType)+'}';
 Header+='.b{font:'+ButtonFontSize+'% '+getFont(ButtonFontType)+';background:'+ButtonBackground+';color:'+ButtonColor+'}';
 Header+='td{text-align:left}table{width:100%;font:inherit}a:link img,a:hover img,a:visited img,a:active img{border:none}.hidden{display:none}.visible{display:block}</style><meta http-equiv="cache-control" content="no-store"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>';
 EnqueteNummer=EnqNr;
 TerugTekst=PrevQ;
 VerderTekst=NextQ;
 VoortgangNummering=(Nummers=="0"?false:(Nummers=="none"?false:true));
 TopDivContent='<table style="width:100%;color:'+Div1Color+';background:'+Div1Background+';font:'+Div1Size+'% '+getFont(Div1Font)+'"><tr><td style="padding:0;text-align:left;width:33%">'+resetquot(Div1content1)+'</td><td style="padding:0;text-align:center;width:33%">'+resetquot(Div1content2)+'</td><td style="padding:0;text-align:right;width:33%">'+resetquot(Div1content3)+'</td></tr></table><div style="width:100%;margin:5px 0;height:'+HR1size+';color:'+HR1color+';background:'+HR1color+'"><span style="height:0px"></span></div>';
 BottomDivContent='<div style="width:100%;margin:5px 0;height:'+HR2size+';color:'+HR2color+';background:'+HR2color+'"><span style="height:0px"></span></div><table style="width:100%;color:'+Div2Color+';background:'+Div2Background+';font:'+Div2Size+'% '+getFont(Div2Font)+'"><td style="padding:0;text-align:left;width:33%">'+resetquot(Div2content1)+'</td><td style="padding:0;text-align:center;width:33%">'+resetquot(Div2content2)+'</td><td style="padding:0;text-align:right;width:33%">'+resetquot(Div2content3)+'</td></tr></table>';
 if(MaxVragen<=5){
  extensie=window.location.hostname.split(".")[2];
  BottomDivContent+='<div style="width:100%;text-align:center;padding:10px 0 0 0"><a href="http://www.emailenquete.';
  BottomDivContent+=extensie;
  BottomDivContent+='" target="_blank"><img src="banner';
  BottomDivContent+=extensie;
  BottomDivContent+='.gif" width="468" height="60"></a><br /><span style="font-size:70%">Clicking the ad opens a new window</span></div>';
 }
 Feedback=(Terugkoppeling?Terugkoppeling:0);
}

function InleidingTekst(a){
 Start='<body>'+TopDivContent+'<p>'+safehtml(resetquot(a))+'</p><p style="margin-top:1em"><form><input type="button" name="start" class="b" onclick="this.disabled=true;parent.StartEnquete()" value="';
 Start+=Messages[Language]["Start"];
 Start+='" /></form></p>'+BottomDivContent+'</body></html>';
}

function Vraag(Nr,Soort,Tekst,Maximum,Vervolg,Keuzes,Jumploop,Verplicht,Witregels){
 VraagArray[Nr]=new Array(0);
 VraagArray[Nr][0]=Soort.toLowerCase();
 VraagArray[Nr][1]=Tekst;
 VraagArray[Nr][2]=0;
 VraagArray[Nr][3]=Maximum;
 VraagArray[Nr][4]=(Vervolg==99999999?Nr+1:Vervolg);
 VraagArray[Nr][5]=0;
 VraagArray[Nr][6]=(VraagArray[Nr][0]!="checkbox"?(Keuzes?Keuzes:""):""); 
 VraagArray[Nr][7]=0;
 if(Verplicht)VraagArray[Nr][10]=Verplicht;else VraagArray[Nr][10]=0;
 if(Witregels)VraagArray[Nr][11]=(Witregels==""||Witregels==" |"?false:Witregels);else VraagArray[Nr][11]=false;
 switch(VraagArray[Nr][0]){
  case "constantsum":
   LaagHoog=Keuzes.split("\t");
   VraagArray[Nr][8]=1*LaagHoog[0];
   VraagArray[Nr][6]=1*LaagHoog[1];
   VraagArray[Nr][9]=Jumploop;
   break;
  case "checkbox":
  case "loopcheckbox":
   VraagArray[Nr][8]=(Keuzes?(isNaN(Keuzes)?0:Keuzes):0);
   break;
  case "conditional":
   VraagArray[Nr][3]=(Maximum==99999999?Nr+1:Maximum);
   break;
  case "upload":
   if(VraagArray[Nr][3]<1)VraagArray[Nr][3]=1;
   if(VraagArray[Nr][3]>16)VraagArray[Nr][3]=16;
   break;
  default:
   VraagArray[Nr][8]=0;
 }
 if(VraagArray[Nr][0]=="loopcheckbox"||VraagArray[Nr][0]=="loopranking"){
  VraagArray[Nr][5]=(Jumploop==0?1:2);
 }
 AntwoordArray[Nr]=new Array(0);
 VN=Nr;
 AN=0;
}

function evaluateconditie(SepDelimitedString){
 var ConditieArray=SepDelimitedString.split(ConditieSeparator);
 var AantalCondities=(ConditieArray.length-1)/6;
 var conditiewaarde="";
 var andor="&&";
 for(acj=0;acj<AantalCondities;acj++){
  var ConditieVraag=ConditieArray[acj*6];
  var ConditieAntwoord=ConditieArray[acj*6+2];
  var EerderGegevenAntwoord=getanswerbyquestion(ConditieVraag)+"";
  var EGA=EerderGegevenAntwoord;
  var EGAArray=false;
  var VA=0;
  if(EerderGegevenAntwoord.indexOf(Separator)>-1){
   EGAArray=EerderGegevenAntwoord.split(Separator);
   EGA=EGAArray[0];
  }
  if(ConditieArray[acj*6+1]==1){
   switch(VraagArray[ConditieVraag][0]){
    case "loopcheckbox":
    case "checkbox":
     VA=0;
     for(var z=0;z<EGA.length;z++)VA+=1*EGA.substr(z,1);
     break;
    case "checkmatrix":
     VA=0;
     for(var z=0;z<EGA.length;z++)VA+=(EGA.substr(z,1)=="."?0:1);
     break;
    default:
     VA=0;
   }
  }else{
   switch(VraagArray[ConditieVraag][0]){
    case "radio":
    case "dropdown":
     VA=code2nr(EGA);
     break;
    case "text":
     VA=(EGA=="."?0:EGA.length);
     break;
    case "multitext":
     if(EGAArray)VA=(EGAArray[ConditieAntwoord]=="."?0:EGAArray[ConditieAntwoord].length);
     else VA=0;
     break;
    case "constantsum":
     if(EGAArray)VA=(EGAArray[ConditieAntwoord-1]=="."?-1:EGAArray[ConditieAntwoord-1]);
     else VA=0;
     break;
    case "loopcheckbox":
    case "checkbox":
     ap=ConditieArray[acj*6+2]-1;
     VA=(EGA.substr(ap,1)=="."?0:EGA.substr(ap,1));
     break;
    case "matrix":
    case "checkmatrix":
    case "ranking":
    case "loopranking":
     VA=code2nr(EGA.substr(ConditieAntwoord-1,1))-1;
     if(VA<-1)VA=-1;
     break;
    case "semdif":
     VA=code2nr(EGA.substr(ConditieAntwoord-1,1));
     if(VA<-1)VA=-1;
     break;
    default:
     VA=code2nr(EGA.substr(ConditieAntwoord-1,1));
   }
  }
  var dezeoperator=ConditieArray[acj*6+3];
  if(dezeoperator=="="||dezeoperator=="!")dezeoperator+="=";
  dezeconditiewaarde=VA+dezeoperator+ConditieArray[acj*6+4];
  switch(ConditieArray[acj*6+5].toUpperCase()){
   case "OR":
    andor="||";
    break;
   default:
    andor="&&";
  }
  conditiewaarde+=eval(dezeconditiewaarde)+(acj<AantalCondities-1?" "+andor+" ":""); 
 }
 return eval(conditiewaarde);
}

function Antwoord(Tekst,Vervolg,Namelijk,LoopTekst,Verplicht,format){
 AntwoordArray[VN][++AN]=new Array(0);
 AntwoordArray[VN][AN][0]=Tekst;
 AntwoordArray[VN][AN][1]=(Vervolg==99999999?VraagArray[VN][4]:(VraagArray[VN][0]=="radio"?Vervolg:VraagArray[VN][4]));
 AntwoordArray[VN][AN][2]=Namelijk;
 AntwoordArray[VN][AN][3]=(typeof(format)!="undefined"?format:"");
 Conditie=Verplicht+"";
 if(Conditie.indexOf("|")!=-1){
  VerplichtArray=Conditie.split("|");
  AntwoordArray[VN][AN][5]=VerplichtArray[0];
  AntwoordArray[VN][AN][6]=VerplichtArray[1];
 }else{
  AntwoordArray[VN][AN][5]=Verplicht;
  AntwoordArray[VN][AN][6]=0;
 }
 switch(VraagArray[VN][0]){
  case "loopcheckbox":
  case "loopranking":
   AntwoordArray[VN][AN][4]=(LoopTekst==""?Tekst:LoopTekst);
   break;
  case "conditional":
   AntwoordArray[VN][AN][4]=(LoopTekst==""?"=":LoopTekst);
   break;  
  default:
   AntwoordArray[VN][AN][4]="";
 }
 VraagArray[VN][2]++;
}

function AfsluitTekst(Tekst){
 AfsluitText=Tekst;
}

function buildantwoordboom(){
 AVN++;
 var Antwoordlist=new Array();
 while(AVN<VraagArray.length&&VraagArray[AVN][0]!="endloop"){
  var x=new Array(".",0,null,AVN);
  Antwoordlist.push(x);
  if(VraagArray[AVN][0]=="loopcheckbox"||VraagArray[AVN][0]=="loopranking"){
   var curpos=Antwoordlist.length-1;
   Antwoordlist[curpos][2]=new Array(); 
   var Antwoordcount=VraagArray[AVN][2];
   var AVNBackup=AVN;
   for(var x=0;x<Antwoordcount;x++){
    AVN=AVNBackup;
    Antwoordlist[curpos][2][x]=buildantwoordboom();
   }
  }
  AVN++;
 }
 return Antwoordlist;
}

function returnantwoordlist(b,s){
 var u="";
 for(var x=0;x<b.length;x++){
  ra="";
  switch(VraagArray[b[x][3]][0]){
   case "multitext":
    ra+=Separator;
   case "constantsum":
    ra+=".";
    for(g=1;g<VraagArray[b[x][3]][2];g++)ra+=Separator+".";
    break;
   case "radio":
   case "checkbox":
   case "loopcheckbox":
    ra=".";
    for(g=1;g<=VraagArray[b[x][3]][2];g++)if(AntwoordArray[b[x][3]][g][2]>0)ra+=Separator+".";
    break;
   default:ra=".";
  }
  switch(VraagArray[b[x][3]][0]){
   case "remark":
   case "conditional":
    break;
   case "upload":
    rax=b[x][0].split(FilesSeparator);
    raxn=(rax.length-1)/2;
    rau="";
    for(y=0;y<raxn;y++){
     if(y>0)rau+=", ";
     rau+=rax[y*2+1];
    }
    u+=s+rau;
    break;
   default:u+=s+(b[x][1]==1?b[x][0]:ra);
  }
  if(b[x][2] instanceof Array)for(var y=0;y<b[x][2].length;y++)u+=returnantwoordlist(b[x][2][y],s);
 }
 return u;
}

function returnantwoorden(sep){
 return returnantwoordlist(VraagBoom,sep);
}

function gotovraag(NV){
 if(NV!=0&&NV<AQ&&VraagArray[NV][0]!="endloop"){
  if(boomvraag[LoopLevel]>=boom[LoopLevel].length)boomvraag[LoopLevel]=0;
  if(NV>=(AQ-1)||boom[LoopLevel][boomvraag[LoopLevel]][3]!=NV){
   boomvraag[LoopLevel]=0;
   while(boom[LoopLevel][boomvraag[LoopLevel]][3]!=NV){
    boomvraag[LoopLevel]++;
   }
  }
 }
}

function SlaAntwoordOp(NV){
 VV=VraagArray[NV][4];
 DitAntwoord="";
 switch(VraagArray[NV][0]){
  case "dropdown":{
   DitAntwoord=show.document.getElementById('dropdownbox').value;
   break;
  }
  case "radio":{
   switch(VraagArray[NV][2]){
    case 0:DitAntwoord="0";break;
    case 1:if(show.document.forms[0].Antwoord.checked)DitAntwoord="1";VV=AntwoordArray[NV][1][1];break;
    default:for(r=0;r<VraagArray[NV][2];r++)if(show.document.forms[0].Antwoord[r].checked){DitAntwoord=r+1;VV=AntwoordArray[NV][r+1][1];}
   }
   break;
  }
  case "checkbox":{
   switch(VraagArray[NV][2]){
    case 0:DitAntwoord="0";break;
    case 1:if(show.document.forms[0].Antwoord.checked)DitAntwoord="1";else DitAntwoord="0";break;
    default:for(r=0;r<VraagArray[NV][2];r++)if(show.document.forms[0].Antwoord[r].checked)DitAntwoord+="1";else DitAntwoord+="0";
   }
   break;
  }
  case "loopcheckbox":{
   switch(VraagArray[NV][2]){
    case 0:DitAntwoord="0";break;
    case 1:if(show.document.forms[0].Antwoord.checked){DitAntwoord="1";pushantwoord(1)}else DitAntwoord="0";break;
    default:{
      while(antwoordstack[LoopLevel+1].length>0)antwoordstack[LoopLevel+1].pop();
      for(r=VraagArray[NV][2]-1;r>=0;r--)if(show.document.forms[0].Antwoord[r].checked)pushantwoord(r+1);
      for(r=0;r<VraagArray[NV][2];r++)if(show.document.forms[0].Antwoord[r].checked)DitAntwoord+="1";else DitAntwoord+="0"; 
    }
   }
   VraagArray[NV][7]=DitAntwoord;
   break;
  }
  case "constantsum":{
   switch(VraagArray[NV][2]){
    case 0:DitAntwoord="0";break;
    default:for(r=1;r<=VraagArray[NV][2];r++)DitAntwoord+=show.document.getElementById("constantsum"+r).value+(r<VraagArray[NV][2]?Separator:"");
   }
   break;
  }
  case "checkmatrix":{
   KeuzeString=VraagArray[NV][6];
   Keuzes=KeuzeString.split("\t");
   KN=Keuzes.length+1;
   for(j=1;j<=VraagArray[NV][2];j++){
    Valueassigned=false;
    Checkvar='Check'+j;
    if(show.document.getElementById(Checkvar).checked)for(k=1;k<KN;k++){
     thisobj=show.document.forms[0].elements[KN*(j-1)+k];
     if(thisobj.checked){
      DitAntwoord+=thisobj.value; 
      Valueassigned=true;
     }
    }
    if(!Valueassigned)DitAntwoord+='.';
   }
   break;
  }
  case "loopranking":{
   KeuzeString=VraagArray[NV][6];
   Keuzes=KeuzeString.split("\t");
   KN=Keuzes.length;
   for(j=1;j<=VraagArray[NV][2];j++){
    Valueassigned=false;
    for(k=0;k<KN;k++){
     thisobj=show.document.forms[0].elements[KN*(j-1)+k];
     if(thisobj.checked){
      DitAntwoord+=thisobj.value;
      Valueassigned=true;
     }
    }
    if(!Valueassigned)DitAntwoord+='.';
   }
   while(antwoordstack[LoopLevel+1].length>0)antwoordstack[LoopLevel+1].pop();
   for(w=KN;w>0;w--)pushantwoord(DitAntwoord.indexOf(w)+1);
   VraagArray[NV][7]=DitAntwoord;
   break;
  }
  case "matrix":
  case "ranking":{
   KeuzeString=VraagArray[NV][6];
   Keuzes=KeuzeString.split("\t");
   KN=Keuzes.length;
   for(j=1;j<=VraagArray[NV][2];j++){
    Valueassigned=false;
    for(k=0;k<KN;k++){
     thisobj=show.document.forms[0].elements[KN*(j-1)+k];
     if(thisobj.checked){
      DitAntwoord+=thisobj.value; 
      Valueassigned=true;
     }
    }
    if(!Valueassigned)DitAntwoord+='.';
   }
   break;
  }
  case "semdif":{
   KN=VraagArray[NV][3];
   for(j=1;j<=VraagArray[NV][2];j++)for(k=0;k<KN;k++){
    thisobj=show.document.forms[0].elements[KN*(j-1)+k];
    if(thisobj.checked)DitAntwoord+=thisobj.value; 
   }
   break;
  }
  case "text":{
   DitAntwoord=cleanstring(backupreturns(loseIEbreaks(show.document.forms[0].Antwoord.value)));
   break;
  }
  case "multitext":{
   for(j=1;j<=VraagArray[NV][2];j++)DitAntwoord+=Separator+cleanstring(show.document.getElementById("Namelijk"+j).value);
   break;
  }
  case "upload":{
   showtarget=(show.document.getElementById("ajaxtarget").contentDocument?show.document.getElementById("ajaxtarget").contentDocument:show.document.frames["ajaxtarget"].document);
   Uploadtabel=showtarget.getElementById('uploadtable');
   Uploadrows=Uploadtabel.childNodes.length;
   for(j=0;j<Uploadrows;j++){
    UploadRow=Uploadtabel.childNodes[j];
    UploadId=UploadRow.id.substr(2,UploadRow.id.length-2);
    UploadFilename=UploadRow.childNodes[0].innerHTML;
    UploadFilename=UploadFilename.substr(0,UploadFilename.length-18);
    DitAntwoord+=UploadId+FilesSeparator+UploadFilename+FilesSeparator;
   }
   break;
  }
 }
 gotovraag(NV);
 switch(VraagArray[NV][0]){
  case "radio":
  case "checkbox":
   for(j=1;j<=VraagArray[NV][2];j++)if(AntwoordArray[NV][j][2]>0){
    c=cleanstring(show.document.getElementById("Namelijk"+j).value);
    DitAntwoord+=Separator+(VraagArray[NV][2]==1?(show.document.forms[0].Antwoord.checked?c:"."):(show.document.forms[0].Antwoord[j-1].checked?c:"."));
   }
   break; 
  case "loopcheckbox":
   for(j=1;j<=VraagArray[NV][2];j++)if(AntwoordArray[NV][j][2]>0){
    c=cleanstring(show.document.getElementById("Namelijk"+j).value);
    DitAntwoord+=Separator+(VraagArray[NV][2]==1?(show.document.forms[0].Antwoord.checked?c:"."):(show.document.forms[0].Antwoord[j-1].checked?c:"."));
    if(VraagArray[NV][2]==1){
     if(show.document.forms[0].Antwoord.checked)AntwoordArray[NV][j][4]=AntwoordArray[NV][j][0]+" "+c;
    }else{
     if(show.document.forms[0].Antwoord[j-1].checked)AntwoordArray[NV][j][4]=AntwoordArray[NV][j][0]+" "+c;
    }
   }
   break;
  case "constantsum":
   for(j=1;j<=VraagArray[NV][2];j++)if(AntwoordArray[NV][j][2]>0){
    c=cleanstring(show.document.getElementById("Namelijk"+j).value);
    DitAntwoord+=Separator+c;
   }
   break;
  case "remark":
  case "conditional":
  case "multitext":
   break;
  default: for(j=1;j<=VraagArray[NV][2];j++)if(AntwoordArray[NV][j][2]>0)DitAntwoord+=Separator+"."; /* Backward compatibility */ 
 }
 boom[LoopLevel][boomvraag[LoopLevel]][0]=DitAntwoord;
 boom[LoopLevel][boomvraag[LoopLevel]][1]=1;
 boomvraag[LoopLevel]++;
 if(VraagArray[NV][0]=="loopcheckbox"||VraagArray[NV][0]=="loopranking")pushloop(NV);
 StelVraag(VV);
}

function AantalAntwoorden(a){
 var KG=0;
 switch(VraagArray[a][2]){
  case 0:KG=0;break;
  case 1:if(show.document.forms[0].Antwoord.checked)KG=1;break;
  default:for(r=0;r<VraagArray[a][2];r++)if(show.document.forms[0].Antwoord[r].checked)KG+=1;
 }
 return KG;
}

function AantalMogelijkeAntwoorden(a){
 var KG=VraagArray[a][2];
 switch(VraagArray[a][2]){
  case 1:if(show.document.forms[0].Antwoord.disabled)KG-=1;break;
  default:for(r=0;r<VraagArray[a][2];r++)if(show.document.forms[0].Antwoord[r].disabled)KG-=1;
 }
 return KG;
}

function restorereturns(d){
 return replace(d,"<br>","\n");
}

function backupreturns(d){
 return replace(d,"\n","<br>");
}

function cleanstring(d){
 b=replace(d,"\n"," ");
 c=replace(b,"\r","");
 b=replace(c,"\t"," ");
 c=replace(b,Separator,"");
 if(c=="")return "."; else return c;
}

function IsNumeric(sText,num){
 ValidChars="0123456789,-";
 if(ValidChars.indexOf(sText.charAt(0))==-1)return false;
 ValidChars="0123456789,";
 for(i=1;i<sText.length;i++)if(ValidChars.indexOf(sText.charAt(i))==-1)return false;
 na=num.split("\t");
 nn=sText.replace(",",".")*1;
 if(na[0]!="")if(nn<na[0]*1)return false;
 if(na[1]!="")if(nn>na[1]*1)return false;
 if(na[2]!=""){
  decs=sText.split(',');
  if(decs[1])if(decs[1].length>na[2]*1)return false;
 }
 return true;
}

function comparetoformat(format,inp){
 datecheck=false;
 for(i=0;i<format.length;i++){
  switch(format.charAt(i)){
   case "X": if(inp.charAt(i).toUpperCase()!=inp.charAt(i))return false;
             break;
   case "a": ch=inp.charAt(i);
             if((ch<"A"||(ch>"Z"&&ch<"a")||ch>"z")&&(ch!="."&&ch!=" "&&ch!=""))return false;
             break;
   case "A": if(inp.charAt(i)<"A"||inp.charAt(i)>"Z")return false;
             break;
   case "h": if(i==0)maxcode="2";
             else{
              if(format.charAt(i-1)!="h")maxcode="2";
              else{
               if(inp.charAt(i-1)=="0"||inp.charAt(i-1)=="1"||inp.charAt(i-1)==" ")maxcode="9";
               else maxcode="3";
              }
             }
             if((inp.charAt(i)<"0"||inp.charAt(i)>maxcode)&&!(maxcode=="2"&&inp.charAt(i)==" "))return false;
             break;
   case "d": if(i==0)maxcode="3";
             else{
              if(format.charAt(i-1)!="d")maxcode="3";
              else{
               if(inp.charAt(i-1)=="0"||inp.charAt(i-1)=="1"||inp.charAt(i-1)=="2"||inp.charAt(i-1)==" ")maxcode="9";
               else maxcode="1";
              }
             }
             if((inp.charAt(i)<"0"||inp.charAt(i)>maxcode)&&!(maxcode=="3"&&inp.charAt(i)==" "))return false;
             datecheck=true;
             break;
   case "m": if(i==0)maxcode="1";
             else{
              if(format.charAt(i-1)!="m")maxcode="1";
              else{
               if(inp.charAt(i-1)=="0"||inp.charAt(i-1)==" ")maxcode="9";
               else maxcode="2";
              }
             }
             if((inp.charAt(i)<"0"||inp.charAt(i)>maxcode)&&!(maxcode=="1"&&inp.charAt(i)==" "))return false;
             datecheck=true;
             break;
   case "1": 
   case "2": 
   case "3": 
   case "4": 
   case "5": 
   case "6": 
   case "7": 
   case "8": 
   case "9": if(inp.charAt(i)<"0"||inp.charAt(i)>format.charAt(i))return false;
             break;
   default: break;
  }
 }
 if(datecheck){
  dag="";
  maand="";
  for(i=0;i<format.length;i++){
   switch(format.charAt(i)){
    case "d": dag+=inp.charAt(i);break;
    case "m": maand+=inp.charAt(i);break;
    default: break;
   }
  }
  if((maand==" 4"||maand==" 6"||maand==" 9"||maand=="04"||maand=="06"||maand=="09"||maand=="11")&&dag>"30")return false;
  if((maand==" 2"||maand=="02")&&dag>"29")return false;
 }
 return true;
}

function Valideer(a,c,b,th){
 switch(VraagArray[a][0]){
  case "dropdown":{
   if(show.document.getElementById('dropdownbox').value!='0')SlaAntwoordOp(a);
   else{
    alerthtml(Messages[Language]["GeenAntwoordGegeven"]);
    th.disabled=false;
   }
   break;
  }
  case "radio":{
   if(AantalAntwoorden(a)==0&&AantalMogelijkeAntwoorden(a)!=0){
    alerthtml(Messages[Language]["GeenAntwoordGegeven"]);
    th.disabled=false;
   }else{
    otherok=true;
    for(j=1;j<=VraagArray[a][2];j++)if(AntwoordArray[a][j][2]>0){
     cc=(VraagArray[a][2]==1?show.document.forms[0].Antwoord.checked:show.document.forms[0].Antwoord[j-1].checked);
     if(cc)c=cleanstring(show.document.getElementById("Namelijk"+j).value);else c="";
     if(cc&&(c==".")){
      if((AntwoordArray[a][j][5]&4)==0){ // bit 3 is switch voor verplicht invullen of niet (0=verplicht invullen, 1 = niet verplicht invullen)
       otherok=false;
       alerthtml(Messages[Language]["GeenAndersAntwoordGegeven"]);
      }
     }else if(cc&&AntwoordArray[a][j][2]=="2"){
      if(!comparetoformat(AntwoordArray[a][j][3],cleanstring(show.document.getElementById("Namelijk"+j).value))){
       show.document.getElementById("Namelijk"+j).value="";
       alerthtml(Messages[Language]["GeenAndersAntwoordGegeven"]);
       otherok=false;
      }
     }else if(cc&&AntwoordArray[a][j][2]=="3"){
      if(!IsNumeric(cleanstring(show.document.getElementById("Namelijk"+j).value),AntwoordArray[a][j][3])){
       show.document.getElementById("Namelijk"+j).value="";
       bo=AntwoordArray[a][j][3].split("\t");
       alerthtml(Messages[Language]["AndersNumeric1"]+(bo[0]==""?"-∞":bo[0])+Messages[Language]["AndersNumeric2"]+(bo[1]==""?"∞":bo[1])+Messages[Language]["AndersNumeric3"]+(bo[2]==""?"∞":bo[2])+Messages[Language]["AndersNumeric4"]);
       otherok=false;
      }
     }
    }
    if(otherok)SlaAntwoordOp(a);
    else th.disabled=false;
   }
   break;
  }
  case "constantsum":{
   if(show.document.getElementById('constantsumleft').innerHTML=='0')SlaAntwoordOp(a);
   else{
    alerthtml(Messages[Language]["ConstantsumNietNul"]);
    th.disabled=false;
   }
   break;
  }
  case "checkmatrix":{
   KeuzeString=VraagArray[a][6];
   Keuzes=KeuzeString.split("\t");
   KN=Keuzes.length+1;
   KG=0;KR=0;
   for(j=1;j<=VraagArray[a][2];j++){
    Checkvar='Check'+j;
    if(show.document.getElementById(Checkvar).checked){
     KR++;
     for(k=1;k<KN;k++){
      thisobj=show.document.forms[0].elements[KN*(j-1)+k];
      if(thisobj.checked)KG++; 
     }
    }
   }
   if(KR==KG)SlaAntwoordOp(a);
   else{
    alerthtml(Messages[Language]["NietAllesBeantwoord"]);
    th.disabled=false;
   }
   break;
  }
  case "matrix":{
   KeuzeString=VraagArray[a][6];
   Keuzes=KeuzeString.split("\t");
   KN=Keuzes.length;
   KG=0;KC=0;
   for(j=1;j<=VraagArray[a][2];j++){
    for(k=0;k<KN;k++){
     thisobj=show.document.forms[0].elements[KN*(j-1)+k];
     if(thisobj.checked)KG+=1; 
     if(thisobj.disabled)KC+=1; 
    }
   }
   if((VraagArray[a][2]-KC/KN)==KG)SlaAntwoordOp(a);
   else{
    alerthtml(Messages[Language]["NietAllesBeantwoord"]);
    th.disabled=false;
   }
   break;
  }
  case "loopranking":
  case "ranking":{
   KeuzeString=VraagArray[a][6];
   Keuzes=KeuzeString.split("\t");
   KN=Keuzes.length;
   KG=0;KC=0;
   for(j=1;j<=VraagArray[a][2];j++){
    for(k=0;k<KN;k++){
     thisobj=show.document.forms[0].elements[KN*(j-1)+k];
     if(thisobj.checked)KG+=1; 
     if(thisobj.disabled)KC+=1; 
    }
   }
   if(KN==KG||(VraagArray[a][2]-KC/KN)==KG)SlaAntwoordOp(a);
   else{
    alerthtml(Messages[Language]["AntwoordNietToegekend"]);
    th.disabled=false;
   }
   break;
  }
  case "semdif":{
   KN=VraagArray[a][3];
   KG=0;KC=0;
   for(j=1;j<=VraagArray[a][2];j++){
    for(k=0;k<KN;k++){
     thisobj=show.document.forms[0].elements[KN*(j-1)+k];
     if(thisobj.checked)KG+=1; 
     if(thisobj.disabled)KC+=1; 
    }
   }
   if((VraagArray[a][2]-KC/KN)==KG)SlaAntwoordOp(a);
   else{
    alerthtml(Messages[Language]["NietAllesBeantwoord"]);
    th.disabled=false;
   }
   break;
  }
  case "loopcheckbox":
  case "checkbox":{
   if(AantalAntwoorden(a)>c){
    alerthtml(Messages[Language]["MaximumOverschreden"][0]+c+Messages[Language]["MaximumOverschreden"][1]);
    th.disabled=false;
   }else if((AantalAntwoorden(a))<b&&(AantalAntwoorden(a)<AantalMogelijkeAntwoorden(a))){
    alerthtml(Messages[Language]["MinimumNietGeantwoord"][0]+(VraagArray[a][2]>b?b:VraagArray[a][2])+Messages[Language]["MinimumNietGeantwoord"][1]);
    th.disabled=false;
   }else{
    otherok=true;
    for(j=1;j<=VraagArray[a][2];j++)if(AntwoordArray[a][j][2]>0){
     cc=(VraagArray[a][2]==1?show.document.forms[0].Antwoord.checked:show.document.forms[0].Antwoord[j-1].checked);
     if(cc)c=cleanstring(show.document.getElementById("Namelijk"+j).value);else c="";
     if(cc&&(c==".")){
      if((AntwoordArray[a][j][5]&4)==0){ // bit 3 is switch voor verplicht invullen of niet (0=verplicht invullen, 1 = niet verplicht invullen)
       otherok=false;
       alerthtml(Messages[Language]["GeenAndersAntwoordGegeven"]);
      }
     }else if(cc&&AntwoordArray[a][j][2]=="2"){
      if(!comparetoformat(AntwoordArray[a][j][3],cleanstring(show.document.getElementById("Namelijk"+j).value))){
       show.document.getElementById("Namelijk"+j).value="";
       alerthtml(Messages[Language]["GeenAndersAntwoordGegeven"]);
       otherok=false;
      }
     }else if(cc&&AntwoordArray[a][j][2]=="3"){
      if(!IsNumeric(cleanstring(show.document.getElementById("Namelijk"+j).value),AntwoordArray[a][j][3])){
       show.document.getElementById("Namelijk"+j).value="";
       bo=AntwoordArray[a][j][3].split("\t");
       alerthtml(Messages[Language]["AndersNumeric1"]+(bo[0]==""?"-∞":bo[0])+Messages[Language]["AndersNumeric2"]+(bo[1]==""?"∞":bo[1])+Messages[Language]["AndersNumeric3"]+(bo[2]==""?"∞":bo[2])+Messages[Language]["AndersNumeric4"]);
       otherok=false;
      }
     }
    }
    if(otherok)SlaAntwoordOp(a);
    else th.disabled=false;
   }
   break;
  }
  case "text":{
   if(RTFActive)show.document.getElementById('tekstarea').value=cleanhtml(show.document.getElementById('rtfarea').contentWindow.document.body);
   if(VraagArray[a][10]==1){
    if(cleanstring(show.document.forms[0].Antwoord.value)=="."){
     alerthtml(Messages[Language]["GeenAntwoordGegeven"]);
     th.disabled=false;
    }else SlaAntwoordOp(a);
   }else SlaAntwoordOp(a);
   break;
  }
  case "upload":{
   showtarget=(show.document.getElementById("ajaxtarget").contentDocument?show.document.getElementById("ajaxtarget").contentDocument:show.document.frames["ajaxtarget"].document);
   Uploadtabel=showtarget.getElementById('uploadtable');
   Uploadrows=Uploadtabel.childNodes.length;
   if(Uploadrows>=VraagArray[a][6]){
    if(Uploadrows<=VraagArray[a][3]){
      SlaAntwoordOp(a);
     }else{
     alerthtml(Messages[Language]["MaximumOverschreden"][0]+c+Messages[Language]["MaximumOverschreden"][1]);
     th.disabled=false;
    }
   }else{
    alerthtml(Messages[Language]["MinimumNietGeantwoord"][0]+VraagArray[a][6]+Messages[Language]["MinimumNietGeantwoord"][1]);
    th.disabled=false;
   }
   break;
  }
  case "multitext":{
   if(VraagArray[a][10]==1){
    otherok=true;
    for(j=1;j<=VraagArray[a][2];j++){
     if(cleanstring(show.document.getElementById("Namelijk"+j).value)=="."&&!show.document.getElementById("Namelijk"+j).disabled){
      otherok=false;
      alerthtml(Messages[Language]["GeenAndersAntwoordGegeven"]);
     }else if(AntwoordArray[a][j][2]=="2"){
      if(!comparetoformat(AntwoordArray[a][j][3],cleanstring(show.document.getElementById("Namelijk"+j).value))){
       show.document.getElementById("Namelijk"+j).value="";
       alerthtml(Messages[Language]["GeenAndersAntwoordGegeven"]);
       otherok=false;
      }
     }else if(AntwoordArray[a][j][2]=="3"){
      if(!IsNumeric(cleanstring(show.document.getElementById("Namelijk"+j).value),AntwoordArray[a][j][3])){
       show.document.getElementById("Namelijk"+j).value="";
       bo=AntwoordArray[a][j][3].split("\t");
       alerthtml(Messages[Language]["AndersNumeric1"]+(bo[0]==""?"-∞":bo[0])+Messages[Language]["AndersNumeric2"]+(bo[1]==""?"∞":bo[1])+Messages[Language]["AndersNumeric3"]+(bo[2]==""?"∞":bo[2])+Messages[Language]["AndersNumeric4"]);
       otherok=false;
      }
     }
    }
    if(otherok)SlaAntwoordOp(a);
    else th.disabled=false;
   }else SlaAntwoordOp(a);
   break;
  }
  default:SlaAntwoordOp(a);
 }
}

function nr2code(a){
 var d='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
 if(a>61)return null;
 else return d.substr(a,1);
}

function emptyrow(deze,kolommen,dezerij){
 for(ii=1;ii<=kolommen;ii++){
  thisobj=show.document.forms[0].elements[(dezerij-1)*kolommen+ii-1];
  if(thisobj!=deze&&thisobj.checked)thisobj.checked=false;
 }
}

function gethash(ResponsString){
 Items=ResponsString.split(Separator);
 NrItems=Items.length;
 Hashtotal=0;
 for(x=0;x<NrItems;x++){
  Str=Items[x];
  n=Str.length;
  ThisHash=0;
  for(r=0;r<n;r++){
   XV=Str.charCodeAt(r);
   XVXV=(XV==32?0:XV);
   ThisHash+=XVXV;
  }
  Hashtotal+=ThisHash*x;
 }
 return Hashtotal;
}

function getanswer(){
 return ""+boom[LoopLevel][boomvraag[LoopLevel]][0];
}

function LoopIt(what){
 if(LoopLevel>0){
  for(y=1;y<=LoopLevel;y++)what=what.replace(new RegExp('\\[X'+y+'\\]',"gi"),LoopAntwoordTekst[y]);
  what=what.replace(new RegExp('\\[X\\]',"gi"),LoopAntwoordTekst[1]);
 }
 c=what.indexOf('[');
 if(c!=-1){
  a=what;
  b=a.substr(0,c);
  while(c!=-1){
   d=a.indexOf(']');
   if(d==-1)d=a.length;
   e=a.substr(c,d-c+1);
   if(e.substr(0,4)=="[Q~{"){
    va=e.substr(4,e.length-5).replace(/}/g,"");
    vaa=va.split("|");
    tv=vaa[0];
    ta=getanswerbyquestion(tv)+'';
    taa=ta.split(Separator);
    tb=(vaa[1]?vaa[1]:1);
    AndersOK=false;
    switch(VraagArray[tv][0]){
     case "dropdown":
     case "radio":
      tb=code2nr(taa[0]);
      b+=AntwoordArray[tv][tb][0];
      AndersOK=true;
      break;
     case "matrix":
     case "checkmatrix":
     case "ranking":
     case "loopranking":
      ap=(ta.length>=tb?code2nr(ta.substr(tb-1,1)):".");
      KeuzeString=VraagArray[tv][6];
      Keuzes=KeuzeString.split("\t");
      b+=(ap=="."?"":(Keuzes.length>=ap?Keuzes[ap-1]:""));
      break;
     case "checkbox":
     case "loopcheckbox":
      ap=(ta.length>=tb?ta.substr(tb-1,1):"0");
      if(ap=="1"){
       b+=AntwoordArray[tv][tb][0];
       AndersOK=true;
      }
      break;
     case "multitext":
      AndersOK=true;
      break;
     case "semdif":
      break;
     case "constantsum":
      b+=taa[tb-1];
      AndersOK=true;
      break;
     case "text":
      b+=(ta=="."?"":ta);
      break;
     default:
    }
    if(AndersOK)if(AntwoordArray[tv][tb][2]>0){
     if(VraagArray[tv][0]=="constantsum")astc=VraagArray[tv][2]-1;
     else astc=0;
     for(jj=1;jj<=tb;jj++)if(AntwoordArray[tv][jj][2]>0||VraagArray[tv][0]=="multitext")astc++;
     if(VraagArray[tv][0]=="constantsum")b+=" "+AntwoordArray[tv][tb][0];
     if(taa[astc]!=".")b+=" "+taa[astc];
    }
   }else b+=e;
   a=a.substr(d+1,a.length-d);
   c=a.indexOf('[');
   b+=a.substr(0,c);
  }
  b+=a;
 }else b=what;
 return safehtml(resetquot(b));
}

function checknum(num,inp,key){
 if(num==""||key==13||key==37||key==39||key==9||key==8)return key;
 else {
  decs=num.split("\t");
  if(key>=48&&key<=57){
   getal=inp.value.split(",");
   if(decs[2]!=""){
    getal=inp.value.split(",");
    if(getal[1])if(getal[1].length>=decs[2])return false;
   }
   return key;
  }
  if(key==44&&decs[2]!=0)return key;
  if(key==45){
   if(inp.selectionStart==null){
    IE=true;
    var temptext=document.selection.createRange();
    temptext.moveEnd('character', inp.value.length);
    if(temptext.text=='')loc=inp.value.length;
    else loc=inp.value.lastIndexOf(temptext.text);
   }else loc=inp.selectionStart;
   if(loc==0)return key;
  }
  return false;
 }
}

function putinformat(format,inp,key){
 if(format==""||key==13||key==37||key==39||key==9||key==8)return key;
 else {
  IE=false;
  if(inp.selectionStart==null){
   IE=true;
   var temptext=document.selection.createRange();
   temptext.moveEnd('character', inp.value.length);
   if(temptext.text=='')loc=inp.value.length;
   else loc=inp.value.lastIndexOf(temptext.text);
  }else loc=inp.selectionStart;
  if(loc==format.length||format==inp)loc=0;
  var filter = /^([aAxXhdm1-9])/; 
  while(loc<format.length&&format.charAt(loc)!="A"&&format.charAt(loc)!="9"&&!(filter.test(format.charAt(loc))))loc++;
  output=format.replace(/[aAxXhdm123456789]/gi," ");
  input=inp.value;
  n=input.length;
  out="";
  move=false;
  for(i=0;i<format.length;i++){
   switch(format.charAt(i)){
    case "x": if(i==loc){
               out+=String.fromCharCode(key);
               move=true;
              }else out+=(i>n?output.charAt(i):input.charAt(i));
              break;
    case "X": if(i==loc){
               out+=String.fromCharCode(key).toUpperCase();
               move=true;
              }else out+=(i>n?output.charAt(i).toUpperCase():input.charAt(i).toUpperCase());
              break;
    case "a": if(i==loc){
               if(key>=65&&key<=90||key>=97&&key<=122||key==32||key==46){
                out+=String.fromCharCode(key);
                move=true;
               }else out+=(i>n?output.charAt(i):input.charAt(i));
              }else out+=(i>n?output.charAt(i):input.charAt(i));
              break;
    case "A": if(i==loc){
               if(key>=65&&key<=90||key>=97&&key<=122){
                out+=String.fromCharCode(key).toUpperCase();
                move=true;
               }else out+=(i>n?output.charAt(i).toUpperCase():input.charAt(i).toUpperCase());
              }else out+=(i>n?output.charAt(i).toUpperCase():input.charAt(i).toUpperCase());
              break;
    case "h": if(i==loc){
               if(i==0)maxcode=50;
               else{
                if(format.charAt(i-1)!="h")maxcode=50;
                else{
                 if(out.charAt(i-1)=="0"||out.charAt(i-1)=="1"||out.charAt(i-1)==" ")maxcode=57;
                 else maxcode=51;
                }
               }
               if((key>=48&&key<=maxcode)||(maxcode==50&&key==32)){
                out+=String.fromCharCode(key);
                move=true;
               }else{  
                if(key>maxcode&&key<=57){
                 out+="0";
                 loc++;
                }else out+=(input.charAt(i)?input.charAt(i):output.charAt(i));
               }
              }else{
               if(input.charAt(i)>='0'&&input.charAt(i)<='9')out+=input.charAt(i);
               else out+=output.charAt(i);
              }
              break;
    case "d": if(i==loc){
               if(i==0)maxcode=51;
               else{
                if(format.charAt(i-1)!="d")maxcode=51;
                else{
                 if(out.charAt(i-1)=="0"||out.charAt(i-1)=="1"||out.charAt(i-1)=="2"||out.charAt(i-1)==" ")maxcode=57;
                 else maxcode=49;
                }
               }
               if((key>=48&&key<=maxcode)||(maxcode==51&&key==32)){
                out+=String.fromCharCode(key);
                move=true;
               }else{
                if(key>maxcode&&key<=57){
                 out+="0";
                 loc++;
                }else out+=(input.charAt(i)?input.charAt(i):output.charAt(i));
               }
              }else{
               if(input.charAt(i)>='0'&&input.charAt(i)<='9')out+=input.charAt(i);
               else out+=output.charAt(i);
              }
              break;
    case "m": if(i==loc){
               if(i==0)maxcode=49;
               else{
                if(format.charAt(i-1)!="m")maxcode=49;
                else{
                 if(out.charAt(i-1)=="0"||out.charAt(i-1)==" ")maxcode=57;
                 else maxcode=50;
                }
               }
               if((key>=48&&key<=maxcode)||(maxcode==49&&key==32)){
                out+=String.fromCharCode(key);
                move=true;
               }else{
                if(key>maxcode&&key<=57){
                 out+="0";
                 loc++;
                }else out+=(input.charAt(i)?input.charAt(i):output.charAt(i));
               }
              }else{
               if(input.charAt(i)>='0'&&input.charAt(i)<='9')out+=input.charAt(i);
               else out+=output.charAt(i);
              }
              break;
    case "1": 
    case "2": 
    case "3": 
    case "4": 
    case "5": 
    case "6": 
    case "7": 
    case "8": 
    case "9": if(i==loc){
               maxcode=format.charAt(i)*1+48;
               if(key>=48&&key<=maxcode){
                out+=String.fromCharCode(key);
                move=true;
               }else{
                if(key>maxcode&&key<=57){
                 out+=format.charAt(i);
                 move=true;
                 }else out+=(input.charAt(i)?input.charAt(i):output.charAt(i));
               }
              }else{
               if(input.charAt(i)>='0'&&input.charAt(i)<='9')out+=input.charAt(i);
               else out+=output.charAt(i);
              }
              break;
    default: out+=output.charAt(i);
   }
  }
  inp.value=(trim(out)==""?"":out);
  if(IE){
   temptext.moveStart('character',-inp.value.length);
   temptext.moveEnd('character',-inp.value.length);
   temptext.moveStart('character',loc+(move?1:0));
   temptext.moveEnd('character',0);
   temptext.select();
  }else inp.selectionStart=inp.selectionEnd=loc+(move?1:0);
  return false;
 }
}

function code2nr(a){
 var d='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
 if(isNaN(a)){
  c=d.indexOf(a);
  if(c==-1)return a;
  else return c;
 } else return a;
}

function getanswerbyquestionforlooplevel(b,ll,q){
 var hetantwoord=false;
 var x=0;
 if(b){
  while(x<b.length&&!hetantwoord){
   if(b[x][3]==q){
    hetantwoord=boom[ll][x][0];
   }else{
    if(b[x][2] instanceof Array){
     y=antwoordstack[ll+1][antwoordstack[ll+1].length-1]-1;
     hetantwoord=getanswerbyquestionforlooplevel(b[x][2][y],ll+1,q);
    }
   }
   x++;
  } 
  return hetantwoord;
 }return false;
}

function getanswerbyquestion(q){
 return getanswerbyquestionforlooplevel(VraagBoom,0,q);
}

function getconditionalstyle(code,condition){
 CS=new Array();
 if((code&2)!=0){
  ec=evaluateconditie(condition);
  if((code&1)==0)CS[0]=(ec?' style="color:#ccc"':"");
  else CS[0]=(ec?' style="display:none"':"");
  CS[1]=(ec?' disabled="disabled"':"");
  CS[2]=!ec;
 }else{
  CS[0]="";
  CS[1]="";
  CS[2]=true;
 }

/* VERANDERD OM VERPLICHT INVULLEN UITZETTEN MOGELIJK TE MAKEN
 CS=new Array();
 if(code>1)ec=evaluateconditie(condition);
 switch(code){
  case "2":CS[0]=(ec?' style="color:#ccc"':"");CS[1]=(ec?' disabled="disabled"':"");CS[2]=!ec;break;
  case "3":CS[0]=(ec?' style="display:none"':"");CS[1]=(ec?' disabled="disabled"':"");CS[2]=!ec;break;
  default:CS[0]="";CS[1]='';CS[2]=true;
 }
*/

 return CS;
}

function IEinitIframe(framename,content){
 if(show.document.getElementById(framename).contentWindow.document.body)show.document.getElementById(framename).contentWindow.document.body.innerHTML=content;
 else setTimeout("IEinitIframe('"+framename+"','"+content+"')",10);
}

function loadiframe(){
 browserVersion=navigator.userAgent.toLowerCase();
 geschikteBrowser=true;
 if(browserVersion.indexOf("konqueror")!=-1)geschikteBrowser=false;
/*
 if(browserVersion.indexOf("ipad")!=-1)geschikteBrowser=false;
 if(browserVersion.indexOf("iphone")!=-1)geschikteBrowser=false;
ipad: mozilla/5.0 (ipad; u; cpu os 4_3_3 like mac osx; nl-nl) applewebkit/533.17.9 (khtml, like gecko) version/5.02 mobile/8j2 safari/6533.18.5 (werkt niet met designmode)
galaxy: mozilla/5.0 (linux; u; android 2.3.3; nl-nl; gt-i9100 build/gingerbread) applewebkit/533.1 (khtml, like gecko) version/4.0 mobile safari/533.1 (werkt niet met designmode)
firefox op galaxy: mozilla/5.0 (android; linux armv71;rv;8.0) gecko/firefox/8.0 fennec/8.0 (werkt wel met designmode)
=> combinatie applewebkit en mobile: no go
*/
 if(browserVersion.indexOf("applewebkit")!=-1&&browserVersion.indexOf("mobile")!=-1)geschikteBrowser=false;
 

 if(document.designMode&&geschikteBrowser){
  RTFActive=true;
  show.document.getElementById('rtfeditor').className="visible";
  show.document.getElementById('tekstarea').className="hidden";
  OpmaakTarget=show.document.getElementById('rtfarea').contentWindow;
  OpmaakTarget.document.designMode="on";
  if(OpmaakTarget.document.body){
   iframeInhoud='<html><head></head><body>'+backupreturns(show.document.getElementById('tekstarea').value)+'</body></html>';
   OpmaakTarget.document.body.innerHTML=iframeInhoud;
   if(OpmaakTarget.document.body.innerHTML!=iframeInhoud)setTimeout("IEinitIframe('rtfarea',iframeInhoud)",10); // Alleen de check lijkt al voldoende voor IE, voor de zekerheid de Timeout er toch maar ingelaten.
   try{
    OpmaakTarget.document.execCommand("inserthtml",false,"-");
    OpmaakTarget.document.execCommand("undo",false,null);
   } catch (err){}
   OpmaakTarget.document.body.style.fontFamily= rtfFont;
   OpmaakTarget.document.body.style.fontSize= rtfSize;
   OpmaakTarget.document.body.style.backgroundColor= rtfBackground;
   OpmaakTarget.document.body.style.color= rtfColor;
   OpmaakTarget.focus();
   try{
    if(IESheet=OpmaakTarget.document.createStyleSheet()){
     IESheet.addRule("p","margin:0");
     IESheet.addRule("body","margin:0");
     IESheet.addRule("html","margin:0");
     IESheet.addRule("body","padding:0");
     IESheet.addRule("html","padding:0");
     IESheet.addRule("ol","margin-top:0");
     IESheet.addRule("ol","padding-top:0");
     IESheet.addRule("ol","margin-bottom:0");
     IESheet.addRule("ol","padding-bottom:0");
     IESheet.addRule("ul","margin-top:0");
     IESheet.addRule("ul","padding-top:0");
     IESheet.addRule("ul","margin-bottom:0");
     IESheet.addRule("ul","padding-bottom:0");
    }
   } catch(err){
    var ss=document.createElement("style");
    ss.innerHTML+="p {margin:0}";
    ss.innerHTML+="ol {margin-top:0;padding-top:0;margin-bottom:0;padding-bottom:0}";
    ss.innerHTML+="ul {margin-top:0;padding-top:0;margin-bottom:0;padding-bottom:0}";
    OpmaakTarget.document.getElementsByTagName("head")[0].appendChild(ss);
   }
  }else{
   show.document.getElementById('rtfeditor').className="hidden";
   show.document.getElementById('tekstarea').className="visible";
  }
 }else{
  show.document.getElementById('rtfeditor').className="hidden";
  show.document.getElementById('tekstarea').className="visible";
 }
}

function trim(str){
 if(str) return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
 else return '';
}

function cleanhtml(node){
 var childnodes=node.childNodes;
 var tag = new Array();
 var endtag= new Array();
 var out="";
 if(node.nodeType==1){
  thistag=node.tagName.toLowerCase();
  switch(thistag){
   case 'strong':
   case 'b':endtag[0]=tag[0]='b'; break;
   case 'em':
   case 'i':endtag[0]=tag[0]='i'; break;
   case 'br': 
   case 'p': tag[0]='br';endtag[0]='';break;
   case 'u':
   case 'ol':
   case 'ul':
   case 'li': endtag[0]=tag[0]=thistag; break;
   case 'span':
    var a=node.attributes; 
    var m= a.length;
    for (var j=0;j<m;j++) if(a[j].nodeName.toLowerCase()=='style') {
     csstext=trim(node.style.cssText);
     if(csstext!=""){
      cssarray=csstext.split(";");
      rm=cssarray.length;
     } else rm=0;
     for(var r=0;r<rm;r++){
      decl=cssarray[r].toLowerCase();
      decl2=decl.split(":");
      prop=trim(decl2[0]);
      val=trim(decl2[1]);
      switch(prop){
       case 'font-weight':if(val=='bold')tag[tag.length]=endtag[tag.length]="b";break;
       case 'font-style':if(val=='italic')tag[tag.length]=endtag[tag.length]="i";break;
       case 'text-decoration':if(val=='underline')tag[tag.length]=endtag[tag.length]="u";break;
       default:
      }
     }
    }
    break;
   default: endtag[0]=tag[0]='';
  }
  for(var r=0;r<tag.length;r++)if(tag[r]!='')out+="<"+tag[r]+">";
  var n=childnodes.length;
  for (var i=0;i<n;i++) out+=cleanhtml(childnodes[i]);
  for(var r=tag.length-1;r>-1;r--)if(endtag[r]!='')out+="</"+endtag[r]+">";
 } else if(node.nodeType==3) out+=node.nodeValue;
 return out;
}

function rtfareaopmaak(actie){
 try{
  if(document.selection.createRange()){
   IESel=show.document.getElementById('rtfarea').contentWindow.document.body.createTextRange();
   IESel.moveStart('character',selStart);
   IESel.moveEnd('character',-IESel.text.replace(/\r/g,'').length+(selEnd-selStart));
   if(IESel.text.length>(selEnd-selStart))IESel.moveEnd('character',-1);
   IESel.select();
  }
 } catch(err) {}
 show.document.getElementById('rtfarea').contentWindow.document.execCommand(actie,false,null);
 show.document.getElementById('rtfarea').contentWindow.focus();
}

function saveRange(){
 try{
  if(document.selection.createRange()){
   savedRange=show.document.getElementById('rtfarea').contentWindow.document.selection.createRange();
   selLength=savedRange.text.replace(/\r/g,'').length;
   savedRange.moveStart('character',-show.document.getElementById('rtfarea').contentWindow.document.body.innerHTML.length);
   selEnd=savedRange.text.replace(/\r/g,'').length;
   selStart=selEnd-selLength;
  }
 } catch(err) {}
}

function WriteFormat(a){
 var b=a.replace(/[aAxXhdm123456789]/gi," ");
 return (trim(b)==""?"":b);
}

function StelVraag(i){
 if(LoopLevel>0){
  boomvraagantwoordnummer[LoopLevel]=peekantwoord();
  if(boomvraagantwoordnummer[LoopLevel]){
   boom[LoopLevel]=boomvraagantwoordlijst[LoopLevel][peekantwoord()-1]; 
   LoopAntwoordTekst[LoopLevel]=AntwoordArray[peekloop()][peekantwoord()][4];
  }else{
   while(VraagArray[i][0]!="endloop")i++;
   poploop();
   i=VraagArray[i][4];
  }
 }
 if(VraagArray[i])if(VraagArray[i][0]!="conditional")push(i);
 gotovraag(i);
 if((i!=0)&&(i<AQ)&&(i<=MaxVragen)){
  switch(VraagArray[i][0]){
   case "endloop":
    popantwoord();
    if(peekantwoord())StelVraag(VraagArray[peekloop()][4]);else{poploop();StelVraag(VraagArray[i][4]);}
    break;
   case "conditional":
    conditiestring="";
    for(j=1;j<=VraagArray[i][2];j++){
     ConditieArray=AntwoordArray[i][j][0].split("|");
     conditiestring+=ConditieArray[0]+ConditieSeparator;
     conditiestring+=AntwoordArray[i][j][2]+ConditieSeparator;
     conditiestring+=(ConditieArray[1]?ConditieArray[1]:0)+ConditieSeparator;
     dezeoperator=AntwoordArray[i][j][4];
     if(dezeoperator=="="||dezeoperator=="!")dezeoperator+="=";
     conditiestring+=dezeoperator+ConditieSeparator;
     conditiestring+=AntwoordArray[i][j][5]+ConditieSeparator;
     conditiestring+=VraagArray[i][6]+ConditieSeparator;
    }
    conditieuitkomst=evaluateconditie(conditiestring);
    if(conditieuitkomst)StelVraag(VraagArray[i][3]);
    else StelVraag(VraagArray[i][4]);
    break;
   case "loopcheckbox":
   case "loopranking": if(VraagArray[i][5]==2){
    if(runcounter[LoopLevel]!=0){
     DitAntwoord=VraagArray[i][7];
     boom[LoopLevel][boomvraag[LoopLevel]][0]=DitAntwoord;
     boom[LoopLevel][boomvraag[LoopLevel]][1]=1;
     while(antwoordstack[LoopLevel+1].length>0)antwoordstack[LoopLevel+1].pop();
     if(VraagArray[i][0]=="loopcheckbox"){
      for(r=VraagArray[i][2]-1;r>=0;r--)if(DitAntwoord.substr(r,1)=="1")pushantwoord([r+1]);
     }else{
      KeuzeString=VraagArray[i][6];
      KN=KeuzeString.split("\t");
      for(w=KN.length+1;w>0;w--)pushantwoord(DitAntwoord.indexOf(w)+1);
     }
     boomvraag[LoopLevel]++;
     pushloop(i);
     StelVraag(VraagArray[i][4]);
     break;
    }
    // Hier geen break: als de if false is moet de default-loop doorlopen worden
   }
   default: with(show.document){
    open();
    write(Header);
    VraagTekst=LoopIt(VraagArray[i][1]);
    if(LoopLevel>0)boom[LoopLevel][boomvraag[LoopLevel]][1]=0;
    write('<body onload="history.forward()');
    switch(VraagArray[i][0]){
     case "text":write(';if(document.forms[0].Antwoord.className!='+"'hidden'"+')document.forms[0].Antwoord.focus();');break;
     case "multitext":write(';document.getElementById('+"'Namelijk1'"+').focus();');break;
    }
    write('">'+TopDivContent+'<p>');
    if(VraagArray[i][0]!="upload")write('<form id="Vraag">');
    write('<table><col /><col /><tr><td>');
    write(VraagTekst+'</td><td style="text-align:right;vertical-align:top">');
    if(VoortgangNummering)write('('+i+'/'+(AQ-1)+')');
    write('</td></tr></table><br />');
    switch(VraagArray[i][0]){
     case "upload":{
      write('<iframe name="ajaxtarget" id="ajaxtarget"></iframe>');
      write('<form id="Vraag">');
      break;
     }
     case "text":{
      write('<textarea name="Antwoord" id="tekstarea" class="hidden" rows=5 style="width:100%" wrap>');
      VorigAntwoord=getanswer(i);
      if(VorigAntwoord!=".")write(restorereturns(VorigAntwoord));
      write('</textarea>');
      write('<div id="rtfeditor" class="visible">');
      write('<img src="bold.gif" class="editorbutton" title="Vet" onClick="parent.rtfareaopmaak('+"'bold'"+');" onmouseover="parent.saveRange()" />');
      write('<img src="italic.gif" class="editorbutton" title="Cursief" onClick="parent.rtfareaopmaak('+"'italic'"+')" onmouseover="parent.saveRange()" />');
      write('<img src="underline.gif" class="editorbutton" title="Onderstrepen" onClick="parent.rtfareaopmaak('+"'underline'"+')" onmouseover="parent.saveRange()" />'); 
      write('<img src="number.gif" class="editorbutton" title="Genummerde lijst" onClick="parent.rtfareaopmaak('+"'insertorderedlist'"+')" onmouseover="parent.saveRange()" />');
      write('<img src="list.gif" class="editorbutton" title="Bullet-lijst" onClick="parent.rtfareaopmaak('+"'insertunorderedlist'"+')" onmouseover="parent.saveRange()" /><br />');
      write('<iframe id="rtfarea" style="height:7em;width:100%" onload="parent.loadiframe()"></iframe></div>');
      write('<br /><br />');
      break;
     }
     case "checkmatrix":{
      if(Matrixvraag>=1){
       KeuzeString=VraagArray[i][6];
       Keuzes=KeuzeString.split("\t");
       KN=Keuzes.length;
       write('<table style="width:auto"><col /><col />');
       for(k=1;k<=KN;k++)write('<col />');
       write('<tr><td></td><td></td>');
       for(k=1;k<=KN;k++)write('<td style="text-align:center;padding-left:10px">'+Keuzes[k-1]+'</td>');
       write('</tr>');
       for(j=1;j<=VraagArray[i][2];j++){
if(VraagArray[i][11]){if(VraagArray[i][11].indexOf("|"+(j-1)+"|")>-1)write('<tr><td colspan="'+(KN+1)+'">&nbsp;</td></tr>');}else{if(Dividers>0&&j>1&&(j%Dividers==1))write('<tr><td colspan="'+(KN+1)+'">&nbsp;</td></tr>');}
        CS=getconditionalstyle(AntwoordArray[i][j][5],AntwoordArray[i][j][6]);
        write('<tr'+CS[0]+'><td>'+LoopIt(AntwoordArray[i][j][0])+'</td><td><input type="checkbox" id="Check'+j+'"'+CS[1]);
 // CHECK HIERONDER OF HIER NIET TE VEEL GEFOR'D WORDT MET OA DE GETANSWERS
//        for(k=1;k<=KN;k++){
         as=getanswer(i);
         if(as!="."){if(as.substr(j-1,1)!="."&&CS[2])write(' checked="checked"')}
//        }
        write(' onclick="if(!this.checked){ta=document.getElementsByName('+"'Antwoord"+j+"');for(tac=0;tac<ta.length;tac++)ta[tac].checked=false"+'}"></td>');
        for(k=1;k<=KN;k++){
         kk=nr2code(k);
         write('<td style="text-align:center"><input type="radio" name="Antwoord'+j+'" value="'+kk+'"');
         as=getanswer(i);
         if(as!="."){if(as.substr(j-1,1)==kk&&CS[2])write(' checked="checked"')}
         write(' onclick="document.getElementById('+"'Check"+j+"').checked='checked'"+CS[1]+'"></td>');
        }
        write('</tr>');
       }
       write('</table><br />');
      }
      break;
     }
     case "matrix":{
      if(Matrixvraag>=1){
       KeuzeString=VraagArray[i][6];
       Keuzes=KeuzeString.split("\t");
       KN=Keuzes.length;
       write('<table style="width:auto"><col />');
       for(k=1;k<=KN;k++)write('<col />');
       write('<tr><td></td>');
       for(k=1;k<=KN;k++)write('<td style="text-align:center;padding-left:10px">'+Keuzes[k-1]+'</td>');
       write('</tr>');
       for(j=1;j<=VraagArray[i][2];j++){
if(VraagArray[i][11]){if(VraagArray[i][11].indexOf("|"+(j-1)+"|")>-1)write('<tr><td colspan="'+(KN+1)+'">&nbsp;</td></tr>');}else{if(Dividers>0&&j>1&&(j%Dividers==1))write('<tr><td colspan="'+(KN+1)+'">&nbsp;</td></tr>');}
        CS=getconditionalstyle(AntwoordArray[i][j][5],AntwoordArray[i][j][6]);
        write('<tr'+CS[0]+'><td>'+LoopIt(AntwoordArray[i][j][0])+'</td>');
        for(k=1;k<=KN;k++){
         kk=nr2code(k);
         write('<td style="text-align:center"><input type="radio" name="Antwoord'+j+'" value="'+kk+'"'+CS[1]);
         as=getanswer(i);
         if(as!="."){if(as.substr(j-1,1)==kk&&CS[2])write(' checked="checked"')}
         write('></td>');
        }
        write('</tr>');
       }
       write('</table><br />');
      }
      break;
     }
     case "loopranking":
     case "ranking":{
      KeuzeString=VraagArray[i][6];
      Keuzes=KeuzeString.split("\t");
      KN=Keuzes.length;
      write('<table style="width:auto"><col />');
      for(k=1;k<=KN;k++)write('<col />');
      write('<tr><td></td>');
      for(k=1;k<=KN;k++)write('<td style="text-align:center;padding-left:10px">'+Keuzes[k-1]+'</td>');
      write('</tr>');
      for(j=1;j<=VraagArray[i][2];j++){
if(VraagArray[i][11]){if(VraagArray[i][11].indexOf("|"+(j-1)+"|")>-1)write('<tr><td colspan="'+(KN+1)+'">&nbsp;</td></tr>');}else{if(Dividers>0&&j>1&&(j%Dividers==1))write('<tr><td colspan="'+(KN+1)+'">&nbsp;</td></tr>');}
       CS=getconditionalstyle(AntwoordArray[i][j][5],AntwoordArray[i][j][6]);
       write('<tr'+CS[0]+'><td>'+LoopIt(AntwoordArray[i][j][0])+'</td>');
       for(k=1;k<=KN;k++){
        kk=nr2code(k);
        write('<td style="text-align:center"><input type="radio" name="Antwoord'+k+'" value="'+kk+'" onclick="parent.emptyrow(this,'+KN+','+j+')"'+CS[1]);
        as=getanswer(i);
        if(as!="."){if(as.substr(j-1,1)==kk&&CS[2])write(' checked="checked"')}
        write('></td>');
       }
       write('</tr>');
      }
      write('</table><br />');
      break;
     }
     case "semdif":{
      KN=VraagArray[i][3];
      write('<table style="width:auto"><col /><col />');
      for(k=1;k<=KN;k++)write('<col />');
      for(j=1;j<=VraagArray[i][2];j++){
       Antwoordstring=LoopIt(AntwoordArray[i][j][0]);
       Antwoordset=Antwoordstring.split("\t");
if(VraagArray[i][11]){if(VraagArray[i][11].indexOf("|"+(j-1)+"|")>-1)write('<tr><td colspan="'+(KN+1)+'">&nbsp;</td></tr>');}else{if(Dividers>0&&j>1&&(j%Dividers==1))write('<tr><td colspan="'+(KN+1)+'">&nbsp;</td></tr>');}
       CS=getconditionalstyle(AntwoordArray[i][j][5],AntwoordArray[i][j][6]);
       write('<tr'+CS[0]+'><td style="text-align:right">'+Antwoordset[0]+'</td>');
       for(k=1;k<=KN;k++){
         kk=nr2code(k);
         write('<td style="text-align:center"><input type="radio" name="Antwoord'+j+'" value="'+kk+'"'+CS[1]);
         as=getanswer(i);
         if(as!="."){if(as.substr(j-1,1)==kk&&CS[2])write(' checked="checked"')}
        write('></td>');
       }
       write('<td>'+(Antwoordset[1]?Antwoordset[1]:"")+'</td></tr>');
      }
      write('</table><br />');
      break;
     }
     case "constantsum":{
      write('<table style="width:auto"><col style="width:1.5em" /><col style="width:auto" />');
      as=getanswer();
      if(as.indexOf(Separator)>0){
       ast=as.split(Separator);
       namelijkaanwezig=true;
      }else{
       ast=new Array();
       for(j=0;j<VraagArray[i][2];j++)ast[j]=VraagArray[i][9];
       for(j=1;j<=VraagArray[i][2];j++)if(AntwoordArray[i][j][2]>0)ast[ast.length]="";
       namelijkaanwezig=false;
      }
      astc=VraagArray[i][2]-1;
      cst=0;
      for(j=1;j<=VraagArray[i][2];j++){
/* nieuw voor dit vraagtype */
if(VraagArray[i][11]){if(VraagArray[i][11].indexOf("|"+(j-1)+"|")>-1)write('<tr><td colspan="2">&nbsp;</td></tr>');}else{if(Dividers>0&&j>1&&(j%Dividers==1))write('<tr><td colspan="'+(KN+1)+'">&nbsp;</td></tr>');}
       CS=getconditionalstyle(AntwoordArray[i][j][5],AntwoordArray[i][j][6]);
       write('<tr'+CS[0]+'><td><select id="constantsum'+j+'" onchange="parent.calcconstantsum('+VraagArray[i][2]+','+VraagArray[i][3]+')"'+CS[1]+'>');
       for(k=VraagArray[i][8];k<=VraagArray[i][6];k++){
        write("<option value='"+k+"'");
        if(ast[j-1]==k&&CS[2]){
         write(" selected='selected'");
         cst+=k*1;
        }
        write(">"+k+"</option>");
       }
       write(' /></select></td>');
       write("<td>"+LoopIt(AntwoordArray[i][j][0]));
       if(AntwoordArray[i][j][2]>0){
        write(' <input type="text" id="Namelijk'+j+'"'+CS[1]+' onkeypress="var keycode=(event.which?event.which:event.keyCode);if(keycode==13)return false;');
        if(AntwoordArray[i][j][2]==2)write('else return parent.putinformat('+"'"+AntwoordArray[i][j][3]+"'"+',this,keycode)" onfocus="try{if(selectionStart==null){inputtext=document.selection.createRange();inputtext.move('+"'character'"+',0);}else selectionStart=selectionEnd=0;}catch(err){}');
        if(AntwoordArray[i][j][2]==3)write('else return parent.checknum('+"'"+AntwoordArray[i][j][3]+"'"+',this,keycode);');
        write('"');
        if(namelijkaanwezig){
         astc++;
         if(ast[astc]!=".")write(' value="'+ast[astc]+'"');
         else if(AntwoordArray[i][j][2]==2)write(' value="'+WriteFormat(AntwoordArray[i][j][3])+'"');
        }else if(AntwoordArray[i][j][2]==2)write(' value="'+WriteFormat(AntwoordArray[i][j][3])+'"');
        write(' />');
       }
       write("</td></tr>");
      }
      write('</table><br />');
      write('<br /><span id="constantsumleft"/>');
      write(VraagArray[i][3]-cst);
      write('</span> '+Messages[Language]["ConstantsumVerdelen"]+'<br /><br />');
      break;
     }
     case "dropdown":{
      as=getanswer();
      write("<select id='dropdownbox' onselect='document.forms[0].SluitVraag.focus();'><option value='0'></option>");
      for(j=1;j<=VraagArray[i][2];j++){
       write("<option value='"+j+"'"+(as==j?" selected='selected'":"")+">");
       write(LoopIt(AntwoordArray[i][j][0]));
       write("</option>");
      }
      write("</select><br /><br />");
      break;
     }
     case "multitext":{
      as=getanswer();
      if(as.indexOf(Separator)>-1)ast=as.split(Separator);else ast=new Array(as);
      write('<table '+(BuggyIE?'':'style="width:100%"')+'><col style="width:auto" /><col style="width:auto" />');
      for(j=1;j<=VraagArray[i][2];j++){
/* nieuw voor dit vraagtype */
if(VraagArray[i][11]){if(VraagArray[i][11].indexOf("|"+(j-1)+"|")>-1)write('<tr><td colspan="2">&nbsp;</td></tr>');}else{if(Dividers>0&&j>1&&(j%Dividers==1))write('<tr><td colspan="'+(KN+1)+'">&nbsp;</td></tr>');}
       CS=getconditionalstyle(AntwoordArray[i][j][5],AntwoordArray[i][j][6]);
       write('<tr'+CS[0]+'><td>'+LoopIt(AntwoordArray[i][j][0])+"&nbsp;</td><td>");
       write('<input type="text" '+(BuggyIE?'':'style="width:100%"')+' id="Namelijk'+j+'"'+CS[1]+' onkeypress="var keycode=(event.which?event.which:event.keyCode);if(keycode==13){'+(j==VraagArray[i][2]?'document.forms[0].SluitVraag.focus();':'document.forms[0].Namelijk'+(j+1)+'.focus();')+'return (keycode!=13);}');
       if(AntwoordArray[i][j][2]==2)write('else return parent.putinformat('+"'"+AntwoordArray[i][j][3]+"'"+',this,keycode)" onfocus="try{if(selectionStart==null){inputtext=document.selection.createRange();inputtext.move('+"'character'"+',0);}else selectionStart=selectionEnd=0;}catch(err){}');
       if(AntwoordArray[i][j][2]==3)write('else return parent.checknum('+"'"+AntwoordArray[i][j][3]+"'"+',this,keycode);');
       write('"');
       if(typeof(ast[j])!="undefined"&&ast[j]!=".")write(' value="'+ast[j]+'"');
       else if(AntwoordArray[i][j][2]==2)write(' value="'+WriteFormat(AntwoordArray[i][j][3])+'"');
       write(' /></td></tr>');
      }
      write('</table><br />');
      break;
     }
     case "loopcheckbox":{
      write('<table '+(BuggyIE?'':'style="width:100%"')+'><col style="width:1.5em" /><col style="width:auto" /><col style="width:auto" />');
      as=getanswer();
      if(as.indexOf(Separator)>0){
       namelijkaanwezig=true;
       ast=as.split(Separator);
       astc=0;
       as=ast[0];
      }else namelijkaanwezig=false;
      for(j=1;j<=VraagArray[i][2];j++){
/* nieuw voor dit vraagtype */
if(VraagArray[i][11]){if(VraagArray[i][11].indexOf("|"+(j-1)+"|")>-1)write('<tr><td colspan="3">&nbsp;</td></tr>');}else{if(Dividers>0&&j>1&&(j%Dividers==1))write('<tr><td colspan="'+(KN+1)+'">&nbsp;</td></tr>');}
       CS=getconditionalstyle(AntwoordArray[i][j][5],AntwoordArray[i][j][6]);
       write('<tr'+CS[0]+'><td><input type="checkbox" name="Antwoord" id="Antwoord'+j+'"'+CS[1]);
       if(as.substr(j-1,1)==1&&CS[2])write(' checked="checked"');
       write(' onclick="');
       if(AntwoordArray[i][j][2]==0)write('document.forms[0].SluitVraag.focus();');
       write('"></td><td onclick="if(!document.getElementById('+"'Antwoord"+j+"'"+').checked)document.getElementById('+"'Antwoord"+j+"'"+').click()"');
       if(AntwoordArray[i][j][2]==0)write(' colspan="2"');
       write('>'+LoopIt(AntwoordArray[i][j][0]));
       if(AntwoordArray[i][j][2]>0){
        write('</td><td onclick="if(!document.getElementById('+"'Antwoord"+j+"'"+').checked)document.getElementById('+"'Antwoord"+j+"'"+').click()"><input type="text" '+(BuggyIE?'':'style="width:100%"')+' id="Namelijk'+j+'"'+CS[1]+' onkeypress="var keycode=(event.which?event.which:event.keyCode);if(keycode==13)return false;');
        if(AntwoordArray[i][j][2]==2)write('else return parent.putinformat('+"'"+AntwoordArray[i][j][3]+"'"+',this,keycode)" onfocus="try{if(selectionStart==null){inputtext=document.selection.createRange();inputtext.move('+"'character'"+',0);}else selectionStart=selectionEnd=0;}catch(err){}');
        if(AntwoordArray[i][j][2]==3)write('else return parent.checknum('+"'"+AntwoordArray[i][j][3]+"'"+',this,keycode);');
        write('"');
        if(namelijkaanwezig){
         astc++;
         if(ast[astc]!=".")write(' value="'+ast[astc]+'"');
         else if(AntwoordArray[i][j][2]==2)write(' value="'+WriteFormat(AntwoordArray[i][j][3])+'"');
        }else if(AntwoordArray[i][j][2]==2)write(' value="'+WriteFormat(AntwoordArray[i][j][3])+'"');
        write(' />');
       }
       write('</td></tr>');
      }
      write('</table><br />');
      break;
     }
     default:{
      write('<table '+(BuggyIE?'':'style="width:100%"')+'><col style="width:1.5em" /><col style="width:auto" /><col style="width:auto" />');
      as=getanswer();
      namelijkaanwezig=true;
      if(as.indexOf(Separator)>0){
       ast=as.split(Separator);
       astc=0;
       as=ast[0];
      }else namelijkaanwezig=false;
      for(j=1;j<=VraagArray[i][2];j++){
/* nieuw voor dit vraagtype */
if(VraagArray[i][11]){if(VraagArray[i][11].indexOf("|"+(j-1)+"|")>-1)write('<tr><td colspan="3">&nbsp;</td></tr>');}else{if(Dividers>0&&j>1&&(j%Dividers==1))write('<tr><td colspan="'+(KN+1)+'">&nbsp;</td></tr>');}
       CS=getconditionalstyle(AntwoordArray[i][j][5],AntwoordArray[i][j][6]);
       write('<tr'+CS[0]+'><td><input type='+VraagArray[i][0]+' name="Antwoord" id="Antwoord'+j+'"'+CS[1]);
       if(as!="."){
        switch(VraagArray[i][0]){
         case "radio":if(as==j&&CS[2])write(' checked="checked"');break;
         case "checkbox":if(as.substr(j-1,1)==1&&CS[2])write(' checked="checked"');break;
        }
       }
       write(' onclick="');
       if(AntwoordArray[i][j][2]==0)write('document.forms[0].SluitVraag.focus();');else write('document.getElementById('+"'Namelijk"+j+"'"+').focus()');
       write('"></td><td onclick="if(!document.getElementById('+"'Antwoord"+j+"'"+').checked)document.getElementById('+"'Antwoord"+j+"'"+').click()"');
       if(AntwoordArray[i][j][2]==0)write(' colspan="2"');
       write('>'+LoopIt(AntwoordArray[i][j][0]));
       if(AntwoordArray[i][j][2]>0){
        write('</td><td onclick="if(!document.getElementById('+"'Antwoord"+j+"'"+').checked)document.getElementById('+"'Antwoord"+j+"'"+').click()"><input type="text" '+(BuggyIE?'':'style="width:100%"')+' id="Namelijk'+j+'"'+CS[1]+' onkeypress="var keycode=(event.which?event.which:event.keyCode);if(keycode==13)return false;');
        if(AntwoordArray[i][j][2]==2)write('else return parent.putinformat('+"'"+AntwoordArray[i][j][3]+"'"+',this,keycode)" onfocus="try{if(selectionStart==null){inputtext=document.selection.createRange();inputtext.move('+"'character'"+',0);}else selectionStart=selectionEnd=0;}catch(err){}');
        if(AntwoordArray[i][j][2]==3)write('else return parent.checknum('+"'"+AntwoordArray[i][j][3]+"'"+',this,keycode);');
        write('"');
        if(namelijkaanwezig){
         astc++;
         if(ast[astc]!=".")write(' value="'+ast[astc]+'"');
         else if(AntwoordArray[i][j][2]==2)write(' value="'+WriteFormat(AntwoordArray[i][j][3])+'"');
        }else if(AntwoordArray[i][j][2]==2)write(' value="'+WriteFormat(AntwoordArray[i][j][3])+'"');
        write(' />');
       }
       write('</td></tr>');
      }
      write('</table><br />');
     }
    }
    if(TerugTekst!="" && i>1){
     write('<input type="button" class="b" name="Terug" value="');
     write(TerugTekst);
     writeln('" onclick="this.disabled=true;vs=parent.pop();parent.StelVraag(vs);">');
    }
    write('<input type="button" class="b" name="SluitVraag" value="');
    write(VerderTekst);
    writeln('" onclick="this.disabled=true;parent.Valideer('+i+','+VraagArray[i][3]+','+VraagArray[i][8]+',this)">');
    write('</form>');
    if(TestRunning)write('<form action="account.php" method="post" target="_top" style="position:fixed;top:10px;left:10px;z-index:9999"><input type="hidden" name="enquetecode" value="'+EnqueteNummer+'"><input type="button" value="'+Messages[Language]["TerugAccount"]+'" onclick="submit()" /></form>');
    write('</p>'+BottomDivContent);
    write('</body></html>');
    close(); 
   }
   if(VraagArray[i][0]=="upload"){
    showtarget=(show.document.getElementById("ajaxtarget").contentDocument?show.document.getElementById("ajaxtarget").contentDocument:show.document.frames["ajaxtarget"].document);
    with(showtarget){
     open();
     frameheader=replace(Header,"padding:50px 100px","padding:0");
     write(frameheader+'<body><form action="uploadattachment.php" method="post" enctype="multipart/form-data" target="ajaxtarget">');
     write('<input type="hidden" name="layout" value="'+rtfSize+" "+rtfFont+'">');
     write('<input type="hidden" id="actie" name="actie" value="0" /><input type="hidden" id="wissen" name="wissen" value="" /><input type="hidden" id="max" name="max" value="'+VraagArray[i][3]+'" /><table style="width:auto"><col><col><thead></thead><tbody id="uploadtable">');
     VorigAntwoord=getanswer(i);
     Uploadlist=VorigAntwoord.split(FilesSeparator);
     Aantalfiles=(Uploadlist.length-1)/2;
     for(y=0;y<Aantalfiles;y++)write("<tr id='tr"+Uploadlist[y*2]+"'><td>"+Uploadlist[y*2+1]+"&nbsp;&nbsp;&nbsp;</td><td><input type='button' onclick='document.getElementById("+'"actie").value=1;document.getElementById("wissen").value="'+Uploadlist[y*2]+'"'+";submit();' value='Wis' /></td></tr>");
     write('</tbody></table><p id="uploadarea">');
     if(Aantalfiles<VraagArray[i][3])write('<input type="hidden" id="uploadarray" name="uploadarray" value="'+(VorigAntwoord=="."?"":VorigAntwoord)+'"><input type="file" name="uploadfile"><input type="submit" value="'+Messages[Language]["Toevoegen"]+'"> ('+Messages[Language]["Max1Mb"]+')<br /><br />');
     else write(Messages[Language]["MaxFilesBereikt"]+VraagArray[i][3]+Messages[Language]["Bereikt"]);
     write('</p></form></body></html>');
     close(); 
    }
    iframestyle=show.document.getElementById("ajaxtarget").style;
    iframestyle.width="100%";
    iframestyle.border="0";
   }
  }
 }else{
  main.document.forms[0].Deelnemer.value=Deelnemer;
  main.document.forms[0].Enquetenummer.value=Enquetenummer;
  main.document.forms[0].Respons.value=returnantwoorden(Separator);
  if(Feedback==1){
   push(0); // boguspush om feedback goed te laten werken.
   feedbackbeforesend(TestRunning);
  }else{
   main.document.innerHTML='<html><head></head><body><div style="position:absolute;top:50%;margin-top:1 em;text-align:center">Bijgevoegde bestanden versturen.<br /><img src="www.stoxos.nl/uploading.gif" /></div></body></html>';
   main.document.forms[0].submit();
  }
 }
}

function calcconstantsum(n,r){
 for(z=1;z<=n;z++){
  y=show.document.getElementById("constantsum"+z).value;
  r-=y;
 }
 show.document.getElementById("constantsumleft").innerHTML=r;
}

function loopcheck(){
 LoopLevel=0;
 lc=new Array();
 lc[0]=0;
 AQ=VraagArray.length;
 lc[AQ]=0;
 for(i=1;i<AQ;i++){
  if(VraagArray[i][0]=="loopcheckbox"||VraagArray[i][0]=="loopranking")LoopLevel++;
  if(VraagArray[i][0]=="endloop")LoopLevel--;
  lc[i]=LoopLevel;
  if(LoopLevel<0)return Messages[Language]["LoopLevel"];
 } 
 if(LoopLevel>0) return Messages[Language]["LoopLevel"];
 for(i=1;i<AQ;i++){
  nextnext=(VraagArray[i][4]=="99999999");
  nextsame=(nextnext?true:lc[i]==lc[VraagArray[i][4]]);
  nextonehigher=(lc[VraagArray[i][4]]==lc[i]+1);
  nextloop=(VraagArray[VraagArray[i][4]]?(VraagArray[VraagArray[i][4]][0]=="loopcheckbox"||VraagArray[VraagArray[i][4]][0]=="loopranking"):false);
  loopup=nextonehigher&&nextloop;
  nextonelower=(lc[VraagArray[i][4]]==lc[i]-1);
  nextendloop=(VraagArray[VraagArray[i][4]]?(VraagArray[VraagArray[i][4]][0]=="endloop"):false);
  loopdown=nextonelower&&nextendloop;
  if(!(nextsame||loopup||loopdown))return Messages[Language]["LoopLevel"];
  if(VraagArray[i][0]=="conditional"){
   nextnext=(VraagArray[i][3]=="99999999");
   nextsame=(nextnext?true:lc[i]==lc[VraagArray[i][3]]);
   nextonehigher=(lc[VraagArray[i][3]]==lc[i]+1);
   nextloop=(VraagArray[VraagArray[i][3]]?(VraagArray[VraagArray[i][3]][0]=="loopcheckbox"||VraagArray[VraagArray[i][3]][0]=="loopranking"):false);
   loopup=nextonehigher&&nextloop;
   nextonelower=(lc[VraagArray[i][3]]==lc[i]-1);
   nextendloop=(VraagArray[VraagArray[i][3]]?(VraagArray[VraagArray[i][3]][0]=="endloop"):false);
   loopdown=nextonelower&&nextendloop;
   if(!(nextsame||loopup||loopdown))return Messages[Language]["LoopLevel"];
  }
  for(j=1;j<=VraagArray[i][2];j++){
   nextnext=(AntwoordArray[i][j][1]=="99999999");
   nextsame=(nextnext?true:lc[i]==lc[AntwoordArray[i][j][1]]);
   nextonehigher=(lc[AntwoordArray[i][j][1]]==lc[i]+1);
   nextloop=(AntwoordArray[i][j][1]>0?(VraagArray[AntwoordArray[i][j][1]]?(VraagArray[AntwoordArray[i][j][1]][0]=="loopcheckbox"||VraagArray[AntwoordArray[i][j][1]][0]=="loopranking"):false):false);
   loopup=nextonehigher&&nextloop;
   nextonelower=(lc[AntwoordArray[i][j][1]]==lc[i]-1);
   nextendloop=(AntwoordArray[i][j][1]>0?(VraagArray[AntwoordArray[i][j][1]]?(VraagArray[AntwoordArray[i][j][1]][0]=="endloop"):false):false);
   loopdown=nextonelower&&nextendloop;
   if(!(nextsame||loopup||loopdown))return Messages[Language]["LoopLevel"];
  } 
 }
 return false;
}

function StartEnquete(){
 if(errmsg=loopcheck())alert(errmsg);
 else{
  AQ=VraagArray.length;
  AVN=0;
  VraagBoom=buildantwoordboom();
  LoopLevel=0;
  boom[LoopLevel]=VraagBoom;
  boomvraag[LoopLevel]=0;
  if(ByEmail==1)Separator="|";else Separator="\t";
  if(VraagArray.length>0)StelVraag(1);else einde(TestRunning);
 }
}

function laatstescherm(test,tekst){
 if(redirectUserpage!="")window.location=redirectUserpage;
 else{
  with(document){
   write(Header);
   write('<body>'+TopDivContent+'<p>'+Messages[Language]["Ontvangen"]+'<br />&nbsp;</p><p>');
   write(safehtml(resetquot(tekst))+'</p>');
   if(!test){
    if(MaxVragen>5){
     IE=true;
     if(navigator.userAgent.indexOf('Chrome')!=-1)IE=false;
     if(navigator.userAgent.indexOf('Apple')!=-1)IE=false;
     if(navigator.userAgent.indexOf('Opera')!=-1)IE=false;
     if(navigator.userAgent.indexOf('KDE')!=-1)IE=false;
     if(navigator.userAgent.indexOf('Firefox')!=-1)IE=false;
     if(navigator.userAgent.indexOf('Gecko')!=-1)IE=false;
     if((IE||window.opener!==null)&&(parent==top)){
      write('<p style="margin-top:1em"><form action=""><input type="button" value="'+Messages[Language]["Sluiten"]+'" onclick="');
      write("parent.window.close()");
      write('" class="b" /></form></p>');
     }
    }else{
     write('<p><form action=""><input type="button" value="'+Messages[Language]["Sluiten"]+'" onclick="');
     write("parent.location.replace('http://'+window.location.hostname)");
     write('" class="b" /></form></p>');
    }
   }else write('<form action="account.php" method="post" target="_top" style="position:fixed;top:10px;left:10px;z-index:9999"><input type="hidden" name="enquetecode" value="'+EnqueteNummer+'"><input type="submit" value="'+Messages[Language]["TerugAccount"]+'" /></form>');
   write(BottomDivContent);
   write('</body></html>')
   close();
  }
 }
}

function einde(test,ia){
 if(Feedback==2)feedbackaftersend(test,ia);
 else laatstescherm(test,AfsluitText);
}

function eindepopup(test,tekst,ia){
 if(Feedback==2)feedbackaftersend(test,ia);
 else laatstescherm(test,AfsluitText);
 alert(tekst);
}

function ZetAntwoordInArray(){
 for(var x=0;x<boom[LoopLevel].length;x++){
  if(VraagArray[boom[LoopLevel][x][3]][0]=="constantsum"){
   boom[LoopLevel][x][0]="";
   for(var j=1;j<=VraagArray[boom[LoopLevel][x][3]][2];j++){
    boom[LoopLevel][x][0]+=Antwoordeninput[Antwoordpositie]+Separator;
    Antwoordpositie++;
   }
   Antwoordpositie--;
  }else boom[LoopLevel][x][0]=Antwoordeninput[Antwoordpositie];
  for(var j=1;j<=VraagArray[boom[LoopLevel][x][3]][2];j++)if(AntwoordArray[boom[LoopLevel][x][3]][j][2]!=0){
   Antwoordpositie++;
   if(VraagArray[boom[LoopLevel][x][3]][0]!="constantsum")boom[LoopLevel][x][0]+=Separator;
   boom[LoopLevel][x][0]+=Antwoordeninput[Antwoordpositie];
   if(VraagArray[boom[LoopLevel][x][3]][0]=="constantsum")boom[LoopLevel][x][0]+=Separator;
  }
  Antwoordpositie++;
  if(VraagArray[boom[LoopLevel][x][3]][0]=="remark"||VraagArray[boom[LoopLevel][x][3]][0]=="conditional")Antwoordpositie--;
  if(VraagArray[boom[LoopLevel][x][3]][0]=="loopcheckbox"||VraagArray[boom[LoopLevel][x][3]][0]=="loopranking"){
   for(var f=0;f<VraagArray[boom[LoopLevel][x][3]][2];f++){
    LoopLevel++;
    boom[LoopLevel]=boom[LoopLevel-1][x][2][f];
    ZetAntwoordInArray();
    LoopLevel--;
   }
  }
 }
}

function feedbackaftersend(test,ia){
 AQ=VraagArray.length;
 ia=ia.replace(/HTMLquot;/g,"&quot;");
 AVN=0;
 VraagBoom=buildantwoordboom();
 LoopLevel=0;
 boom[LoopLevel]=VraagBoom;
 boomvraag[LoopLevel]=0;
 Antwoordeninput=ia.split("\t");
 Antwoordpositie=1;
 ZetAntwoordInArray();
 tekst='<table style="width:auto"><col style="width:auto" /><col style="width:auto" />';
 printvraag(1);
 tekst+="</table>";
 with(document){
  write(Header);
  write('<body>'+TopDivContent);
  write('<p style="font-weight:bold">'+Messages[Language]["Ontvangen"]+'</p>');
  write(tekst);
  write("<p>&nbsp;</p>");
  write("<p>"+AfsluitText+"</p>");
  write('<form action="">');
  write('<input type="button" class="b" name="Print" value="Print" onclick="javascript:print()"> ');
  write('<input type="button" class="b" name="SluitVraag" value="');
  write(Messages[Language]["Sluiten"]);
  write('" onclick="');
  if(MaxVragen>5)write("parent.window.close()");else write("parent.location.replace('http://'+window.location.hostname)");
  write('" />');
  write('</form>');
  write('</p>'+BottomDivContent);
  if(test)write('<form action="account.php" method="post" target="_top" style="position:fixed;top:10px;left:10px;z-index:9999"><input type="hidden" name="enquetecode" value="'+EnqueteNummer+'"><input type="button" value="'+Messages[Language]["TerugAccount"]+'" onclick="submit()" /></form>');
  write('</body></html>');
  close();
 }
}

function feedbackbeforesend(test){
 with(show.document){
  close();
  open();
  write(Header);
  write('<body>'+TopDivContent);
  write('<p style="font-weight:bold">'+Messages[Language]["UwAntwoorden"]+'</p>');
  tekst='<table style="width:auto"><col style="width:auto" /><col style="width:auto" />';
  backupstacks();
  printvraag(1);
  restorestacks();
  tekst+="</table>";
  write(tekst);
  write("<p>&nbsp;</p>");
  write('<form action="">');
  write('<input type="button" class="b" name="Print" value="Print" onclick="javascript:print()"> ');
  if(TerugTekst!=""){
   write('<input type="button" class="b" name="Terug" value="');
   write(TerugTekst);
   writeln('" onclick="this.disabled=true;vs=parent.pop();parent.StelVraag(vs);">');
  }
  write('<input type="button" class="b" name="SluitVraag" value="');
  write(VerderTekst);
  writeln('" onclick="parent.main.document.forms[0].submit()">');
  write('</form>');
  write('</p>');
  write(BottomDivContent);
  if(TestRunning)write('<form action="account.php" method="post" target="_top" style="position:fixed;top:10px;left:10px;z-index:9999"><input type="hidden" name="enquetecode" value="'+EnqueteNummer+'"><input type="button" value="'+Messages[Language]["TerugAccount"]+'" onclick="submit()" /></form>');
  write('</body></html>');
  close();
 }
}

function NietTonen(melding){
 with(document){
  write(Header);
  write('<body>'+TopDivContent+'<p>'+melding+'</p><p>');
  write('</p><p>&nbsp;</p><p><form action=""><input type="button" value="'+Messages[Language]["Sluiten"]+'" onclick="');
  if(MaxVragen>5)write("parent.window.close()");else write("parent.location.replace('http://'+window.location.hostname)");
  write('" />');
  write('</form></p>'+BottomDivContent+'</body></html>');
  close();
 }
}

function closed(){
 NietTonen(Messages[Language]["Gesloten"]);
}

function creditop(){
 NietTonen(Messages[Language]["CreditOp"]);
}

function printvraag(i){
 if(LoopLevel>0){
  boomvraagantwoordnummer[LoopLevel]=peekantwoord();
  if(boomvraagantwoordnummer[LoopLevel]){
   boom[LoopLevel]=boomvraagantwoordlijst[LoopLevel][peekantwoord()-1]; 
   LoopAntwoordTekst[LoopLevel]=AntwoordArray[peekloop()][peekantwoord()][4];
  }else{
   while(VraagArray[i][0]!="endloop")i++;
   poploop();
   i=VraagArray[i][4];
  }
 }
 if(VraagArray[i])if(VraagArray[i][0]!="conditional")push(i);
 gotovraag(i);
 if((i!=0)&&(i<AQ)){
  switch(VraagArray[i][0]){
   case "endloop":
    popantwoord();
    if(peekantwoord())printvraag(VraagArray[peekloop()][4]);else{poploop();printvraag(VraagArray[i][4]);}
    break;
   case "loopcheckbox":
   case "loopranking": 
    DitAntwoord=getanswer();
    tekst+='<tr><td colspan="2" style="padding-top:1em">'+LoopIt(VraagArray[i][1])+"</td></tr>";
    if(VraagArray[i][0]=="loopcheckbox"){
      if(DitAntwoord.indexOf(Separator)>0){
       ast=DitAntwoord.split(Separator);
       DitAntwoord=ast[0];
       astc=0;
      }
      for(var j=1;j<=VraagArray[i][2];j++){
       var a=DitAntwoord.substr(j-1,1);
       if(AntwoordArray[i][j][2]>0){
        astc++;
        if(a==1)tekst+='<tr><td>'+LoopIt(AntwoordArray[i][j][0])+"</td><td>"+ast[astc]+"</td></tr>";
       }else if(a==1)tekst+='<tr><td colspan="2">'+LoopIt(AntwoordArray[i][j][0])+"</td></tr>";
      }
    }else{
     KeuzeString=VraagArray[i][6];
     Keuzes=KeuzeString.split("\t");
     for(var y=1;y<=VraagArray[i][2];y++){
      var a=DitAntwoord.substr(y-1,1);
      if(a!=".")tekst+="<tr><td>"+LoopIt(AntwoordArray[i][y][0])+"</td><td>"+Keuzes[code2nr(a)-1]+"</td></tr>";
     }
    }
    if(VraagArray[i][5]==2&&false){
     if(runcounter[LoopLevel]!=0){
      DitAntwoord=VraagArray[i][7];
      boom[LoopLevel][boomvraag[LoopLevel]][0]=DitAntwoord;
      boom[LoopLevel][boomvraag[LoopLevel]][1]=1;
     }
    }
    while(antwoordstack[LoopLevel+1].length>0)antwoordstack[LoopLevel+1].pop();
    if(VraagArray[i][0]=="loopcheckbox"){
     for(r=VraagArray[i][2]-1;r>=0;r--)if(DitAntwoord.substr(r,1)=="1")pushantwoord([r+1]);
    }else{
     KeuzeString=VraagArray[i][6];
     KN=KeuzeString.split("\t");
     for(w=KN.length+1;w>0;w--)pushantwoord(DitAntwoord.indexOf(w)+1);
    }
    boomvraag[LoopLevel]++;
    pushloop(i);
    printvraag(VraagArray[i][4]);
    break;
   default:{
    DitAntwoord=getanswer();
    if(LoopLevel>0)boom[LoopLevel][boomvraag[LoopLevel]][1]=0;
    if(VraagArray[i][0]=="loopcheckbox"||VraagArray[i][0]=="loopranking")pushloop(i);
    switch(VraagArray[i][0]){
     case "radio":
     case "dropdown":
      tekst+='<tr><td style="padding-top:1em">'+LoopIt(VraagArray[i][1])+'</td><td style="padding-top:1em">';
      break;
     case "conditional":
      break;
     default:
      tekst+='<tr><td colspan="2" style="padding-top:1em">'+LoopIt(VraagArray[i][1])+"</td></tr>";
    }
    VV=VraagArray[i][4];
    switch(VraagArray[i][0]){
     case "text":
      if(DitAntwoord!=""&&DitAntwoord!=".")tekst+='<tr><td colspan="2">'+DitAntwoord+"</td></tr>";
      break;
     case "checkmatrix":
     case "matrix":
     case "loopranking":
     case "ranking":{
      KeuzeString=VraagArray[i][6];
      Keuzes=KeuzeString.split("\t");
      for(var y=1;y<=VraagArray[i][2];y++){
       var a=DitAntwoord.substr(y-1,1);
       if(a!=".")tekst+="<tr><td>"+LoopIt(AntwoordArray[i][y][0])+"</td><td>"+Keuzes[code2nr(a)-1]+"</td></tr>";
      }
      break;
     }
     case "semdif":{
      for(var j=1;j<=VraagArray[i][2];j++){
       Antwoordstring=LoopIt(AntwoordArray[i][j][0]);
       Antwoordset=Antwoordstring.split("\t");
       tekst+='<tr><td style="text-align:right">'+Antwoordset[0]+" - "+(Antwoordset[1]?Antwoordset[1]:"")+'</td>';
       var a=code2nr(DitAntwoord.substr(j-1,1));
       tekst+='<td>1 - '+VraagArray[i][3]+': '+a+'</td></tr>';
      }
      break;
     }
     case "constantsum":{
      na=VraagArray[i][2];
      if(DitAntwoord.indexOf(Separator)>0)ast=DitAntwoord.split(Separator);
      else{
       ast=new Array();
       for(j=0;j<na;j++)ast[j]="";
       for(j=1;j<=na;j++)if(AntwoordArray[i][j][2]>0)ast[ast.length]="";
      }
      andersnlcounter=0;
      for(var j=1;j<=na;j++){
       tekst+="<tr><td>"+LoopIt(AntwoordArray[i][j][0]);
       if(AntwoordArray[i][j][2]>0){
        tekst+=" "+(ast[na+andersnlcounter]=="."?"":ast[na+andersnlcounter]);
        andersnlcounter++;
       }
       tekst+="</td><td>"+ast[j-1]+"</td></tr>";
      }
      break;
     }
     case "checkbox":
     case "loopcheckbox":{
      if(DitAntwoord.indexOf(Separator)>0){
       ast=DitAntwoord.split(Separator);
       DitAntwoord=ast[0];
       astc=0;
      }
      for(var j=1;j<=VraagArray[i][2];j++){
       var a=DitAntwoord.substr(j-1,1);
       if(AntwoordArray[i][j][2]>0){
        astc++;
        if(a==1)tekst+='<tr><td>'+LoopIt(AntwoordArray[i][j][0])+"</td><td>"+ast[astc]+"</td></tr>";
       }else if(a==1)tekst+='<tr><td colspan="2">'+LoopIt(AntwoordArray[i][j][0])+"</td></tr>";
      }
      break;
     }
     case "multitext":
      if(DitAntwoord.indexOf(Separator)>-1)ast=DitAntwoord.split(Separator);else ast=new Array(DitAntwoord);
      for(var j=1;j<=VraagArray[i][2];j++) tekst+="<tr><td>"+LoopIt(AntwoordArray[i][j][0])+"</td><td>"+ast[j]+"</td></tr>";
      break;
     case "remark":
      break;
     case "conditional":
      conditiestring="";
      for(j=1;j<=VraagArray[i][2];j++){
       ConditieArray=AntwoordArray[i][j][0].split("|");
       conditiestring+=ConditieArray[0]+ConditieSeparator;
       conditiestring+=AntwoordArray[i][j][2]+ConditieSeparator;
       conditiestring+=(ConditieArray[1]?ConditieArray[1]:0)+ConditieSeparator;
       dezeoperator=AntwoordArray[i][j][4];
       if(dezeoperator=="="||dezeoperator=="!")dezeoperator+="=";
       conditiestring+=dezeoperator+ConditieSeparator;
       conditiestring+=AntwoordArray[i][j][5]+ConditieSeparator;
       conditiestring+=VraagArray[i][6]+ConditieSeparator;
      }
      conditieuitkomst=evaluateconditie(conditiestring);
      if(conditieuitkomst)VV=VraagArray[i][3];
      break;
     case "upload":
      Uploadlist=DitAntwoord.split(FilesSeparator);
      Aantalfiles=(Uploadlist.length-1)/2;
      if(Aantalfiles<1&&DitAntwoord.length>0)tekst+='<tr><td colspan="2">'+DitAntwoord+'</td></tr>';
      else{
       tekst+="<tr><td colspan='2'>";
       for(y=0;y<Aantalfiles;y++){
        tekst+=Uploadlist[y*2+1];
        if(y<(Aantalfiles-1))tekst+=", ";
       }
       tekst+="</td></tr>";
      }
      break;
     default:{
      if(DitAntwoord.indexOf(Separator)>0){
       ast=DitAntwoord.split(Separator);
       DitAntwoord=ast[0];
       astc=0;
       aln="";
       for(var j=1;j<=VraagArray[i][2];j++){
        if(AntwoordArray[i][j][2]>0){
         astc++;
         if(j==DitAntwoord)aln=ast[astc];
        }
       }
       tekst+=(AntwoordArray[i][DitAntwoord]?LoopIt(AntwoordArray[i][DitAntwoord][0]):"")+" "+aln+"</td></tr>";
      }else tekst+=(AntwoordArray[i][DitAntwoord]?LoopIt(AntwoordArray[i][DitAntwoord][0]):"")+"</td></tr>";
      if(VraagArray[i][0]=="radio"&&AntwoordArray[i][DitAntwoord])VV=AntwoordArray[i][DitAntwoord][1];
      break;
     }
    }
    printvraag(VV);
   }
  }
 }
}

