var lastCommentId = 0;
var comments_count = 0;
var current_page = 1;
var last_page = 1;

function adjustComments()
{
	var id = '';
	var parent_id = 0;
	var margin = 0;

	$("#photo-details-comments").children().each(function(){

		if($(this).attr('class') == 'comment-item-rating' || $(this).attr('class') == 'comment-item')
		{
			id = $(this).attr('id');
			parent_id = $("#" + id + " .parent_id").html();

			if(parent_id != '0')
			{
				margin = parseInt($("#comment-container-" + parent_id).css('margin-left').replace("px", "")) + 20;
				$(this).css('margin-left', margin + 'px');
			}
		}

	});
}

function pageload(hash)
{
	$("#pagination").html('<span class="prev_link">Триває завантаження...</span>');

	if(hash)
	{
		current_page = hash;

		// restore ajax loaded state
		var load_url = '/comments/ajax_comments/' + hash + '/' + $("#CommentPhotoId").val();

		$('#comments_inner').load(load_url, function(){

			drawPager(hash, $("#CommentPhotoId").val());

			lastCommentId = json.last_comment_id;

			comments_count = 0;

			for (var x in json.comments)
			{
				drawComment( json.comments[x] );
				comments_count++;
			}

			if(json.user_voted)
			{
				$(".add_rating").remove();
				$("#switch_mark").remove();
				$("#rating-good").remove();
				$("#rating-bad").remove();
			}

			last_page = json.last_page;

			initRatings();
			initCommentControls();
			$("#comment-to").hide();
			initCommentReply();

			$(".submit-comment input").removeAttr('disabled');
			$("#CommentParentId").val('');
			$("#CommentToUserId").val('');
			clearRates();

			if(comment_reply_id != '')
				enableReply(comment_reply_id);

			$("#pagination").css('padding-bottom', '20px');

		});

	}
}

function drawPager(page, photo_id)
{
	$.get('/comments/ajax_pager/' + page + '/' + photo_id, function(data){

		$("#pagination").remove();
		$(".photo-details-comments-pagination").html(data);

	});
}

function drawComment(data)
{
	var comment = '';

	if(data.Rate.id)
		comment += '<div class="comment-item-rating" id="comment-container-' + data.Comment.id + '">';
	else
		comment += '<div class="comment-item" id="comment-container-' + data.Comment.id + '">';
	comment += '<div class="parent_id">' + data.Comment.parent_id + '</div>';

	if(data.Rate.id)
	{
		comment += '<div class="comment-item-rating-box">';
		comment += '<div class="comment-item-rating-h">художність:  ';

		switch(data.Rate.idea)
		{
		case null:
			comment += 'без оцінки';
		  break;
		case '4':
			comment += 'важко оцінити';
		  break;
		default:
			comment += '<img src="/img/rating-' + data.Rate.idea + '.gif" alt="рейтинг ' + data.Rate.idea + '"/>';
		}

		comment += '</div>';
		comment += '<div class="comment-item-rating-o">оригінальність:  ';

		switch(data.Rate.originality)
		{
		case null:
			comment += 'без оцінки';
		  break;
		case '4':
			comment += 'важко оцінити';
		  break;
		default:
			comment += '<img src="/img/rating-' + data.Rate.originality + '.gif" alt="рейтинг ' + data.Rate.originality + '"/>';
		}

		comment += '</div>';
		comment += '<div class="comment-item-rating-t">техніка:  ';

		switch(data.Rate.tech)
		{
		case null:
			comment += 'без оцінки';
		  break;
		case '4':
			comment += 'важко оцінити';
		  break;
		default:
			comment += '<img src="/img/rating-' + data.Rate.tech + '.gif" alt="рейтинг ' + data.Rate.tech + '"/>';
		}

		comment += '</div>';
		comment += '</div>';
	}

	comment += '<div class="comment-container-inner">';
	comment += '<input type="hidden" id="userid-for-comment-' + data.Comment.id + '" name="userid-for-comment-' + data.Comment.id + '" value="' + data.User.id + '"/>';
	comment += '<div class="comment-item-top">';
	comment += '<span class="comment-item-userlogin" id="login-for-comment-id-' + data.Comment.id + '">';

	if(data.User.group_id == 1)
		comment += '<a href="/authors/' + data.User.login + '" class="username type-admin">' + data.User.login + '</a>';

	if(data.User.group_id == 2)
		comment += '<a href="/authors/' + data.User.login + '" class="username type-moderator">' + data.User.login + '</a>';

	if(data.User.group_id == 3)
		comment += '<a href="/authors/' + data.User.login + '" class="username">' + data.User.login + '</a>';

	comment += '</span>';

	if(data.User.id)
		comment += '<span class="comment-item-userlogin-reply" id="for-login-[' + data.ToComment.user_id + ']"/>';

	if(data.ToComment.id)
	{
		comment += '<span id="for-login-[' + data.ToComment.user_id + ']" class="comment-item-userlogin-reply">';
		comment += ' ( для <span>' + data.ToUser.login + '</span> )';
		comment += '</span>';
	}

	if(json.crops[data.Comment.id] !== undefined)
		if(json.crops[data.Comment.id].x && json.crops[data.Comment.id].y && json.crops[data.Comment.id].width && json.crops[data.Comment.id].height)
			comment += '<div class="crop_show_icon" onclick="showCrop(' + json.crops[data.Comment.id].x + ', ' + json.crops[data.Comment.id].y + ', ' + json.crops[data.Comment.id].width + ', ' + json.crops[data.Comment.id].height + ');"></div>';

	comment += '<span class="comment-item-date">' + data.Comment.created + '</span>';
	comment += '</div>';
	comment += '<div class="comment-text">';

	if(data.Comment.parent_id != '0')
	{
		comment +='<div id="c-' + data.Comment.id + '" class="comment-quote-container"><div class="comment-quote-container-inner">';
		comment +='<div id="quote-' + data.Comment.id + '" class="coment-quote-text">';

		if(data.ToComment.id)
			comment += data.ToComment.comment + '</div>';
		else
			comment += 'Даний коментар був видалений.</div>';

		comment +='</div></div>';
	}

	comment += '<span class="comment-content" id="comment-body-' + data.Comment.id + '">' + data.Comment.comment + '</span>';
	comment += '</div>';
	comment += '<div class="comment-controls">';

	if(json.loged_user.id)
		comment += '<a href="javascript:void(0)" class="replay-to" id="to-comment-id-' + data.Comment.id + '" title="відповісти"></a>';

	if((json.loged_user.group_id == 1 || json.loged_user.group_id == 2) && json.loged_user.id != data.User.id)
		comment += '<a href="javascript:void(0)" class="mod-edit" id="mod-edit-comment-' + data.Comment.id + '" title="редагувати"></a>';

	if(json.loged_user.id == data.User.id || json.loged_user.group_id == 1 || json.loged_user.group_id == 2)
		comment += '<a href="/comments/del_comment/' + data.Comment.id + '/' + current_page + '" class="mod-del" id="mod-del-comment-' + data.Comment.id + '" title="видалити" onclick="return confirm(\'Ви впевнені що хочете видалити коментар?\');"></a>';

	comment += '</div>';
	comment += '</div>';
	comment += '</div>';

	$("#comments_inner").append(comment);

}

function ctrlEnter(event)
{
	if((event.ctrlKey) && ((event.keyCode == 0xA)||(event.keyCode == 0xD)))
	{
		$("#RatingForm").submit();
	}
}