/*
	====================================================================================================
	** Ajax Module version 0.7
	** Developed by Tjeerd Boudri - april 2008
	** all rights reserved
	** 16 april 2008 version 0.8 added translucent level
	** 23 april 2008 added autorefresh
	====================================================================================================
*/


var overLay;
var undefined;
var blendLevel;
var isPopup = false;
var xmlHttp;	
var scriptident = 1000;
var ajax_TopLevelWindowID = 0;
var ajax_TopLevelWindowCaption = "";
var ajax_AutoRefreshDelay = -1;
var ajax_AutoRefrshEnabled = false;

var AJAX_UNDEFINEDLOCATION = -999999;
var AJAX_UNDEFINEDSIZE = -999999;

var ajax_MouseDownID = -1;
var ajax_DeltaX      = 0;
var ajax_DeltaY      = 0;
var ajax_TranslucentLevel = 1;
var ajax_UniqueIdent = 0;
var ajax_TopLevelWindowsPositionLeft = AJAX_UNDEFINEDLOCATION;
var ajax_TopLevelWindowsPositionTop = AJAX_UNDEFINEDLOCATION;
var ajax_TopLevelWindowsSizeWidth = AJAX_UNDEFINEDSIZE;
var ajax_TopLevelWindowsSizeHeight = AJAX_UNDEFINEDSIZE;

var ajax_DestroyChainOnClose =  true;
var ajax_CaptionIconURL = ""

