$(document).ready(function () {

    // Confirmation Message On Button
    
    $('.confirm').click(function () {
        var msgcon;
        // التحقق من وجود العنصر المطلوب وأنه غير فارغ
        if ($("#msgcon").length && $("#msgcon").val().trim() !== "") {
            msgcon = $("#msgcon").val().trim();
        } else {
            msgcon = 'هل أنت متأكد؟';
        }
        return confirm(msgcon);
    });

    $("#msgdata").delay(500).show('fast');
    $("#msgdata").delay(8000).hide('slow');
    ////////////////////////////////////////////////////////////////
    // كود عدم ارسال النموذج أكثر من مرة
    $('form').submit(function() {
        $(this).find("input[type='submit']").prop('disabled',true);
    });
    ///////////////////////////////////////////////////////////////////
    //$('.js-example-basic-single').select2();
    // $('select').select2();
    ///////////////////////////////////////////////////////////////////
    function initializeSelect2(selector) {
        $(selector).select2({
            dir: 'rtl',
            width: '100%'
        });
    }
    initializeSelect2('.getsearch');
    ///////////////////////////////////////////////////////////////////

    // Convert Password Field To Text Field On Hover
    var passField = $('.password');
    $('.show-pass').hover(function () {
        passField.attr('type', 'text');
    }, function () {
        passField.attr('type', 'password');
    });

    /////////////////////////////////////////////////////
    
    $('#username').change(function() {
        // استدعاء السيرفر لاسترجاع الصلاحيات للمستخدم المحدد
        var selectedUser = $('#username').val();
        var selecteddepartment = $('#department').val();
        $.ajax({
            type: 'POST',
            url: 'get_permissions.php', // اسم الصفحة التي تُعيد الصلاحيات
            data: {
                'username': selectedUser,
                'selecteddepartment': selecteddepartment
            },
            success: function(data) {
                // alert("Status: " + textStatus); alert("Error: " + errorThrown);
                // تحديث الصلاحيات عند الاستجابة الناجحة
                var permissions = JSON.parse(data);
                // $("#err").html(data).show('fast');
                $('input[name="permissions[]"]').prop('checked', false);
                $.each(permissions, function(index, value) {
                    $('input[name="permissions[]"][value="' + value + '"]').prop(
                        'checked', true);
                    });
                }
            });
            // var s = {
            //     'username': selectedUser,
            //     'selecteddepartment': selecteddepartment
            // };
            // $.post("get_permissions.php", s, function (data) {
            //     // alert("Status: " + textStatus); alert("Error: " + errorThrown);
            //     // تحديث الصلاحيات عند الاستجابة الناجحة
            //     var permissions = JSON.parse(data);
            //         $('input[name="permissions[]"]').prop('checked', false);
            //         $.each(permissions, function(index, value) {
            //             $('input[name="permissions[]"][value="' + value + '"]').prop(
            //                 'checked', true);
            //         });
            // });
            // return false;
    });
    $('#department').change(function() {
        // استدعاء السيرفر لاسترجاع الصلاحيات للمستخدم المحدد
        var selectedUser = $("#username").val();
        var selecteddepartment = $(this).val();
        $.ajax({
            type: 'POST',
            url: 'get_permissions.php', // اسم الصفحة التي تُعيد الصلاحيات
            data: {
                'username': selectedUser,
                'selecteddepartment': selecteddepartment
            },
            success: function(data) {
                // alert("Status: " + textStatus); alert("Error: " + errorThrown);
                // تحديث الصلاحيات عند الاستجابة الناجحة
                var permissions = JSON.parse(data);
                // $("#err").html(data).show('fast');
                $('input[name="permissions[]"]').prop('checked', false);
                $.each(permissions, function(index, value) {
                    $('input[name="permissions[]"][value="' + value + '"]').prop(
                        'checked', true);
                    });
                }
            });
    });
    ///////////////////////////////////////////////////////
    $('li.category').addClass('plusimageapply');
    $('li.category').children().addClass('selectedimage');
    $('li.category').children().hide();
    $("ul.firstLevel li a").css("display", "block");

    $('li.category > a').click(function(e){
        e.preventDefault();
        e.stopPropagation();
        if($(this).hasClass('minusimageapply')) { 
        //collapse other category and expand its children. 
        $(this).next('ul').hide();
        $(this).removeClass('minusimageapply').addClass('plusimageapply');

        } else { 
            $(this).next('ul').show();
            $(this).removeClass('plusimageapply').addClass('minusimageapply');
        }
    });
    //////////////////////////////////////////////////

    $("#lv1").change(function () {
    var accountup = $("#lv1").val();
    var s = {
        "acc_ch": 1,
        "accountup": accountup
    };
    $.post("search_live.php", s, function (data) {
        $("#lv2").html(data).show('fast');
    });
    return false;
}).keyup();
    /////////////////////////////////////////////////////////////
    $("#lv2").change(function () {
        var accountup = $("#lv2").val();
        var s = {
            "acc_ch": 2,
            "accountup": accountup
        };
        $.post("search_live.php", s, function (data) {
    
            $("#lv3").html(data).show('fast');
        });
        return false;
    }).keyup();
    /////////////////////////////////////////////////////////////
    $("#lv3").change(function () {
        var accountup = $("#lv3").val();
        var s = {
            "acc_ch": 7,
            "accountup": accountup
        };
        $.post("search_live.php", s, function (data) {
    
            $("#lv4").html(data).show('fast');
        });
        return false;
    }).keyup();
    /////////////////////////////////////////////////////////////
    $("#lv3f").on("change keyup", function () {
        var accountup = $(this).val();
        var s = {
            "acc_ch": 7,
            "accountup": accountup
        };
        $.post("search_live.php", s, function (data) {
            $("#lv4f").html(data).show('fast');
            myJQueryFunction("#lv4f", "#lv5f"); 
        });
        return false;
        }).trigger('change');  // يمكنك استدعاء trigger لتشغيل الأحداث المرتبطة على الفور
        /////////////////////////////////////////////////////////////
    $("#lv3t").on("change keyup", function () {
        var accountup = $(this).val();
        var s = {
            "acc_ch": 7,
            "accountup": accountup
        };
        $.post("search_live.php", s, function (data) {
            $("#lv4t").html(data).show('fast');
            myJQueryFunction("#lv4t", "#lv5t"); // استدعاء الدالة داخل هذا السياق
        });
        return false;
        }).trigger('change');  // يمكنك استدعاء trigger لتشغيل الأحداث المرتبطة على الفور
        /////////////////////////////////////////////////////////////
        /* start functions */
        function myJQueryFunction(selector1, selector2) {
            var accountup = $(selector1).val();
            var s = {
                "acc_ch": 7,
                "accountup": accountup
            };
        
            $.post("search_live.php", s, function (data) {
                $(selector2).html(data).show('fast');
            });
            return false;
        }
        /////////////////////////////////////////////////////////////
        function updateEvents(container) {
            // تعيين حدث change لجميع العناصر التي تحتوي على الاسم "lv3f[]"
            container.find("[name='lv3f[]']").on("change keyup", function () {
                var accountup = $(this).val();
                var s = {
                    "acc_ch": 7,
                    "accountup": accountup
                };
        
                // العثور على العنصر الذي يحتوي على العناصر #lv4f و #lv5f داخل الحاوية
                var container = $(this).closest("[id^='div_lv']");
                // العثور على العنصر #lv4f داخل الحاوية وتحديثه
                container.find("[name='lv4f[]']").html("");  // قم بتفريغ #lv4f
                container.find("[name='lv5f[]']").html("");  // قم بتفريغ #lv5f
        
                $.post("search_live.php", s, function (data) {
                    // العثور على العنصر #lv4f داخل الحاوية وتحديثه
                    container.find("[name='lv4f[]']").html(data).show('fast');
                    // العثور على العنصر #lv5f داخل الحاوية وتحديثه
                    container.find("[name='lv5f[]']").html(data).show('fast');
                });
        
                return false;
            }).trigger('change');  // يمكنك استدعاء trigger لتشغيل الأحداث المرتبطة على الفور
        }
        /////////////////////////////////////////////////////////////
        $("#lv3t").change(function () {
            var accountup = $(this).val();
            var s = {
                "acc_ch": 7,
                "accountup": accountup
            };
            $.post("search_live.php", s, function (data) {
                $("#lv4t").html(data).show('fast');
            });
            return false;
        }).keyup();
        /////////////////////////////////////////////////////////////
        $("#lv4f").change(function () {
            var accountup = $(this).val();
            var s = {
                "acc_ch": 7,
                "accountup": accountup
            };
            $.post("search_live.php", s, function (data) {
        
                $("#lv5f").html(data).show('fast');
            });
            return false;
        }).keyup();
        /////////////////////////////////////////////////////////////
        $("#lv4t").change(function () {
            var accountup = $(this).val();
            var s = {
                "acc_ch": 7,
                "accountup": accountup
            };
            $.post("search_live.php", s, function (data) {
                
                $("#lv5t").html(data).show('fast');
            });
            return false;
        }).keyup();
        ////////////////////////////////////////////
        function loadlink(){
            var s = {
                "acc_ch": 8
            };
            $.post("search_live.php", s, function (data) {
                $("#lastidyomya").val(data);
            });
        }
        loadlink(); // This will run on page load
        setInterval(function(){
            loadlink() // this will run after every 2 seconds
        }, 2000);
        ////////////////////////////////////////////
        

});
function printSpecificSection(sectionId) {
    var printContent = document.getElementById(sectionId).innerHTML;
    var win = window.open('', '', 'left=0,top=0,width=800,height=900,toolbar=0,scrollbars=0,status=0');

    // إضافة CSS إلى النافذة الجديدة
    var style = document.createElement('style');
    style.innerHTML = document.querySelector('style').innerHTML;
    win.document.head.appendChild(style);

    Array.from(document.querySelectorAll('link[rel="stylesheet"]')).forEach(link => {
        win.document.head.appendChild(link.cloneNode());
    });

    // إضافة ملفات JavaScript إلى النافذة الجديدة
    Array.from(document.querySelectorAll('script')).forEach(originalScript => {
        var script = document.createElement('script');
        script.src = originalScript.src;
        script.type = 'text/javascript';
        win.document.body.appendChild(script);
    });

    // نسخ محتوى الجزء إلى النافذة الجديدة
    win.document.body.innerHTML = printContent;

    // مهم: ضع في اعتبارك أن تحميل السكريبتات قد يحتاج وقتاً. قد تحتاج إلى تأخير الطباعة حتى تحميل السكريبتات بشكل كامل
    win.document.close(); // إغلاق مستند النافذة لتحديث العرض
    win.focus(); // تركيز النافذة للمستخدم

    // تأخير الطباعة حتى يتم تحميل السكريبتات
    setTimeout(function() {
        win.print(); // طباعة محتوى النافذة الجديدة
        win.close(); // إغلاق النافذة بعد الطباعة
    }, 1000); // تأخير 1000 ميللي ثانية (1 ثانية)، قد تحتاج لزيادة القيمة بناءً على حجم السكريبتات
}

// مثال على استخدام الدالة
// printSpecificSection('sectionIdToPrint');