<!--
/* Verzameling JavaScript die gebruikt wordt op ZAZOT.NL
*/

//zet onderkant op plek

function initZetOnder() {
   window.onresize=function(){zetOnder();}; 
   window.onscroll=function(){zetOnder();}; 
   zetOnder();
} 

function zetOnder(){
	//zet onderkant-layer op z'n plek
    var VanLinks, VanBoven, onderkantHoogte;
	onderkantHoogte = document.getElementById('onderkant').offsetHeight;
	VanLinks=(document.body.clientWidth/2)-365; //nieuwe midden-positie onderkant-laag; 365 = 730/2 = breedte buitenste laag /2
	VanBoven=(document.body.clientHeight)-onderkantHoogte;
	if (VanLinks<0) VanLinks=0;      // niet van de pagina af
	if (VanBoven<200) VanBoven=200; //er zit nu altijd minstens 200 px boven onderkant
	
	//in smoothmove() doen ze het vervolgens zo:
	//document.all.onderkant.style.pixelLeft=VanLinks;
	//document.all.onderkant.style.pixelTop=document.body.scrollTop+VanBoven;
	
	//hieronder andere methode, die ik bij centreer() gebruikt heb; betere browser compat., volgens advanced dhtml/css-boek
	document.getElementById('onderkant').style.left=VanLinks;
	document.getElementById('onderkant').style.top=document.body.scrollTop+VanBoven;
	
   //  meteen ook het onderste achtergrondplaatje al-of-niet zichtbaar maken
   if (document.getElementById("onderStop"))maakonzichtbaar(); //test mag weg als alle pagina's met onderKant van id=Alles, onderStop en onderLink voorzien zijn
}

function maakonzichtbaar(){ //laat onderste stoprand alleen zien als uitgescrold
    //N.B.: in CSS-sheet zijn margins van body op 0 gesteld, anders heb je nog ieder 14 px margin boven en onder
	if ((document.body.clientHeight+document.body.scrollTop)>=(document.getElementById("Alles").offsetHeight)) 
	     {document.getElementById("onderStop").style.backgroundImage="url(plaatjes/achterbeneden.gif)";
		  document.getElementById("onderLink").style.filter="alpha(opacity=100)";
		  document.getElementById("onderLink").style.opacity=1;}
	else {document.getElementById("onderStop").style.backgroundImage="url(plaatjes/achtermidden.gif)"; 
		  document.getElementById("onderStop").style.filter="alpha(opacity=80)";
		  document.getElementById("onderStop").style.opacity=.8;
		  document.getElementById("onderLink").style.filter="alpha(opacity=80)";
		  document.getElementById("onderLink").style.opacity=.8;}
}

//wat scrollfuncties om bij onderkant te kunnen gebruiken	
 var scrollTimer=window.setInterval(";",20); 	
 function voorwaarts(){
    scrollTimer=window.setInterval("window.scrollBy(0,1);",20); 
}

 function stopScroll(){
 window.clearInterval(scrollTimer);
}

 function presto(){
    window.clearInterval(scrollTimer);
    scrollTimer=window.setInterval("window.scrollBy(0,10);",20);
}
// functies om h1-koppen te vervangen door plaatjes met src=plaatjes/[h1-tag-id].gif ------------------------
function kopVervang() {
   var W3CDOM = (document.createElement && document.getElementsByTagName);
	if (!W3CDOM) return;
	var test = new Image();
	var tmp = new Date();
	var suffix = tmp.getTime();  //nodig om unieke url te maken ingeval van back-button
	test.src = 'plaatjes/leeg.gif?'+suffix; //laad een test-plaatje
	test.onload = imageReplacement;   //na testen het eigenlijke werk
}

function imageReplacement()
{
	replaceThem(document.getElementsByTagName('h1'));
}

function replaceThem(x)
{
	var replace = document.createElement('img');
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id)
		{
			var y = replace.cloneNode(true);
			y.src = 'plaatjes/' + x[i].id + '.gif';
			y.alt = x[i].firstChild.nodeValue;
			x[i].replaceChild(y,x[i].firstChild);
		}
	}
}

