
	function AjaxRequest(url, responseFunctionName, json){
		
		var ajax_obj = create_XMLHttpRequest();
		ajax_obj.open("GET", url, true);
		ajax_obj.setRequestHeader("content-type", "application/x-www-form-urlencoded");
		ajax_obj.setRequestHeader("connection", "close");
		ajax_obj.onreadystatechange = function() {
			if (ajax_obj.readyState === readyState.COMPLETED) {
				/* Ajax RESPONSE */
				if(statusText[ajax_obj.status] === "OK"){
					
					if(!json){
						var response = ajax_obj.responseText;
						var call_to_function = responseFunctionName + "(\""+ response + "\");";
						eval(call_to_function);
					} else {
						var response_raw = ajax_obj.responseText;
						var response = response_raw.replace(/'/g,"\\'");
	     				var call_to_function = responseFunctionName + "('"+ response +"')" ;
						eval(call_to_function);
					}
					
					
					
				} else {
					/* load error */
					var response =  'There was a problem with the request. <br />' + statusText[ajax_obj.status];
				}
			}
		}
			
		/* execute request ( and send variables) */
		ajax_obj.send(null);
	}

	function create_XMLHttpRequest(url) {
		var XHR = null;
		// get userAgent
		var browserUser = navigator.userAgent.toLowerCase();
		// standard browser with native support
		if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object"){
			XHR = new XMLHttpRequest();
		//  Internet Explorer
		} else if (window.ActiveXObject && browserUser.indexOf("msie 4") < 0) {
		    if (browserUser.indexOf("msie 5") != -1) {
		        XHR = new ActiveXObject("Microsoft.XMLHTTP");
		    } else {
		        XHR = new ActiveXObject("Msxml2.XMLHTTP");
		    }
		}
		return XHR;
	}

	// state verification
		var readyState = {
			INACTIVE:	0,
			INITIALIZED:	1,
			REQUEST:	2,
			RESPONSE:	3,
			COMPLETED:	4
		};

	// server output codes
		var statusText = new Array();
		statusText[100] = "Continue";
		statusText[101] = "Switching Protocols";
		statusText[200] = "OK";
		statusText[201] = "Created";
		statusText[202] = "Accepted";
		statusText[203] = "Non-Authoritative Information";
		statusText[204] = "No Content";
		statusText[205] = "Reset Content";
		statusText[206] = "Partial Content";
		statusText[300] = "Multiple Choices";
		statusText[301] = "Moved Permanently";
		statusText[302] = "Found";
		statusText[303] = "See Other";
		statusText[304] = "Not Modified";
		statusText[305] = "Use Proxy";
		statusText[306] = "(unused, but reserved)";
		statusText[307] = "Temporary Redirect";
		statusText[400] = "Bad Request";
		statusText[401] = "Unauthorized";
		statusText[402] = "Payment Required";
		statusText[403] = "Forbidden";
		statusText[404] = "Not Found";
		statusText[405] = "Method Not Allowed";
		statusText[406] = "Not Acceptable";
		statusText[407] = "Proxy Authentication Required";
		statusText[408] = "Request Timeout";
		statusText[409] = "Conflict";
		statusText[410] = "Gone";
		statusText[411] = "Length Required";
		statusText[412] = "Precondition Failed";
		statusText[413] = "Request Entity Too Large";
		statusText[414] = "Request-URI Too Long";
		statusText[415] = "Unsupported Media Type";
		statusText[416] = "Requested Range Not Satisfiable";
		statusText[417] = "Expectation Failed";
		statusText[500] = "Internal Server Error";
		statusText[501] = "Not Implemented";
		statusText[502] = "Bad Gateway";
		statusText[503] = "Service Unavailable";
		statusText[504] = "Gateway Timeout";
		statusText[505] = "HTTP Version Not Supported";
		statusText[509] = "Bandwidth Limit Exceeded";
		