function doAjaxRequest(parToonHideDiv,parFile,parTargetDiv,parPostFormName,parFilterOnly)
{
   //var d = new Date();
   //var startTijd = d.getTime(); 
   if(parToonHideDiv)
      ShowLoaderPopUp2();
   if(parFile)
   {
       xmlReq = null;
        xmlReq = initXmlRequest(xmlReq);
        //listener op xml request object
        xmlReq.onreadystatechange = function() {

            if (xmlReq.readyState == 4) {
                if (xmlReq.responseText != "") {
                    var xml = xmlReq.responseXML.childNodes[0];
                    if (xml.childNodes[0].firstChild.nodeValue == "OK") {

                        for (i = 1; i < xml.childNodes.length; i++) {
                            //alert(xml.childNodes[i].nodeName+""+xml.childNodes[i].firstChild.nodeValue.toString())
                            switch (xml.childNodes[i].nodeName) {
                                case "XmlString":
                                    if (parTargetDiv != null) {
                                        if (document.getElementById(parTargetDiv) != null) {
                                            document.getElementById(parTargetDiv).innerHTML = "";
                                            document.getElementById(parTargetDiv).innerHTML = xml.childNodes[1].firstChild.nodeValue;
                                            setAllResize();
                                        }
                                    }
                                    break;
                                case "doJsFunctie":
                                    parToonHideDiv = false;
                                    eval(xml.childNodes[i].firstChild.nodeValue);
                                    break;
                                default:
                                    break;
                            }

                        }
                    }
                }
                if (parToonHideDiv)
                    closePopUp2();
                //  var d2 = new Date();
                // var eindTijd = d2.getTime();
                //alert(eindTijd-startTijd);

            }
        }
      // Making and sending request
      
      xmlReq.open ('POST', parFile , true); 
      xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
      
      if(parPostFormName)
      {
         var parameters =  createAjaxPostVarStringFromFormName(parPostFormName);
         xmlReq.setRequestHeader("Content-length", parameters.length);
	     xmlReq.send (parameters); 
	  }
	  else
	  {
	    xmlReq.send(null); 
	  }
   }

}
function initXmlRequest(parXmlRequest) {
    if (window.XMLHttpRequest) {
        parXmlRequest = new XMLHttpRequest();
        if (parXmlRequest.overrideMimeType) {
            parXmlRequest.overrideMimeType('text/xml');
        }
    }
    else {
        if (window.ActiveXObject) {
            try {
                parXmlRequest = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) {
                try {
                    parXmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e) { }
            }
        }
    }
    if (parXmlRequest == null) return; // Failed to create the request

    return parXmlRequest;
}

function ShowLoaderPopUp2(parExtraMelding)
{
    arrPageSize = getPageSize();
    hideHtmlObjects()
	if(!overlay);
	    var overlay = document.getElementById("overlay");
	overlay.style.height = arrPageSize[1]+600+"px";  //+600 pixels is fix voor ie7
	
	var overlayContent = document.getElementById("overlayContent");
	if(parExtraMelding!=null)
	{
	    var overlayExtraMelding = document.getElementById("melding");
	    overlayExtraMelding.innerHTML = parExtraMelding;
	}
	
	overlayContent.style.top = (arrPageSize[3]/2+arrPageSize[4]-150) + "px";
	overlay.style.display = "block";
} 

function closePopUp() {
	var overlay = document.getElementById("divOverlay");
	if (overlay)
		overlay.style.display = "none";
}

function closePopUp2()
{
    //if(!overlay){
	    var overlay = document.getElementById("overlay");
	//}
    var overlayExtraMelding = document.getElementById("melding");
    overlayExtraMelding.innerHTML = "";
    overlay.style.display = "none";
    
    showHtmlObjects()
   
}
function ShowDynamicPopUp()
{
    arrPageSize = getPageSize();
    hideHtmlObjects()
    if(!overlayDynamic)
	    var overlayDynamic = document.getElementById("overlayDynamic");
	
	overlayDynamic.style.height = arrPageSize[1]+600+"px";  //+600 pixels is fix voor ie7
	
	var overlayContentDynamic = document.getElementById("overlayContentDynamic");
	overlayContentDynamic.style.top = (arrPageSize[3]/2+arrPageSize[4]-150) + "px";
	
	overlayDynamic.style.display = "block";
	
	
}
function closeDynamicPopUp()
{
    if(!overlayDynamic){
	    var overlayDynamic = document.getElementById("overlayDynamic");
	}
	 if(!overlayContentDynamic){
	    var overlayContentDynamic = document.getElementById("overlayContentDynamic");
	}
	overlayContentDynamic.innerHTML = "";
    overlayDynamic.style.display = "none";
    showHtmlObjects();
}
function hideHtmlObjects()
{

    myObjects = document.getElementsByTagName("embed");
 	for (ii = 0; ii < myObjects.length; ii++){
		myObjects[ii].style.visibility = "hidden";
	}
    mySelects = document.getElementsByTagName("select");
 	for (jj = 0; jj < mySelects.length; jj++){
		mySelects[jj].style.visibility = "hidden";
	}
}
function showHtmlObjects()
{

    myObjects = document.getElementsByTagName("embed");
    for (ii = 0; ii < myObjects.length; ii++)
	{
		myObjects[ii].style.visibility = "visible";
	}
	
    mySelects = document.getElementsByTagName("select");
    for (ii = 0; ii < mySelects.length; ii++){
		mySelects[ii].style.visibility = "visible";
	}
}

function createAjaxPostVarStringFromFormName(parPostFormName)
{
    if(parPostFormName!=null){
        var parameters = "";
        for(var i = 0; i < document.getElementById(parPostFormName).elements.length; i++ )
        {
            switch(document.getElementById(parPostFormName).elements[i].type)
            {
                case 'checkbox':
                    parameters += document.getElementById(parPostFormName).elements[i].id + "=";    
                    parameters += (document.getElementById(parPostFormName).elements[i].checked)?"1":"0";
                    parameters += "&";
                    break;
                case 'radio':
                    if(document.getElementById(parPostFormName).elements[i].checked)
                        parameters += document.getElementById(parPostFormName).elements[i].id + "=" + document.getElementById(parPostFormName).elements[i].value+"&";
                    break;    
                default:
                    parameters += document.getElementById(parPostFormName).elements[i].id + "=" + document.getElementById(parPostFormName).elements[i].value+"&";
                    break;
            }
        }
        return encodeURI(parameters);
    }
}