function ajax_GetXmlHttpObject() {
	var xmlHttp=null;
	try {
	  // Firefox, Opera 8.0+, Safari
	  xmlHttp=new XMLHttpRequest();
	}catch (e) {
	  // Internet Explorer
	  try {
	    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	  } catch (e) {
	    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
	}
	return xmlHttp;
}
function ajax_SetRoundedCorners() {
//voorlopig uitgeschakeld; Om de een of andere reden werkt dit hier niet
return;
	 settingsDIV = {
	        tl: { radius: 4 },
	        tr: { radius: 4 },
	        bl: { radius: 4 },
	        br: { radius: 4 },
	        antiAlias: true,
	        autoPad: true,
	        validTags: ["div"]
	    }
    var myBoxObject1 = new curvyCorners(settingsDIV, "form_container_" + ajax_TopLevelWindowID);
    myBoxObject1.applyCornersToAll(); 

}

function ajax_ConvertString(element) {
	if (element != null && element != undefined) {
		var str = element.value;
		if (element.type == "checkbox") {
			str = (element.checked) ? "Ja" : "Nee";
		}
		//return str.replace("&","&amp;").replace(" ","%20")
		return str.replace(/[&]+/g, "&amp;").replace(/[ ]+/g, "%20") + questionMark;
	}
	return "";	
}

function ajax_ConvertObj2Param(objID,isEnd,fieldName) {
	
	if (fieldName == undefined || fieldName == "") fieldName = objID;
	
	var questionMark = (isEnd == null || isEnd == undefined || isEnd == false) ? "&" : ""; 
	var element = document.getElementById(objID);
	if (element != null && element != undefined) {
		var str = element.value
		if (element.type == "checkbox") {
			str = (element.checked) ? "Ja" : "Nee";
		}
		//return fieldName + "=" + str.replace("&","&amp;").replace(" ","%20") + questionMark;
		return fieldName + "=" + str.replace(/[&]+/g, "&amp;").replace(/[ ]+/g, "%20") + questionMark;
	}
	return "";	
}

function ajax_ConvertObj2ParamWidthDefault(objID,isEnd,fieldName,def) {
	
	if (fieldName == undefined || fieldName == "") fieldName = objID;
	
	var questionMark = (isEnd == null || isEnd == undefined || isEnd == false) ? "&" : ""; 
	var element = document.getElementById(objID);
	if (element != null && element != undefined) {
		var str = element.value
		if (element.type == "checkbox") {
			str = (element.checked) ? "Ja" : "Nee";
		}
		//return fieldName + "=" + str.replace("&","&amp;").replace(" ","%20") + questionMark;
		return fieldName + "=" + str.replace(/[&]+/g, "&amp;").replace(/[ ]+/g, "%20") + questionMark;
	} else {
		return fieldName + "=" + (def + "").replace(/[&]+/g, "&amp;").replace(/[ ]+/g, "%20") + questionMark;
	}
}

function ajax_GetCoordValX(coord) {
	if (coord.indexOf("px") > 0) {
		return parseInt(coord.replace("px",""));
	} else {

	 	return parseInt(parseInt(coord.replace("%","")) * 0.01 * document.body.offsetWidth);//screen.width);
	}
}

function ajax_GetCoordValY(coord) {
	if (coord.indexOf("px") > 0) {
		return parseInt(coord.replace("px",""));
	} else {
	 	return parseInt(parseInt(coord.replace("%","")) * 0.01 * document.body.offsetHeight);// screen.height);
	}
}

function ajax_FormCaption_OnMouseUp(parentNode,event,id) {
	ajax_MouseDownID = -1;
}

function ajax_FormCaption_OnMouseDown(parentNode,event,id) {

	var form_container = document.getElementById("form_container_" + id);
	if (form_container != null) {	

		var offsetY = (event.y != undefined) ? event.y - parentNode.offsetTop : event.clientY - parentNode.offsetTop;

		if (offsetY < 23 && ajax_TopLevelWindowID == id && event.button <= 1) {
		 	ajax_MouseDownID = id;
			ajax_DeltaX =  event.clientX - parentNode.offsetLeft;
			ajax_DeltaY =  event.clientY - parentNode.offsetTop;
		}		
	}
}

function ajax_FormCaption_OnMouseMove(parentNode,event,id) {
	
	if (ajax_MouseDownID == id && ajax_MouseDownID > -1) {
		
		var form_container = document.getElementById("form_container_" + id);
		if (form_container != null) {	
			try {

				form_container.style.left = (event.clientX - ajax_DeltaX) + "px";
				form_container.style.top  = (event.clientY - ajax_DeltaY) + "px";
				
			} catch(e) {}	
		}
	} else {
		ajax_MouseDownID = -1;
	}
}	

function ajax_FormResize(id) {
	
	try {
	
		var form_Inner = document.getElementById("form_Inner_" + id);
		var form_container = document.getElementById("form_container_" + id);
		var form_Caption = document.getElementById("form_Caption_" + id);
		if (form_Inner != null && form_container != null && form_Caption != null) {	
			var w = form_Inner.offsetWidth;
			var h = form_Inner.offsetHeight + form_Inner.offsetTop + 1;
			if (form_container.offsetWidth != w) {

				form_container.style.width = w + "px";
				
				form_Caption.style.width = w + "px";
		
				var form_containerCloseButton = document.getElementById("form_CaptionCloseButton_" + id);		
				if (form_containerCloseButton != null) form_containerCloseButton.style.left = (w - 21) + "px";
			}
			if (form_container.offsetHeight != h) {
				form_container.style.height = h + "px";
			}	

			form_container.style.backgroundColor="#202020";

			form_Inner.style.height = (h-20) + "px";
			form_Inner.style.width="100%"
			form_Inner.style.left = "1px";
			form_Inner.style.top = "0px";

		}
	}catch(e) {
		alert("Fout in ajax_FormResize: " + e.description);
	}	
}
var counter = 0;
function ajax_SetInnerHTML(obj,htmlCode) {
	
	try {
		
		if (obj != null) {
			
			document.onmouseup = function() {ajax_MouseDownID = -1;};
			
			var destroyWindowFunc = (ajax_DestroyChainOnClose) ? "ajax_DestroyAllWindows();" : "ajax_DestroyCurrentWindow();";
			var icon = (ajax_CaptionIconURL != "") ? "<img  height='20px' style='position:relative;top:2px;' src='" + ajax_CaptionIconURL + "'>&nbsp;" : "";
			var relTop = "top:-3px;";
			if (icon == "") {
				relTop = "top:2px;";
			}
			
			var closeButton;
			if (ajax_DestroyChainOnClose != -1) {
				closeButton = "<div id='form_CaptionCloseButton_" + ajax_TopLevelWindowID + "' style='float:left;position:absolute;left:0px;top:1px;height:22px;background-color:#202020;display:block'>" +
								"<a href='#' onclick='" + destroyWindowFunc + "'><img src='/media/img/close_button_klein.jpg'></a>" + 
							  "</div>";
			} else {
				closeButton = "<div id='form_CaptionCloseButton_" + ajax_TopLevelWindowID + "' style='float:left;position:absolute; left:90px;top:1px;height:22px;background-color:#202020;display:block'>" +
							  "</div>";			
			}

			var htmlCode = "<div id='form_Caption_" + ajax_TopLevelWindowID + "' onmouseup='ajax_FormCaption_OnMouseUp(this.parentNode,event,"+ ajax_TopLevelWindowID + ")'; onmousedown='ajax_FormCaption_OnMouseDown(this.parentNode,event,"+ ajax_TopLevelWindowID + ")'; onmousemove='ajax_FormCaption_OnMouseMove(this.parentNode,event,"+ ajax_TopLevelWindowID + ")'; align='left' style='float:left;padding:1px;margin:0px;background-color:#202020;width:100%;height:22px;display:block;'>" + 
							   "<div align='left' style='padding-bottom:2px;padding-left:1px;float:left;width:100%;height:22px;background-color:#202020;color:#ffffff;font-size:14px;font-weight: boldstyle='vertical-align:center;display:block;'>" + icon + "<b style='position:relative;" + relTop + "'>" + ajax_TopLevelWindowCaption + "</b></div>" + 
							   closeButton + 
						   	   "<div style='background-color:#ffffff;display:block;float:left;margin:0px;' id='form_Inner_" + ajax_TopLevelWindowID + "'>" + htmlCode + "</div>" + 
							"</div>";
	
			obj.innerHTML = htmlCode;

			ajax_ExecuteScripts(htmlCode);
			
			obj.style.display = "block";
/*
debugger
	ajax_CurrentContainer = document.getElementById("form_container_" + ajax_TopLevelWindowID);
	ajax_AnimateCounter = 0;
	ajax_CurrentContainer.style.zoom = 0.1;
	window.setTimeout("ajax_Animate()",50);
*/
			
			ajax_SetWindowState(ajax_TopLevelWindowID,true);
								
			ajax_FormResize(ajax_TopLevelWindowID);
			
			ajax_TopLevelWindowCaption = "";
			
			if (ajax_TranslucentLevel < 1) {
				ajax_SetLevel(document.getElementById("form_Caption_" + ajax_TopLevelWindowID), ajax_TranslucentLevel)
			}
	
			ajax_SetRoundedCorners();

			if (obj.style.visibility != 'visible') obj.style.visibility = 'visible';
				
		}
					
	}catch(e) {
		alert("Fout in ajax_SetInnerHTML: " + e.description);
	}	
}
/*
var ajax_CurrentContainer
var ajax_AnimateCounter = 0;
function ajax_Animate() {
	if (ajax_CurrentContainer != null) {
		ajax_CurrentContainer.style.zoom = (ajax_AnimateCounter / 25);
		if (++ajax_AnimateCounter < 25) {
			window.setTimeout("ajax_Animate()",100);
		} else {
			ajax_CurrentContainer.style.zoom = "normal";
		}	
	}		
}
*/
function ajax_ConvertURL(url) {
	
	var lPosStart;
	while ((lPosStart = url.indexOf("<")) > 0) {
		var lposEnd = url.indexOf(">",lPosStart + 1);
		if (lposEnd > 0) {
			var elem = url.substring(lPosStart+1,lposEnd);
			var obj = document.getElementById(elem);
			if (obj) {
				elem = obj.value;
			} else {
				elem = "";
			}
			url = url.substring(0,lPosStart) + elem + url.substring(lposEnd+1);
		}
	}
	if (url.indexOf("?") > 0) {
		return url + "&u" + (++ajax_UniqueIdent);
	} else {
		return url + "?u" + (++ajax_UniqueIdent);
	}	
}

function ajax_AutoRefreshTimer() {
	if (ajax_AutoRefrshEnabled) {
	
		try {		
			var xmlHttp=ajax_Init();
			if (xmlHttp==null) {
				alert ("Your browser does not support AJAX!");
				return;
		 	}				  
			
			xmlHttp.onreadystatechange = ajax_GetStateChangeRefreshHandler;
			
			var url = ajax_WindowParams.backupURL;
			if (ajax_WindowParams.backupParams.length > 0) url = url + "?" + ajax_WindowParams.backupParams;
			xmlHttp.open("GET",ajax_ConvertURL(url),true);
			xmlHttp.send(null);	

		}catch(e) {
			alert("Fout in ajax_AutoRefreshTimer: " + e.description);			
		}
	}
}

function ajax_RefreshWindow(url,parms) {
	try {		
		var xmlHttp=ajax_Init();
		if (xmlHttp==null) {
			alert ("Your browser does not support AJAX!");
			return;
	 	}				  
		
		xmlHttp.onreadystatechange = ajax_GetStateChangeRefreshHandler;
		
		//var url = ajax_WindowParams.backupURL;
		if (parms.length > 0) url = url + "?" + parms;
		xmlHttp.open("GET",ajax_ConvertURL(url),true);
		xmlHttp.send(null);	

	}catch(e) {
		alert("Fout in ajax_RefreshWindow: " + e.description);			
	}
}

function ajax_GetStateChangeRefreshHandler(){ 
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") { 
		
		if (xmlHttp.status == 200) {
			
			try {

				var form_inner = document.getElementById("form_Inner_" + ajax_TopLevelWindowID);
				if (form_inner != null) {

					form_inner.innerHTML = xmlHttp.responseText;

					ajax_ExecuteScripts(xmlHttp.responseText);

					ajax_FormResize(ajax_TopLevelWindowID)
					
					if (ajax_AutoRefrshEnabled) {
						window.setTimeout("ajax_AutoRefreshTimer()",ajax_AutoRefreshDelay);
					}
				}		

			} catch(e) {
				alert("Fout in ajax_GetStateChangeRefreshHandler: " +e.description);
			}	
			
		} else {
			 alert("HTTP fout code " + xmlHttp.status + " ontvangen."); 
		}	
	}  	
}

