function makeHttpRequest(url, parameters, callback_function, callback_params, return_xml, method) {
	var http_request = false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
       	if (http_request.overrideMimeType) {
        	http_request.overrideMimeType('text/xml');
       	}
   	} 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('Unfortunatelly you browser doesn\'t support this feature.');
       	return false;
   	}

	showAjaxProgress();
   
	http_request.onreadystatechange = function() {
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {

				if (return_xml) {
					eval(callback_function + '(http_request.responseXML, callback_params)');
               	} else {
					eval(callback_function + '(http_request.responseText, callback_params)');
               	}

				setTimeout("hideAjaxProgress()", 300);

			} else {
				alert('There was a problem with the request.(Code: ' + http_request.status + ')');
			}
		}
	}

	if (method == 'POST') {
   		http_request.open('POST', url, true);
   		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   		http_request.setRequestHeader("Content-length", url.length);
   		http_request.setRequestHeader("Connection", "close");
   		http_request.send(parameters);
	} else {
		http_request.open('GET', url, true);
		http_request.send(null);
	}

}

function parseXML(xml) {
	try {//Internet Explorer
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	  	xmlDoc.async = "false";
	  	xmlDoc.loadXML(xml);
	} catch(e) {
		try { //Firefox, Mozilla, Opera, etc.
	  		parser = new DOMParser();
	  		xmlDoc = parser.parseFromString(xml, "text/xml");
	  	} catch(e){
			alert('Error: ' + e.message);
	  		return;
		}
	}
	return xmlDoc;
}


function adjustUserSetting(name, value) {
    var request = 'command=adjustusersetting&name=' + name + '&value=' + value;
    makeHttpRequest('dashboard.php', request, '', '', '', 'POST');
	return true;
}

function showAjaxProgress() {
	document.getElementById('loading').style.display = 'inline';
}

function hideAjaxProgress() {
	document.getElementById('loading').style.display = 'none';
}