function load_more_posts() {
    $(".btn-load-more").prop("disabled", true);
    var c = parseInt($("#load_more_posts_last_id").val());
    var b = parseInt($("#load_more_posts_lang_id").val());
    var a = {
        load_more_posts_last_id: c,
        load_more_posts_lang_id: b
    };
    a[csfr_token_name] = $.cookie(csfr_cookie_name);
    $.ajax({
        type: "POST",
        url: base_url + "home_controller/load_more_posts",
        data: a,
        success: function (e) {
            var d = JSON.parse(e);
            if (d.result == 1) {
                setTimeout(function () {
                    $("#last_posts_content").append(d.html_content);
                    $("#load_more_posts_last_id").val(d.last_id);
                    $(".btn-load-more").prop("disabled", false);
                    if (d.hide_button) {
                        $(".btn-load-more").hide()
                    }
                }, 300)
            } else {
                setTimeout(function () {
                    $("#load_more_posts_last_id").val(d.last_id);
                    $(".btn-load-more").hide()
                }, 300)
            }
        }
    })
}

function hide_cookies_warning() {
    $(".cookies-warning").hide();
    var a = {};
    a[csfr_token_name] = $.cookie(csfr_cookie_name);
    $.ajax({
        type: "POST",
        url: base_url + "home_controller/cookies_warning",
        data: a,
        success: function (b) { }
    })
}

function add_delete_from_reading_list(b) {
    var a = {
        post_id: b,
    };
    a[csfr_token_name] = $.cookie(csfr_cookie_name);
    $.ajax({
        type: "POST",
        url: base_url + "ajax_controller/add_delete_reading_list_post",
        data: a,
        success: function (c) {
            location.reload()
        }
    })
}

function view_voting_results(b) {
    $("#voting_" + b + " .question").hide();
    $("#voting_" + b + " .result").show()
}

function view_voting_options(b) {
    $("#voting_" + b + " .result").hide();
    $("#voting_" + b + " .question").show()
}
$(document).ready(function () {
    var b;
    $(".voting-form").submit(function (h) {
        h.preventDefault();
        if (b) {
            b.abort()
        }
        var a = $(this);
        var g = a.find("input, select, button, textarea");
        var j = a.serializeArray();
        j.push({
            name: csfr_token_name,
            value: $.cookie(csfr_cookie_name)
        });
        var i = $(this).attr("data-form-id");
        b = $.ajax({
            url: base_url + "home_controller/add_vote",
            type: "post",
            data: j,
        });
        b.done(function (c) {
            g.prop("disabled", false);
            if (c == "required") {
                $("#voting-required-message-" + i).show();
                $("#voting-error-message-" + i).hide()
            } else {
                if (c == "voted") {
                    $("#voting-required-message-" + i).hide();
                    $("#voting-error-message-" + i).show()
                } else {
                    document.getElementById("voting-results-" + i).innerHTML = c;
                    $("#voting_" + i + " .result").show();
                    $("#voting_" + i + " .question").hide()
                }
            }
        })
    })
});

$(document).ajaxStop(function () {
    function d(a) {
        $("#voting_" + a + " .question").hide();
        $("#voting_" + a + " .result").show()
    }

    function c(a) {
        $("#voting_" + a + " .result").hide();
        $("#voting_" + a + " .question").show()
    }
});

$(document).ready(function () {
    $('#form-login').submit(function (a) {
        a.preventDefault();
        var b = $(this);
        var c = b.serializeArray();
        c.push({
            name: csfr_token_name,
            value: $.cookie(csfr_cookie_name)
        });
        $.ajax({
            url: base_url + 'auth_controller/login_post',
            type: 'POST',
            data: c,
            success: function (e) {
                var d = JSON.parse(e);
                if (d.result == 1) {
                    location.reload()
                } else {
                    if (d.result == 0) {
                        document.getElementById('result-login').innerHTML = d.error_message
                    }
                }
            }
        })
    })
});

$(document).on("click", ".widget-popular-posts-c .btn-nav-tab", function () {
    $(".widget-popular-posts-c .loader-popular-posts").show();
    var b = $(this).attr("aria-controls");
    var c = $(this).attr("data-lang-id");
    var a = {
        date_type: b,
        lang_id: c
    };
    a[csfr_token_name] = $.cookie(csfr_cookie_name);
    $.ajax({
        type: "POST",
        url: base_url + "ajax_controller/get_popular_posts",
        data: a,
        success: function (e) {
            var d = JSON.parse(e);
            if (d.result == 1) {
                setTimeout(function () {
                    document.getElementById("tab_popular_posts_response").innerHTML = d.html_content;
                    $(".widget-popular-posts-c .loader-popular-posts").hide()
                }, 500)
            }
            $(".widget-popular-posts-c .loader-popular-posts").hide()
        }
    })
});