/* Macromedia -----------------------------------------------*/

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function MM_timelinePlay(tmLnName, myID) { //v1.2
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,propNum,theObj,firstTime=false;
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  tmLn = document.MM_Time[tmLnName];
  if (myID == null) { myID = ++tmLn.ID; firstTime=true;}//if new call, incr ID
  if (myID == tmLn.ID) { //if Im newest
    setTimeout('MM_timelinePlay("'+tmLnName+'",'+myID+')',tmLn.delay);
    fNew = ++tmLn.curFrame;
    for (i=0; i<tmLn.length; i++) {
      sprite = tmLn[i];
      if (sprite.charAt(0) == 's') {
        if (sprite.obj) {
          numKeyFr = sprite.keyFrames.length; firstKeyFr = sprite.keyFrames[0];
          if (fNew >= firstKeyFr && fNew <= sprite.keyFrames[numKeyFr-1]) {//in range
            keyFrm=1;
            for (j=0; j<sprite.values.length; j++) {
              props = sprite.values[j]; 
              if (numKeyFr != props.length) {
                if (props.prop2 == null) sprite.obj[props.prop] = props[fNew-firstKeyFr];
                else        sprite.obj[props.prop2][props.prop] = props[fNew-firstKeyFr];
              } else {
                while (keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]) keyFrm++;
                if (firstTime || fNew==sprite.keyFrames[keyFrm-1]) {
                  if (props.prop2 == null) sprite.obj[props.prop] = props[keyFrm-1];
                  else        sprite.obj[props.prop2][props.prop] = props[keyFrm-1];
        } } } } }
      } else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);
      if (fNew > tmLn.lastFrame) tmLn.ID = 0;
  } }
}

function MM_timelineStop(tmLnName) { //v1.2
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  if (tmLnName == null)  //stop all
    for (var i=0; i<document.MM_Time.length; i++) document.MM_Time[i].ID = null;
  else document.MM_Time[tmLnName].ID = null; //stop one
}

function MM_timelineGoto(tmLnName, fNew, numGotos) { //v2.0
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,lastKeyFr,propNum,theObj;
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  tmLn = document.MM_Time[tmLnName];
  if (numGotos != null)
    if (tmLn.gotoCount == null) tmLn.gotoCount = 1;
    else if (tmLn.gotoCount++ >= numGotos) {tmLn.gotoCount=0; return}
  jmpFwd = (fNew > tmLn.curFrame);
  for (i = 0; i < tmLn.length; i++) {
    sprite = (jmpFwd)? tmLn[i] : tmLn[(tmLn.length-1)-i]; //count bkwds if jumping back
    if (sprite.charAt(0) == "s") {
      numKeyFr = sprite.keyFrames.length;
      firstKeyFr = sprite.keyFrames[0];
      lastKeyFr = sprite.keyFrames[numKeyFr - 1];
      if ((jmpFwd && fNew<firstKeyFr) || (!jmpFwd && lastKeyFr<fNew)) continue; //skip if untouchd
      for (keyFrm=1; keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]; keyFrm++);
      for (j=0; j<sprite.values.length; j++) {
        props = sprite.values[j];
        if (numKeyFr == props.length) propNum = keyFrm-1 //keyframes only
        else propNum = Math.min(Math.max(0,fNew-firstKeyFr),props.length-1); //or keep in legal range
        if (sprite.obj != null) {
          if (props.prop2 == null) sprite.obj[props.prop] = props[propNum];
          else        sprite.obj[props.prop2][props.prop] = props[propNum];
      } }
    } else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);
  }
  tmLn.curFrame = fNew;
  if (tmLn.ID == 0) eval('MM_timelinePlay(tmLnName)');
}

function MM_preloadImages2() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages2.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	
   //schakel na dit preloaden beginlayer weer uit N.B.: deze functie is hernoemd voor beginpagina!
   MM_showHideLayers('BeginLayer','','hide');	
}


