// Begin -->
// Vita4.js Basis javascriptbibliotheek.
// Nodig: jquery.js, fancybox.js, corner.js
// -------------------------------------------------------
// Algemene variabelen:
// Je kunt deze in de pagina een andere waarde geven.

var apo = '"';			 // Apostrophe.
var linknum = 1;         // Voor unieke namen bij folder plaatjes. Zie function PrintTekst.
var stijl = 0;           // Verschillende stijlen album: 0 = standaard, 1 = ouderwets.
var Simgs = new Array(); // Array met plaatjes voor slideshows.
var d = "duim/_";	     // Voor thumbnails in apart mapje.
var klas = "";			 // Standaard of 'oude' stijl.
var datklas = "d";		 

// ---------------------------- Waar is de root?
var basis = "http://faase.nl/";
 drv = "d:";
 docpl = document.location+" ";
 docpl = docpl.toLowerCase();
 
 if (docpl.indexOf("172.16") > 0) basis = "http://172.16.19.254/";  // Portia intern bij ip-nummer.
 if (docpl.indexOf("rocmn.nl") > 0) basis = "http://bisschop.rocmn.nl/";
 if (docpl.indexOf("paal43") > 0) basis = "http://opaal43.mooo.com/";
 if (docpl.indexOf("ile:///") > 0) drv = docpl.substring(8,9);
         // Op de 8e plaats staat de drive letter.
         // Let op: substring(vanaf plaatsnr, tot plaatsnr)
 if (docpl.indexOf("webroot") > 0) basis = "file:///"+drv+":/WebRoot/";

// -----------------------------------------------
var plsub = basis+"plaat/";  // Plaatjes directory.

// ----------------------------------------------- Stijlen.
var arblad = [
 plsub+"bladgeel.jpg",                   // Standaard.
 plsub+"bbladblack.jpg"];                // Ouderwets.
var arletter = ["", " class=oud"];
var ardatum = ["d", "doud"];					 

// -----------------------------------------------
var csstijl = basis+"java/vita.css";     // Style sheet voor nieuw te openen vensters.
var bpl = [
 basis+"plaat/bopen.gif",
 basis+"plaat/bterug.gif",
 basis+"plaat/bverder.gif",
 basis+"plaat/bclsd.gif",
 basis+"plaat/bopen1.gif",
 basis+"plaat/bopenr.gif",
 basis+"plaat/bopenl.gif"];  // Plaatjes voor blader-boekje.

// -----------------------------------------------------------------
// Algemene funkties.

// -----------------------------------------------------------------
function empty(param)
{if (typeof param == 'undefined')  return "" 
 else return param;};  // "" geven als parameter niet ingevuld is.

// -----------------------------------------------------------------
function KnopIn(img_name,img_src)  {document[img_name].src=img_src;}
function KnopLos(img_name,img_src) {document[img_name].src=img_src;}

// -----------------------------------------------------------------
function pagnum()
{
 var nr = parseInt(location.search.substring(1,100));
                               // Nummer uit pagina aanroep halen
                               // (b.v. 2 uit 77wat.htm?2)
 if (isNaN(nr)) nr = 1;        // Niets mee, dan nummer 1
 return nr;                    // nummer teruggeven.
}

// ==============================================================
// Plaatje, dat er niet is, vervangen.
// ==============================================================
function ImgOnb(imageObj)
{imageObj.src = basis+"plaat/ontbreekt.jpg";}

// -----------------------------------------------------------------
function Streep(procent)               // Streep, default volle breedte.
{if (typeof procent == 'undefined') var procent = "100";
 document.write("<hr width=", procent, "%>");};

// ==============================================================
// Hoofdletter van eerste letter maken.
// ==============================================================
function Capital(tekst)
{
 while(''+tekst.charAt(0)==' ') tekst=tekst.substring(1,tekst.length);   // Spaties voorop weghalen.
 return tekst.substring(0,1).toUpperCase()+tekst.substring(1,tekst.length);
}	  

// ==============================================================
// Twee kolommen tekst over de volle breedte.
// ==============================================================
function Kolom2(a,b, nostreep)
{
 nostreep = empty(nostreep);      // Geef je iets als derde mee, dan komt er geen streep onder.
 document.write("<table border=0 cellspacing=0 CELLPADDING=4 width=100%>");
 document.write("<tr><td width=49% valign=top><SPAN>"+a+"</td>");
 document.write("<td>&nbsp;</td>");
 document.write("<td width=49% valign=top><SPAN>"+b+"</td></tr>");
 document.write("</table>");
 if (nostreep == "") Streep("50");
};