function ajax_GetStateChangeHandler(){ 
		
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") { 
		
		if (xmlHttp.status == 200) {
			
			try {

				var form_container = document.getElementById("form_container_" + ajax_TopLevelWindowID);
				if (form_container != null) {

					ajax_SetInnerHTML(form_container, xmlHttp.responseText);
					
					if (ajax_AutoRefrshEnabled) {
						window.setTimeout("ajax_AutoRefreshTimer()",ajax_AutoRefreshDelay);
					}
				}		

			} catch(e) {
				alert("Fout in ajax_GetStateChangeHandler: " +e.description);
			}	
			
		} else {
			 alert("HTTP fout code " + xmlHttp.status + " ontvangen."); 
			 ajax_DestroyCurrentWindow();
		}	
	}  	
} 

function ajax_ExecuteScripts(responseText) {
	var ScriptFragment = '(?:<script.*?>)((\r\n|\n|.)*?)(?:</script>)';
	var match   	   = new RegExp(ScriptFragment, 'img');
	var scripts        = responseText.match(match);
	
	try {
		
		if(scripts) {
	
			var oldFunc = window.ajax_OnAfterLoad;
			
			for(var s = 0; s < scripts.length; s++) {
				var match = new RegExp(ScriptFragment, 'im');
			   	var js= scripts[s].match(match)[1];			

			   	ajax_LoadScripts("IDENT" + (++scriptident),js);		   
			}
			var form_container = document.getElementById("form_container_" + ajax_TopLevelWindowID);
			
			//This will call the top level OnafterLoad			
			if (window.ajax_OnAfterLoad && window.ajax_OnAfterLoad != oldFunc && (typeof window.ajax_OnAfterLoad == "function")) {
				window.ajax_OnAfterLoad(ajax_TopLevelWindowID);
			}
		}
	} catch(e) {
		alert("Fout in ajax_ExecuteScripts: " + e.description); 
	}	
}