/* scripts voor het bovenaan laten staan van de HomeKnop --------------------------------------*/

//window.onLoad = doLoad(); //staat nu bij onload in body-tag

//function keepAlive() {
//	document.all.HomeKnop.style.pixelTop = document.body.scrollTop + topOffset
//}

function smoothMove() {
    //positie t.o.v. linkermarge handhaven.
	var HomeKnopLeft = parseInt(document.body.clientWidth / 2) - 385; var minimumHomeKnopLeft = -50;
	if (HomeKnopLeft<minimumHomeKnopLeft) HomeKnopLeft=minimumHomeKnopLeft; 
	document.all.HomeKnop.style.pixelLeft = HomeKnopLeft;


	//dit stond er:
	//var Dif = parseInt((document.body.scrollTop+topOffset-document.all.HomeKnop.offsetTop)*.1); 
	//hou je wel 9 pixels verschil over... Bovendien is uitkomst binnen haken geen string...
	//er is discussie over document.body in IE 6, maar dat heb ik maar zo gelaten (werkt)
	//ik heb deze regel veranderd in: 
	var Verschil = document.body.scrollTop+topOffset-document.all.HomeKnop.offsetTop;
	var Dif = Math.round(Verschil*.1);
	
	// Work-around wierd Netscape NaN bug
	if (isNaN(Dif)) Dif=0;
	
	//deze regels toegevoegd: ook het laatste restje (max < 5); Verschil is negatief bij = omhoogscrollen
	if ((Dif==0) && (Verschil)>1) Dif=1;
	if ((Dif==0) && (Verschil)<-1) Dif=-1;
	//en stop die timer als we er zijn. Gebeurde niet en dat lijkt me niet goed:
	//if (Verschil==0) 	window.clearInterval(Timer); //Nee: dan doet-ie 't verder niet meer bij scrollen: onScroll moet je 'm dan weer aanzetten
	
	document.all.HomeKnop.style.pixelTop+=Dif;
	
}
function doLoad() {
    // Begin Library: declaraties zonder "var" = globale variabelen
    sys = navigator.appName; 
    vers = parseInt(navigator.appVersion); 
    n4 = document.layers;
    ie4Mac = (vers>=4) && (navigator.appVersion.indexOf("Mac")>-1) && (!n4);
	if ("Netscape"==sys) document.readyState = "loading";
	topOffset = 55; 
	
	setup();
//	window.onscroll = keepAlive;  //keepAlive()=op 1 plek houden; hier geanimeerd met smoothMove()
//	keepAlive()
	Timer=window.setInterval("smoothMove();",20); 
	
//  meteen ook 		
}

/* ----------------------------------------------------------------------------------------
 DHTML Library Version 2.10
 Last Updated: December 5, 1999
 Copyright 1997-1999 by InsideDHTML.com, LLC

 This file cannot be redistributed or sold as part of any package without 
 explicit consent from Scott Isaacs - scott@siteExperts.com
 
  For more information on this library, see http://www.siteExperts.com

 This library is provided AS IS WITHOUT WARRANTY OF ANY KIND AND ARE PROVIDED 
 WITHOUT ANY IMPLIED WARRANTY OF FITNESS FOR PURPOSE, MERCHANTABILITY, 
 OR NON-INFRINGEMENT. 

 Due to the variable nature of the different Internet Client Object Models there are
 no guarantees this library will work AS IS in future releases of any browser.

 Unless prior arrangements are made with scotti@siteExperts.com, this file must be
 referenced as an external script by your web-pages. See the instructions for more 
 details.
         
 Registering 

 This library can be used on your web-site as long as you comply with the following requirements:
  1) The copyright notice and disclaimer must be maintained in the library file.
  2) You register your URL (or company with email address if non-public URL such as an intranet) 
  to DHTMLLibrary@siteExperts.com. Please state if you DO NOT want your web-site or company
  listed as using this library (Your e-mail addresses will never be given out).
  3) You include a link back to www.SiteExperts.com              

 Questions should be send to scotti@siteExperts.com.
 See http://www.siteExperts.com for more information.
  
 This comment must be maintained in the document unless prior arrangements are made 
 with scotti@siteExperts.com.
*/

 
// Track property changes in Netscape

