var commentLoadPath = '/ajax/noindex.php?action=comment';
var allCommentsContainerClass = 'comment-container';

function LoadCommentFunctions(commentTable, commentTableId)
{
	var allCommentsContainer = $(document).find('div.' + allCommentsContainerClass);
	if (allCommentsContainer)
	{
		$(allCommentsContainer).find('li').each(function(){
			var commentItem = $(this);
			var commentRel = $(this).attr('rel');
			if (commentRel)
			{
				var commentTextContainer = $(this).find('div.comment-text-container:first');
				if (typeof commentTextContainer[0] != 'undefined')
				{
					var commentShowLinkContainer = $(commentTextContainer).find('p.comment-show-link-container');
					if (typeof commentShowLinkContainer[0] != 'undefined')
					{
						$(commentShowLinkContainer).find('span.pseudo-link').click(function(){
							var showLinkParent = $(this).parent('span');
							if (typeof showLinkParent[0] != 'undefined')
							{
								var commentShow = $(showLinkParent).attr('rel');
								if (commentShow)
								{
									if (settingPath)
									{
										jQuery.post(settingPath, {table: 'comments', field: 'comment_show', record: commentRel, value: commentShow}, function(data){
											if (data == "true")
											{
												$(commentTextContainer).removeClass('comment-show-paused');
												$(commentTextContainer).removeClass('comment-show-not-checked');
												$(commentTextContainer).removeClass('comment-show-active');
												switch (commentShow)
												{
													case "-1":
														$(commentTextContainer).addClass('comment-show-paused');
														$(commentItem).find('p.comment-responses-header:first').slideUp('normal');
														$(commentItem).find('ul.comment-list:first').slideUp('normal');
														break;
													case "0":
														$(commentTextContainer).addClass('comment-show-not-checked');
														$(commentItem).find('p.comment-responses-header:first').slideUp('normal');
														$(commentItem).find('ul.comment-list:first').slideUp('normal');
														break;
													case "1":
														$(commentTextContainer).addClass('comment-show-active');
														$(commentItem).find('p.comment-responses-header:first').slideDown('normal');
														$(commentItem).find('ul.comment-list:first').slideDown('normal');
														break;
												}
											}
											else
											{
												alert(data);
											}
										}); 
									}
									
								}
							}
						});
					}
					if (($(commentTextContainer).hasClass('comment-show-paused')) || ($(commentTextContainer).hasClass('comment-show-not-checked')))
					{
						$(commentItem).find('p.comment-responses-header:first').slideUp(0);
						$(commentItem).find('ul.comment-list:first').slideUp(0);
					}
				}
				var commentResponseLinkContainer = $(this).find('p.comment-response-link-container:first');
				if (commentResponseLinkContainer)
				{
					$(commentResponseLinkContainer).after('<div class = "comment-response-form-container"></div>');
					var commentResponseLink = $(commentResponseLinkContainer).find('span.comment-response-link');
					if (commentResponseLink)
					{
						//$(commentResponseLink).append(commentRel);
						$(commentResponseLink).unbind('click');
						$(commentResponseLink).click(function(){
							$(commentResponseLinkContainer).slideUp(0);
							LoadCommentInterface(commentTable, commentTableId, commentRel);
						});
					}
				};
			}
		});
		LoadCommentInterface(commentTable, commentTableId, '0');
	}
}

function LoadCommentInterface(commentTable, commentTableId, comment)
{
	var commentContainer = $(document).find('div.' + allCommentsContainerClass + ' li[rel="' + comment + '"] div.comment-response-form-container:first');
	if (commentContainer)
	{
		//$(commentContainer).slideUp(0);
		var commentLoadPathParams = '&table=' + commentTable + '&id=' + commentTableId + '&parent=' + comment;
		$(commentContainer).load(commentLoadPath + commentLoadPathParams, function(){
			//$(commentContainer).slideDown("slow");
			var commentForm = $(commentContainer).find('form');
			if (commentForm)
			{
				$(commentForm).find('input.comment-author-name').focus(function(){
					if ($(this).attr('value') == 'Ваше имя')
					{
						$(this).attr('value', '');
					}
				});
				$(commentForm).find('input.comment-author-name').blur(function(){
					if ($(this).attr('value') == '')
					{
						$(this).attr('value', 'Ваше имя');
					}
				});
				$(commentForm).find('textarea.comment-text').focus(function(){
					if ($(this).attr('value') == 'Текст отзыва')
					{
						$(this).attr('value', '');
					}
				});
				$(commentForm).find('textarea.comment-text').blur(function(){
					if ($(this).attr('value') == '')
					{
						$(this).attr('value', 'Текст отзыва');
					}
				});
				$(commentForm).find('span.comment-response-form-submit').hover(
					function(){
						$(this).addClass('hover');
					},
					function(){
						$(this).removeClass('hover');
					}
				);
				$(commentForm).find('span.comment-response-form-submit').click(function(){
					if 
					(
						($(commentForm).find('span.comment-author-name').attr('value') == '') ||
						($(commentForm).find('span.comment-author-name').attr('value') == 'Ваше имя') ||
						($(commentForm).find('textarea.comment-text').attr('value') == 'Текст отзыва') ||
						($(commentForm).find('textarea.comment-text').attr('value') == '')
					)
					{
						alert('Пожалуйста, представьтесь и введите текст ответа перед отправкой отзыва.');
					}
					else
					{
						$.post(commentLoadPath + commentLoadPathParams, 'rate=' + $(commentForm).find('input.comment-rate-value').attr('value') + '&comment-author-name=' + $(commentForm).find('input.comment-author-name').attr('value') + '&comment-text=' + $(commentForm).find('textarea.comment-text').attr('value') + '&url=' + sitePage, function(responseText){
							$(commentContainer).html(responseText);
						});
					}
				});
				$(commentForm).find('p.comment-rate span.pseudo-link').click(function(){
					if ($(this).hasClass('pseudo-link'))
					{
						var parentSpan = $(this).parent('span');
						if (parentSpan)
						{
							var commentRate = $(parentSpan).attr('rel');
						}
					}
					var commentRateContainer = $(commentForm).find('p.comment-rate');
					$(commentRateContainer).removeClass('comment-negative');
					$(commentRateContainer).removeClass('comment-neutral');
					$(commentRateContainer).removeClass('comment-positive');
					switch (commentRate)
					{
						case "-1":
							$(commentRateContainer).addClass('comment-negative');
							break;
						case "0":
							$(commentRateContainer).addClass('comment-neutral');
							break;
						case "1":
							$(commentRateContainer).addClass('comment-positive');
							break;
					}
					var commentRateValueInput = $(commentForm).find('input.comment-rate-value');
					if (commentRateValueInput)
					{
						$(commentRateValueInput).attr('value', commentRate);
					}
				});
			}
		});
	}
	
}
