class REV{
    idYear = 0;
    idSubscription = 0;
    idStudent = 0;
    isPage = 0;
    async rev(){
        const result = await powers.checkOpenPage("students");
        if (!result) return;
        rev.isPage = 1;
        await $('.mainBody').html(`
<div class="container my-4">
  
  <!-- العنوان -->
  <div class="text-center mb-5">
    <h2 class="page-title">📋 نظام تحضير الطلاب</h2>
    <p class="text-muted text-center">استخدم جهاز الباركود لتسجيل الحضور أو اختر مجموعة لعرض طلابها</p>
  </div>

  <!-- Input الباركود -->
  <div class="card barcode-card p-4 mb-4">
    <h5 class="mb-3 text-primary">🎯 إدخال كود الطالب</h5>
    <input type="text" onchange="rev.barcodeRev()" id="barcodeInput" class="form-control form-control-lg text-center" placeholder="امسح كود الطالب هنا">
  </div>

  <!-- أزرار السنوات -->
  <div class="group-buttons text-center mb-5 btnYears">

  </div>

<!-- أزرار المجموعات -->
  <div class="group-buttons text-center mb-5 btnSubscription">

  </div>
  <!-- كروت الطلاب -->
  <div class="row g-4 bodyStudent" >
    

  </div>
</div>
        `);
        await rev.getGroube(0)
        await rev.getYears()
        await rev.selectBySubscription(0)
    }
    async getGroube(idGroub){
        main.dataResponse = []
        await main.getData("getData","getSubscriptionByDay",idGroub);
        if(main.dataResponse != null){
            $('.btnSubscription').html(`<button class="btn btn-outline-success me-2 groupBtn" onclick='rev.selectBySubscription(0)'>الكل</button>`);
            for(var i = 0; i < main.dataResponse.length;i++){
                $('.btnSubscription').append(`<button class="btn btn-outline-primary me-2 groupBtn" onclick='rev.selectBySubscription(${main.dataResponse[i].id_subscription})'>${main.dataResponse[i].name_subscription}</button>`)
            }
        }else{
             $('.btnSubscription').html(`<center><h1>لا يوجد أشتراكات اليوم في نفس الفئة الدراسية</h1></center>`)
        }

    }
    async getYears(){
        await main.getData("getData","getYears",0);
        if(main.dataResponse != null){
            $('.btnYears').html(`<button class="btn btn-outline-success me-2 yearBtn" onclick='rev.getGroube(0)'>الكل</button>`);
            for(var i = 0; i < main.dataResponse.length;i++){
                $('.btnYears').append(`<button class="btn btn-outline-primary me-2 yearBtn" onclick='rev.getGroube(${main.dataResponse[i].id_year})'>${main.dataResponse[i].name_year}</button>`)
            }
        }
    }

    async getStudent(){

    }

    async selectBySubscription(id){
        rev.idSubscription = id;
        await rev.getRevStudent(id)
    }
    async barcodeRev(){
        var barcodeInput = $('#barcodeInput').val()
        if(rev.idSubscription == 0){
            new sweetAlert("اختر المجموعة قبل التحضير","","error")
            return false
        }
        await $.ajax({
            url:"model/rev.php",
            type:"POST",
            dataType:"JSON",
            data:{
                typePage:"revUsingBarcode",
                id_emp:main.idEmp,
                code:barcodeInput,
                subscription:rev.idSubscription,
            },
            success:function(data){
                console.log(data)
                rev.idStudent = data.idStudent
                if(data.checkID == 0){
                    new sweetAlert("تاكد من صحة الكرت","","error")
                }else{
                    if(data.numSubscription == 0){
                        rev.checkIsStudentVaildInSubscription()
                        //new sweetAlert(" الطالب غير مسجل في هذا الأشتراك ","","error")
                    }else{
                        if(data.successRev == 0){
                            rev.checkIsStudentVaildInSubscription()
                        }else{
                            if(data.rev_today == 0){
                                new sweetAlert(" تم تحضير الطالب اليوم في هذة المجموعة ","","info")
                            }else{
                               // new sweetAlert("","","success")
                                rev.selectBySubscription(rev.idSubscription)

                            }
                        }

                    }
                }

            }
        })
        await $('#barcodeInput').val('')
        await $('#barcodeInput').focus()
    }
    async addSubscriptionToStudentInRev(){

    }
    async getRevStudent(s){
        $('.bodyStudent').html('')
        await $.ajax({
            url:"model/rev.php",
            type:"POST",
            dataType:"JSON",
            data:{
                typePage:"getRevStudent",
                typeRev:s,
            },
            success:function(data){
                console.log(data)
                for(var i = 0; i < data.length;i++){
                    if(data[i].image_student == ""){
                        var img = "img/man.png";
                    }else{
                        var img = data[i].image_student
                    }
                    rev.pushBodyRev(img,data[i].name_student,data[i].name_subscription,data[i].count_after_rev,data[i].price,data[i].id_student)
                }
            }
        })
    }

    async checkIsStudentVaildInSubscription(){
        await $.ajax({
            url:"model/rev.php",
            type:'POST',
            dataType:"JSON",
            data:{
                typePage:"getDataStudentYear",
                idStudent:rev.idStudent,
                idSubscription:rev.idSubscription
            },
            success:async function(data){
                if(data.a == 0){
                    new sweetAlert("الطالب في مرحلة عمرية مختلفة عن المجموعة","","error")
                }
                if(data.a == 1){
                    Swal.fire({
                        title: "<strong>الطالب ليس مسجل في المجموعة او لديه أشتراك انتهي</strong>",
                        icon: "info",
                        html: `
                        <div>
                            <button onclick='rev.subscripStudentInRev(0)'>اشتراك + التحضير</button>
                            <button onclick='rev.subscripStudentInRev(1)'>اشتراك + التحضير + استلام الأشتراك</button>
                        </div>
                            `,
                        });
                }
            }
        })
    }
    async subscripStudentInRev(typeStudent){
        await $.ajax({
            url:"model/rev.php",
            type:"POST",
            dataType:"JSON",
            data:{
                typePage:"subscripStudentInRev",
                type:typeStudent,
                idStudent:rev.idStudent,
                idSubscription:rev.idSubscription,
                idEmp: main.idEmp
            },
            success:async function(data){
                Swal.close();
                rev.rev()
            }
        })
    }
    async pushBodyRev(img,nameStudent,nameSubscription,countAfterRev,price,id){
        $('.bodyStudent').append(`
    <div class="col-md-6 col-lg-4">
      <div class="card student-card p-3 shadow-sm">
        <div class="d-flex align-items-center">
          <img src="${img}" class="rounded-circle me-3" width="80" height="80" alt="صورة الطالب">
          <div class="flex-grow-1">
            <h5 class="mb-1">${nameStudent}</h5>
            <span class="badge bg-success mb-2">${nameSubscription}</span>
            <p class="mb-1">📌 الحصص المتبقية: <span class="fw-bold text-primary">${countAfterRev}</span></p>
            <p class="mb-1">💰 المديونية: <span class="fw-bold text-success">${price} ج</span></p>
          </div>
        </div>
        <div class="mt-3 d-flex justify-content-between">
          <button class="btn btn-success btn-sm" onclick="student.getSubscription(${id})">الأشتراكات</button>
          
        </div>
      </div>
    </div>
                    `);
    }
}
////<button class="btn btn-danger btn-sm" onclick="alert('comming soon')">❌ إلغاء الحضور</button>

var rev = new REV();