function testScroll() {
 // For onscroll event
 // Initialize scrollbar cache if necessary
 if (window._pageXOffset==null) {
  window._pageXOffset = window.pageXOffset;
  window._pageYOffset = window.pageYOffset
 }
 // Expose Internet Explorer compatible object model
 document.body.unwatch("scrollTop"); 
 document.body.unwatch("scrollLeft");
 document.body.scrollTop = window.pageYOffset;
 document.body.scrollLeft = window.pageXOffset;
 window.document.body.scrollHeight = document.height;
 window.document.body.scrollWidth = document.width ;   
 document.body.watch("scrollTop",CheckScrollTop);
 document.body.watch("scrollLeft",CheckScrollLeft);

 document.body.clientWidth = window.innerWidth-20; 
 document.body.clientHeight = window.innerHeight-20;

 // If cache!=current values, call the onscroll event
 if (((window.pageXOffset!=window._pageXOffset) || (window.pageYOffset!=window._pageYOffset)) && (window.onscroll)) 
  window.onscroll();
 // Cache new values
 window._pageXOffset = window.pageXOffset;
 window._pageYOffset = window.pageYOffset;
}

function CheckScrollTop(prop,temp,newValue) {
 //window.pageYOffset = newValue
 return newValue ;
}
function CheckScrollLeft(prop,temp,newValue) {
 //window.pageXOffset= newValue
 return newValue ;
}

function CheckTopChange(prop,temp,newValue) {
 this.NSLayer.owningElement.offsetTop = this.NSLayer.top = newValue;
 return newValue ;
}

function CheckLeftChange(prop,temp,newValue) {
 this.NSLayer.owningElement.offsetLeft= this.NSLayer.left = newValue;
 return newValue;
}

function CheckWidthChange(prop,temp,newValue) {
 this.NSLayer.owningElement.offsetWidth = this.NSLayer.clip.width = newValue;
 return newValue;
}

function CheckHeightChange(prop,temp,newValue) {
 this.NSLayer.owningElement.offsetHeight = this.NSLayer.clip.height = newValue;
 return newValue;
}

function CheckColorChange(prop,temp,newValue) {
 this.NSLayer.bgColor = newValue;
 return newValue;
}

function CheckClipChange(prop,temp,newValue) {
 var sText = newValue.substring(5); 
 sText = sText.substring(0,sText.length-1);
 var aVal = sText.split(" ");
 this.NSLayer.clip.top = aVal[0];
 this.NSLayer.clip.width = aVal[1];
 this.NSLayer.clip.height = aVal[2];
 this.NSLayer.clip.left = aVal[3];
 return newValue;
}

function CheckZIndexChange(prop,temp,newValue) {
 this.NSLayer.zIndex = newValue;
 return newValue;
}

function CheckContentChange(prop,temp,newValue) {
 this.NSLayer.document.open();
 this.NSLayer.document.write(newValue);
 this.NSLayer.document.close();
 this.NSLayer.document.owningElement = this.NSLayer.owningElement = this
 _extract(this.NSLayer, true);
 
 return newValue;
}

function CheckVisibilityChange(prop,temp,newValue) {
 if (newValue=="hidden")
  this.NSLayer.visibility = "hide";
 else if (newValue=="visible")
  this.NSLayer.visibility = "show";
 else if (newValue=="inherit")
  this.NSLayer.visibility = "inherit";
 else
  this.NSLayer.visibility = "";
 return newValue
}

/* BEGIN CORE CODE TO BUILD OBJECT MODEL */
function CheckContains(el) {
 return (el==this);
}


