/**
 * Examples:
 * - http://www.webreference.com/programming/ajax_tech/2.html
 * - 
 */
 // required: id="input" id="output"

function getHTTPObject() {
	var xmlhttp = false;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	  try {
	    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (e2) {
	    xmlHttp = false;
	  }
	}
	@end @*/
	
	// If the user is using Mozilla/Firefox/Safari/etc
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	  	xmlhttp = new XMLHttpRequest();
      	//Set the mime type
    	xmlhttp.overrideMimeType('text/xml');
	}
	return xmlhttp;
}
var xmlhttp = getHTTPObject();
var outputid = "output";

function doRequest(url,newoutputid) {	
        if (newoutputid.length>0)
                setOutputid(newoutputid);
        //alert(document.getElementById('input').value.length);
        //Open the URL above "asynchronously" (that's what the "true" is for) using the GET method
	xmlhttp.open('GET', url, true);
	xmlhttp.onreadystatechange = proccessResult;
	xmlhttp.send(null);
}
/**
 * xmlhttp.readyState:
 * 0 = Nog niet ge?nitialiseerd en verbonden
 * 1 = Bezig met laden
 * 2 = Geladen
 * 3 = Interactief
 * 4 = Volledig geladen
 */

function setOutputid(newOutputid) {
        //check if new exists
        if (newOutputid!="") {
	        outputid = newOutputid;
        }
}

function proccessResult() {        
        if (document.getElementById(outputid)==null){
                return;
        }
		if(xmlhttp.readyState == 4) {
                if (xmlhttp.status == 200) {
		        document.getElementById(outputid).innerHTML = xmlhttp.responseText;
                } else if (xmlhttp.status == 404) {
                        document.getElementById(outputid).innerHTML = "url bestaat niet";
				} else {
                        document.getElementById(outputid).innerHTML = "error "+xmlhttp.status;
				}
        }
        //debug("ready "+xmlhttp.readyState+" | status "+xmlhttp.status);
}

function debug(debugValue){
        if (document.getElementById('debug')!=null){
                debugData = document.getElementById('debug').innerHTML;
                document.getElementById('debug').innerHTML = trace(debugValue+"<br>"+debugData);
        }
}

function trace(newtext) {
	var aDays = new Array('zo', 'ma','di','wo','do','vr','za');
	var aMonth = new Array('jan','feb','mrt','apr','mei','jun','jul','aug','sep','okt','nov','dec');
	var dateNow = new Date();
	var dagNaam = aDays[dateNow.getDay()];
	var dag = dateNow.getDate();
	var maandNaam = aMonth[dateNow.getMonth()];
	var uur = dateNow.getHours();
	if (uur < 10){
	      uur ="0"+uur;
   	}
	var minuten = dateNow.getMinutes();
   	if (minuten < 10){
	        minuten ="0"+minuten;
   	}
	var seconden = dateNow.getSeconds();
   	if (seconden < 10){
	        seconden = "0"+seconden;
   	}
   	var outputdate = "["+dagNaam+" "+dag+" "+maandNaam+" @ "+uur+":"+minuten+":"+seconden+"]";
	return outputdate+" "+newtext;
}

function URLencode(sStr) {
    return escape(sStr).
             replace(/\+/g, '%2B').
                replace(/\"/g,'%22').
                   replace(/\'/g, '%27').
                     replace(/\//g,'%2F');
}