
function createRequestObject() {
	var xmlhttp;

	try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.6.0"); }
		catch(e) {}
	try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
		catch(e) {}
	try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch(e) {}
	try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
		catch(e) {}
	//throw new Error("This browser does not support XMLHttpRequest.");

	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {xmlhttp = new XMLHttpRequest();}
	return xmlhttp;
	}



function vote(id, val) {
	//создать объект для запроса к серверу
	var req = createRequestObject();

	//в элементе будем отображать ход выполнения
	var statusElem = document.getElementById('rating'+id);

	//запомнить текущий рейтинг
	var rating = parseInt(statusElem.innerHTML);
	var str = statusElem.innerHTML;

	//активируется при получении ответа сервера
	req.onreadystatechange = function() {

		//если запрос закончил выполняться
		if (req.readyState == 4) {

			//если статус 200 (ОК) - выдать ответ пользователю
			if(req.status == 200) {

				if (req.responseText == 'Голос принят') {
					if (rating == 'NaN') {
						statusElem.innerHTML = str;
						}
					else {
						if (val == 1) statusElem.innerHTML = rating+1;
						else if (val == 0) statusElem.innerHTML = rating-1;
						}
				}
				else
				statusElem.innerHTML = rating;

				//убрать кнопки голосования
				document.getElementById('yes'+id).style.visibility = 'hidden';
				document.getElementById('no'+id).style.visibility = 'hidden';

				//смена стиля
				var bot = document.getElementById('id'+id);
				bot.style.fontWeight = 'bold';
			}
		}
	}

	//задать адрес подключения
	req.open('GET', '/catalog/vote.ajax.php?id='+id+'&val='+val, true);

	//отослать запрос
	req.send(null);  
	
	//статус ожидания
	statusElem.innerHTML = '<img src=\'/templates/images/loader.gif\'>' 
}


function calend(year, month) {
	//создать объект для запроса к серверу
	var req = createRequestObject();

	//в элементе будем отображать ход выполнения
	var statusElem = document.getElementById('calendar');

	//активируется при получении ответа сервера
	req.onreadystatechange = function() {

		//если запрос закончил выполняться
		if (req.readyState == 4) {

			//если статус 200 (ОК) - выдать ответ пользователю
			if(req.status == 200) {

				statusElem.innerHTML = req.responseText;
				
				$('#calendar').animate({opacity: 1}, 200);
			}
		}
	}

	//задать адрес подключения
	req.open('GET', '/catalog/calend.ajax.php?year='+year+'&month='+month, true);

	//отослать запрос
	req.send(null);  

	$('#calendar').animate({opacity: 0}, 30);
}

function search(translit, sort, list) {
	//создать объект для запроса к серверу
	var req = createRequestObject();

	var status = document.getElementById('search_status');
	var result = document.getElementById('search_result');

	//активируется при получении ответа сервера
	req.onreadystatechange = function() {

		//если запрос закончил выполняться
		if (req.readyState == 4) {

			//если статус 200 (ОК) - выдать ответ
			if(req.status == 200) {

				result.innerHTML = req.responseText;
			}
		}
	}

	//задать адрес подключения
	req.open('GET', '/catalog/catalog.ajax.php?translit='+translit+'&sort='+sort+'&list='+list, true);
	
	//отослать запрос
	req.send(null); 
	
	//статус ожидания
	result.innerHTML = 'Загрузка';
}


function stat(id, p, n, s) {
	var req = createRequestObject();
	req.onreadystatechange = function() {		
		if (req.readyState == 4) { 				
			if(req.status == 200) {
				//результат 
				}	
			}
		}

	req.open('GET', '/iscripts/client/click.ajax.php?id='+id+'&p='+p+'&n='+n+'&s='+s, true);  
	req.send(null);
}
