
	var onLoadObjectStack = new Array ();
	var onLoadFunctionStack = new Array ();
	

	function OnLoadObject (oObject) {
		
		onLoadObjectStack.push (oObject);
		
	}
	
	
	function OnLoadFunction (sFunctieNaam) {
		
		onLoadFunctionStack.push (sFunctieNaam);
		
	}


	function initStack () {
		
		for (var i = 0; i < onLoadObjectStack.length; i++)
			onLoadObjectStack[i].init ();
		
		for (var i = 0; i < onLoadFunctionStack.length; i++)
			eval (onLoadFunctionStack[i]);
		
	}
	
	
	window.onload = function () {
		
		initStack ();
		
	}
	
	
	function openWindow (sID, sURL, iBreedte, iHoogte, bScroll) {
		if (!iBreedte) iBreedte = 400;
		if (!iHoogte) iHoogte = 400;
		
		var winWindow = window.open (sURL, sID, 'width=' + iBreedte + ',height=' + iHoogte + ',resizable=yes,status=no,scrollbars=yes');
		
		if (window.focus) winWindow.focus();
	}
	

	function Melding () {
		
		this.url = sDialogboxURL;
		this.msie = (browser == 'Internet Explorer');
		
	}
	
	
	Melding.prototype.openDialog = function (sMelding) {
		
		if (this.msie)
			this.openDialogMSIE (sMelding);
		else
			this.openDialogOther (sMelding);
		
	}
	
	
	Melding.prototype.openDialogMSIE = function (sMelding) {
		
		var meldingWindow = window.showModalDialog (this.url + '?dialogboxmelding=' + encodeURIComponent (sMelding), 'Dialogbox', 'dialogHeight: 200px; dialogWidth: 300px; dialogTop: px; dialogLeft: px; edge: Raised; center: Yes; help: No; resizable: No; status: No; Scroll: No');
		
	}


	Melding.prototype.openDialogOther = function (sMelding) {
		
		alert (sMelding);
		
	}


	function Bevestiging () {
		this.url = sDialogboxURL + '&dialogboxType=2'
	}
	
	
	Bevestiging.prototype.openDialog = function (sMelding) {
		var bevestigingsWindow = window.showModalDialog(this.url + '&dialogboxMelding=' + sMelding, 'Dialogbox', 'dialogHeight: 200px; dialogWidth: 300px; dialogTop: px; dialogLeft: px; edge: Raised; center: Yes; help: No; resizable: No; status: No; Scroll: No');
		return bevestigingsWindow;
	}
	
	
	function isEmail(str) {
		var supported = 0;
		if (window.RegExp) {
			var tempStr = "a";
			var tempReg = new RegExp(tempStr);
			if (tempReg.test(tempStr)) supported = 1;
		}
		if (!supported) return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
		var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
		var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,6}|[0-9]{1,3})(\\]?)$");
		return (!r1.test(str) && r2.test(str));
	}
	
	
	function formFoutmelding (oElem, sMelding) {
		new Melding ().openDialog (sMelding);
		if (oElem)
			oElem.focus();
	}


	function Page (sPageId, sLang, sRootUrl) {
		
		this.pageId = sPageId;
		this.lang = sLang;
		this.rootUrl = sRootUrl;
		
		new OnLoadObject (this);
		
	}
	
	
	Page.prototype.init = function () {
		
		if (!this.lang)
			this.lang = 'nl';
		
/*
		if (document.getElementById ('logoBoxPrint').style.display == 'none')
			this.medium = 'screen';
		else
			this.medium = 'print';
*/

		this.arrayParameters = new Array ();
		// Plaats parameters uit GET in array.

		var arrayParametersTemp = window.location.href.split (/\&/);
		arrayParametersTemp[0] = arrayParametersTemp[0].split (/\?/)[1];
		
		var pattern = /=/;
		
		for (var i = 0; i < arrayParametersTemp.length; i++) {
			
			if (pattern.test(arrayParametersTemp)) {
				
				var arrayParemeter = arrayParametersTemp[i].split (/=/);
				
				this.arrayParameters.push (new Parameter (arrayParemeter[0], arrayParemeter[1]));
				
			}
			
		}
		
		if (oPage.getParameter ('debug') == '1')
			this.debug = true;
		else
			this.debug = false;
		
		if (this.pageId != 'dialogbox') {
			
			this.mainDiv = document.getElementById ('mainDiv');
			this.mainDivHeight = this.mainDiv.offsetHeight;
			
		}
		
	}
	
	
	Page.prototype.getAllParameters = function () {
		
		var sParameters = '';
		
		var arrayTemp = new Array ();
		
		for (var i = 0; i < this.arrayParameters.length; i++) {
			
			if (this.arrayParameters[i].valueLength > 0) {
				
				arrayTemp.push (this.arrayParameters[i]);
				
			}
			
		}
		
		for (var i = 0; i < arrayTemp.length; i++) {
			
			sParameters += arrayTemp[i].name + '=' + arrayTemp[i].value;
				
			if (i < arrayTemp.length - 1)
				sParameters += '&';
			
		}
		
		return sParameters;
		
	}
	
	
	Page.prototype.makeParameter = function (sName, sValue) {
		
		var bParFound = false;
		
		for (var i = 0; i < this.arrayParameters.length; i++) {
			
			if (this.arrayParameters[i].name == sName) {
				
				this.arrayParameters[i].value = sValue;
				bParFound = true;
				
			}
			
		}
		
		if (!bParFound) {
			this.arrayParameters.push (new Parameter (sName, sValue));
		}
		
	}
	
	
	Page.prototype.go = function (sPageId) {
		
		var sUrl = 'parser.aspx?PageID=' + sPageId;
		
		if (this.lang)
			sUrl += '&Lang=' + this.lang;
		
		location.href = sUrl;
		
	}
	
	
	Page.prototype.getParameter = function (sParamName) {
		
		for (var i = 0; i < this.arrayParameters.length; i++) {
			
			if (this.arrayParameters[i].name == sParamName)
				if (this.arrayParameters[i].value.length > 0)
					return decodeURIComponent (this.arrayParameters[i].value);
			
		}
		
	}
	
	
	Page.prototype.alert = function (sMessage) {
		
		var oAlert = new Melding ();
		
		oAlert.openDialog (sMessage);
		
	}
	
	
	function Parameter (sName, sValue) {
		
		this.name = String (sName);
		this.value = String (sValue);
		this.valueLength = this.value.length;
		
	}	
	
	
	// Cookies =========================================================
	
	
	function setCookie (name, value, expire) {
		document.cookie = name + "=" + escape(value) + ((expire == null) ? "" : ("; expires=" + expire.toUTCString()));
	}
	
	//function setCookie(c_name,value,expiredays)
	//{	
	//	var exdate=new Date();
	//	exdate.setDate(exdate.getDate()+expiredays);
	//	document.cookie=c_name+ "=" +escape(value)+((expiredays!='') ? ";expires="+exdate : "");
	//}
	

	function getCookie (Name) {
		var search = Name + "=";
		if (document.cookie.length > 0) { 
			// if there are any cookies 
			offset = document.cookie.indexOf(search);
			if (offset != -1) {
				// if cookie exists 
				offset += search.length;
				// set index of beginning of value
				end = document.cookie.indexOf(";", offset);
				// set index of end of cookie value
				if (end == -1) end = document.cookie.length;
				return unescape(document.cookie.substring(offset, end));
			} else {
				return '';
			}
		}
	}
	

	function plaatsCookie (naam, waarde, tijd) {
			var today = new Date();
			var expires = new Date();
			expires.setTime (today.getTime() + 1000*60*60*24*tijd);
			setCookie(naam, waarde, expires);
	}
	