var scrHandle;
function ajax_LoadScripts(scrId, scrCode) {
	if(document.getElementById(scrId) == null) {
		var head  = document.getElementsByTagName("head").item(0);
		scrHandle = document.createElement("script");
		scrHandle.id = scrId;
		scrHandle.text = scrCode;	 
		scrHandle.type = 'text/javascript';
		void(head.appendChild(scrHandle));
	}
}


function ajax_SetChildrenState(elem,enabled) {
	
	try {	
		if (elem != null) {

			elem.disabled = enabled;
			if (elem.children != null) {
				var l = elem.children.length;
				for(var x = 0;x < l;++x) {
					ajax_SetChildrenState(elem.children[x],enabled);
				}
			}	
		}
	}catch(e) {
		alert("Fout in ajax_SetChildrenState: " + e.description);
	}	
}
/*
function ajax_SetWindowState(id,enabled) {

	try {	
		var en = (enabled) ? "" : "disbaled";
		var window = document.getElementById("form_container_" + id);
		ajax_SetChildrenState(window,en);
		
	}catch(e) {
		alert("Fout in ajax_SetWindowState: " + e.description);
	}	
}
*/
					 
function ajax_SetWindowState(id,enabled) {
	
	try {	
		var en = (enabled) ? "" : "disbaled";
		var window = document.getElementById("form_container_" + id);
		if (window != null && window.all != null) {

			for(var x = 0;x < window.all.length;++x) {
				window.all[x].disabled = en;
			}
		}
	}catch(e) {
		alert("Fout in ajax_SetWindowState: " + e.description);
	}	
}

