/*
	Ajax class created by Sebastiaan Ordelman @ 2007/10/03
	
	use:
	---------------------------------------------------------
	var ajax = new Ajax();
	ajax.add('name', 'value'); //post name & value bijv: ajax.add('code', document.checkprize.code.value);
	ajax.post('postfile_url', 'function_to_be_called');
	
		function function_to_be_called(return_value)
	{
		//return value wordt gevuld met de response van de post.
	}
	---------------------------------------------------------
	
*/
function Ajax()
{
	this.names = new Array();
	this.param = new Array();
	
}
	//empty array, hoeft niet aangeroepen te worden als telkens een nieuw object wordt aangemaakt -> overschreven
	Ajax.prototype.empty = function()
	{
		this.names.length = 0;
		this.param.length = 0;
	}
	/*
		add
		array vullen
		
		@input i_name (name), i_param (value)
	*/
	Ajax.prototype.add = function(i_name, i_param)
	{
		this.names.push(i_name);
		this.param.push(i_param);
	}
	/*
		post
		@input: post_url, return_function
		@return: retrun_function(return_value)
		
		conditions: 
		names[i] = nameA 
		param[i] = valueA
	*/
	Ajax.prototype.post = function(post_url, return_function)
	{
		var ajaxRequest;
		try{
			ajaxRequest = new XMLHttpRequest();
		} catch (e){
			try{
				ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try{
					ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e){
					return false;
				}
			}
		}
		ajaxRequest.onreadystatechange = function(){
			if(ajaxRequest.readyState == 4){
				var ret = ajaxRequest.responseText;
				eval(return_function + "(ret)");
			}
		}
		var parameters = "";
		for(var i = 0; i < this.param.length; i++)
		{
			parameters += "&"+this.names[i]+"="+encodeURI(this.param[i]);	
			//parameters += "&"+this.names[i]+"="+escape(this.param[i]);	
			//parameters += "&"+this.names[i]+"="+urlencode(this.param[i]);	
		}
		ajaxRequest.open('POST', post_url, true);
		ajaxRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
		ajaxRequest.send(parameters); 
	}
