function voteForTopic(topic_id, vote_factor)
{
	showIndicator('Выполняется сохранение голоса');
	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('hideIndicator()', 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)
{
	showIndicator('Выполняется сохранение голоса');
	var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
        	if (req.responseJS.user_points) {
        		document.getElementById('user_'+user_id+'_row_up').innerHTML = '<img src="'+cfg_path_web+'/themes/'+cfg_site_theme+'/images/buttons/row_up_pale.gif" border="0" alt=":)" title="Спасибо. Ваш голос засчитан">';
        		document.getElementById('user_'+user_id+'_row_down').innerHTML = '<img src="'+cfg_path_web+'/themes/'+cfg_site_theme+'/images/buttons/row_down_pale.gif" border="0" alt=":)" title="Спасибо. Ваш голос засчитан">';
        		if (req.responseJS.user_points > 0) {
        			document.getElementById('user_'+user_id+'_points').innerHTML = '<span style="color: #008000">'+req.responseJS.user_points+'</span>';
        		} else {
        			if (req.responseJS.user_points < -1) {
        				document.getElementById('user_'+user_id+'_points').innerHTML = '<span style="color: #800000">'+req.responseJS.user_points+'</span>';
        			} else {
        				document.getElementById('user_'+user_id+'_points').innerHTML = '<span>'+req.responseJS.user_points+'</span>';
        			}
        		}
        		timeout = false;
        	}

        	if (req.responseJS.aMessages) {
        		printMessages(req.responseJS.aMessages);
        	}
        	setTimeout('hideIndicator()', 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)
{
	showIndicator('Выполняется сохранение голоса');
	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('hideIndicator()', 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 } );
}