function ajax_ShowWarningMessage(caption,title, message,closeButton) {
	ajax_ShowMessage(caption,title, message,"/media/img/warning-256x256.png",closeButton);
}

function ajax_ShowMessage(caption,title, message,icon,closeButton) {
	
	try {	 
		
		ajax_SetWindowState(ajax_TopLevelWindowID,false);
		
		var form_container = ajax_CreateTopLevelContainer();
		if (form_container != null) {		
			
			ajax_DefineTranslucent(true);
			
			
			if (closeButton == null || closeButton == undefined || closeButton == true) {
				ajax_DestroyChainOnClose = false;
			} else {
				ajax_DestroyChainOnClose = -1;
			}
			ajax_TopLevelWindowCaption 	  	 = caption;
			ajax_CaptionIconURL 			 = "";//"(icon	== undefined || icon == null) ? "" : icon;
			
			ajax_TopLevelWindowsPositionLeft = AJAX_UNDEFINEDLOCATION;
			ajax_TopLevelWindowsPositionTop  = AJAX_UNDEFINEDLOCATION;
			ajax_TopLevelWindowsSizeWidth    = AJAX_UNDEFINEDSIZE;
			ajax_TopLevelWindowsSizeHeight   = AJAX_UNDEFINEDSIZE;
			if (icon == null || icon == undefined) {
				icon = "";
			} else {
				icon = "<img width=60px src='" + icon + "'>";
			}	
			var htmlCode = "<div style='margin-left:20px;margin-right:20px; width:400px;height:200px;background-color:#ffffff'><br/><br/>" + 
							  "<table style='background-color:#ffffff;width:100%'><tr>" + 
							  	"<td width='80px'>" + icon + "</td>" + 
						      	"<td width='300px' align='left'><p vertical-align='center' style='font-size:18px;color:#a00000'><b>" + title + "</b></p></td>" + 
							  "</tr></table>" + 
						      "<p align='center' style='background-color:#ffffff;width:100%'>" + message + "</p>" + 
							   "<br/>" + 
							   "<div align='center' style='width:100%;'>" + 
							      "<a href='#' onclick='ajax_DestroyCurrentWindow()' class='link'>OK!</a>" + 
							   "</div>" + 
							   "<br/>" + 
						   "</div>";
			ajax_SetInnerHTML(form_container, htmlCode);
		}	
		
	} catch(e) { 
		alert("Fout in ajax_ShowMessage: " + e.description);
	}
}

