//#region Комментарии
function CommentItemData(observer) {
    var that = this;

    var args = [];
    args.push(observer);
    args.push({
        group: 'commentItemData',
        name: 'comment',
        selector: '#currentcomment',
        useDefaultEvent: true,
        initConflictAfterSubmit: {
            compareEqualsCurrentWithSubmitValue: false,
            canConflict: false
        },
    });
    ItemData.apply(this, args);
}
CommentItemData.prototype = Object.create(ItemData.prototype);

CommentItemData.prototype.InitTaskRightsDisplayType = function () {
    this.taskRightsDisplayType = ItemDataHelper.TaskRightsDisplayType[$('#addcomments').attr(ItemData.taskRightsDisplayTypeKey)] || ItemDataHelper.TaskRightsDisplayType.None;
}

CommentItemData.prototype.GetBlockTitle = function () {
    //return $('[for="currentcomment"]').clone().children().remove().end().text();
    return 'Комментарий';
}
//part2 - пользовательская
CommentItemData.prototype.Append2 = function (userConnectionId, userId, userName, data, existUserConnectionId) {
    var $label = $('[for="currentcomment"]');
    $label.siblings('span.taskFormHub-blockInfo').remove();
    var $span = this.GetSpanTemplate(userConnectionId, userId);
    $label.after($span);
    this.Highlight();
}
//удалить инфу о всех юзерах которые изменили блок
//вызывает при дисконекте
CommentItemData.prototype.ResetAll = function () {
    this.usersEditThisBlock = [];
    var $label = $('[for="currentcomment"]');
    //удалить текущий span
    $label.siblings('span.taskFormHub-blockInfo').remove();
    this.Unhighlight();
}
//part2 - пользовательская
CommentItemData.prototype.Reset2 = function (userConnectionId, userId, userName) {
    var $label = $('[for="currentcomment"]');
    //удалить текущий span
    $label.siblings('span.taskFormHub-blockInfo').remove();
    //если есть еще пользователи которые редактируют блок
    if (this.usersEditThisBlock.length > 0 && this.TaskRightsDisplayType() != ItemDataHelper.TaskRightsDisplayType.None) {
        //сделать новый span
        var $span = this.GetSpanTemplate(userConnectionId, userId);
        $label.after($span);
        //подстветить
        this.Highlight();
    }
    else {
        this.Unhighlight();
    }
}
CommentItemData.prototype.InitConflictAfterSubmit = function (submitData) {

    if (this.TaskRightsDisplayType() == ItemDataHelper.TaskRightsDisplayType.None)
        return false;

    this.isConflict = false;

    var taskId = $("#id").val();
    var serviceId = $('#serviceid').val();
    var firstOrLast = $('#lastcommentsontop').val().toLowerCase() == 'true' ? ':first' : ':last';
    $.get(base + 'Task/GetTaskLifeTimeFull/' + taskId).done(function (data) {
        var $c = $('#lifetimefull').html(data).find('.itemcomments' + firstOrLast + ' .comment');
        $c.addClass('message-success');
        //setTimeout(function () {
        //    $c.removeClass('message-success');
        //}, 10000);
    });
    $.get(base + 'Task/GetTaskLifetimeShort/' + taskId + '?serviceId=' + serviceId).done(function (data) {
        var $c = $('#lifetimeshort').html(data).find('.itemcomments' + firstOrLast + ' .comment');
        $c.addClass('message-success');
        //setTimeout(function () {
        //    $c.removeClass('message-success');
        //}, 10000);
    });

    return false;
}
//#endregion