function _getInputTagName(type) {
 var sName
 if (type=="textarea")
  sName = "TEXTAREA"
 else if (type=="select-one")
  sName = "SELECT"
 else if (type=="select-multiple")
  sName = "SELECT"
 else
  sName = "INPUT"
 return sName
}

function _appendAll(obj, el, sName) {
 obj.all[sName] = el;
 while (obj.offsetParent) {
  obj = obj.offsetParent;
  obj.all[sName] = el
 }
}

function _extractRoot(obj, par) {
 for (var intLoop = 0; intLoop< obj.images.length; intLoop++) {
  var i = obj.images[intLoop];
  i.offsetParent = par;
  i.offsetLeft = i.x;
  i.offsetTop = i.y;
  i.offsetWidth = i.width;
  i.offsetHeight = i.height;
  i.tagName = "IMG";
  i.contains = CheckContains;
  if (""!=i.name) {
   window.document.all[i.name] = i
// window.document.images[i.name] = 
   if (obj.owningElement) _appendAll(obj.owningElement, i, i.name)
  }
 }

 for (var intLoop = 0; intLoop< obj.anchors.length; intLoop++) {
  var i = obj.anchors[intLoop];
  i.contains = CheckContains;
  i.offsetWidth=i.offsetHeight=0;
  if (""!=i.name) {
   window.document.all[i.name] = i;
   if (obj.owningElement) _appendAll(obj.owningElement, i, i.name)
  }
//   window.document.anchors[obj.anchors[intLoop].name] = obj.anchors[intLoop]
  obj.anchors[intLoop].offsetParent = par;
 }


 for (var intLoop = 0; intLoop< obj.links.length; intLoop++) {
  var i=obj.links[intLoop];
  i.offsetWidth=0;i.offsetHeight=20;
  i.contains = CheckContains;
  i.innerText = obj.links[intLoop].text;
  i.offsetParent = par;
  i.offsetLeft = obj.links[intLoop].x;
  i.offsetTop = obj.links[intLoop].y
 }

 for (var intLoop = 0; intLoop< obj.forms.length; intLoop++) {
  obj.forms[intLoop].offsetParent = par;
  var sName = obj.forms[intLoop].name;
  obj.forms[intLoop].tagName = "FORM";
  if (""!=sName) {
   window.document.all[sName] = obj.forms[intLoop];
   if (obj.owningElement) _appendAll(obj.owningElement, obj.forms[intLoop], sName)
  }
  for (var intElements = 0; intElements < obj.forms[intLoop].length; intElements++) {
   var i = obj.forms[intLoop][intElements];
   var sName = i.name;
   i.offsetParent = par;
   i.tagName = _getInputTagName(i.type);
   if (""!=sName) {
    window.document.all[sName] = i;
    if (obj.owningElement) _appendAll(obj.owningElement, i, sName)
//     obj.owningElement.all[sName] = window.document.all[sName]
   }
  }
 }
 if (obj.owningElement) {
  var sName = obj.owningElement.id;
  window.document.all[sName] = obj.owningElement;
  _appendAll(obj.owningElement.offsetParent, obj.owningElement, sName)
 }
}

