var comments_manager = {
	showReplyForm: function() {
		$('new-comment-form-holder').style.display = 'block';
		$('result-ok').hide();
	},
	hideReplyForm: function() {
		$('new-comment-form-holder').hide();
	},
	checkCommentLength: function() {
		var targetField = $('comment-add-body');
		if (targetField.value.length > 4095) {
			targetField.value = targetField.value.substr(0, 4095);
			alert('Комментарий получился слишком длинным');
		}
	},
	postReply: function(replyBody) {
		if (!$('comment-add-body').value.length) {
			alert('Текст комментария не может быть пустым.');
			return false;
		}
		new Ajax.Request('/webservices/commentadd/', {
			method: 'post',
			postBody: replyBody,
			onCreate: function() {
				$('result-ok').hide();
				$('comment-add-submit').disabled = 'disabled';
			},
			onSuccess: function(response) {
				var data = response.responseText.evalJSON();
				if (data['ok']) {
					$('new-comment-form-holder').hide();
					$('result-ok').style.display = 'block';
					$('comment-add-body').value = '';
				} else {
					alert(data['error']);
				}
			},
			onComplete: function() {
				$('comment-add-submit').disabled = false;
			}
		});
	},
	showCommentReply: function(comment_id) {
		$('reply_block_' + comment_id).style.display = 'block';
	},
	hideCommentReply: function(comment_id) {
		$('reply_block_' + comment_id).style.display = 'none';
	},
	replyToComment: function(replyBody, comment_id) {
		$('reply_button_' + comment_id).disabled = 'disabled';
		new Ajax.Request('/webservices/replytocomment/comment_id/' + comment_id, {
			method: 'post',
			postBody: replyBody,
			onSuccess: function(response) {
				var data = response.responseText.evalJSON();
				if (data['ok']) {
					$('reply_block_' + comment_id).hide();
					alert('Ответ добавлен');
				} else {
					alert(data['error']);
				}
			}
		});
		$('reply_button_' + comment_id).disabled = false;
	},
	deleteComment: function(comment_id) {
		if (confirm('Правда удаляем?')) {
			new Ajax.Request('/webservices/deletecomment/comment_id/' + comment_id, {
				method: 'get',
				onSuccess: function(response) {
					var data = response.responseText.evalJSON();
					if (data['ok']) {
						$('comment_' + comment_id).hide();
						alert('Комментарий удалён');
					} else {
						alert(data['error']);
					}
				}
			});
		}
	}
};
