// JavaScript Document




var objecten = new Array;
function createXMLHttpRequest(targetDiv){
	if(window.ActiveXObject){
		objecten[targetDiv] = new ActiveXObject("Microsoft.XMLHTTP"); 		
	}else if(window.XMLHttpRequest){
		objecten[targetDiv] = new XMLHttpRequest();
	}
}

function startRequest(urlAjax,targetDiv,vararray,extrafunction,post){
	createXMLHttpRequest(targetDiv);
	if(extrafunction == false){
		document.getElementById(targetDiv).innerHTML = 'Loading..';
	}
	objecten[targetDiv].onreadystatechange = function(){
		dosomething(targetDiv,extrafunction);
	}
	var poststr = "";
	if(vararray){
		poststr = createpoststring(vararray);
	}
	var datum 	= new Date();
	var ts 		= datum.getTime();	
	if(post == true){
		objecten[targetDiv].open("POST", urlAjax, true);
		objecten[targetDiv].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		objecten[targetDiv].setRequestHeader("Content-length", poststr.length);
//		objecten[targetDiv].setRequestHeader("Connection", "close");
		objecten[targetDiv].send(poststr);
	}else{
		if(urlAjax.indexOf('?') > 0){
			objecten[targetDiv].open("GET", urlAjax + "&ts=" + ts + "&" + poststr, true);	
		}else{
			objecten[targetDiv].open("GET", urlAjax + "?ts=" + ts + "&" + poststr, true);
		}
		objecten[targetDiv].send(null);
	}	
}

function createpoststring(vararray){
	var poststr = "";
	for(i=0;i<vararray.length;i++){
		if(i == 0){
			poststr += vararray[i][0] + "=" + encodeURIComponent(vararray[i][1]);			
		}else{
			poststr += "&" + vararray[i][0] + "=" + encodeURIComponent(vararray[i][1]);
		}
	}
	return poststr;
}

function dom_getElements(node, elt) {
    var list = node.getElementsByTagName(elt);
    return (list.length) ? list : node.getElementsByTagNameNS("*", elt); 
}

function executeJavaScript(naam){
	var scriptarray = dom_getElements(document.getElementById(naam),"script"); 
	for(var ii=0;ii<scriptarray.length;ii++){ 
		eval(scriptarray[ii].innerHTML);   
	}	
}
				
function dosomething(targetDiv,extrafunction){
	if(objecten[targetDiv].readyState == 4){
		if(objecten[targetDiv].status == 200){			
			var xmlDoc = ((objecten[targetDiv].responseText));
			if(targetDiv){
				document.getElementById(targetDiv).innerHTML = '<table></table>'+xmlDoc; // EXTRA DING ANDERS JAVASCRIPT NIET UITGEOVERD, GEEN IDEE WAAROM
				setTimeout("executeJavaScript('" + targetDiv + "')",200); 			
			}
			if(extrafunction){
				eval(extrafunction);
			}
		}else{
			document.getElementById(targetDiv).innerHTML = 'Error '+ objecten[targetDiv].status  + '..';	
		}
	}
}

function formElementsToArray(form){
	sendlist = Array();

	for(i=0;i<form.elements.length;i++){
			
		if(form.elements[i].id == 'fckeditor_' + form.elements[i].name){
			oEditor 		= FCKeditorAPI.GetInstance(form.elements[i].id);
			var fckvalue 	= oEditor.GetXHTML();	
			if(fckvalue != null){
				sendlist[sendlist.length] = Array(form.elements[i].name,fckvalue);
			}
		}else if(form.elements[i].type == 'radio'){
			if(form.elements[i].checked == true){
				sendlist[sendlist.length] = Array(form.elements[i].name,form.elements[i].value);							
			}
		}else if(form.elements[i].type == 'select-one'){
			sendlist[sendlist.length] = Array(form.elements[i].name,form.elements[i].value);							
		}else if(form.elements[i].type == 'checkbox'){
			if(form.elements[i].checked == true){
				sendlist[sendlist.length] = Array(form.elements[i].name,form.elements[i].value);							
			}else{
				sendlist[sendlist.length] = Array(form.elements[i].name,0);											
			}
		}else{
			sendlist[sendlist.length] = Array(form.elements[i].name,form.elements[i].value);			
		}
	}
	return(sendlist);
}

function submitAjax(form,doafter){
	if(!doafter){
		doafter = false;	
	}
	sendlist = formElementsToArray(form);
	if(form.method.toLowerCase() == 'post'){
		var postvars = true;
	}else{
		var postvars = false;	
	}

	document.getElementById(form.target).style.display='block';	
	startRequest(form.action,form.target,sendlist,doafter,postvars);
}