var request;

try {
	request = new XMLHttpRequest();
} catch (trymicrosoft) {
	try {
		request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {
		try {
			request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (failed) {
			request = false;
		}
	}
}

if (!request) alert("Error initializing XMLHttpRequest!");

function refreshChat() {
	// Блокируем кпонку "Отправить"
	document.getElementById('send').disabled = true;
	document.getElementById('send').value = 'Подождите';
	
	/***** GET method *****/
	
	/*
	var name = document.getElementById('name').value;
	var message = document.getElementById('message').value;
	
	1.	Функция escape() - переводит кириллические символы в Unicode,
		при этом получаются символы вида %xx, либо %uxxxx,
		где xxxx - код символа именно в Unicode НЕ в UTF-8.
		Поскольку реализация этой функции слишком зависит от броузера,
		использовать ее не рекомендуется.
	
	2.	Функция encodeURI() - переводит кириллические символы в UTF-8,
		латинские символы и символы , / ? : @ & = + $ # остаются без изменений.
	
	3.	Функция encodeURIComponent() - переводит кириллические символы в UTF-8,
		латинские символы и символы !*()’ остаются без изменений. Именно эта функция, кстати,
		одобрена W3C и используется в библиотеках jQuery и prototype.js для подготовки AJAX запросов.
	
	var url = '/minichat/index.php?name=' + encodeURIComponent(name) + '&message=' + encodeURIComponent(message);
	
	request.open('GET', url, true);
	request.onreadystatechange = updatePage;
	request.send(null);
	*/
	
	/***** POST method *****/
	
	var name = document.getElementById('name').value;
	var message = document.getElementById('message').value;
	var url = '/minichat/index.php';
	var params = 'name=' + name + '&message=' + message;
	
	request.open('POST', url, true);
	
	request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	request.setRequestHeader('Content-length', params.length);
	request.setRequestHeader('Connection', 'close');
	
	request.onreadystatechange = updatePage;
	request.send(params);
}

function updatePage() {
	if (request.readyState == 4) {
		if (request.status == 200) {
			document.getElementById('minichat').innerHTML = request.responseText;
			document.getElementById('send').disabled = false;
			document.getElementById('send').value = 'Отправить';
			document.getElementById('message').value = '';
			document.getElementById('message').focus();
		}
	}
}

function refreshDiv() {
	var url = '/minichat/index.php?refresh=true';
	
	request.open('GET', url, true);
	request.onreadystatechange = updatePage;
	request.send(null);
}
