var elementId = '#hierarchical_posts';

$('#hierarchical_posts > #hierarchical_posts_form').ready(function () {
	var form = $('#hierarchical_posts_form');
	$('#hierarchical_posts').find('.form_container').eq(0).append($('#answer_container'));
	form.hierarchicalPosts_SetupForm();
});

$.fn.hierarchicalPosts_SetupForm  = function () {
	var form = $(this);
	form.ajaxForm({dataType: 'json', beforeSubmit: hierarchicalPosts_beforePostSubmit, success: function (response) {
        form.find('textarea').attr('disabled', false);
        if (response.status == 'success') {
            var post = response.post;
            var elem = $(elementId);
            if ($('#answer_' + post.id).attr('id')) {
                elem.find('.text').eq(0).html(stripslashes(post.text));
            } else {
                $.get('/common/hierarchical-posts/get/', {id: post.id, model: response.model}, function (data) {
                    elem.append(data);
                    init();
                    window.location.href = '#answer_' + post.id;
                });
            }
            $('#answer_container').css('display', 'none');
        } else if (response.status == 'access denied')  {
            showAuthForm();
        }
    }});
};

function hierarchicalPosts_showAddRootForm(relatedId, model)
{
    elementId = '#hierarchical_posts';
    hierarchicalPosts_getForm({relatedId: relatedId, path: "", model: model, text: ''}, '');
}

function hierarchicalPosts_showAddForm(post, title)
{
    elementId = '#answer_' + post.id;
    post.id = '';
    post.text = '';
    hierarchicalPosts_getForm(post, title);
}

function hierarchicalPosts_showEditForm(post, title)
{
    elementId = '#answer_' + post.id;
    hierarchicalPosts_getForm(post, title);
}

function hierarchicalPosts_getForm (data, title)
{
	if ($('#answer_container').css('display') == 'block' && $(elementId + ' > .form_container > .answer').is('div')) {
	   $('#answer_container').css('display', 'none');
	} else {
		$(elementId).find('.form_container').eq(0).append($('#answer_container'));
		var frm = $('#hierarchical_posts_form');
		$('#answer_container > form').find('.title').html(title);
		$('#answer_container').find('a[@class^=userLink]').click(function () {showProfile($(this));});
		frm.find('input[@name="userId"]').val(data.userId);
		frm.find('input[@name="id"]').val(data.id);
		frm.find('input[@name="relatedId"]').val(data.relatedId);
		frm.find('input[@name="path"]').val(data.path);
		frm.find('input[@name="model"]').val(data.model);
		frm.find('textarea[@name="text"]').val(data.text);
		if (data.id) {
		    frm.find('.bt').eq(1).text('Сохранить');
		} else {
		    frm.find('.bt').eq(1).text('Ответить');
		}
		$('#answer_container').css('display', 'block');
	    window.location = elementId;
    }
}

function hierarchicalPosts_beforePostSubmit (formArray, jqForm)
{
    jqForm.find('textarea').attr('disabled', true);
}

function hierarchicalPosts_delete (id, model)
{
    if ($('#answer_' + id).find('.hierarchical_post').attr('id')) {
        alert('Нельзя удалить ответ если на него ответили');
        return false;
    }
    if(window.confirm('Ты точно хочешь удалить ответ?')) {
        $.get('/common/hierarchical-posts/delete/', {id: id, model: model}, function (data) {
            $('#answer_container').css('display', 'none');
            $('.form_container').eq(0).append($('#answer_container'));
            $('#answer_' + id).remove();
        });
    }
}

