<commit_before>var lastUpdate;

function run(){
    var appContainer = document.getElementById('chat-area');

    appContainer.addEventListener('click', delegateEvent);

    lastUpdate = getTimestamp(new Date(0));

    if (checkAuthentication()) {
        refreshMessageArea();
    }
    // scrollToTheBottom();

    setInterval(function(){
        if (checkAuthentication()) {
            refreshMessageArea();
        }
    }, 2000);
}

function getTimestamp(date) {
    var result = date.getFullYear() + "-" + st(date.getMonth() + 1) + "-" + st(date.getDate() + 1)
        + " " + st(date.getHours()) + ":" + st(date.getMinutes()) + ":" + st(date.getSeconds())
        + "." + date.getMilliseconds();
    return result;
}

function st(str) {
    str = str.toString();
    while (str.length < 2) {
        str = "0" + str;
    }
    return str;
}

function delegateEvent(evtObj) {
    if(evtObj.type === 'click' && evtObj.target.id == 'add-button'){
        onAddButton(evtObj);
    }
    if(evtObj.type === 'click' && evtObj.target.id === 'enter-button'){
        onEnterButton(evtObj);
    }
    if(evtObj.type === 'click' && evtObj.target.id === 'name-edit-button'){
        onNameEditButton(evtObj);
    }
    if(evtObj.type === 'click' && evtObj.target.id.substring(0, 14) == 'remove-button-'){
        onRemoveButton(evtObj.target.id.substring(14), evtObj);
    }
    if(evtObj.type === 'click' && evtObj.target.id.substring(0, 12) == 'edit-button-'){
        onEditButton(evtObj.target.id.substring(12), evtObj);
    }
}

function checkAuthentication() {
    if (sessionStorage.getItem("user_id") != null) {
        // user
        var user_id = sessionStorage.getItem("user_id");
        var user_name = sessionStorage.getItem("user_name");

        var user_info_box = document.getElementById("user-info-box");
        user_info_box.innerHTML = "Добро пожаловать, " + user_name;

        var buttonItem = document.createElement('button');
        buttonItem.setAttribute('type', 'button');
        buttonItem.setAttribute('id', "name-edit-button");
        buttonItem.classList.add("btn");
        buttonItem.classList.add("btn-xs");
        buttonItem.classList.add("btn-default");
        buttonItem.classList.add("pull-right");
        buttonItem.classList.add("message-button");
        buttonItem.innerHTML = "Edit";

        user_info_box.appendChild(buttonItem);

        document.getElementById("username").disabled = true;
        document.getElementById("password").disabled = true;
        document.getElementById("enter-button").disabled = false;
        document.getElementById("enter-button").innerHTML = "Выйти";
        document.getElementById("message-text").disabled = false;
        document.getElementById("add-button").disabled = false;

        return true;
    } else {
        // guest
        var user_info_box = document.getElementById("user-info-box");
        user_info_box.innerHTML = "Для пользования чатом необходимо пройти аутентификацию";
        document.getElementById("username").disabled = false;
        document.getElementById("password").disabled = false;
        document.getElementById("enter-button").disabled = false;
        document.getElementById("enter-button").innerHTML = "Войти";
        document.getElementById("message-text").disabled = true;
        document.getElementById("add-button").disabled = true;

        var message_area = document.getElementById('message-area');

        while (message_area.firstChild) {
            message_area.removeChild(message_area.firstChild);
        }

        lastUpdate = getTimestamp(new Date(0));

        updateStatusButton(2);

        return false;
    }
}

function onEnterButton(){

    if (!checkAuthentication()) {
        var name = document.getElementById('username').value;
        var password = document.getElementById('password').value;
        var passhash = CryptoJS.MD5(document.getElementById('password').value);

        if (name.length > 0 && password.length > 0) {
            var posting = $.post("/Chat/users", {"type": "authentication",
                "name": name,
                "password": <PASSWORD>()});
            posting.done(function (data) {
                var user_id = data.user_id;
                if (user_id == -1) {
                    alert("Вы ввели некорретные данные!");
                } else {
                    alert("Вы ввели корретные данные! Добро пожаловать в чат!");
                    document.getElementById('username').value = "";
                    document.getElementById('password').value = "";
                    sessionStorage.setItem("user_id", user_id);
                    sessionStorage.setItem("user_name", name);

                }
                checkAuthentication();
            });
            posting.fail(function (data) {
                alert("Проблемы с соединением!");
                checkAuthentication();
            });
        } else {
            alert("Логин и пароль не могут быть пустыми строками!");
            checkAuthentication();
        }
    } else {
        var response = confirm("Вы действительно хотите выйти из своей учетной записи?");
        if (response) {
            sessionStorage.removeItem("user_id");
            checkAuthentication();
        }
    }
}

