function voteForTopic(topic_id, vote_factor)
{
	viewPopuper('Выполняется сохранение голоса', 1);
	var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
        	if (req.responseJS.topic_points)
        	{
        		document.getElementById('topic_'+topic_id+'_row_up').innerHTML = '<img src="'+cfg_path_web+'/themes/'+cfg_site_theme+'/images/buttons/18/row_up_pale.gif" border="0" alt=":)" title="Спасибо. Ваш голос засчитан">';
        		document.getElementById('topic_'+topic_id+'_row_down').innerHTML = '<img src="'+cfg_path_web+'/themes/'+cfg_site_theme+'/images/buttons/18/row_down_pale.gif" border="0" alt=":)" title="Спасибо. Ваш голос засчитан">';
        		if (req.responseJS.topic_points > 0) {
        			document.getElementById('topic_'+topic_id+'_points').innerHTML = '<span style="color: #008000">'+req.responseJS.topic_points+'</span>';
        		} else {
        			if (req.responseJS.topic_points < -1) {
        				document.getElementById('topic_'+topic_id+'_points').innerHTML = '<span style="color: #800000">'+req.responseJS.topic_points+'</span>';
        			} else {
        				document.getElementById('topic_'+topic_id+'_points').innerHTML = '<span>'+req.responseJS.topic_points+'</span>';
        			}
        		}
        		timeout = false;
        	}

        	if (req.responseJS.aMessages) {
        		printMessages(req.responseJS.aMessages);
        	}
        	setTimeout('hidePopuper()', 1000);
        }
    }
    req.caching = false;
    req.open('POST', cfg_path_web+'/modules/blog/loaders/vote_for_topic.loader.php', true);
    req.send( { topic_id: topic_id, vote_factor: vote_factor } );
}

function voteForUser(user_id, vote_factor)
{
	viewPopuper('Выполняется сохранение голоса', 1);
	var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
        	if (req.responseJS.user_points)
        	{
        		var row_up = jQuery('<img>').attr('src', cfg_path_web + '/themes/' + cfg_site_theme + '/images/buttons/row_up_pale.gif').attr('border', '0').attr('alt', ':)').attr('title', 'Спасибо. Ваш голос засчитан');
        		var row_down = jQuery('<img>').attr('src', cfg_path_web + '/themes/' + cfg_site_theme + '/images/buttons/row_down_pale.gif').attr('border', '0').attr('alt', ':(').attr('title', 'Спасибо. Ваш голос засчитан');
        		jQuery('#user_'+user_id+'_row_up').html(row_up);
        		jQuery('#user_'+user_id+'_row_down').html(row_down);
        		
        		var span_points = jQuery('<span>' +req.responseJS.user_points + '</span>');
        		if (req.responseJS.user_points > 0) {
        			span_points.css('color: #008000');
        		} else {
        			if (req.responseJS.user_points < -1) {
        				span_points.css('color: #800000');
        			}
        		}
        		jQuery('#user_'+user_id+'_points').html(span_points);
        		jQuery('#user_'+user_id+'_power').html(req.responseJS.user_power);
        		timeout = false;
        	}

        	if (req.responseJS.aMessages) {
        		printMessages(req.responseJS.aMessages);
        	}
        	setTimeout('hidePopuper()', 1000);
        }
    }
    req.caching = false;
    req.open('POST', cfg_path_web+'/modules/users/loaders/vote_for_user.loader.php', true);
    req.send( { user_id: user_id, vote_factor: vote_factor } );
}

function voteForComment(comment_id, vote_factor)
{
	viewPopuper('Выполняется сохранение голоса', 1);
	var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
        	if (req.responseJS.comment_points) {
        		document.getElementById('comment_'+comment_id+'_row_up').innerHTML = '<img src="'+cfg_path_web+'/themes/'+cfg_site_theme+'/images/buttons/18/row_up_pale.gif" border="0" alt=":)" title="Спасибо. Ваш голос засчитан">';
        		document.getElementById('comment_'+comment_id+'_row_down').innerHTML = '<img src="'+cfg_path_web+'/themes/'+cfg_site_theme+'/images/buttons/18/row_down_pale.gif" border="0" alt=":)" title="Спасибо. Ваш голос засчитан">';
        		if (req.responseJS.comment_points > 0) {
        			document.getElementById('comment_'+comment_id+'_points').innerHTML = '<span class="green">'+req.responseJS.comment_points+'</span>';
        		} else {
        			if (req.responseJS.comment_points < 0) {
        				document.getElementById('comment_'+comment_id+'_points').innerHTML = '<span class="red">'+req.responseJS.comment_points+'</span>';
        			} else {
        				document.getElementById('comment_'+comment_id+'_points').innerHTML = '<span>'+req.responseJS.comment_points+'</span>';
        			}
        		}
        		timeout = false;
        	}

        	if (req.responseJS.aMessages) {
        		printMessages(req.responseJS.aMessages);
        	}
        	setTimeout('hidePopuper()', 1000);
        }
    }
    req.caching = false;
    req.open('POST', cfg_path_web+'/modules/blog/loaders/vote_for_comment.loader.php', true);
    req.send( { comment_id: comment_id, vote_factor: vote_factor } );
}