// JavaScript-functies voor de Kikkenduut site
//
/* Array met 6 tinten van een kleur, waarmee veel kleuren samengesteld kunnen worden,
   bv. voor de menu's */
  var tint6 = new Array('00', '33', '66', '99', 'CC', 'FF');

/* Array met 8 min of meer primaire kleuren, voor de kleuren van de kopblokken */
  var prim_kleur = new Array('blue', 'green', 'red', 'orange', '#00FF00', '#FFFF00', '#FF00FF', '#00FFFF');

/* Aantal nieuwsbrieven naast elkaar */
  var nbNaastElkaar = 4;
  var mswordIcon  = '/images/doc.gif';

/* Aantal maanden naast elkaar in de agenda*/
  var mndNaastElkaar = 4;
  var stDatum = new Date( 5, 8, 1) // 1-08-2005;
  var maanden = new Array('Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli',
                          'Augustus','September','Oktober','November','December');
  var kwaken        = true;
                      

/* Identificatie van browser. (gejat van de Consumentenbond-site)
*/
function browserCheck() {
  this.b = navigator.appName; 
  this.v = parseInt(navigator.appVersion); 
  this.a = navigator.userAgent; 
  this.ie = false;
  this.ns = false;
  if (this.b == "Netscape") {
     this.b = "ns"; 
     this.ns = true;
     this.ns4 = (this.v == 4); 
     this.ns5 = (this.v == 5); 
  } 
  else 
    if (this.b == "Microsoft Internet Explorer") {
       this.b = "ie"; 
       this.ie = true;
       this.ie4 = (this.a.indexOf('MSIE 4') > 0); 
       this.ie5 = (this.a.indexOf('MSIE 5') > 0) && (this.v = 5); 
       this.ie6 = (this.a.indexOf('MSIE 6') > 0) && (this.v = 6); 
       this.ie5up = this.v >= 5; 
    } 
  if (this.v >= 4) {
     this[this.b] = this.min = true;
  } 
  this.win = this.iswindows = (('is win32 Win32 Win16 win16 of Win').indexOf(navigator.platform) > 0);
  // does this actually work properly? 
  this.dom = document.getElementById; 
  this.fulldom = this.dom && document.createElement; 
  this.dhtml = this.dom || document.all; 
}

/* Definitie van een class, voor het koppelen van menu-items aan hun link */
  function Link(ptitel, pref) {
    this.titel = ptitel;
    this.ref   = pref;
}

/*
 * Trucje om altijd het type browser beschikbaar te hebben
 * Alle variabelen die hierboven met "this." ervoor genoemd worden, worden object-attributen 
 * Door het object "is" te noemen kun je uitvragen of de bezoeker Internet Explorer gebruikt door 
 * is.ie te gebruiken. Mozilla FireFox is de opvolger van Netscape waarvoor geldt: is.ns
 */
var is = new browserCheck();


/* Stel een willekeurige kleur samen obv de tinten (tint6)
   Door een range van indexen op te geven kan een donkere (laag) of lichtere (hoog) kleur aangestuurd worden
   onder: begin index
   boven: nummer van het menu voor doorgeven van de achtergrondkleur aan de pagina, 1..6 of 0 indien nvt.
*/
  function verzinKleur(onder, boven) {
    aantalKl = boven - onder+1;
    return '#'+tint6[Math.round(Math.random()*aantalKl)+onder-1]+
               tint6[Math.round(Math.random()*aantalKl)+onder-1]+
               tint6[Math.round(Math.random()*aantalKl)+onder-1];
  }

/* Kies een willekeurige donkere kleur
*/
  function kiesDonkereKleur() {
    return verzinKleur(0,2);
  }

/* Kies een willekeurige lichte kleur
*/
  function kiesLichteKleur() {
    return verzinKleur(3,5);
  }

/* Kies een willekeurige kleur uit het volledige scala
*/
  function kiesVeelKleur() {
    return verzinKleur(0,5);
  }

/* Kies een willekeurige kleur uit de beperkte set kleuren
*/
  function kiesWeinigKleur() {
     // Alleen primaire kleuren
     return prim_kleur[Math.round(Math.random()*(prim_kleur.length-1))];
  }

  function maakUniformeCSSClass(cls) {
    bcls = 'bl';
    if (cls.indexOf('b') >=0) bcls+='b'; // boven
    if (cls.indexOf('r') >=0) bcls+='r'; // rechts
    if (cls.indexOf('o') >=0) bcls+='o'; // onder
    if (cls.indexOf('l') >=0) bcls+='l'; // links
    return bcls;
  }

  function maakBlokken(aantalBlokken, cls) {
    unicls = maakUniformeCSSClass(cls);
    for (i=0; i< aantalBlokken; i++) {
      document.write('<td bgcolor="'+kiesWeinigKleur()+'" class="'+unicls+'" width="'+blokx+'">&nbsp;</td>');
    }
  }

