function AjaxRequest (path) {

	var postParams   = null;
	var getParams    = null;
	var send_method  = null;
	var callBack     = null;
	var http_request = null;
	var config       = {};
	var thisObj      = this;	
				
	config['path'] = path;
				
	this.setSendMethod = function (sendmethod) {
		if(sendmethod.match(/^POST|GET^/i)) 
			send_method = sendmethod;
		else 
			send_method = 'GET';
			
		config['send_method'] = send_method;
	}

	this.addPostParams = function (param,key) {
		if(!postParams) 
			postParams = key+"="+param;
		else 
			postParams += "&"+key+"="+param;
			
		config['post_params'] = postParams;
	}
	
    this.deletePostParams = function () {
        postParams = null;
    }
    
	this.addGetParams = function (param,key) {
		if(!getParams) 
			getParams = "?"+key+"="+param;
		else 
			getParams += "&"+key+"="+param;
			
		config['get_params']   = getParams;
	}
	
	this.setCallBack = function (callBackFunc) {
		config['callback'] = callBackFunc;
	}
	
	this.initLoad = function () {
	
		if(window.XMLHttpRequest) 	
			http_request = new XMLHttpRequest();
		else 
			http_request = new ActiveXObject("Microsoft.XMLHTTP");
		
		http_request.open(config.send_method,config.path+((config.getParams)?config.getParams:''),true);

		if(config['send_method'] == 'POST') 
			http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			
        http_request.send(config['post_params']);
		 
		http_request.onreadystatechange = function () {					
			if(http_request.readyState == 4) {
				if(http_request.status == '200') {
					requestVal = http_request.responseText;                   

					if(config['callback']) {
						config['callback'].call(config['callback'],requestVal);
					}
				}
			}
		}
	}
	
	/**
	  * GET METHODEN 
	  */	  
	this.getConfigValues = function () {
		return config;
	}
}