if (typeof jqueryIQgroupExtension != 'object') {
	jqueryIQgroupExtension = {};
}

jqueryIQgroupExtension.comments = {
	bindComments: function() {
		/* novy prispevek */
		this.find('.button-phorum-reply').click(function(e) {
			$('#block-commentform-main').slideToggle(600);
			return false;
		});
		/* odpoved na prispevek */
		this.find('.button-comment-reply').click(function(e) {
			var phorum = $(this).parents('.block-phorum').eq(0);
			var thread = $(this).parents('.block-thread').eq(0);
			var comment = $(this).parents('.block-comment').eq(0);
			var commentSubject;
			var existingReplyForm;
			var replyForm;
			var replyFormSubject;

			// opetovne zavreni odpovedniho formulare
			if (comment.data('_replyform_displayed')) {
				replyForm = comment.nextAll('.block-commentform').eq(0);
				replyForm.slideUp(600);
				if (replyForm.length == 1) {
					comment.data('_replyform_displayed',false);
				}
				return false;
			}

			// pripojeni odpovedniho formulare a nastaveni jeho poli
			existingReplyForm = $('#block-commentform-' + thread.data('_comment_id')); // jestli již nějaký existuje
			if (existingReplyForm.length) {
				if (existingReplyForm.length > 1) {
					existingReplyForm.remove();
				} else {
					replyForm = existingReplyForm;
				}
			}
			if (typeof replyForm == 'undefined') {
				replyForm = $('#block-commentform-main').clone(true);
			}
			// nastaveni odpovedniho formulare
			replyForm.attr('id','block-commentform-' + thread.data('_comment_id'));
			replyForm.find(':input[name="item_id"]').val(phorum.data('_commented_item_i'));
			replyForm.find(':input[name="response_to_comment_id"]').val(thread.data('_comment_id'));
			replyFormSubject = replyForm.find(':input[name="subject"]');
			commentSubject = comment.find('.text-comment-subject').eq(0).text();
			if (commentSubject) {
				replyFormSubject.val('Re: ' + commentSubject);
			}
			comment.after(replyForm);
			// stylovani odpovedniho formulare
			replyForm.hide();
			replyForm.css('margin-left',-thread.data('_comment_indent_left'));
			replyForm.slideDown(600);
			comment.data('_replyform_displayed',true);

			return false;
		});
		/* zavreni odpovedniho formulare */
		this.find('.button-commentform-close').click(function(e) {
			var comment = $(this).parents('.block-comment').eq(0);
			var replyForm = $(this).parents('.block-commentform').eq(0);
			replyForm.slideUp(600);
			comment.data('_replyform_displayed',false);
			return false;
		});
		/* sbaleni vlakna */
		this.find('.button-comment-collapse').click(function(e) {
			var comment = $(this).parents('.block-comment').eq(0);
			var nextThread = comment.nextAll('.block-thread').eq(0);
			if (!nextThread.length) {
				return false;
			}
			if (comment.data('_nextthread_hidden')) {
				$(this).prevAll('.button-state-1').eq(0).show();
				comment.data('_nextthread_hidden',false);
			} else {
				$(this).nextAll('.button-state-2').eq(0).show();
				comment.data('_nextthread_hidden',true);
			}
			$(this).hide();
			nextThread.slideToggle(600);
			return false;
		});
		/* donacteni dalsich prispevku */
		this.find('.button-comment-getmore').click(function(e) {
			//elementy
			var phorum = $(this).parents('.block-phorum').eq(0);
			var thread = $(this).parents('.block-thread').eq(0);
			var parent_thread = $(this).parents('.block-thread').eq(1);
			var menu_getitems = $(this).parents('.block-commentmenu-getitems').eq(0);
			var menu_getitems_content = menu_getitems.find('.block-content');
			var menu_getitems_preloader = menu_getitems.find('.block-preloader');
			// data
			var commented_item_id = phorum.data('_commented_item_id');
			var comment_id = thread.data('_comment_id');
			var parent_comment_id = parent_thread.length == 1 ? parent_thread.data('_comment_id') : ''; // doplnit skutecnou hodnotu z threadu

			//--console.log(parent_comment_id);
			// graficky preloader
			menu_getitems_content.hide();
			menu_getitems_preloader.show();

			// odeslani zpracovani HTTP requestu
			$.ajax({
				type: 'POST',
				data: 'rqdt=TRUE&action=show_more&item_id='+commented_item_id+'&comment_id='+comment_id+'&parent_id='+parent_comment_id,
				dataType : 'json',
				success: function(result) {
					var content = result.data.page.content;
					if (content.status) {
						// odstraneni tohoto menu
						menu_getitems.fadeOut(600);
						menu_getitems.remove();
						// pridani nactenych prispevku/vlaken
						var loaded_threads = $(result.html_content);
						loaded_threads.bindComments();
						loaded_threads.hide();
						loaded_threads.insertAfter(thread);
						loaded_threads.slideDown(600, function() {
							var child = $(this).children();
							$(this).after(child);
							$(this).remove();
						});
					} else {
						alert(content.message);
					}
				}
			});
			return false;
		});
	}
}

$.fn.extend(jqueryIQgroupExtension.comments);

$(function() {
	$('body').bindComments();
});