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 P7_autoLayers() { //v1.2 by PVII
 var g,b,k,f,args=P7_autoLayers.arguments;
 var a = parseInt(args[0]);if(isNaN(a))a=0;
 if(!document.p7setc) {p7c=new Array();document.p7setc=true;
  for (var u=0;u<10;u++) {p7c[u] = new Array();}}
 for(k=0; k<p7c[a].length; k++) {
  if((g=MM_findObj(p7c[a][k]))!=null) {
   b=(document.layers)?g:g.style;b.visibility="hidden";}}
 for(k=1; k<args.length; k++) {
  if((g=MM_findObj(args[k])) != null) {
   b=(document.layers)?g:g.style;b.visibility="visible";f=false;
   for(j=0;j<p7c[a].length;j++) {
    if(args[k]==p7c[a][j]) {f=true;}}
  if(!f) {p7c[a][p7c[a].length++]=args[k];}}}
}

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_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_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

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_showHideLayers() { //v6.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 zoneYellow(whichZone)
	{
	z = document.getElementById(whichZone);
	z.style.border='1px solid yellow';
	}
function zoneBlue(whichZone)
	{
	z = document.getElementById(whichZone);
	z.style.border='1px solid blue';
	}
function gotoPage(page)
	{
	//alert(document.location+"&zone="+whichZone);
	document.location=page;
	}
//alert(self.top.leftFrame.name);
//alert(window.parent.name);
//self.top.leftFrame.history.go(0); //refresh leftframe
PositionX = 100;
PositionY = 100;

// Set these value approximately 20 pixels greater than the
// size of the largest image to be used (needed for Netscape)

defaultWidth  = 500;
defaultHeight = 500;

// Set autoclose true to have the window close automatically
// Set autoclose false to allow multiple popup windows

var AutoClose = true;

if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;

function popImage (imageURL, caption) {

if (caption=="NL") {caption="Uitvergroting";}
if (caption=="EN") {caption="Large image";}
/*
This routine creates a pop-up window, and ensures that it takes focus. It is 
intended to be called from an anchor tag. The new window will resize itself to 
the optimum size, so we make it as large as the largest required window to
overcome bugs in various manifestations of various browsers.
  
Author:   John Gardner
Written:  8th November 2003
Updated:  27th January 2004

Calling sequence: <a href="a.jpg" onClick="return openLargeImage('a.jpg','Caption');">

The first parameter is the URL of the image to be opened, and the second 
parameter is the caption for the image which is displayed in the window title
and in the alt property of the image tag.

Note that the calling sequence will simply open the image in the main window if
JavaScript isn't enabled.
  
*/

  // Constants - change these to suit your requirements Note that the defaultWidth
  // and defaultHeight variables should be set to more than your largest image to
  // overcome a bug in Mozilla (at least up to Firefox 0.9).

  var windowTop = 100;                // Top position of popup
  var windowLeft = 100                // Left position of popup
  var defaultWidth = 730;             // Default width (for browsers that cannot resize)
  var defaultHeight = 532;            // Default height (for browsers that cannot resize)
  var onLoseFocusExit = true;         // Set if window to exit when it loses focus
  var undefined;

  // Set up the window open options
  var Options = "width=" + defaultWidth + ",height=" + defaultHeight + ",top=" + windowTop + ",left=" + windowLeft + ",resizable"
  
  // Now write the HTML markup to the new window, ensuring that we insert the 
  // parameter URL of the image and the parameter description of the image in 
  // the right place.
  var myScript = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n" +
    "<html>\n" + 
    "<head>\n" + 
    "<title>" + caption + "\</title>\n" +
    "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\n" +
    "<meta http-equiv=\"Content-Language\" content=\"en-gb\">\n" +
    "<script language=\"JavaScript\" type=\"text/javascript\">\n" +
    "function resizewindow () {\n" +
    "  var width = document.myimage.width;\n" + 
    "  var height = document.myimage.height;\n";
  
  // Netscape  
  if (navigator.appName.indexOf("Netscape") != -1) {  
    myScript = myScript +  "  window.innerHeight = height;\n  window.innerWidth = width;\n"
  }
   
  // Opera 
  else if (navigator.appName.indexOf("Opera") != -1) {
    myScript = myScript +  "  window.resizeTo (width+12, height+31);\n"
  }
  
  // Microsoft 
  else if (navigator.appName.indexOf("Microsoft") != -1) { 
    myScript = myScript + "  window.resizeTo (width+12, height+31);\n" 
  }
  
  // Assume a frig factor for any other browsers
  else {
    myScript = myScript + "  window.resizeTo (width+14, height+34);\n"
  }
      
  myScript = myScript + "}\n" + "window.onload = resizewindow;\n" +
    "</script>\n</head>\n" + "<body ";
    
  // If the window is required to close when it loses focus.
  if (onLoseFocusExit) {myScript = myScript + "onblur=\"self.close()\" ";}
    
  myScript = myScript + "style=\"margin: 0px; padding: 0px;\">\n" +
    "<a href='javascript:window.close();'><img src=\"" + imageURL + "\" alt=\"" + caption + "\" title=\"" + caption + "\" name=\"myimage\" border='0'></a>\n" + 
    "</body>\n" +  "</html>\n";
        
  // Diagnostic - uncomment the next line if you wish to see the script generated.   
  //alert (myScript);
  
  // Create the popup window
  var imageWindow = window.open ("","imageWin",Options);
  imageWindow.document.write (myScript)
  imageWindow.document.close ();
  if (window.focus) imageWindow.focus();
  return false;
}





function goConfirm(msg,url)
	{
	if (msg==1)
		{msg = "Hiermee worden alle pagina's en menu's uit het geheugen gewist!";}
	if (msg==2)
		{msg = "Hiermee wordt de pagina permanent verwijderd!";}
	if (msg==3)
		{msg = "Hiermee wordt de backup permanent verwijderd!";}
	if (msg==4)
		{msg = "Hiermee wordt de pagina in het geheugen overschreven!";}
	if (msg==5)
		{msg = "Hiermee wordt dit onderdeel permanent verwijderd!";}
	if (msg==6)
		{msg = "Hiermee wordt dit onderdeel, inclusief de achterliggende pagina\n en eventuele submenu's, permanent verwijderd!";}
	ch = confirm ("Zeker weten?\n"+msg);

	
	if (ch==true)
		{window.document.location=url;}
	}
	
function MM_validateFormEN() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateFormEN.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function MM_validateFormNL() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateFormNL.arguments;

  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' moet een geldig e-mail adres bevatten.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' ontbreekt\n'; }
  } if (errors) alert('De volgende informatie is incorrect:\n'+errors);

  document.MM_returnValue = (errors == '');
}