/* wrapper-object voor plaatjes-array */

   function plaatje(naam, breedte, hoogte, bijschrift) {
      this.naam = naam;
      this.breedte = breedte;
      this.hoogte = hoogte;
      this.bijschift = bijschrift;
   }

 var fotoKolom;
 var naastElkaar;

 function startFotoblad(inleiding) {
   if (!naastElkaar) naastElkaar = 2;
   if (naastElkaar < 2) naastElkaar = 2;
   document.write('<table border="0" cellpadding="0" cellspacing="10" width="300">');
   if (inleiding.length > 0)
      document.write('<tr><td colspan="'+naastElkaar+ '" class="zbrol"><table cellpadding="5" width="100%"><tr><td>'+inleiding+'</td></tr></table></td></tr>');
   fotoKolom = 1;
 }

  

function nogEenFoto(src, breedte, hoogte, bijsch) {
   if (fotoKolom == 1)
      document.write('<tr>');
   document.write('<td width="'+(100/naastElkaar)+'%"><center><table cellpadding="9" cellspacing="0"><tr>'); 
   document.write('<td class="zbrol"><center><img src="'+src+'" width="'+breedte+'" height="'+hoogte+'"></center>');
   if (bijsch.length > 0)
      document.write('<table width="100%" cellpadding="0" cellspacing="0"><tr><td><table cellpadding="5" width="100%"><tr><td>'+bijsch+'</td></tr></table></td></tr></table>');
   document.write('</td>');
   document.write('</tr></table></center></td>');
   if (fotoKolom == naastElkaar) {
      // Einde regel
      document.write('</tr>');
      fotoKolom = 1;
   }
   else
      fotoKolom++;
 }


 function verhaalBijFoto(bijsch) {
   if (fotoKolom == 1) {
      document.write('<tr>');
   }
   if (bijsch.length > 0) {
      document.write('<td class="zbrol" width="'+(100/naastElkaar)+'%">');
      document.write(bijsch);
      document.write('</td>');
   }
   else {
      document.write('<td>&nbsp;</td>');
   }
   if (fotoKolom == naastElkaar) {
      // Einde regel
      document.write('</tr>');
      fotoKolom = 1;
   }
   else
      fotoKolom++;
 }

 function eindeFotoblad(afsluiting) {
   if (fotoKolom > 1) {
      for (; fotoKolom <= naastElkaar; fotoKolom++) {
         document.write('<td>&nbsp;</td>');
      }
      document.write('</tr>');
   }
   if (afsluiting.length > 0)
      document.write('<tr><td colspan="'+naastElkaar+'" class="zbrol"><table cellpadding="5" width="100%"><tr><td>'+afsluiting+'</td></tr></table></td></tr>');
   document.write('</table>');
 }
  
var brieventeller;

function toonNieuwsBrief(datum, ow, docfile) {
	
	 brieventeller++;
	 startExtensie = docfile.indexOf('.')+1;
	 extensie = docfile.substring(startExtensie);
	 if ((brieventeller%nbNaastElkaar) == 1) {
	 	  // nieuwe regel
	 	  if (brieventeller > 1) document.write('</tr>'); // vorige regel afsluiten
	 		document.write('<tr>');
	 }
	 // Nu begint het blok van de nieuwsbrief zelf
	 document.write('<td width="25%" height="300" cellpadding="5">');
	 document.write('<table width="100%" height="100%" class="blbrol" cellpadding="0" cellspacing="0">');
	 document.write('<tr class="z" height="25"><td class="blo vet">'+datum+'</td></tr>');
	 document.write('<tr class="z"><td class="blo"><table width="100%" border="0" cellpadding="0" cellspacing="0">');
	 aantalOnderwerpen = ow.length;
	 for (i=0; i< aantalOnderwerpen; i++) {
	 	 	document.write('<tr><td width="15" class="vet">&raquo;</td><td>'+ow[i]+'</td></tr>');
	 }
	 document.write('</table></td></tr>');
	 document.write('<tr class="z" height="25"><td>');
	 document.write('<a href="'+docfile+'"><img src="/images/'+extensie+'.gif" border="0" width="18" height="18">&nbsp;Downloaden</a>');
	 document.write('</td></tr></table>');
	 document.write('</td>');
}

function eindeNieuwsbrieven() {
	// Regel netjes volmaken met lege cellen en tabel afsluiten
	for (i = ((brieventeller-1)%nbNaastElkaar); i < nbNaastElkaar; i++) {
		document.write('<td>&nbsp;</td>');
  }
  document.write('</tr></table><p>');
}

/* Object om de gebeurtenissen in een maand in een array te kunnen laden */
function doeDag (dagnr, tekst) {
	this.dagnr = dagnr;
	this.tekst = tekst;
}

