/***********************************************
* Dynamic Ajax Content- � Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var loadedobjects = new Array();
var b_abortAJAX = false;

function cancelAllAJAX(){
	if (loadedobjects.length){
		for (loadNR in loadedobjects){
			if (loadedobjects[loadNR][1] != null && loadedobjects[loadNR][1].readyState!=4) {
				loadedobjects[loadNR][1].abort();
				loadedobjects[loadNR][1] = null;
			}
		}
	}
}

function abortAJAX(){
	b_abortAJAX = true;
	 cancelAllAJAX();
}

function findAJAXPage(containerid){

	var pageNR = findAJAXPageNr(containerid);
	if(pageNR!=null)	{
		return loadedobjects[pageNR][1];
	}

	return null;
}

function findAJAXPageNr(containerid){
	for(pageNR in loadedobjects){
		if (loadedobjects[pageNR][0]==containerid){
			return pageNR;
		}
	}
	return null;
}

function buildPage(containerid, onloadFunction){
	var page_request = false;
	var page_request_nr = false;
	if (b_abortAJAX) return null;

	page_request_nr = findAJAXPageNr(containerid);
	
	if (page_request_nr) {
		page_request = loadedobjects[page_request_nr][1];
	}
	if (page_request ==null || !page_request){
		if (window.XMLHttpRequest){ // if Mozilla, Safari etc
			page_request = new XMLHttpRequest();
		}else if (window.ActiveXObject){ // if IE
			try {
				page_request = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e){
				try{
					page_request = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e){
					alert ("Kan de pagina niet samenstellen, uw browser heeft onvoldoende mogelijkheden.");
				}
			}

		}
		else {
			alert ("Kan de pagina niet samenstellen, uw browser heeft onvoldoende mogelijkheden.");
			return null;
		}
		if (page_request_nr){
			loadedobjects[page_request_nr][1] = page_request;
		}else{
			loadedobjects.push(new Array(containerid,page_request));
		}
		
		page_request.onreadystatechange=
					function(){
						loadpage(containerid, onloadFunction);
					};	


	}
	
	return page_request;
}

function trim(value) {
  value = value.replace('/^\s+/','');
  value = value.replace('/\s+$/','');
  return value;
}

function ajaxpage(url, containerid, onloadFunction, loadingimage){
	if (b_abortAJAX) return null;
	docje = document.getElementById(containerid);
	if (docje!=null) {
		if(loadingimage && loadingimage!="") {
			docje.innerHTML="<div id='loader'><img src='" + loadingimage + "'></div>";
		}

		var page_request = false;
		page_request = buildPage(containerid, onloadFunction);

		if (page_request){
			if (page_request.readyState==0 || page_request.readyState==4) {
//				alert ("Page ready request container: "+containerid);
				 page_request.open('GET', url, true);
				 page_request.send(null);
			}else{
				alert('Page not ready');
			}
		}else{
			alert('no page');
		}
	}else{
		alert('no doc');
	}
}

function loadpage(containerid, onloadFunction){
	
	if (b_abortAJAX) return null;
	try{
		var pageNR = findAJAXPageNr(containerid);
		var page_request = loadedobjects[pageNR][1];
		if (page_request.readyState == 4 && (page_request.status==200)){ // || window.location.href.indexOf("http")==-1)){
//			alert ("Page ready get container: "+containerid);
			docje = document.getElementById(containerid);
			if (docje!=null) {
				docje.innerHTML= page_request.responseText;
				if (onloadFunction && trim(onloadFunction)!=""){
					eval(onloadFunction);
				}
			}else{
				alert("Contrainer: "+containerid+" not found.")
			}
			loadedobjects[pageNR][1] = null;
			page_request = null;
		}
		
	}catch(e){
//			alert('Error on page.');
	}

}

function loadobjs(){
	if (!document.getElementById)
		return
	for (i=0; i<arguments.length; i++){
		var file=arguments[i]
		var fileref=""
		if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
			if (file.indexOf(".js")!=-1){ //If object is a js file
				fileref=document.createElement('script')
				fileref.setAttribute("type","text/javascript");
				fileref.setAttribute("src", file);
			}
			else if (file.indexOf(".css")!=-1){ //If object is a css file
				fileref=document.createElement("link")
				fileref.setAttribute("rel", "stylesheet");
				fileref.setAttribute("type", "text/css");
				fileref.setAttribute("href", file);
			}
		}
		if (fileref!=""){
			document.getElementsByTagName("head").item(0).appendChild(fileref)
			loadedobjects+=file+" " //Remember this object as being already added to page
		}
	}
}

// toegevoegd door Rini om formulier te kunnen versturen
function makePOSTRequest(url, parameters, containerid) {
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		}
		catch (e){
			try{
			page_request = new ActiveXObject("Microsoft.XMLHTTP")
			}
		catch (e){}
		}
	}
	else
	return false

  page_request.onreadystatechange = function(){
		loadpage(containerid)
	};
  page_request.open('POST', url, true);
  page_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  page_request.setRequestHeader("Content-length", parameters.length);
  page_request.setRequestHeader("Connection", "close");
  page_request.send(parameters);
}

function get(action, obj, containerid) {
//	var poststr = "mytextarea1=" + encodeURI( document.getElementById("mytextarea1").value ) +
//				 "&mytextarea2=" + encodeURI( document.getElementById("mytextarea2").value );

	var poststr = "";
	var inputfields = document.getElementsByTagName("input");

	for(var i=0; i<inputfields.length; i++) {
		inputfield = inputfields[i];

		if(inputfield.type != "button" ){

			if(poststr != "") poststr += "&";
			poststr += inputfield.id + "=" + encodeURI(inputfield.value);
		}
	}
//	alert(poststr);
	makePOSTRequest(action, poststr, containerid);
}