document.documentElement.className = 'js';

document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
	var classes = elem[i].className;
	if (myclass.test(classes)) retnode.push(elem[i]);
	}
return retnode;
};

  var d = document;
  
  function createDropDown() {};
  
  if (d.getElementById && d.getElementsByTagName && d.createElement)
  {
    function createDropDown(id)
    {
      var linkBox = d.getElementById(id);
      if (!linkBox) return false;
      
      var selectBox = d.createElement('select');
      selectBox.setAttribute('id', id);
      if (!selectBox) return false;
      
      selectBox.exec = function () {
        var i = this.selectedIndex;
        if (i > 0) {
           this.selectedIndex = 0;
           location.href = this.options[i].value;
        }
      };

      selectBox.onblur = function () {
        this.onchange = null;
      };
      
      selectBox.onmousedown = function () {
        this.onchange = this.exec;
      };

      selectBox.onkeypress = function (e)
      {
        if (e) 
           var key = e.keyCode;
        else if (window.event)
           var key = event.keyCode;
        else
           return;
           
        if (key == 13)
           this.exec();
      };
      
      var optionEl = d.createElement('option');
      optionEl.setAttribute('value', '');
      optionEl.setAttribute('class', 'label');
//    optionEl.value = '';
      if ((linkBox.title != 0) && ((linkBox.lang == 'en-GB') || (linkBox.lang == 'en-US') || (linkBox.lang == 'en'))) {
		optionEl.appendChild( d.createTextNode('Quick Menu - ' + linkBox.title ) );
		}
      else if ((linkBox.title != 0) && (linkBox.lang == 'de')) {
		optionEl.appendChild( d.createTextNode('Schnellmenu - ' + linkBox.title ) );
		}
      else if (linkBox.title != 0) {
		optionEl.appendChild( d.createTextNode('Snelmenu - ' + linkBox.title ) );
		}
      else {
		optionEl.appendChild( d.createTextNode('Snelmenu - inhoudsopgave van deze pagina') );
		};
      selectBox.appendChild(optionEl);
      
      for (var a, i = 0; a = linkBox.getElementsByTagName('a')[i]; i++)
      {
          optionEl = d.createElement('option');
          
          optionEl.value = a.href;
          if (a.title) optionEl.title = a.title;
          optionEl.appendChild( d.createTextNode( parseLinkText(a) ) );
          
          selectBox.appendChild(optionEl);
      };
      
      var lbParent = linkBox.parentNode;
      lbParent.replaceChild(selectBox, linkBox);
      
      return true;
    };
    
    function parseLinkText(a)
    {
      var linkText = '';
      
      if (a.normalize) a.normalize();
      
      for (var t, i = 0; t = a.childNodes[i]; i++)
          if (t.nodeType == 3) linkText += t.nodeValue;
          
      return linkText;
    };
  };
  
  window.onload = function()
  {
    createDropDown('toc');
    createDropDown('tocB');
  };

function initVergroting() {

	if (!document.getElementById) return
	
//	var toelichting = document.getElementById('text');
//	if (toelichting) {
//	var maakToelichtingP = document.createElement('div');
//		maakToelichtingP.setAttribute('id', 'toelichting');
//		toelichting.appendChild(maakToelichtingP);
//		}
	var u = document.getElementById('toelichting');
	if (u) {
		var v = document.createElement('a');
			v.setAttribute('id', 'schakelaar');
			v.setAttribute('href','javascript:Schakelaar();');
			u.appendChild(v);
		var w = document.getElementById('schakelaar');
			w.appendChild( document.createTextNode('Toon toelichting') );
//			if(window.attachEvent)w.attachEvent('onclick',Schakelaar);
//			else if(window.addEventListener)w.addEventListener('click',Schakelaar,false);
		var y = document.createElement('p');
			y.setAttribute('id', 'toelichtingstekst');
			u.appendChild(y);
		var z = document.getElementById('toelichtingstekst');
// 			z.appendChild( document.createTextNode(ajaxinclude('schakelaar.htm') ) );
			z.appendChild( document.createTextNode('In het overzicht zijn foto\'s opgenomen. ') );
			z.appendChild( document.createTextNode('Deze foto\'s worden zichtbaar door te klikken op het pictogram in de kolom \'Foto\'. ') );
			z.appendChild( document.createTextNode('Vanwege hun bestandsomvang zijn de foto\'s nog niet geladen; daarom kan het de eerste keer een paar seconden duren voordat ze zichtbaar worden.') );
//			z.appendChild( document.createElement('br') );
//			z.appendChild( document.createTextNode('Tip: De foto\'s kunnen ook zichtbaar gemaakt worden met behulp van de TAB-toets. ') );
//			z.appendChild( document.createTextNode('Klik eerst met de cursor eenmaal op de naam van de plant en vervolgens op TAB. ') );
//			z.appendChild( document.createTextNode('De foto verdwijnt weer door op een willekeurige plaats op de pagina te klikken.') );
			z.style.visibility = 'hidden';
			z.style.display = 'none';
			}
	}

