<main class="common_margin" id="main">
    <div class="main-inner-content" style="width:100%;     position: relative;">
        <h3 class="common-heading">Notification</h3>

        
        <div class=" row cal-assinment-new flex-column mb-5" style="margin: 0 !important;">
            <div class="po-calendar d-inline mt-3 mb-3" style="width: 30%;">
                <input type="text" class="form-control" placeholder="Select a date" id="nepali-datepicker">
                <i class="fas fa-calendar-alt cal-icon"></i>
            </div>
            
            <p class="mb-2">Note : To view different months notification, please select the required month and any day</p>
            <hr>
            <div class="noti-wrap-sec">

                <div class="noti-wrap-sec-left" id="notifications-container">
                    <?php if(isset($result)) {?>
                        <?php foreach ($result as $key => $value) { 
                            $originalDate = $result[$key]['created_at'];
                            $newDate = date("d-m-Y", strtotime($originalDate));
                            $newTime = date("h:i", strtotime($originalDate));
                            if($key == 0) {
                                echo '<div class="content-exam-box-one notif-active">';
                            } else {
                                echo '<div class="content-exam-box-one">';
                            }
                            ?>
                            <div class="content-box-one-inner">
                                <div class="content-right-side">
                                    <h6 class="exs-notif-title"><?php echo $result[$key]['notification_title']?></h6>
                                </div>
                            </div>
                            <div class="content-mid-text">
                                <p class="exs-notif-desc"><?php echo substr($result[$key]['description'], 0, 90)?>...</p>
                            </div>
                            <div class="content-last-sec">
                                <li><b>Date : <span class="exs-notif-date"><?php echo $newDate ?></span></b></li>
                                <li><b>Time : <span class="exs-notif-time"><?php echo $newTime ?></span></b></li>
                                <li style="text-align:right;"><input type="button" value="view details" onClick="displaySelectedNotification(event, <?php echo $result[$key]['notification_id']?>)" class="view-detail-notify"></li>
                            </div>
                        </div>
                    <?php } 
                } else {
                    echo '<p> There are no notifications for this month </p>';
                }?>
            </div>
            <div class="noti-wrap-sec-right">
                <div class="noti-wrap-sec-right-inner">
                    <p class="dis-notif-title"></p>
                    <p class="dis-notif-datetime"></p>
                </div>
                <div class="noti-para-sec">
                    <p class="dis-notif-desc"></p>
                </div>
            </div>
        </div>
    </div>
</main>
<script>
    // Notification Module

    $('#nepali-datepicker').nepaliDatePicker({
        language : 'english',
        ndpYear: true,
        ndpMonth: true,
        ndpYearCount: 10,
        onChange: function(data) {
            console.log(typeof data.object.month)
            let month = data.object.month;
            let YM = data.object.year + '-' + month;
            monthNotification(YM);
        }
    });

    const monthNotification = function(date) {
        let nContainer = $('#notifications-container');
        let dateArr = JSON.stringify(date.split('-'));
        $.ajax({
            url : 'ajax_displayNotificationByDate',
            data : {dateArr : dateArr},
            type : 'POST',
            async : false,
            success: function(data){

                let result = JSON.parse(data);

                if(result == 'failed') {
                    nContainer.empty();
                    nContainer.append('<p> You have no Notification for this month </p>');
                } else {
                    nContainer.empty();
                    $.each(result, function(iresultndex, value) {
                        nContainer.append(value);
                    });
                }          

            }
        });
    }

    const displaySelectedNotification = function(e, id) {

        $('.content-exam-box-one').removeClass('notif-active');
        e = e || window.event;

        var target = e.srcElement || e.target;

        while (target && target.className !== "content-exam-box-one") {
            target = target.parentNode;
        }
        target.classList.add('notif-active');
        let notifDesc = '';

        $.ajax({
            url : 'ajax_getNotificationDescription',
            data : {notifid : id},
            type : 'POST',
            async : false,
            success: function(data){

                let result = JSON.parse(data);

                console.log(result);

                if(result == 'failed') {
                    let notifDesc = target.querySelector('.exs-notif-desc').textContent;
                } else {
                    notifDesc = result['description'];
                }          

            }
        });

        let notifTitle = target.querySelector('.exs-notif-title').textContent;

        let notifTime = target.querySelector('.exs-notif-time').textContent;
        let notifDate = target.querySelector('.exs-notif-date').textContent;

        $('.dis-notif-title').text(notifTitle);
        $('.dis-notif-desc').text(notifDesc);
        $('.dis-notif-datetime').text(notifDate + ', ' + notifTime);


    }
</script>