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

addLoadEvent(menu);
addLoadEvent(buttons);

function buttons() {

	var printfriendlylink = document.getElementById("printButton");
	if(printfriendlylink) {
		printfriendlylink.onclick = function () {
			popup(this.href, 750, 600, "Printpreview", "yes", "yes");
			return false;
		}	
	}

	var printlink = document.getElementById("printlink");
	if(printlink) {
		printlink.onclick = function () {
			print();
			return false;
		}	
	}
	
}


function popup(url, width, height, name, resizable, scrollbars) {

	pWidth = width;
	pHeight = height;
	
	pTop = Math.ceil((screen.height-pHeight*1.5)/2);
	pLeft = Math.ceil((screen.width-pWidth)/2);
	
	if(resizable != "") {
		pResizable = resizable;
	} else {
		pResizable = "no";
	}
	
	if(scrollbars != "") {
		pScrollbars = scrollbars;
	} else {
		pScrollbars = "no";
	}
	
	if(name != "") {
		pName = name;
	} else {
		pName = "Popup";
	}
	
	winopts = "toolbar=0,location=0,directories=0,status=0,menubar=0,copyhistory=0,scrollbars="+pScrollbars+",resizable="+pResizable+",width="+pWidth+",height="+pHeight+",top="+pTop+",left="+pLeft;
	smallwindow=window.open(url, pName, winopts);
	smallwindow.focus();
}

function menu() {
	if (window.attachEvent) { 
		// IE does not do :hover on <li> ==> add a class onmouseover
		sfHover();
	} 
}

function sfHover() {
	var BUA = navigator.userAgent;
	var BIE = BUA.indexOf("MSIE");
	var BIsIE = BIE>=0;

	var ul = document.getElementById("topNavigation");
	if(ul) {
		var lis = ul.getElementsByTagName('li');
		for(i=0;i<lis.length;i++) {
			if(lis[i].parentNode == ul) {
				// enkel die LIs die subitems hebben
				lis[i].onmouseover=function() {this.className+=" sfhover";}
				lis[i].onmouseout=function() {this.className=this.className.replace(new RegExp(" sfhover\\b"), "");}
							
				//all is normal till here. If we're using IE then this tells any first level item to have a width of 1px
				//lis[i].style.width = '1px';
			}
		}
	}
}



/************************************************************** image zoom **************************************************************************/


//really not important (the first two should be small for Opera's sake)
PositionX = 200;
PositionY = 100;
defaultWidth  = 600;
defaultHeight = 400;

//kinda important
var AutoClose = true;

//don't touch
function zoom(imageURL,imageTitle, print){
	var imgWin = window.open('','_blank','scrollbars=no,resizable=1,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY);
	if( !imgWin ) { return true; } //popup blockers should not cause errors
	imgWin.document.write('<html><head><title>'+imageTitle+'<\/title><script type="text\/javascript">\n'+
		'function resizeWinTo() {\n'+
		'if( !document.images.length ) { document.images[0] = document.layers[0].images[0]; }'+
		'var oH = document.images[0].height, oW = document.images[0].width;\n'+
		'if( !oH || window.doneAlready ) { return; }\n'+ //in case images are disabled
		'window.doneAlready = true;\n'+ //for Safari and Opera
		'var x = window; x.resizeTo( oW + 200, oH + 200 );\n'+
		'var myW = 0, myH = 0, d = x.document.documentElement, b = x.document.body;\n'+
		'if( x.innerWidth ) { myW = x.innerWidth; myH = x.innerHeight; }\n'+
		'else if( d && d.clientWidth ) { myW = d.clientWidth; myH = d.clientHeight; }\n'+
		'else if( b && b.clientWidth ) { myW = b.clientWidth; myH = b.clientHeight; }\n'+
		'if( window.opera && !document.childNodes ) { myW += 16; }\n'+
		'x.resizeTo( oW = oW + ( ( oW + 200 ) - myW ), oH = oH + ( (oH + 200 ) - myH ) );\n'+
		'var scW = screen.availWidth ? screen.availWidth : screen.width;\n'+
		'var scH = screen.availHeight ? screen.availHeight : screen.height;\n'+
		'if( !window.opera ) { x.moveTo(Math.round((scW-oW)/2),Math.round((scH-oH)/2)); }\n'+
		'}\n'+
		'<\/script>'+
		'<\/head><body onload="resizeWinTo();"'+(AutoClose?' onblur="self.close();"':'')+'>'+
		(document.layers?('<layer left="0" top="0">'):('<div style="position:absolute;left:0px;top:0px;display:table;">'))+
		'<img src='+imageURL+' alt="Loading image ..." title="" onload="resizeWinTo();" onclick="window.close();">'+
		(document.layers?'<\/layer>':'<\/div>')+'<\/body><\/html>');
	imgWin.document.close();
	if( imgWin.focus ) { imgWin.focus(); }
	if(print == "Y") {
		imgWin.print();
	}
	return false;
}


function validate_date(day,month,year) {
	var error = 0;
	
	if (isNaN(day) || isNaN(month) || isNaN(year)) {
		error++;
	}
	if(year < 1800) {
		error++;
	}
	if(month < 1 || month > 12) {
		error++;
	}
	if(day < 1 || day > 31) {
		error++;
	}

	if(((month==4)||(month==6)||(month==9)||(month==11))&&(day > 30)) {
		error++;
	}
	if(((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)||(month==12))&&(day > 31)) {
		error++;
	}
	if(month==2) {
		var schrikkeljaar = false;
		if ((year % 4 == 0) ^ (year % 100 == 0) ^ (year % 400 == 0)) {
			 schrikkeljaar = true;
		}
		if ((schrikkeljaar == false)&&(day>28)) {
			error++;
		}
		if ((schrikkeljaar == true)&&(day>29)) {
			error++;
		}
	}	
	if (error > 0) {
		return false;
	}else{
		return true;
	}
}
