// $Id$ 

tdt.articles.ajax_handler = '/ajax/modul/updater_articles_handler';

tdt.articles.ajax_failure = function(p_status) {
	tdt.status('[_lang.sys_err.operation_failed_]' + (p_status ? ' ' + p_status : ''));
};

tdt.articles.comment_sent = false;

tdt.articles.load_comments = function(page) {
	if (page === undefined || page != parseInt(page))
		return;
	
	new Ajax.Request(tdt.articles.ajax_handler, {
		parameters: {
			content: 'article',
			action: 'get_comments',
			page: page,
			id: tdt.articles.current_article
		},
		onSuccess: function(response) {
			var jsonData = response.responseJSON;
			
			if (jsonData.status)
			{
				$('comments_container').update(jsonData.content);
			}
			else
			{
				tdt.articles.ajax_failure(jsonData.statusMsg);
			}
		},
		onFailure: tdt.articles.ajax_failure
	});
};

tdt.articles.new_comment = function(p_this) {	
	
	p_this = $(p_this);
	
	try {
		tdt.articles.comment_sent = true;
		p_this.disable();
	}
	catch(e) {};
	
	new Ajax.Request(tdt.articles.ajax_handler, {
		parameters: {
			content: 'article',
			action: 'new_comment',
			comment: $('new_comment').value,
			url: document.location.href,
			id: tdt.articles.current_article
		},
		onSuccess: function(response) {
			var jsonData = response.responseJSON;
			
			if (jsonData.status)
			{
				$('comments_container').update(jsonData.content);
			}
			else
			{
				try {
					tdt.articles.comment_sent = false;
					p_this.enable();
				}
				catch(e) {};
				tdt.articles.ajax_failure(jsonData.statusMsg);
			}
		},
		onFailure: function() {
			tdt.articles.ajax_failure();
			try {
				tdt.articles.comment_sent = false;
				p_this.enable();
			}
			catch(e) {};
		}
	});
};