$(function () {
    $('.select2').select2()
});

//make reaction
function make_reaction(post_id, reaction, lang) {
    var data = {
        post_id: post_id,
        reaction: reaction,
        lang: lang
    };
    data[csfr_token_name] = $.cookie(csfr_cookie_name);
    $.ajax({
        method: "POST",
        url: base_url + "home_controller/save_reaction",
        data: data
    }).done(function (response) {
        document.getElementById("reactions_result").innerHTML = response
    })
}

$(document).ready(function () {
    //make registered comment
    $("#make_comment_registered").submit(function (event) {
        event.preventDefault();
        var form_values = $(this).serializeArray();
        var data = {};
        var submit = true;
        $(form_values).each(function (i, field) {
            if ($.trim(field.value).length < 1) {
                $("#make_comment_registered [name='" + field.name + "']").addClass("is-invalid");
                submit = false;
            } else {
                $("#make_comment_registered [name='" + field.name + "']").removeClass("is-invalid");
                data[field.name] = field.value;
            }
        });
        data['limit'] = $('#post_comment_limit').val();
        data['lang_folder'] = lang_folder;
        data[csfr_token_name] = $.cookie(csfr_cookie_name);
        if (submit == true) {
            $.ajax({
                type: "POST",
                url: base_url + "home_controller/add_comment_post",
                data: data,
                success: function (response) {
                    var obj = JSON.parse(response);
                    if (obj.type == 'message') {
                        document.getElementById("message-comment-result").innerHTML = obj.message;
                    } else {
                        document.getElementById("comment-result").innerHTML = obj.message;
                    }
                    $("#make_comment_registered")[0].reset();
                }
            });
        }
    });

    //make comment
    $("#make_comment").submit(function (event) {
        event.preventDefault();
        var form_values = $(this).serializeArray();
        var data = {};
        var submit = true;
        $(form_values).each(function (i, field) {
            if ($.trim(field.value).length < 1) {
                $("#make_comment [name='" + field.name + "']").addClass("is-invalid");
                submit = false;
            } else {
                $("#make_comment [name='" + field.name + "']").removeClass("is-invalid");
                data[field.name] = field.value;
            }
        });
        data['limit'] = $('#post_comment_limit').val();
        data['lang_folder'] = lang_folder;
        data[csfr_token_name] = $.cookie(csfr_cookie_name);

        if (is_recaptcha_enabled == true) {
            if (typeof data['g-recaptcha-response'] === 'undefined') {
                $('.g-recaptcha').addClass("is-recaptcha-invalid");
                submit = false;
            } else {
                $('.g-recaptcha').removeClass("is-recaptcha-invalid");
            }
        }

        if (submit == true) {
            $('.g-recaptcha').removeClass("is-recaptcha-invalid");
            $.ajax({
                type: "POST",
                url: base_url + "home_controller/add_comment_post",
                data: data,
                success: function (response) {
                    var obj = JSON.parse(response);
                    if (obj.type == 'message') {
                        document.getElementById("message-comment-result").innerHTML = obj.message;
                    } else {
                        document.getElementById("comment-result").innerHTML = obj.message;
                    }
                    if (is_recaptcha_enabled == true) {
                        grecaptcha.reset();
                    }
                    $("#make_comment")[0].reset();
                }
            });
        }
    });
});

//make registered subcomment
$(document).on('click', '.btn-subcomment-registered', function () {
    var comment_id = $(this).attr("data-comment-id");
    var data = {};
    data['lang_folder'] = lang_folder;
    data[csfr_token_name] = $.cookie(csfr_cookie_name);
    $("#make_subcomment_registered_" + comment_id).ajaxSubmit({
        beforeSubmit: function () {
            var form = $("#make_subcomment_registered_" + comment_id).serializeArray();
            var comment = $.trim(form[0].value);
            if (comment.length < 1) {
                $(".form-comment-text").addClass("is-invalid");
                return false;
            } else {
                $(".form-comment-text").removeClass("is-invalid");
            }
        },
        type: "POST",
        url: base_url + "home_controller/add_comment_post",
        data: data,
        success: function (response) {
            var obj = JSON.parse(response);
            if (obj.type == 'message') {
                document.getElementById("message-subcomment-result-" + comment_id).innerHTML = obj.message;
            } else {
                document.getElementById("comment-result").innerHTML = obj.message;
            }
            $('.visible-sub-comment form').empty();
        }
    })
});