function _extract(obj, bRefresh) {
 /* This creates the all collection when run in Netscape and
    promotes the nested name spaces in Netscape to the top-level collection.
    The length property is not updated for the built-in collections */
 // This function is called recursively for nested layers 

// Add walk up tree to add to collections code... ugh
 obj.document.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP | Event.MOUSEMOVE | Event.KEYDOWN | Event.KEYPRESS | Event.KEYUP);
 obj.document.onmousedown = _NSLayerBubbling;        
 obj.document.onmouseup = _NSLayerBubbling;
 obj.document.onmousemove = _NSLayerBubbling;
 obj.document.onkeydown = _NSLayerBubbling;
 obj.document.onkeypress = _NSLayerBubbling;
 obj.document.onkeyup = _NSLayerBubbling;

 obj.document._type = "document" // internal variable to track state
 // Hookup event handlers to establish event bubbling. 
 if (bRefresh==null) {
  if (""!=obj.id) 
   document.all[obj.id] =  new Object;
  var newEl = document.all[obj.id];
  newEl.all = new Object;
  obj.document.owningElement= obj.owningElement = newEl;

  newEl.id = obj.id;
  newEl.style = new Object;
  newEl.NSLayer = newEl.style.NSLayer = obj;
  newEl.offsetTop = parseInt(obj.top);
  newEl.offsetLeft = parseInt(obj.left) ;
  obj._type = "layer"; // internal variable
  if (obj.parentLayer.owningElement!=null)
   newEl.offsetParent = obj.parentLayer.owningElement
  else
   newEl.offsetParent = document.body;
  newEl.style.pixelTop = parseInt(obj.top);
  newEl.style.pixelLeft = parseInt(obj.left);
  if (null!=obj.clip) {
   newEl.style.pixelWidth = obj.clip.width;   // estimation
   newEl.style.pixelHeight = obj.clip.height;
  }
  newEl.style.clip = "rect(" + obj.clip.top + " " + obj.clip.width + " " + obj.clip.height + " " + obj.clip.left + ")";
  newEl.offsetWidth = newEl.style.pixelWidth;  // estimation
  newEl.offsetHeight = newEl.style.pixelHeight;
  newEl.contains = CheckContains;
  if (obj.visibility=="hide")
   newEl.style.visibility = "hidden";
  else if (obj.visibility=="show")
   newEl.style.visibility = "visible";
  else if (obj.visibility=="inherit")
   newEl.style.visibility = "inherit";
  else
   newEl.style.visibility = "";
  newEl.style.zIndex = obj.zIndex;
  newEl.style.backgroundColor = obj.bgColor;
  newEl.style.backgroundImage = "url("+obj.background+")";
 
  newEl.innerHTML = ""
         
  newEl.style.watch("visibility",CheckVisibilityChange);
  newEl.style.watch("pixelTop",CheckTopChange);
  newEl.style.watch("pixelLeft",CheckLeftChange);
  newEl.style.watch("pixelWidth",CheckWidthChange);
  newEl.style.watch("pixelHeight",CheckHeightChange);
  newEl.style.watch("backgroundColor",CheckColorChange);
  newEl.style.watch("zIndex",CheckZIndexChange);
  newEl.style.watch("clip",CheckClipChange);
  newEl.watch("innerHTML",CheckContentChange);
 }
 _extractRoot(obj.document,newEl) 
   
 for (var intLayer = 0; intLayer< obj.document.layers.length; intLayer++) 
  _extract(obj.document.layers[intLayer])  // Nested layers, go get them.
 
}


function _NSLayerBubbling(ev) {
 // Bubble through any positioned elements.
 this.routeEvent(ev);
 // Fire on positioned element
 if (!window.event.cancelBubble)
  if (null!=this.owningElement["on"+ev.type]) this.owningElement["on"+ev.type]()
}