function ajax_PostStateChangeHandler() {
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
	
		if (xmlHttp.status == 200) {
	
			try {	 
				
				ajax_SetWindowState(ajax_TopLevelWindowID,false);
				ajax_SetInnerHTML(ajax_CreateTopLevelContainer(), xmlHttp.responseText);
				
			} catch(e) { 
				alert(e.description);
			}
				
		} else {
			 alert("HTTP fout code " + xmlHttp.status + " ontvangen"); 
		}	
	}
}
function ajax_PostData(strUrl,params, title,icon,destroyChanOnClose,translucent, left, top, width, height,refreshDelay) {	  

	try {
	
		ajax_TopLevelWindowCaption 		 = (title	== undefined || title == null) ? "" : title;
		ajax_CaptionIconURL 			 = (icon	== undefined || icon  == null) ? "" : icon;

		ajax_InitCloseMode(destroyChanOnClose);
		
		ajax_TopLevelWindowsPositionLeft = (left   == undefined || left   == null) ? AJAX_UNDEFINEDLOCATION : left;
		ajax_TopLevelWindowsPositionTop  = (top    == undefined || top    == null) ? AJAX_UNDEFINEDLOCATION : top;
		ajax_TopLevelWindowsSizeWidth    = (width  == undefined || width  == null) ? AJAX_UNDEFINEDSIZE     : width;
		ajax_TopLevelWindowsSizeHeight   = (height == undefined || height == null) ? AJAX_UNDEFINEDSIZE     : height;
		
		ajax_SetAutoRefresh(refreshDelay);
		
		ajax_DefineTranslucent(translucent);
		
		if (params == undefined || params == null) params = "";
		
		if (xmlHttp != null) {
			
			//xmlHttp = ajax_GetXmlHttpObject();
		
			xmlHttp.open('POST',ajax_ConvertURL(strUrl),true);

			xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			xmlHttp.setRequestHeader("Content-length", params.length);
			xmlHttp.setRequestHeader("Connection", "close");			
			
			xmlHttp.onreadystatechange = ajax_PostStateChangeHandler;
			
			try {
				xmlHttp.send(params);
			} catch(e){
				alert(e.description);
			}
		}
	}catch(e) {
		alert("Fout in ajax_PostData: " + e.description);
	}	
}

function ajax_DestroyCurrentWindow() {
	try {
		if (ajax_TopLevelWindowID == 1) {
			ajax_DestroyAllWindows();
		} else if (ajax_TopLevelWindowID > 1) {
			var form = document.getElementById("form_container_" + ajax_TopLevelWindowID);
			if (form != null) {	
				form.parentNode.removeChild(form);
			}
			ajax_TopLevelWindowID--;
		}  

		ajax_SetWindowState(ajax_TopLevelWindowID,true);

		ajax_CallScriptFunction(window.ajax_CloseEvent);

	}catch(e) {
		alert("Fout in ajax_DestroyCurrentWindow: " + e.description);
	}	
}

function ajax_HasWindows() {
	return (ajax_TopLevelWindowID > 0);
}