/* 1 maand tonen */
function toonMaand( kop, eerste, act, vrij) {
	document.write('<table width="100%" class="blbl" cellspacing="0" cellpadding="0">');
	document.write('<tr class="z"><td colspan="7" class="blro vet">'+kop+'</td></tr>');
	document.write('<tr class="z"><td class="blro">Z</td>' +
	                             '<td class="blro">M</td>' +
	                             '<td class="blro">D</td>' +
	                             '<td class="blro">W</td>' +
	                             '<td class="blro">D</td>' +
	                             '<td class="blro">V</td>' +
	                             '<td class="blro">Z</td></tr>');
	dagtel = 0;
	ldag = 31;
	aantAct  = act.length;
	aantVrij = vrij.length;
	telAct = 0;
	telVrij = 0;
	afk = kop.substr(0,3);
	if (afk == 'Sep'||afk == 'Nov'||afk == 'Apr'||afk == 'Jun') ldag = 30;
	if (afk == 'Feb') ldag = 28; // Aanpassen indien schrikkeljaar!!
	while (dagtel < ldag ) {
	   document.write('<tr class="z">');
	   for (x = 1; x <=7 ; x++) {
		   if (dagtel==0) { // Nog niet begonnen
		   	  if (x==eerste) { // Aangekomen aan de dag van de 1e van de maand
		   	  	 dagtel++;
		   	  }
		   }
		   else {
		   	 dagtel++;
		   }	
		   var klcls = '';
		   var oms = '';
		   // Bepaal class
		   if (x == 1 || x == 7) klcls = 'dg';
		   if (telVrij < aantVrij && dagtel == vrij[telVrij]) {
		   	   klcls = 'dg';
		   	   telVrij++;
		   }
		   if (telAct < aantAct && dagtel == act[telAct].dagnr) {
                           if (klcls == 'dg')
                               klcls = 'arc'; // zowel vrij als doeDag
                           else 
		   	       klcls = 'lg';
		   	   oms = act[telAct].tekst;
		   	   telAct++;
		   }
		     	 
		   if (dagtel > 0 && dagtel <= ldag) {
		   	 	document.write('<td class="blro '+klcls+'">');
		   	 	if (oms !='') 
		   	 	   document.write('<span title="'+oms+'">'+dagtel+'</span>');
		   	 	else
		   	 	   document.write(''+dagtel);
		   	 	document.write('</td>');
		   }
		   else {
		   	 document.write('<td class="blro">&nbsp;</td>');
	     }
	   }
   	 document.write('</tr>');
	 }  
   document.write('</table>');
}

  function gekwaak() {
    if (kwaken) {
       document.getElementById('kwaak').loop = 1;
       document.getElementById('kwaak').src='/kikker2.wav';
       var wacht = Math.random() * 40000;
       setTimeout("gekwaak()", wacht);
    }
  }
  
  function zetGeluid(obj) {
    if (obj) {
       if (document.getElementById('geluid').src.indexOf('off') == -1) {
          kwaken = false;
          document.getElementById('geluid').src = '/images/soundoff.gif';
	        zetCookie('geluid','off');
       }
       else {
          kwaken = true;
          document.getElementById('geluid').src = '/images/soundon.gif';
	        zetCookie('geluid','on');
       }
    }
    else {
       var nu = haalCookie('geluid');
       if (nu == 'off') {
          kwaken = false;
          document.getElementById('geluid').src = '/images/soundoff.gif';
       }
       else {
       }
    }
    gekwaak();
  }
  
  function haalCookie(ikey) {
    var cookies = document.cookie.split(/; /);
    var i = 0;
    var gevonden = false;
    while (i < cookies.length && !gevonden) { 
      var cookie_elems = cookies[i].split(/=/);
      // cookies[i] = unescape(cookies[i][1]);
      if (cookie_elems[0] == ikey) {
  	 gevonden = true;
  	 var pos = cookies[i].indexOf('=');
  	 if (pos >= 0) 
  	   return cookies[i].substring(pos+1);
  	 else
	   return cookies[i];
      }
      i++;
    }
    return null;
  }
  
  function zetCookie (key, waarde) { 
    var expdate = new Date (); 
    expdate.setTime(expdate.getTime() + (100 * 24 * 60 * 60 * 1000)); // Cookie blijft 100 dagen geldig
    document.cookie = key+"="+waarde+"; expires=" + expdate.toGMTString();
} 

// Functie voor het gebruik van de OneStat statistieken.
// Roel, 5-3-2006
function OneStat_Pageview()
{
    var d=document;
    var sid="281351";
    var CONTENTSECTION="";
    var osp_URL=d.URL;
    var osp_Title=d.title;
    var t=new Date();
    var p="http"+(d.URL.indexOf('https:')==0?'s':'')+"://stat.onestat.com/stat.aspx?tagver=2&sid="+sid;
    p+="&url="+escape(osp_URL);
    p+="&ti="+escape(osp_Title);
    p+="&section="+escape(CONTENTSECTION);
    p+="&rf="+escape(parent==self?document.referrer:top.document.referrer);
    p+="&tz="+escape(t.getTimezoneOffset());
    p+="&ch="+escape(t.getHours());
    p+="&js=1";
    p+="&ul="+escape(navigator.appName=="Netscape"?navigator.language:navigator.userLanguage);
    if(typeof(screen)=="object"){
       p+="&sr="+screen.width+"x"+screen.height;p+="&cd="+screen.colorDepth;
       p+="&jo="+(navigator.javaEnabled()?"Yes":"No");
    }
    return '<a href="http://www.onestat.com/aspx/login.aspx?sid='+sid+'" target="_blank"><img border="0" src="'+p+'" width="1" height="1" /></a>';
}