function onRemoveButton(message_id) {
    var response = confirm("Вы действительно хотите удалить свое сообщение?");
    if (response) {
        var posting = $.post("/Chat/messages", {"type": "remove_message", "message_id": message_id});
        posting.done( function( data ) {
            refreshMessageArea();
            // scrollToTheBottom();
            updateStatusButton(0);
        });
        posting.fail( function( data ) {
            updateStatusButton(1);<commit_msg>Added removing of username from session<commit_after>var lastUpdate;

function run(){
    var appContainer = document.getElementById('chat-area');

    appContainer.addEventListener('click', delegateEvent);

    lastUpdate = getTimestamp(new Date(0));

    if (checkAuthentication()) {
        refreshMessageArea();
    }
    // scrollToTheBottom();

    setInterval(function(){
        if (checkAuthentication()) {
            refreshMessageArea();
        }
    }, 2000);
}

function getTimestamp(date) {
    var result = date.getFullYear() + "-" + st(date.getMonth() + 1) + "-" + st(date.getDate() + 1)
        + " " + st(date.getHours()) + ":" + st(date.getMinutes()) + ":" + st(date.getSeconds())
        + "." + date.getMilliseconds();
    return result;
}

function st(str) {
    str = str.toString();
    while (str.length < 2) {
        str = "0" + str;
    }
    return str;
}

function delegateEvent(evtObj) {
    if(evtObj.type === 'click' && evtObj.target.id == 'add-button'){
        onAddButton(evtObj);
    }
    if(evtObj.type === 'click' && evtObj.target.id === 'enter-button'){
        onEnterButton(evtObj);
    }
    if(evtObj.type === 'click' && evtObj.target.id === 'name-edit-button'){
        onNameEditButton(evtObj);
    }
    if(evtObj.type === 'click' && evtObj.target.id.substring(0, 14) == 'remove-button-'){
        onRemoveButton(evtObj.target.id.substring(14), evtObj);
    }
    if(evtObj.type === 'click' && evtObj.target.id.substring(0, 12) == 'edit-button-'){
        onEditButton(evtObj.target.id.substring(12), evtObj);
    }
}

function checkAuthentication() {
    if (sessionStorage.getItem("user_id") != null) {
        // user
        var user_id = sessionStorage.getItem("user_id");
        var user_name = sessionStorage.getItem("user_name");

        var user_info_box = document.getElementById("user-info-box");
        user_info_box.innerHTML = "Добро пожаловать, " + user_name;

        var buttonItem = document.createElement('button');
        buttonItem.setAttribute('type', 'button');
        buttonItem.setAttribute('id', "name-edit-button");
        buttonItem.classList.add("btn");
        buttonItem.classList.add("btn-xs");
        buttonItem.classList.add("btn-default");
        buttonItem.classList.add("pull-right");
        buttonItem.classList.add("message-button");
        buttonItem.innerHTML = "Edit";

        user_info_box.appendChild(buttonItem);

        document.getElementById("username").disabled = true;
        document.getElementById("password").disabled = true;
        document.getElementById("enter-button").disabled = false;
        document.getElementById("enter-button").innerHTML = "Выйти";
        document.getElementById("message-text").disabled = false;
        document.getElementById("add-button").disabled = false;

        return true;
    } else {
        // guest
        var user_info_box = document.getElementById("user-info-box");
        user_info_box.innerHTML = "Для пользования чатом необходимо пройти аутентификацию";
        document.getElementById("username").disabled = false;
        document.getElementById("password").disabled = false;
        document.getElementById("enter-button").disabled = false;
        document.getElementById("enter-button").innerHTML = "Войти";
        document.getElementById("message-text").disabled = true;
        document.getElementById("add-button").disabled = true;

        var message_area = document.getElementById('message-area');

        while (message_area.firstChild) {
            message_area.removeChild(message_area.firstChild);
        }

        lastUpdate = getTimestamp(new Date(0));

        updateStatusButton(2);

        return false;
    }
}

function onEnterButton(){

    if (!checkAuthentication()) {
        var name = document.getElementById('username').value;
        var password = document.getElementById('password').value;
        var passhash = CryptoJS.MD5(document.getElementById('password').value);

        if (name.length > 0 && password.length > 0) {
            var posting = $.post("/Chat/users", {"type": "authentication",
                "name": name,
                "password": <PASSWORD>()});
            posting.done(function (data) {
                var user_id = data.user_id;
                if (user_id == -1) {
                    alert("Вы ввели некорретные данные!");
                } else {
                    alert("Вы ввели корретные данные! Добро пожаловать в чат!");
                    document.getElementById('username').value = "";
                    document.getElementById('password').value = "";
                    sessionStorage.setItem("user_id", user_id);
                    sessionStorage.setItem("user_name", name);

                }
                checkAuthentication();
            });
            posting.fail(function (data) {
                alert("Проблемы с соединением!");
                checkAuthentication();
            });
        } else {
            alert("Логин и пароль не могут быть пустыми строками!");
            checkAuthentication();
        }
    } else {
        var response = confirm("Вы действительно хотите выйти из своей учетной записи?");
        if (response) {
            sessionStorage.removeItem("user_id");
            sessionStorage.removeItem("user_name");
            checkAuthentication();
        }
    }
}

function onRemoveButton(message_id) {
    var response = confirm("Вы действительно хотите удалить свое сообщение?");
    if (response) {
        var posting = $.post("/Chat/messages", {"type": "remove_message", "message_id": message_id});
        posting.done( function( data ) {
            refreshMessageArea();
            // scrollToTheBottom();
            updateStatusButton(0);
        });
        posting.fail( function( data ) {
            updateStatusButton(1);
{'fraction_non_alphanumeric': 0.14293103448275862, 'fraction_numerical': 0.004655172413793103, 'mean_word_length': 2.487973541791942, 'pattern_counts': {'":': 14, '<': 7, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '913839', 'n_tokens_mistral': 3260, 'n_tokens_neox': 3269, 'n_words': 561}