function _NSBubbling(ev) {
 // This simulates very simple event bubbling in Netscape
 // Create the event object on the window.
 window.event = ev;
 // Initialize properties on the event object
 window.event.cancelBubble = false;
 window.event.button = ev.which ;
 window.event.keyCode = ev.which;
 window.event.type = ev.type;
 if ((ev.type=="focus") || (ev.type=="blur")) return false;
 // Get the "synthesized" element if it fired the event.
 var el = null;
 if ("document"==ev.target._type) 
  el = ev.target.owningElement.id
 else
  el = ev.target.id;
 if ((el!=null) && (el!="")) {
  el = document.all[el]
  window.event.srcElement = el
 } else {
  if (ev.target!=null) {
   window.event.srcElement=ev.target
  }
  else
   ev.target=null
 }
 window.event.returnValue = true;
 window.event.clientX = ev.pageX - window.pageXOffset;
 window.event.clientY = ev.pageY - window.pageYOffset;
 window.event.offsetX = ev.layerX;
 window.event.offsetY = ev.layerY;
 window.event.screenX = ev.screenX;
 window.event.screenY = ev.screenY;
 window.event.altKey = (ev.modifiers & Event.ALT_MASK) ? true : false;
 window.event.ctrlKey = (ev.modifiers & Event.CONTROL_MASK) ? true : false;
 window.event.shiftKey = (ev.modifiers & Event.SHIFT_MASK) ? true : false;
 window.event.NSEvent = ev;;
 if ((ev.target._type=="layer") && ((ev.type=="mouseover") || (ev.type=="mouseout")))  {
  // Special handling to bubble over and out events on layers
  var elLoop = ev.target.document.owningElement;
  while (elLoop!=null) {
   if (!window.event.cancelBubble)
    if (elLoop["on"+ev.type]!=null) elLoop["on"+ev.type]()
     elLoop = elLoop.offsetParent;
  }
 }
 // Send this event onward...
 // Make sure to wire event return values 
 var bCancel = window.routeEvent(ev);
 if (typeof bCancel=="boolean") 
  window.event.returnValue = bCancel
 else
  bCancel = window.event.returnValue
 
 // Bubble but do not fire document events twice
 if ((ev.target!=window.document) && (!window.event.cancelBubble))
  if (typeof document["on"+ev.type]=="function") bCancel = document["on"+ev.type]()
 if (typeof bCancel=="boolean")
  window.event.returnValue = bCancel
 return (window.event.returnValue)
}

function _setupBubbling() {
 // Setup event bubbling from the source ot the document.
 window.captureEvents(Event.CLICK | Event.MOUSEMOVE | Event.CLICK | Event.DBLCLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.MOUSEOUT | Event.MOUSEOVER | Event.KEYDOWN | Event.KEYUP | Event.KEYPRESS | Event.FOCUS | Event.BLUR)
 window.onclick = _NSBubbling;
 window.ondblclick = _NSBubbling;
 window.onmousemove = _NSBubbling;
 window.onmouseover = _NSBubbling;
 window.onmouseout = _NSBubbling;
 window.onmousedown = _NSBubbling; 
 window.onmouseup = _NSBubbling;
 window.onkeydown = _NSBubbling;
 window.onkeypress = _NSBubbling;
 window.onkeyup = _NSBubbling;
 window.onfocus = _NSBubbling;
 window.onblur = _NSBubbling;
}
function MacScroll() {
 // Add IE Mac onscroll Support
 if ((document.body.oldScrollTop!=document.body.scrollTop) || (document.body.oldScrollLeft!=document.body.scrollLeft))
  if (window.onscroll)
   window.onscroll()
 document.body.oldScrollTop = document.body.scrollTop
 document.body.oldScrollLeft = document.body.scrollLeft
}

/* The setup() function - This must be called in the onload event of the document */
function setup() {  
 if (4>vers) return;  // Can't help old browsers
 if (ie4Mac)
  setInterval("MacScroll()",50)
 if ("Netscape"==sys) {
  document.all = null;
  document.all = new Array;
  document.body = new Object;
  document.body.clientWidth = window.innerWidth-20; document.body.clientHeight = window.innerHeight-20
  document.body.scrollTop = window.pageXOffset; document.body.scrollLeft = window.pageYOffset
  document.body.watch("scrollTop",CheckScrollTop);
  document.body.watch("scrollLeft",CheckScrollLeft);
  document.body.offsetParent = null;
  document.body.offsetLeft = document.body.offsetTop = 0;
  document.body.all = new Object;
  document.parentWindow = window;
  _extractRoot(document,document.body);

  for (var intLayer = 0; intLayer< document.layers.length; intLayer++) {
   _extract(document.layers[intLayer])  // Nested layers, go get them.
  }
  
  _setupBubbling();
  testScroll();
  setInterval("testScroll()",50);
  document.readyState = "complete";
 }               
 return 
}
//8-8-05: HP eea veranderd aan volgorde van aanroepen en declareren
    
// DHTMLLib2.js Copyright 1997-2000 by InsideDHTML.com, LLC.
// http://www.SiteExperts.com
// -->