/* **********************************************************************************************8 */


//<![CDATA[

	
	

	var aTreeMenu = new Array();
	var makeMenuParentsOpenMenu = true;


	/**
	 * Run through the given list and check if a li node contains a ul node. 
	 * If this is true, create a clickable node to expand the ul
	 * @param object oTree
	 */
	function makeMenu(oTree){
		var oChilds = oTree.childNodes;
		
		var bLast = false;
		var aLastState = "";
		
		//dit is een hack om het menu goed te laten werken als er named href tags in de location.href zitten
		//er moet ook een check in voor -artikel-nr !!
		//en ook checken of het matcht ZONDER exensie (die choppen we er in de module af!)
		//volgorde is hier belangrijk!
		var toAlter=location.href
		
		if (toAlter.indexOf("#")!=-1)
			{var toAlter= toAlter.substring(0,toAlter.indexOf("#"));}
		if (toAlter.indexOf("?")!=-1)
			{var toAlter= toAlter.substring(0,toAlter.indexOf("?"));}
			
		reg=new RegExp("-artikel-[0-9]{1,4}");
		b=toAlter.match(reg);
		reg2=new RegExp("-reacties-[0-9]{1,4}");
		b2=toAlter.match(reg2);
		
		if (b!=null)
			{var toAlter=toAlter.replace(b,"");}
		else if (b2!=null)
			{var toAlter=toAlter.replace(b2,"");}
		else
			{var toAlter=location.href;}
		//alert(toAlter);
		//kap extensie eraf?
					
		// Iterate through every child
		for(var i=oChilds.length-1; i >= 0; i--){
			if (oChilds[i].firstChild==toAlter)
				{oChilds[i].className='activeMenuItem';} //hack om het actieve menu item weer te kunnen geven
			// Create a new submenu when the li element contains a ul element
			if(oChilds[i].nodeName == "LI" && hasSubmenu(oChilds[i])){
				
				// If this is the last node, give it a different class
				var sClassName = (arrayContains(aLastState, aTreeMenu.length))? " itemClose" : " itemClose";
				if(!bLast){
					oChilds[i].className += sClassName + "End";
					bLast = true;
				} else
					oChilds[i].className += sClassName;
				
				aTreeMenu[aTreeMenu.length] = oChilds[i];
					
				// If the boolean is set and the href of the firstChild A is '#'
				// the item opens and closes the menu
				
				
					
				if(makeMenuParentsOpenMenu && oChilds[i].firstChild.nodeName == "A"){
					if(oChilds[i].firstChild.href == toAlter.replace("#","")+"#"){ //dit is de boosdoener
					
						oChilds[i].firstChild.href="javascript:void(0);";
						oChilds[i].firstChild.onclick = function(event){
							if(!event){
								event = window.event;
								oObj = event.srcElement.parentNode;
							} else
								oObj = event.target.parentNode;
								
							event.cancelBubble = true;
							switchClassname(oObj);
						};
					}
				}
				
				// Register the event handler for this node
				oChilds[i].onclick = function(event){ 
					if(!event){
						event = window.event;
						oObj = event.srcElement;
					} else
						oObj = event.target;
						
					event.cancelBubble = true;
					switchClassname(oObj);
				};
			} else if(oChilds[i].nodeName == "LI") {
				
				oChilds[i].className = "item " + oChilds[i].className;
				// If this is the last node, give it an extra class
				if(!bLast){
					oChilds[i].className += " endItem";
					bLast = true;
				}
			}
		}
		
	//if (openAt) {openParentNode(openAt);}
	}
	
	/**
	 * Switch the classname of an object
	 * @param object oObj
	 */
	function switchClassname(oObj){
		if(oObj.className.indexOf("itemOpen") != -1){
			oObj.className = oObj.className.replace("itemOpen", "itemClose");
		} else if(oObj.className.indexOf("itemClose") != -1) {
			oObj.className = oObj.className.replace("itemClose", "itemOpen");
		}			
	
	}
	
	/**
	 * Checks if a list object contains a ul object
	 * @param object oList
	 * @return boolean
	 */
	function hasSubmenu(oList){
		var oMenuChilds = oList.childNodes;
		var bHasList = false;
		
		// Iterate through all the child nodes and search for a ul tag
		for(var j = 0; j < oMenuChilds.length; j++){
			if(oMenuChilds[j].nodeName == "UL") {
				makeMenu(oMenuChilds[j]);
				bHasList = true;
			}
		}
		return bHasList;
	}
	
	/**
	 * Finds the parent menu in which this item is placed and opens the menu
	 * @param object oItem
	 */
	function openParentNode(oItem){
		if(!oItem) {return ;}
			
		if(oItem.parentNode.nodeName == "UL" && oItem.parentNode.parentNode.nodeName == "LI"){
			oMenu = oItem.parentNode.parentNode;
			oMenu.className = oMenu.className.replace("itemClose", "itemOpen");
			openParentNode(oMenu);
		}
	}
	
	
    
    /**
     * Checks if the needle exists in the haystack
     * @param array aSrc
     * @param string sNeedle
     * @return boolean
     */
    function arrayContains(aHayStack, sNeedle){
        for (var i = 0; i < aHayStack.length; i++) {
            if (aHayStack[i] == sNeedle)
            	return true;
        }
        return false;    	
    }
	    
	//]]>