//make subcomment
$(document).on('click', '.btn-subcomment', function () {
    var comment_id = $(this).attr("data-comment-id");
    var data = {};
    data['lang_folder'] = lang_folder;
    data[csfr_token_name] = $.cookie(csfr_cookie_name);
    data['limit'] = $('#post_comment_limit').val();
    var form_id = "#make_subcomment_" + comment_id;
    $(form_id).ajaxSubmit({
        beforeSubmit: function () {
            var form_values = $("#make_subcomment_" + comment_id).serializeArray();
            var submit = true;
            $(form_values).each(function (i, field) {
                if ($.trim(field.value).length < 1) {
                    $(form_id + " [name='" + field.name + "']").addClass("is-invalid");
                    submit = false;
                } else {
                    $(form_id + " [name='" + field.name + "']").removeClass("is-invalid");
                    data[field.name] = field.value;
                }
            });

            if (is_recaptcha_enabled == true) {
                if (typeof data['g-recaptcha-response'] === 'undefined') {
                    $(form_id + ' .g-recaptcha').addClass("is-recaptcha-invalid");
                    submit = false;
                } else {
                    $(form_id + ' .g-recaptcha').removeClass("is-recaptcha-invalid");
                }
            }

            if (submit == false) {
                return false;
            }
        },
        type: "POST",
        url: base_url + "home_controller/add_comment_post",
        data: data,
        success: function (response) {
            if (is_recaptcha_enabled == true) {
                grecaptcha.reset();
            }
            var obj = JSON.parse(response);
            if (obj.type == 'message') {
                document.getElementById("message-subcomment-result-" + comment_id).innerHTML = obj.message;
            } else {
                document.getElementById("comment-result").innerHTML = obj.message;
            }
            $('.visible-sub-comment form').empty();
        }
    })
});

//load more comment
function load_more_comment(post_id) {
    var limit = parseInt($("#post_comment_limit").val());
    var data = {
        "post_id": post_id,
        "limit": limit
    };
    data['lang_folder'] = lang_folder;
    data[csfr_token_name] = $.cookie(csfr_cookie_name);
    $("#load_comment_spinner").show();
    $.ajax({
        type: "POST",
        url: base_url + "home_controller/load_more_comment",
        data: data,
        success: function (response) {
            setTimeout(function () {
                $("#load_comment_spinner").hide();
                var obj = JSON.parse(response);
                if (obj.result == 1) {
                    document.getElementById("comment-result").innerHTML = obj.html_content;
                }
            }, 1000)
        }
    });
}

//delete comment
function delete_comment(comment_id, post_id, message) {
    swal({
        text: message,
        icon: "warning",
        buttons: [sweetalert_cancel, sweetalert_ok],
        dangerMode: true,
    }).then(function (willDelete) {
        if (willDelete) {
            var limit = parseInt($("#post_comment_limit").val());
            var data = {
                "id": comment_id,
                "post_id": post_id,
                "limit": limit
            };
            data['lang_folder'] = lang_folder;
            data[csfr_token_name] = $.cookie(csfr_cookie_name);
            $.ajax({
                type: "POST",
                url: base_url + "home_controller/delete_comment_post",
                data: data,
                success: function (response) {
                    var obj = JSON.parse(response);
                    if (obj.result == 1) {
                        document.getElementById("comment-result").innerHTML = obj.html_content;
                    }
                }
            });
        }
    });
}

//show comment box
function show_comment_box(comment_id) {
    if ($('#sub_comment_form_' + comment_id).html().length > 0) {
        $('#sub_comment_form_' + comment_id).empty();
    } else {
        $('.visible-sub-comment').empty();
        var limit = parseInt($("#post_comment_limit").val());
        var data = {
            "comment_id": comment_id,
            "limit": limit
        };
        data['lang_folder'] = lang_folder;
        data[csfr_token_name] = $.cookie(csfr_cookie_name);
        $.ajax({
            type: "POST",
            url: base_url + "home_controller/load_subcomment_box",
            data: data,
            success: function (response) {
                $('#sub_comment_form_' + comment_id).append(response);
            }
        });
    }
}

//like comment
function like_comment(id) {
    var limit = parseInt($("#post_comment_limit").val());
    var data = {
        "id": id,
        "limit": limit
    };
    data[csfr_token_name] = $.cookie(csfr_cookie_name);
    $.ajax({
        type: "POST",
        url: base_url + "home_controller/like_comment_post",
        data: data,
        success: function (response) {
            var obj = JSON.parse(response);
            if (obj.result == 1) {
                document.getElementById("lbl_comment_like_count_" + id).innerHTML = obj.like_count;
            }
        }
    });
}

//dislike comment
function dislike_comment(id) {
    var limit = parseInt($("#post_comment_limit").val());
    var data = {
        "id": id,
        "limit": limit
    };
    data[csfr_token_name] = $.cookie(csfr_cookie_name);
    $.ajax({
        type: "POST",
        url: base_url + "home_controller/dislike_comment_post",
        data: data,
        success: function (response) {
            var obj = JSON.parse(response);
            if (obj.result == 1) {
                document.getElementById("lbl_comment_dislike_count_" + id).innerHTML = obj.like_count;
            }
        }
    });
}