function ajax_DestroyAllWindows() {
	
	try {	
		while (ajax_TopLevelWindowID > 0) {
			var form = document.getElementById("form_container_" + ajax_TopLevelWindowID);
			if (form != null) {	
				form.parentNode.removeChild(form);
			}
			ajax_TopLevelWindowID--;
		}
		var overlay = document.getElementById("form_OverlayGray50");
		if (overlay != null) {					 
			overlay.parentNode.removeChild(overlay);
		}
		
		ajax_CallScriptFunction(window.ajax_CloseEvent);
		
	}catch(e) {
		alert("Fout in ajax_DestroyAllWindows: " + e.description);
	}	
}

function ajax_SetLevel(elem, level) {
	if (elem != null) {
		elem.style.opacity = level.toString();		
		elem.style.filter  = "alpha(opacity=" +  (level * 100).toString() + ")";
	}
}

function ajax_Init() {
	xmlHttp = ajax_GetXmlHttpObject();
	if (xmlHttp != null) {
		xmlHttp.onreadystatechange = ajax_GetStateChangeHandler;
		return xmlHttp;
	}	
	return null;
}	

function ajax_GetUserLocation(val,invalid,def) {
	return (val == undefined || val == null || val == invalid) ? def : val;
}

function ajax_CreateTopLevelContainer() {

	var form_container = document.createElement('div');

	//form_container.style.display = "block";
	form_container.style.display = "none";	
	
	form_container.style.visibility = 'hidden';

	
	form_container.id = "form_container_" + (++ajax_TopLevelWindowID);
	
	
	form_container.className = "form_container";			  
	form_container.style.zIndex	= 200 + ajax_TopLevelWindowID;		
	
	form_container.style.position = "absolute";
	form_container.style.backgroundColor="#ffffff";
	
	if (ajax_TopLevelWindowID > 1) {
		form_container.style.left   = ajax_GetUserLocation(ajax_TopLevelWindowsPositionLeft, AJAX_UNDEFINEDLOCATION, "40px");
		form_container.style.top    = ajax_GetUserLocation(ajax_TopLevelWindowsPositionTop,  AJAX_UNDEFINEDLOCATION, "40px");
	} else {
		form_container.style.left   = ajax_GetUserLocation(ajax_TopLevelWindowsPositionLeft, AJAX_UNDEFINEDLOCATION, "26%");
		form_container.style.top    = ajax_GetUserLocation(ajax_TopLevelWindowsPositionTop,  AJAX_UNDEFINEDLOCATION, "12%");
	};
	
	form_container.style.width  = ajax_GetUserLocation(ajax_TopLevelWindowsSizeWidth,    AJAX_UNDEFINEDSIZE,     "100px");
	form_container.style.Height = ajax_GetUserLocation(ajax_TopLevelWindowsSizeHeight,   AJAX_UNDEFINEDSIZE,     "25px");
	form_container.style.padding = "0px";
	form_container.style.margin = "0px";			
	form_container.style.align = "center";	
	
	
	if (ajax_TopLevelWindowID == 1) {
		document.getElementById("page_container").appendChild(form_container);
	} else {
		document.getElementById("form_container_" + (ajax_TopLevelWindowID - 1)).appendChild(form_container);	
	}	
	
	return form_container;
}

function ajax_DefineTranslucent(translucent) {
	if (translucent == undefined ||	translucent == null || translucent == false || translucent == "false") {
		ajax_TranslucentLevel = 1;
	} else if (translucent == true || translucent == "true") {
		ajax_TranslucentLevel = 0.97;
	} else {
		ajax_TranslucentLevel = translucent;
	}
}

function ajax_SetAutoRefresh(refreshDelay) {
	if (refreshDelay != null && refreshDelay != undefined && refreshDelay > -1) {
		ajax_AutoRefreshDelay = refreshDelay;
		ajax_AutoRefrshEnabled = true;
	} else {
		ajax_AutoRefreshDelay = -1;
		ajax_AutoRefrshEnabled = false;
	}
}

function ajax_InitCloseMode(mode) {
	if (mode == undefined || mode == null) {

	} else if (mode == true) {
		ajax_DestroyChainOnClose = true;
	} else if (mode == false) {
		ajax_DestroyChainOnClose = false;
	} else if (mode == -1) {	
		ajax_DestroyChainOnClose = -1;
	}
}