// ==============================================================
// Maken en neerzetten van de standaard paginakop.
// ==============================================================
function Kop(jaar, tekst, knoppen, achter, zoekpag)
{
 achter = empty(achter);          // Niet meegegeven dan "".
 jaar = empty(jaar);
 tekst = empty(tekst);
 zoekpag = empty(zoekpag);
 if (typeof knoppen == 'undefined') knoppen = nav;
                   // nav is standaard array op veel bladzijden.
                   // Met vorige en volgende bladzijde en index.
 docpl = document.location+" ";
 docpl = docpl.toLowerCase();
 albplaats = docpl.indexOf("album"); 
 if (albplaats > 0) zoekpag =  basis+"album/index.htm";
                                  // Zoekpagina. Bij klikken op de
                                  // voorste koptekst (jaar) daarnaar toe.
 rest = docpl.substring(albplaats+6,100);    // Wat staat er achter album/
 volb = rest.indexOf("/");					 // Waar staat de volgende /
 wie = Capital(rest.substring(0,volb));		 //  Dan is dit de naam. 
 
 if ((jaar.indexOf("<") == -1) && (jaar.indexOf(">") == -1))
     document.title = wie+" - "+jaar.replace(/#/g," ")+" "+tekst; 
	 // titel aanpassen. Als er geen html in staat.
     // global function om # te vervangen door spaties. (Bij jaar#dag).
 document.writeln("</head>\n");

 // --------------------------------- Achtergrond.
 b1 = " BACKGROUND="+arblad[stijl];
 if (achter != "") b1 = " BACKGROUND='"+achter+"'";

 document.write("<body"+b1+">");
// -----------------------------------------------

 document.write("<div id="+apo+"overDiv"+apo+" STYLE="+apo+"position:absolute; VISIBILITY:hidden;z-index:1000;"+apo+"></div>");
// Dit is het deel van Overlib, dat direct na <body> moet komen.

// -----------------------------------------------
 document.write('<center><table border=0 cellspacing=0 CELLPADDING=0 width=100%><tr>');

 var hek = jaar.indexOf("#");      // In de datum jaar#datum
                                   // Dan wordt het datumdeel kleiner
                                   // (1 stap groter dan default) geschreven.
 lkleur = (stijl==1)?"class=dred":"class=d";
 rest = "";
 if (hek > 0) 
    {rest = jaar.substring(hek+1, 100);
     jaar = jaar.substring(0, hek);};

kf ="";
if ((jaar != "") && !isNaN(jaar)) kf = kopfoto(jaar)
                                   // fotojjjj.jpg wordt klein vertoond voor het jaar.
if (zoekpag != "")				   // Dit zit bij albumpagina's. Die hebben een zoekpag.
   document.write("<td>"+kf+"<a href='"+zoekpag+"?zoekveld="+jaar+"'><SPAN"+lkleur+"><FONT SIZE=+3><B>"+jaar+" </B></FONT><FONT SIZE=+1>"+rest+"</FONT></a></td>");
	                               // Naar zoekpagina met jaar als zoekveld.
                                   // Dus alles van dat jaar laten zien.
else							   // Pagina's van website hebben geen zoekpag.
   document.write("<td>"+kf+"<FONT SIZE=+3 "+lkleur+"><B>"+jaar+" </B></FONT><FONT SIZE=+1>"+rest+"</td>");

lkleur = "";
if (stijl == 1) lkleur = " class=wit";
document.write('<td align=center><FONT SIZE=+3 '+lkleur+'><B>'+tekst+'</B></FONT></td>');
document.write("<td ALIGN=right>");

switch (knoppen)
 {
  case "Terug":	blader(knoppen); break;
  case "Geen": break;                     // Geen = boekje weglaten.
  default:
    {
     r = knoppen.length / 4;
     document.write("<table border=0 CELLPADDING=0 cellspacing=0><tr>");
     for (bk=0;bk<=r-1;bk++)
       {
        document.write('<td align=center>');
        blader(knoppen[0+bk*4], [knoppen[1+bk*4], knoppen[2+bk*4], knoppen[3+bk*4]]);
        document.writeln("</td>");
       }
     document.writeln("</tr></table>");
    };
	break;
 };
document.writeln("</td></tr></table><hr>");
}

// ---------------------------------------------
// fotootje naast jaartal in de kop.
function kopfoto(jaar)
{return "<img src=foto"+jaar+".jpg border=0 height=40 class="+apo+"corner ishadow50 iradius5"+apo+"> ";}

// ==============================================================
// Boekje met voor- en achteruit bladeren en dichtdoen.
// bladz = Array(terug, index, vooruit).
// Soms kan je geen history.back geven omdat men naar een andere bladzij
// kan zijn gegaan vanuit de bladzij waar dit op staat. Geef dan drie maal
// hetzelfde op in de array bladz.
// ==============================================================
function blader(naam, bladz)
{
 if ((naam == "Terug") || (naam == "T."))
 // De punt wordt door navblader toegevoegd om onderscheid tussen het boekje
 // boven en beneden te kunnen maken. Het splitsen van een array toegepast
 // op een string levert losse letters. Daardoor komt uit navblader T.
 // Een lege naam wordt dus een "."
 {jt = "javascript:window.history.back()";
  document.write  ("<a href='"+jt+"' ");
  document.write  ("OnMouseOver="+apo+"KnopIn('"+naam+"', '"+bpl[3]+"'); return display('"+naam+"')"+apo);
  document.writeln("OnMouseOut="+apo+"KnopLos('"+naam+"', '"+bpl[4]+"'); return true"+apo+">");
  document.write  ("<IMG NAME='"+naam+"' SRC='"+bpl[4]+"' ");
  document.writeln("ALT='"+naam+"' border=0></a>");
 }
 else
 {if (typeof bladz == 'undefined') bladz = [nav[1], nav[2], nav[3]];
  if (typeof naam == 'undefined') naam = nav[0]; 
                   // nav is standaard array op veel bladzijden.
                   // Met vorige en volgende bladzijde en index.
  bp = bpl[0];
  aa = bpl[1];
  wn = ((naam == "Index") || (naam == "Index.") || (naam == "."))?"":naam;

  s1 = "<IMG SRC="+basis+"plaat/pijl_l.gif>"+wn;                // Terug
  s2 = "<center><IMG SRC="+basis+"plaat/pijl_u.gif><br>"+wn;    // Omhoog
  s3 = "<IMG SRC="+basis+"plaat/pijl_r.gif ALIGN=right>"+wn;    // Vooruit

  if (bladz[0] == bladz[1]) {aa = bpl[3]; bp = bpl[5]; s1 = s2};
                   // Terug en Dicht gelijk dan alletwee boekje dicht.
                   // En alleen pijl rechts bij open boekje.
  ac = bpl[2];
  if (bladz[1] == bladz[2]) {ac = bpl[3]; bp = bpl[6]; s3 = s2};
                   // Dicht en Verder gelijk dan alletwee boekje dicht.
                   // En alleen pijl links bij open boekje.

  bp = ((bladz[0] == bladz[1]) && (bladz[1] == bladz[2]))?bpl[4]:bp;
                   // Alle drie hetzelfde, dan boekje zonder pijlen.

  snterug = "return overlib('"+s1+"', WIDTH, 20, LEFT)";
  snindex = "return overlib('"+s2+"', WIDTH, 20, LEFT)";
  snvooruit = "return overlib('"+s3+"', WIDTH, 20, LEFT)";

  muisweg = "onMouseOut="+apo+"nd(); KnopLos('"+naam+"', '"+bp+"'); return true"+apo+">";

  document.write  ("<IMG NAME='"+naam+"' SRC='"+bp+"' ");
  document.writeln("USEMAP='#"+naam+"map' border=0></a>");

  document.writeln("<MAP NAME='"+naam+"map'>");
  // Terug bladeren.
  document.writeln("<AREA SHAPE='polygon' COORDS='0,20,32,20,32,51,0,51'");
  document.writeln(" HREF='"+bladz[0]+"' ");
  document.writeln(" OnMouseOver="+apo+"KnopIn('"+naam+"', '"+aa+"'); "+snterug+apo);
  document.writeln(muisweg);
  // Boek dicht.
  document.writeln("<AREA SHAPE='polygon' COORDS='0,0,64,0,64,19,0,19'");
  document.writeln(" HREF='"+bladz[1]+"' ");
  document.writeln(" OnMouseOver="+apo+"KnopIn('"+naam+"', '"+bpl[3]+"'); "+snindex+apo);
  document.writeln(muisweg);
  // Verder bladeren.
  document.writeln("<AREA SHAPE='polygon' COORDS='32,20,64,20,64,51,32,51'");
  document.writeln(" HREF='"+bladz[2]+"' ");
  document.writeln(" OnMouseOver="+apo+"KnopIn('"+naam+"', '"+ac+"'); "+snvooruit+apo);
  document.writeln(muisweg);

  document.writeln("</MAP>");
 };
};

// ==============================================================
// Boekje onderaan. Om niet naar boven te hoeven gaan op de
// bladzijde. Zie function blader.
// Aanroep: blader(zelfde array als bovenin gebruikt wordt);
// blzs is een array met [naam, terug, index, vooruit];
// otekst is fakultatief. Tekst, die in het midden wordt neergezet.
// ==============================================================
function navblader(blzs, otekst)
{
 if (typeof blzs == 'undefined') blzs = nav;
                   // nav is standaard array op veel bladzijden.
                   // Met vorige en volgende bladzijde en index.
 if (typeof otekst == 'undefined') otekst = "";
 				   
 document.write("<hr><table border=0 cellspacing=0 CELLPADDING=0 width=100%>");
 document.write("<tr><td><SPAN><a href='javascript:window.print()'>");
 document.write("<IMG SRC='"+basis+"plaat/print.gif' border=0></a></td>");

 if (otekst.indexOf("ogg") > 0) 
    {
 	 document.write("<td align=center>"); 
	 document.write("<audio src='"+otekst+"' controls autoplay loop></audio>");
	 // Geluid als ogg. Loop is nog niet implemented in Firefox.
	 document.write("</td>");
	 done = "1";
	}
 else
    document.write("<td align=center>"+otekst+"</td>");
 
 document.write("<td ALIGN=right>");
 blader(blzs[0]+".", blzs.slice(1,4));
                   // De punt, omdat anders boven en onder dezelfde naam in
                   // de image-map gebruikt wordt.
 document.write("</td></tr></table>");
};

// ==============================================================
function NavBlad(blzs, otekst)	        // Korte vorm
{if (typeof blzs == 'undefined') nblzs = nav
 else
     nblzs = ["Index", blzs[0], blzs[1], blzs[2]];
 navblader(nblzs, otekst);};

// ======================================================
// Neerzetten van een object Foto.
// ======================================================
function PrintFoto()
{
 var ftekst = this.tekst;    // Tekst op albumbladzijde.
 var gif = "F";
 var tdone = "F";
 // ---------------------------------------------------------
 // Is er een aparte thumbnail? this.plaat begint dan met _
 // Daarvoor kan nog de subdir staan, bv: /map/_plaatje.jpg.
 // IndexOf geeft -1 als teken er niet in staat.
 // ---------------------------------------------------------
 isduim = this.plaat.indexOf("_");
 duimpje = this.plaat;
 this.plaat = DuimWerk(this.plaat);	
  
 if (this.tekst2.length > 0) ftekst += " >>";
                                 // Aangeven, dat er meer tekst is.
 if ((this.plaat.indexOf(".gif") > 0) || (this.plaat.indexOf(".png")) > 0) gif = "T";
                                 // Is het een gif- of png plaatje?
								 // Die krijgen geen schaduw ivm transparante ondergrond.
 rij = " "+this.uitlijn;         // valign, ROWSPAN en COLSPAN en zo.
 
 document.write("<td"+rij+"><table border=0 cellspacing=0 cellpadding=2><tr>");

 // Tekstcel rechts van het plaatje.
 if (this.zijde.substring(0,2) == "re")
    {ft = new Tekst(this.datum, ftekst, this.uitlijn, this.zijde, this.link, "", this.pw);
     ft.PrintTekst();
     this.uitlijn = " valign=bottom";  // Plaatje ook naar onderen.
     tdone = "T";};

 // Cel met de foto ---------------------------------------
 document.write("<td", this.uitlijn, " align=center>");

 if (this.plaat.indexOf("fade.gif") == -1)  // fade.gif staat bij uitsluitend tekst zonder foto.    
 {
  bladpl = this.plaat;
  if (bladpl.indexOf("histor") > -1) bladpl = basis+"plaat/historbreed.gif";
  if (bladpl.indexOf("dagboek") > -1) bladpl = basis+"plaat/dagboekbreed.gif";
  if (bladpl.indexOf("mail") > -1) bladpl = basis+"plaat/mailbreed.gif";
  // HISTOR en DAGBOEK met een lange (tweedelig door && ) tekst. Dan breed vakje.

  tfoto = "<A rel='plaatje' href='"+bladpl+"' ";
  if (ftekst.length+this.datum.length > 0)
     tfoto += "title='<SPAN class=d>"+this.datum+"</SPAN>&nbsp; "+this.tekst+this.tekst2+"' ";
  tfoto += ">";
  document.write(tfoto);
	
  if (isduim > -1)
    { 
     document.write("<IMG SRC='", duimpje, "' OnError='ImgOnb(this)' ")
	 if (gif == "F") document.write(" class='corner ishadow50 iradius5'");
	 // Duimnageltjes gewoon hun eigen grootte laten houden.
	 // Maar geen randjes voor gif of png.
	}
  else
    if (gif == "T") document.write("<IMG SRC='", this.plaat, "' HEIGHT=", this.hoogte) 
    else            document.write("<IMG SRC='", this.plaat, "' HEIGHT=", this.hoogte, " class='corner ishadow50'");

  if (gif == "T") document.write(" border=0 ");
  document.write("></a>");
 };
 document.write("</td>");

 // --------------------------------------------------------
 // Datum en tekst links of onder de foto.
 if ((tdone == "F") && (this.zijde != "hi"))
    {
     if (this.zijde == "onder") document.write("</tr><tr>");
     ft = new Tekst(this.datum, ftekst, this.uitlijn, this.zijde, this.link, "", this.pw);
     ft.PrintTekst();
    };
 document.write("</tr></table></td>");
};

// ==========================================================
// DuimWerk
// ==========================================================
function DuimWerk(dplaat)
{
 isduim = dplaat.indexOf("_");
 if (isduim > -1)
    {							  // _ kan ergens in het midden staan.                                  
     plen = dplaat.length;        // Subdir vermeldingen er voor.
     dplaat = dplaat.substring(0, isduim)+dplaat.substring(isduim+1, plen);

     induim = dplaat.indexOf("duim/");
                                 // Naast _ de duimnageltjes ook nog in een apart mapje.
     if (induim > -1)
        {
         plen = dplaat.length;   // Subdir vermeldingen er voor.
         dplaat = dplaat.substring(0, induim)+dplaat.substring(induim+5, plen);
    	};
    };
 return dplaat
};

// ==========================================================
// Aanmaken van een instance van het object Foto
// ----------------------------------------------------------
// Mogelijkheden voor Zijde:
//         LI tekst rechts (!) van foto.
//         RE tekst links (!) van foto.
//         MIDDEN tekst rechts van foto in het midden uitgelijnd
//         Leeg laten: tekst onder foto. (default)
//         HI Geen tekst in album, verschijnt wel als onderschrift op de grote foto.
// Mogelijkheden voor plaat:
//    Gewoon leeg laten. In dat geval alleen tekst en evt. een link.
//    DAGBOEK, HISTOR of EMAIL. Wordt dan dagboek-, boeken- of emailsymbooltje neergezet.
//
// Met && in de tekst kan een korte tekst op de albumpagina gezet worden;
// het deel voor &&. Bij klikken op de foto komt daar dan de hele tekst.
// Dus zowel het stuk voor als achter &&.
// ==========================================================
function Foto(plaat, hoogte, datum, tekst, zijde, link, uitlijn)
// Het maken van het object.
{
 if (typeof hoogte == 'undefined' || hoogte == "") var hoogte = "120";
                             // Default 120 pixels hoge klikplaatjes.

 // --------------------------- Bijzondere gevallen.
 switch(plaat)
 {
  case "DAGBOEK":       // Dagboekplaatje plus tekst.
       plaat = plsub+"dagboek.gif"; hoogte = 37; break;
  case "EMAIL":         // Emailplaatje plus tekst.
	   plaat = plsub+"mail.gif"; hoogte = 37;    break;
  case "HISTOR":        // Historieplaatje plus tekst.
	   plaat = plsub+"histor.gif"; hoogte = 57;  break;
  default:
	   if (typeof plaat == 'undefined' || plaat == "")
         {              // Geen plaatje. Enkel tekst. Altijd links uitgelijnd.
          plaat = plsub+"fade.gif"; hoogte = 1;
          if (tekst.indexOf("&&") > -1)
            {           // Iets nodig om te klikken als tekst langer is.
             plaat = plsub+"doc.gif";
             hoogte = 22
            };
           zijde = "li";
         };
 };
	  
 // -------------------------------------------------
 if (typeof uitlijn == 'undefined' || uitlijn == "")
       var uitlijn = " valign=top";  // Default altijd plaatje bovenin cel.
 else uitlijn = " "+uitlijn;         // Anders een spatie ervoor om los van TD te staan.
 
 if (typeof zijde == 'undefined' || zijde == "") var zijde = "onder";
                             // Waar moet de tekst?
 tekst = empty(tekst);       // Geen tekst wordt lege tekst.
 datum = empty(datum);       // Geen datum wordt lege datum.
 link = empty(link);         // Geen link wordt lege link.

 var tekst2 = "";
 var pt2 = tekst.indexOf("&&");
                             // Staat er && in de tekst?
                             // Zo ja: voorste stuk gewone tekst, achterste alleen
                             // erbij zetten op de 'opengeklapte' foto.
 if (pt2 > 0)
    {t1 = tekst.substring(0, pt2);
     t2 = tekst.substring(pt2+2);
     tekst = t1;             // Gewone tekst.
     tekst2 = t2;            // Aanvullende tekst bij foto.
    }

 if ((plaat.indexOf(".jp") == -1)
    && (plaat.indexOf(".png") == -1)
    && (plaat.indexOf(".gif") == -1)) plaat += ".jpg";
                             // Weggelaten extensie toevoegen.

 this.plaat = plaat;
 this.hoogte = hoogte;
 this.tekst = tekst;
 this.tekst2 = tekst2;
 this.datum = datum;
 this.zijde = zijde;
 this.uitlijn = uitlijn;
 this.link = link;
 this.PrintFoto = PrintFoto;
 return this;
}

// ==============================================================
// Neerzetten en maken van een tekst-cel
// ==============================================================
function PrintTekst()
{
 if (this.pijl.substring(0,2) == "re") this.uitlijn += " ALIGN=right valign=bottom"
 else
    if (this.pijl == "midden") this.uitlijn += " align=center"
    else this.uitlijn = " valign=top ALIGN=left";
 plaatnaam = "p"+linknum;
 linknum++;

 document.write("<td ", this.uitlijn, ">");

 if (this.link.length > 0)
  {
   fd1 = "folder1.gif";
   fd2 = "folder2.gif";
   extra1 = "";
   tlink = this.link;
   if (tlink.indexOf("http://") > -1)
      {
       extra1 = " target=_new";
	   fd1 = (tlink.indexOf("maps.google") > -1)?"plaats1.gif":"link.gif";
   	   fd2 = (tlink.indexOf("maps.google") > -1)?"plaats2.gif":"frood.gif";	   
      };

   lt1 = " <a href='";
   lt2 = "' OnMouseOver='KnopIn("+apo+plaatnaam+apo+", "+apo+plsub+fd2+apo+")';";
   lt2 += " OnMouseOut='KnopLos("+apo+plaatnaam+apo+", "+apo+plsub+fd1+apo+")'; "+extra1+">";
   lt3 = "<IMG NAME="+apo+plaatnaam+apo+" SRC='"+plsub+fd1+"' border=0></a><br>";
   document.write(lt1, this.link, lt2, lt3);
  };

 klas = arletter[stijl];
 datklas = ardatum[stijl];

 // Als er een datum is meegegeven, die neerzetten.
 if (this.datum.length > 0)
    document.write("<SPAN class="+datklas+">", this.datum, " </SPAN><br>");
 document.write("<SPAN"+klas+">", this.verhaal, "</SPAN>");
 document.write("</td>\n");
}

// -- Aanmaken van een instance van het object Tekst --------------
// datum       Datum.
// verhaal     Tekst in de cel.
// uitlijn     Default valign=top, wordt er iets meegegeven, dan komt
//             dit ipv de default in <td xxx>.
// pijl        Links, rechts, onder.
// link        Doelpagina als er een link in de tekst moet.
//             Wordt tussen datum en pijl geplaatst.
// ----------------------------------------------------------------
function Tekst(datum, verhaal, uitlijn, pijl, link)
{
 verhaal = empty(verhaal);
 if (typeof uitlijn == 'undefined' || uitlijn == "")
                                    var uitlijn = " valign=top";
                              // Default altijd bovenin cel.
 pijl = empty(pijl);
 link = empty(link);

 this.datum = datum;         // Een datum.
 this.verhaal = verhaal;     // De tekst.
 this.uitlijn = uitlijn;     // Iets wat op de xxx in <td xxx> kan staan.
 this.pijl = pijl;           // Links, rechts, midden, op of neer.
                             // li, re en mi is genoeg.
 this.link = link;           // File, waarnaar gelinkt wordt.
 this.PrintTekst = PrintTekst;
 return this;
}

// ==============================================================
// Filmpje in Flash-video formaat (*.flv)
// FLVPlayer.swf, skin.swf en de filmpjes moeten in de lokale directory staan.
// Parameter filmpje zonder .flv
// Uitlijn:	Standaard tekst eronder, li voor er naast.
// Beginmeteen: false is standaard, zo niet geef dan true mee.
// ==============================================================
function FVideo(filmpje, vdatum, vtekst, uitlijn, beginmeteen, breed, hoog)
{
 vdatum = empty(vdatum);
 vtekst = empty(vtekst);
 beginmeteen = empty(beginmeteen);
 uitlijn = empty(uitlijn);
 breed = empty(breed);
 hoog = empty(hoog); 
 
 vaklijn = "valign=top";
 if ((uitlijn != "" ) && (uitlijn != "li")) vaklijn += " "+uitlijn;
 if (beginmeteen == "") beginmeteen = "false"; 
 if (breed == "") breed = "320";  
 if (hoog == "") hoog = "210";  

 breed = parseInt(parseInt(breed)*1.01875-14);   // Randjes voor knoppen en zo.
 hoog = parseInt(parseInt(hoog)*1.08958+5);
  
 document.write('<td '+vaklijn+'>'); 
 document.write('<object type="application/x-shockwave-flash" data="FLVPlayer.swf" width="'+breed+'" height="'+hoog+'" id="FLVPlayer">');
 document.write('  <param name="movie" value="FLVPlayer.swf" />');
 document.write('  <param name="salign" value="lt" />');
 document.write('  <param name="quality" value="high" />');
 document.write('  <param name="scale" value="noscale" />');
 document.write('  <param name="FlashVars" value="&MM_ComponentVersion=1&skinName=Skin&streamName='+filmpje+'&autoPlay='+beginmeteen+'&autoRewind=false" />');
 document.write('</object>');
  
 if (uitlijn == "li") document.write('</td><td valign=top>')
 else document.write("<br>");
 
 document.write("<SPAN class="+datklas+">"+vdatum+"</SPAN><br>"); 
 document.write("<SPAN"+klas+">"+vtekst+"</SPAN>");
 document.write('</td>');
};


// ==============================================================
// Filmpje in ogg theora formaat (*.ogg)
// Uitlijn:	Standaard tekst eronder, li voor er naast.
// Beginmeteen: false is standaard, zo niet geef dan true mee.
// ==============================================================
function Fogg(filmpje, vdatum, vtekst, uitlijn, beginmeteen, breed, hoog)
{
 vdatum = empty(vdatum);
 vtekst = empty(vtekst);
 beginmeteen = empty(beginmeteen);
 uitlijn = empty(uitlijn);
 breed = empty(breed);
 hoog = empty(hoog);
 
 vaklijn = "valign=top";
 if ((uitlijn != "" ) && (uitlijn != "li")) vaklijn += " "+uitlijn;

 beginmeteen = (beginmeteen == "True")?"autoplay":""; 
 if (breed == "") breed = "320";  
 if (hoog == "") hoog = "210";  

 document.write('<td '+vaklijn+'>'); 
 document.write('<video src="'+filmpje+'.ogg" width="'+breed+'" height="'+hoog+'" '+beginmeteen+' controls>');
 document.write('Sorry, your browser does not support the video tag. Try using Firefox 3.5+</video>');
  
 if (uitlijn == "li") document.write('</td><td valign=top>')
 else document.write("<br>");
 
 document.write("<SPAN class="+datklas+">"+vdatum+"</SPAN><br>"); 
 document.write("<SPAN"+klas+">"+vtekst+"</SPAN>");
 document.write('</td>');
};

// ==============================================================
// MP3 afspelen in webpagina's met de dewplayer.swf.
// Startzelf = true (1) of false (0) (default).
// nogeenkeer = true (1) of false (0) (default), herhalend.
// MP3 moeten een sample-rate van 44.1 (48) kbps hebben.
// ==============================================================
function MP3(geluidje, gdatum, gtekst, startzelf, nogeenkeer)
{
 gdatum = empty(gdatum);
 gtekst = empty(gtekst);
 startzelf = empty(startzelf);
 nogeenkeer = empty(nogeenkeer);

 idnr = geluidje;
 if (geluidje.indexOf(".mp3") < 0) geluidje += ".mp3";
 
 sz = "0";
 if (startzelf == "1" || startzelf == "true") sz = 1;
 herh = "0";
 if (nogeenkeer == "1" || nogeenkeer == "true") herh = 1;

 // -------------------- oplossing?
 docpl = document.location+" ";
 result = docpl.lastIndexOf("\/");
 rest = docpl.substring(0,result)+"/";
 //------------------------

 document.write('<td valign=top>');
 document.write('<object id="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" type="application/x-shockwave-flash" data="'+basis+'java/dewplayer.swf?mp3='+geluidje+'&amp;autoreplay='+herh+'&amp;autostart='+sz+'&amp;showtime=1" width="200" height="20">');
 document.write('<param name="wmode" value="transparent">');
 document.write('<param name="movie" value="'+basis+'java/dewplayer.swf?mp3='+geluidje+'&amp;autoreplay='+herh+'&amp;autostart='+sz+'&amp;showtime=1" />');
 document.write('</object>');

 klas = arletter[stijl];
 datklas = ardatum[stijl];

 // Als er een datum is meegegeven, die neerzetten.
 document.write("<br>");
 if (gdatum.length > 0)
    document.write("<SPAN class="+datklas+">", gdatum, "<br>");

 if (gtekst.length > 0)	
    document.write("<SPAN"+klas+">", gtekst, "<br>");
 
 document.write("</td>");
};


// ==============================================================
// OGG afspelen in webpagina's.
// Startzelf = true (1) of false (0) (default).
// nogeenkeer = true (1) of false (0) (default), herhalend.
// ==============================================================
function SpeelOgg(geluidje, gdatum, gtekst, startzelf, nogeenkeer)
{
 gdatum = empty(gdatum);
 gtekst = empty(gtekst);
 startzelf = empty(startzelf);
 nogeenkeer = empty(nogeenkeer);

 if (geluidje.indexOf(".ogg") < 0) geluidje += ".ogg";

 atekst = "<audio src="+geluidje+" controls ";
 if (startzelf == "1" || startzelf == "true") atekst += " autoplay";
 if (nogeenkeer == "1" || nogeenkeer == "true") atekst += " loop";
 atekst += ">If you are reading this, it is because your browser does not support the audio element.</audio>";

 tottekst = "<td valign=top>"+atekst+"<br>";

 klas = arletter[stijl];
 datklas = ardatum[stijl];
 // Als er een datum is meegegeven, die neerzetten.
 if (gdatum.length > 0)	tottekst += "<SPAN class="+datklas+">"+gdatum+"<br>";
 // Als er een tekst is meegegeven, die neerzetten.
 if (gtekst.length > 0)	tottekst += "<SPAN"+klas+">"+gtekst+"<br>";

 tottekst += "</td>";
 document.write(tottekst);
};

// ==============================================================
// Neerzetten en maken van een dokument-cel
// ==============================================================
function PrintDoc()
{
 var ftekst = this.verhaal;
 var tottekst = ftekst + this.verhaal2;

 document.write("<td valign=top>");

 if ((this.plaat.indexOf(".doc") > 0) ||    // Pdf, Worddocument of komplete html-pagina.
     (this.plaat.indexOf(".pdf") > 0) ||
     (this.plaat.indexOf(".htm") > 0))
    document.write("<A class='binnenpag' HREF="+apo+this.plaat+apo+">")

 else
 {
  tfoto = "<A rel='plaatje' HREF='"+this.plaat+"' ";
 
  if (tottekst.length+this.datum.length > 0)
     tfoto += "title='<span class=d>"+this.datum+"</SPAN>&nbsp; "+tottekst+"' ";	 
  tfoto += ">";
  document.write(tfoto);
 };

 document.write("<img name='"+this.plaat+"' SRC='", this.docplaat, "' border=0></a>");

 var klas = arletter[stijl];
 var datklas = ardatum[stijl];

 // Als er een datum is meegegeven, die neerzetten.
 if (this.datum.length > 0)
    document.write("<SPAN class="+datklas+">", this.datum, "</SPAN><br>")
 else
    document.write("<br>");

 if (this.verhaal2.length > 0) ftekst += "....";
                             // Aangeven, dat er meer tekst is.
 document.write("<SPAN"+klas+">", ftekst, "</SPAN>");
 document.write("</td>\n");
}


// -- Aanmaken van een instance van het object Doc --------------
// plaat       plaatje, pdf, doc of komplete html-pagina.
// datum       Datum
// verhaal     Tekst in de cel.
// tiepe       Wat voor symbooltje:
// Geluidsfragmenten worden niet meer gebruikt. Daarvoor is MP3.
// ----------------------------------------------------------------
function Doc(plaat, datum, verhaal, tiepe)
{
 var plsub = basis+"plaat/";
 symb = [plsub+"doc.gif", plsub+"loep.gif",
         plsub+"soundbutton.gif", plsub+"fade.gif",
         plsub+"histor.gif", plsub+"docpdf.gif"];

 datum = empty(datum);
 verhaal = empty(verhaal);
                             // Als er geen plaatje meegegeven is.						  
 if (typeof plaat == 'undefined' || plaat == "")
     plaat = basis+"plaat/fade.gif";

 this.docplaat = symb[0];

 if (tiepe == "loep") this.docplaat = symb[1];
 if (tiepe == "priv")        // Prive stukjes.
    {
     this.docplaat = symb[3];
     if ((plaat == "") || (plaat == 'undefined')) plaat = symb[3];
    };

 if (plaat.indexOf(".pdf") > 0) this.docplaat = symb[5];
 if ((plaat.indexOf(".htm") > 0) && (this.docplaat != symb[3])) this.docplaat = symb[4];
                             // HTML pagina, boek-icoontje.

 var verhaal2 = "";
 var pt2 = verhaal.indexOf("&&");
                             // Staat er && in de tekst?
                             // Zo ja: voorste stuk gewone tekst, achterste alleen
                             // erbij zetten op de 'opengeklapte' foto.
 if (pt2 > 0)
    {t1 = verhaal.substring(0, pt2);
     t2 = verhaal.substring(pt2+2);
     verhaal = t1;           // Gewone tekst.
     verhaal2 = t2;          // Aanvullende tekst bij foto.
    }

if  ((plaat.indexOf(".htm") == -1) && 
     (plaat.indexOf(".gif") == -1) &&
	 (plaat.indexOf(".pdf") == -1) &&
	 (plaat.indexOf(".doc") == -1) &&
	 (plaat.indexOf(".png") == -1) &&
	 (plaat.indexOf(".jpg") == -1))
     plaat += ".jpg";	
                             // Weggelaten extensie toevoegen.

 this.datum = datum;         // Een datum.
 this.verhaal = verhaal;     // De tekst.
 this.verhaal2 = verhaal2    // Extra tekst, alleen bij openen.
 this.plaat = plaat;         // File, waarin document staat.
 this.PrintDoc = PrintDoc;
 return this;
}



// ==============================================================
// Cel met Flash slideshow schrijven.
// ==============================================================
function Slidef(swefje, breed, hoogte, datum, tekst, uitlijn, link)
{
 if (typeof breed == 'undefined') var breed = "220";
 if (typeof hoogte == 'undefined') var hoogte = "120";
 if (typeof datum == 'undefined') var datum = "";
 if (typeof tekst == 'undefined') var tekst = "";
 if (typeof uitlijn == 'undefined') var uitlijn = "";
 if (typeof link == 'undefined') var link = "";
 
 pro = swefje.indexOf(".xml")                // Kijken of het xml gestuurd is.
 if (pro > -1)                               // dan naam.xml meegegeven.
    {
     snaam = swefje.substring(0,pro);
	 swefje = snaam+".swf?xml_path="+swefje;
    }
 else
    swefje = swefje+".swf";
	 
 document.write('<td ', uitlijn, '>');
 
 document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="640" height="450" id="tech" align="center">');
 document.write('	<param name="allowScriptAccess" value="sameDomain" />');
 document.write('	<param name="movie" value="'+swefje+'" />');
 document.write('	<param name="quality" value="high" />');
 document.write('	<embed src="'+swefje+'" quality="high" width="'+breed+'" height="'+hoogte+'" name="tech" align="enter" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
 document.write('</object>');

 document.write('</td>');

 lt1 = " <a href='";                   // Voorste stukje tekst bij link.

 plaatnaam = "p"+linknum;
 linknum++;

 lt2 = "' OnMouseOver='KnopIn("+apo+plaatnaam+apo+", "+apo+plsub+"folder2.gif"+apo+")';";
 lt2 += " OnMouseOut='KnopLos("+apo+plaatnaam+apo+", "+apo+plsub+"folder1.gif"+apo+")';>";
 lt3 = "<IMG NAME="+apo+plaatnaam+apo+" SRC='"+plsub+"folder1.gif' border=0></a><br>";
                                      // Achterste stukje tekst van de link.
 //-----------------------------------

 document.write("<td ", uitlijn, ">")
 if (link.length > 0) document.write(lt1, link, lt2, lt3);

 klas = arletter[stijl];
 datklas = ardatum[stijl];

 // Als er een datum is meegegeven, die neerzetten.
 if (datum.length > 0)
    document.write("<SPAN class="+datklas+">", datum, " </SPAN><br>");

 document.write("<SPAN"+klas+">", tekst, "</SPAN>");
 document.write("</td>\n");
}


// ======================================================
// Een komplete rij
// reeks is een array.
// Per element: plaatje, grootte, tekst enz. gescheiden door *
// rijpar is optioneel. weggelaten of leeg = Default komplete tabel,
// Bevat het: 0 = Uitsluitend rij, geen <table> voor of na.
//            1 = Alleen <table>, eerste rij van meerdere.
//            2 = Alleen </table>, laatste rij van meerdere
//            v = Volle breedte.
// ======================================================
function Regel(reeks, rijpar)
{
 rij = "";
 rijpar = empty(rijpar);

 var def_groot = "120";
       // Geen grootte gegeven, dan default grootte.
       // Wel gegeven, dan wordt dat meteen dat de nieuwe default-waarde.

 brtekst = "";
 if (rijpar.indexOf("v") > -1) brtekst = " width=100%";

 if ((rijpar.indexOf("0") > -1) || (rijpar.indexOf("2") > -1))
    document.write("<tr>")
 else
    document.write("<table border=0 cellspacing=0 CELLPADDING=6"+brtekst+"><tr>");

 // ----------------------------------------------------- Begin lus.
 for (n = 0; n < reeks.length; n++)
  {
   var done = "F";                // Om te kijken of we het al gedaan hebben.
   deel = reeks[n].split("*");

   switch(deel[0])
      {
       case "PRIV":
	      dc = new Doc(deel[1], deel[2], deel[3], "priv");
          dc.PrintDoc();
		  break;

       case "DOC":               // Documenten, Loep (vergroting).
          dc = new Doc(deel[1], deel[2], deel[3], deel[4]);
          dc.PrintDoc();
          break;

       case "SLIDE":            // Slideshow. Zit in slideshow.js
          if (typeof deel[1] == 'undefined' || deel[1] == "") deel[1] = def_groot
          else def_groot = deel[1];  // Param: string, hoogte, datum, tekst.
                                     // plaatjes e.d. definieren in kop html-doc.
          Slide(deel[1], deel[2], deel[3], deel[4], deel[5]);
          break;

       case "SLIDEF":           // Slideshow flash.
          if (typeof deel[2] == 'undefined' || deel[2] == "") deel[2] = def_groot
          else def_groot = deel[2];  // Param: swfbestand, breedte, hoogte, 
	                                 // datum, tekst, link
          Slidef(deel[1], deel[2], deel[3], deel[4], deel[5], deel[6], deel[7]);
          break;
	  
       case "LEEG":             // Lege cel voor scheiding. Default 4 spaties.
          if (typeof deel[1] == 'undefined') deel[1] = 4;
          tal = parseInt(deel[1]);   // Integer van string maken.
          document.write("<td>");
          for (k = 0; k < tal; k++) document.write("&nbsp;");
                                     // Aantal spaties
          document.write("</td>");
          break;

       case "FOTO":             // Vast plaatje. Ware grootte.
                                // Kan niet opengeklikt worden.
          df = deel[1];         // Extensie toevoegen.
          if ((df.indexOf(".jp") == -1)
             && (df.indexOf(".gif") == -1)) df = df+".jpg";
                                // Weggelaten extensie toevoegen.

          document.write('<td><IMG SRC="', df, '"></td>');
          break;

       case "TAAL":             // Taalkeuze.
          document.write('<td valign=top width=40>');
          KiesTaal(deel[1], deel[2]);
          document.write('</td>\n');
          break;

       case "VIDEO":            // Filmpje in flv formaat.
          FVideo(deel[1], deel[2], deel[3], deel[4], deel[5], deel[6], deel[7]);
          break;

       case "VIDOGG":           // Filmpje in ogg formaat.
          Fogg(deel[1], deel[2], deel[3], deel[4], deel[5], deel[6], deel[7]);
          break;
		  
       case "MP3":              // Geluidsfragment.
          MP3(deel[1], deel[2], deel[3], deel[4], deel[5]);
          break;

       case "OGG":              // Geluidsfragment.
          SpeelOgg(deel[1], deel[2], deel[3], deel[4], deel[5]);
          break;

       default:	                // Wat overblijft: gewone foto.
          if (typeof deel[1] == 'undefined' || deel[1] == "")
             deel[1] = def_groot
          else def_groot = deel[1];

          if (typeof deel[4] == 'undefined' || deel[4] == "")
             deel[4] = "onder";

          p = new Foto(deel[0], deel[1], deel[2], deel[3], deel[4], deel[5], deel[6], deel[7]);
          p.PrintFoto();
       };
  };
// ----------------------------------------------------- Einde lus.

 if ((rijpar.indexOf("0") > -1) || (rijpar.indexOf("1") > -1))
    document.write("</tr>\n\n")
 else
    document.write("</tr></table>\n\n");
}











