voted_id = 0;

function vote_up(id)
{
	voted_id = id;
	doLoad('/blog/vote?id='+id+'&value=plus&type=blog_comment');
}

function vote_down(id)
{
	voted_id = id;
	doLoad('/blog/vote?id='+id+'&value=minus&type=blog_comment');
}

function doLoad(url) 
{
	if (window.XMLHttpRequest)
	{
		request = new XMLHttpRequest();   
		request.onreadystatechange = processRequestChange;   
		request.open("GET", url, true);   
		request.send(null);   
	} 
	else if (window.ActiveXObject)
	{
		request = new ActiveXObject("Microsoft.XMLHTTP");   
		if (request)
		{
			request.onreadystatechange = processRequestChange;   
			request.open("GET", url, true);   
			request.send();   
		}   
	}	
	//hide_vote_buttons(id);
}

function hide_vote_buttons(id)
{
	document.getElementById('vote_buttons_up_'+id).style.display = 'none';
	document.getElementById('vote_buttons_down_'+id).style.display = 'none';
}

function processRequestChange() {   
	new_value = 0;
	abortRequest = window.setTimeout("request.abort();", 10000);   
	// если выполнен   
	if (request.readyState == 4) 
	{
		clearTimeout(abortRequest);
		// если успешно
		if (request.status == 200) {
			new_value = request.responseText;
			
			vote_number = document.getElementById('vote_'+voted_id);
			
			if (new_value < 0)  vote_number.style.color = '#ff0000';
			else if (new_value > 0)  vote_number.style.color = '#008000';
			else vote_number.style.color = '#CCCCCC';
			
			vote_number.innerHTML = '<b>'+new_value.replace("-", "&#0151;")+'</b>';
			
		} else {
			alert("Не удалось получить данные: " + request.statusText);
		}
		hide_vote_buttons(voted_id);

	}
	// иначе, если идет загрузка или в процессе - показываем слой "Загружаются данные" 
	else if (request.readyState == 3 || request.readyState == 1)
	{
		// 'vote_buttons_down_N' - слева от цифры
		document.getElementById('vote_buttons_down_'+voted_id).innerHTML = '<font color="#cccccc">Загрузка...</font>';
		document.getElementById('vote_buttons_up_'+voted_id).style.display = 'none';
	}
}   
