function createRequestObject() {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      } else {
	  	return http_request;
	  }

}



var http = createRequestObject();

function snd(component,task,id) {
	var timestamp = Date.parse(new Date());
    http.open('get', '/get.php?component='+component+'&task='+task+'&id='+id+'&nocache='+timestamp);
	http.send(null);
}

function sndReq(component,task,id) {
	var timestamp = Date.parse(new Date());
    http.open('get', '/get.php?component='+component+'&task='+task+'&id='+id+'&nocache='+timestamp);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function sndReqStartContentEditor(component,task,id) {
	var timestamp = Date.parse(new Date());
    http.open('get', '/get.php?component='+component+'&task='+task+'&id='+id+'&nocache='+timestamp);
    http.onreadystatechange = handleResponseContentEditor;
    http.send(null);
}

function sndReqMultipleID(component,task,id,id2) {
	var timestamp = Date.parse(new Date());
    http.open('get', '/get.php?component='+component+'&task='+task+'&id='+id+'&id2='+id2+'&nocache='+timestamp);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function sndData(component,task,id,postdata) {
	var timestamp = Date.parse(new Date());
    http.open('post', '/get.php?component='+component+'&task='+task+'&id='+id+'&nocache='+timestamp);
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http_request.setRequestHeader("Content-length", postdata.length);
    http_request.setRequestHeader("Connection", "close");
	http.send(postdata);
}

function sndDataReq(component,task,id,postdata) {
	var timestamp = Date.parse(new Date());
    http.open('post', '/get.php?component='+component+'&task='+task+'&id='+id+'&nocache='+timestamp);
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http.onreadystatechange = handleResponse;
	http.send(postdata);
}

function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
        var update2 = new Array();

        if(response.indexOf('|') != -1) {
	        update = response.split('|');
	   		if(update[1].indexOf('~') != -1) { // nog een functie starten nadat de dom gerefreshed is!
				//alert(update[1]);
	            update2 = update[1].split('~');
				if (document.getElementById(update[0])) {
	            	document.getElementById(update[0]).innerHTML = update2[1];
					proceedWith(update2[0]);
				} else {
					document.getElementById('content').innerHTML = response;
				}
			} else {
				//alert(update[0]);
				if (document.getElementById(update[0])) {
	           		document.getElementById(update[0]).innerHTML = update[1];
				} else {
					document.getElementById('content').innerHTML = response;
				}
			}
        } else {
			document.getElementById('content').innerHTML = response;
		}
    }
}

function handleResponseContentEditor() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1)) {
            update = response.split('|');
            document.getElementById(update[0]).innerHTML = update[1];
			StartContenteditor();
        }
    }
}