function ajax_CallScriptFunction(func) {
	try {
		if (func != null && (typeof func == "function")) {
			func();
		}
	}catch(e) {
		//alert("Fout in ajax_CallScriptFunction: " + e.description);
	}	
}
var ajax_WindowParams = null;

function ajax_ShowWindow(url,params, title,icon,destroyChanOnClose,translucent, left, top, width, height,refreshDelay) {
	
	try {
		ajax_WindowParams = {
			backupURL 					: url,
			backupTitle 				: title,
			backupParams 				: params,
			backupIcon 					: icon,
			backupDestroyChainOnClose	: destroyChanOnClose,
			backupTransLucent			: translucent,
			backupLeft					: left,
			backupTop					: top,
			backupWidth					: width,
			backupHeight				: height,
			backupRefreshDelay 			: refreshDelay
		}	
		ajax_TopLevelWindowCaption 	  	 = (title	== undefined || title == null) ? "" : title;
		
		ajax_InitCloseMode(destroyChanOnClose);

		ajax_CaptionIconURL 			 = (icon	== undefined || icon == null) ? "" : icon;
		
		ajax_TopLevelWindowsPositionLeft = (left   == undefined || left   == null) ? AJAX_UNDEFINEDLOCATION : left;
		ajax_TopLevelWindowsPositionTop  = (top    == undefined || top    == null) ? AJAX_UNDEFINEDLOCATION : top;
		ajax_TopLevelWindowsSizeWidth    = (width  == undefined || width  == null) ? AJAX_UNDEFINEDSIZE     : width;
		ajax_TopLevelWindowsSizeHeight   = (height == undefined || height == null) ? AJAX_UNDEFINEDSIZE     : height;
		
		ajax_SetAutoRefresh(refreshDelay);
		
		ajax_DefineTranslucent(translucent);

		ajax_CallScriptFunction(window.ajax_ShowEvent);
		
		
		var page_container = document.getElementById("page_container");
		if (page_container == null) {
		 	alert("Your form does not contain a 'page_container' element");
			return;
		} 

		if (ajax_TopLevelWindowID == 0 && document.getElementById("form_OverlayGray50") == null) {
			var form_OverlayGray50           = document.createElement('div');
			form_OverlayGray50.id            = "form_OverlayGray50";
			form_OverlayGray50.className     = "form_OverlayGray50";			  

			form_OverlayGray50.style.zIndex	 = 100;				
			
	    	form_OverlayGray50.style.width   = page_container.offsetWidth + "px" ;
	   	 	form_OverlayGray50.style.height  = "100%"//"page_container.offsetHeight + "px";            
	    	form_OverlayGray50.style.left    = page_container.offsetLeft + "px" ;
	   	 	form_OverlayGray50.style.top     = page_container.offsetTop + "px";            
			form_OverlayGray50.style.visibility = 'visible';	   

			ajax_SetLevel(form_OverlayGray50, 0.5);

			page_container.appendChild(form_OverlayGray50);

		}  

		ajax_SetWindowState(ajax_TopLevelWindowID,false);
		
		ajax_CreateTopLevelContainer();
		
		var body = document.body;
		page_container.style.width = body.offsetWidth;
		page_container.style.height = body.offsetHeight;	
	   	
		if (params == undefined || params == null) params = ""

		var xmlHttp=ajax_Init();
		if (xmlHttp==null) {
			alert ("Your browser does not support AJAX!");
			return;
	 	}				  
	
		if (params.length > 0) url = url + "?" + params;

		xmlHttp.open("GET",ajax_ConvertURL(url),true);
		//Pragma: no-cache
		xmlHttp.setRequestHeader("Pragma", "no-cache");
		xmlHttp.setRequestHeader("Cache-Control", "no-cache");

		xmlHttp.send(null);	

	} catch(e) {
		alert("Fout in ajax_ShowWindow: " + e.description);
	}	
}