function Schakelaar() {
	a=document.getElementById('schakelaar');
	a.innerHTML=(a.innerHTML=='Toon toelichting')?'Verberg toelichting':'Toon toelichting';
	b=document.getElementById('toelichtingstekst');
	b.style.display=(b.style.display=='block')?'none':'block';
	b.style.visibility=(b.style.visibility=='visible')?'hidden':'visible';
	}

// popupWindow function
// This is where you set your specific height & width etc... for your popups.

function openPopup(url) {	
	window.open(url, 'popupwindow', 'width=250,height=370,scrollbars=no,resizable=no'); 
	return false;
	}


// works in conjunction with loading.js; removes the 'page is loading' dialog.

function removeLoadingMessage() {
	var removeMessage = document.getElementById('loadingMessage');
	if (removeMessage) {
		var x = removeMessage.parentNode;
		x.removeChild(removeMessage);
		}
	}

function createEmailAddress() {
	var a = ' [apenstaartje] ';	// put the @-replacement here
	var monkeytail = document.getElementsByClassName('monkeytail');
	for (var i = 0; i < monkeytail.length; i++) {
		var b = monkeytail[i];
			function parseText(b) {
				var theText = '';
				if (b.normalize) b.normalize();
				for (var c, j = 0; c = b.childNodes[j]; j++)
				if (c.nodeType == 3) theText += c.nodeValue;
				return theText;
				};
		var c = parseText(b);
		var d = new Array();
			d = c.split(a);
		var e = (d[0] + '@' + d[1]);
		var f = b.parentNode;
		var g = document.createElement('a');
		if (d.length > 1) {
			f.appendChild(g);
			g.setAttribute('href','mailto:' + e);
			g.setAttribute('title','Stuur een bericht naar ' + e);
			g.appendChild(document.createTextNode(e));
			f.replaceChild(g,b);
			}
		}
	/* var explanation = document.getElementsByClassName('explanation');	*/
	/* for (var k = 0; k < explanation.length; k++) {				*/
	/*	var h = explanation[k];						*/
	/*		monkeytail.removeChild(h);				*/
	/*	}								*/
	};

/* http://www.kryogenix.org/code/browser/searchhi/ */
/* Modified 20021006 to fix query string parsing and add case insensitivity */
/* Modified 20070316 to stop highlighting inside nosearchhi nodes */
function highlightWord(node,word) {
	// Iterate into this nodes childNodes
	if (node.hasChildNodes) {
		var hi_cn;
		for (hi_cn=0;hi_cn<node.childNodes.length;hi_cn++) {
			highlightWord(node.childNodes[hi_cn],word);
		}
	}
	
	// And do this node itself
	if (node.nodeType == 3) { // text node
		tempNodeVal = node.nodeValue.toLowerCase();
		tempWordVal = word.toLowerCase();
		if (tempNodeVal.indexOf(tempWordVal) != -1) {
			pn = node.parentNode;
			// check if we're inside a "nosearchhi" zone
			checkn = pn;
			while (checkn.nodeType != 9 && 
			checkn.nodeName.toLowerCase() != 'body') { 
			// 9 = top of doc
				if (checkn.className.match(/\bnosearchhi\b/)) { return; }
				checkn = checkn.parentNode;
			}
			if (pn.className != 'searchword') {
				// word has not already been highlighted!
				nv = node.nodeValue;
				ni = tempNodeVal.indexOf(tempWordVal);
				// Create a load of replacement nodes
				before = document.createTextNode(nv.substr(0,ni));
				docWordVal = nv.substr(ni,word.length);
				after = document.createTextNode(nv.substr(ni+word.length));
				hiwordtext = document.createTextNode(docWordVal);
				hiword = document.createElement('span');
				hiword.className = 'searchword';
				hiword.title = 'Woord uit de zoekopdracht op de vorige pagina';
				hiword.appendChild(hiwordtext);
				pn.insertBefore(before,node);
				pn.insertBefore(hiword,node);
				pn.insertBefore(after,node);
				pn.removeChild(node);
			}
		}
	}
}

function googleSearchHighlight() {
	if (!document.createElement) return;
	ref = document.referrer;
	if (ref.indexOf('?') == -1) return;
	qs = ref.substr(ref.indexOf('?')+1);
	qsa = qs.split('&');
	for (i=0;i<qsa.length;i++) {
		qsip = qsa[i].split('=');
	        if (qsip.length == 1) continue;
        	if (qsip[0] == 'q' || qsip[0] == 'p') { // q= for Google, p= for Yahoo
			words = unescape(qsip[1].replace(/\+/g,' ')).split(/\s+/);
	                for (w=0;w<words.length;w++) {
				highlightWord(document.getElementsByTagName('body')[0],words[w]);
			}
		}
	}
}

// Piggy-back functions onto onLoad event...

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

addLoadEvent(initVergroting);
addLoadEvent(removeLoadingMessage);
addLoadEvent(createEmailAddress);
// addLoadEvent(googleSearchHighlight);
