jQuery(document).ready(function ($) {
    //popmenu

   /* $('#closeDialog').on('click', function (){
       $( "#dialog" ).dialog( "close" ); 
    });
    $('#dateSubmit').on('click', function (){
       $( "#dialog" ).dialog( "close" ); 
    }); */
    var location = window.location.href;

            $(document).on('click', '.course-quiz.course-item', function (event) {
                event.preventDefault();
                window.open($(this).find('a').attr('href').addQueryVar('content-item-only', 'yes'), 'window', 'toolbar=no, menubar=no, resizable=yes');
            });

    var $popup = $('#course-curriculum-popup');
    
    if ($popup.length) {
        $('#learn-press-course-curriculum').appendTo($popup.find('#popup-sidebar'));
    }


    $(document).on('click', '#course-learning .nav-tabs li', function () {
        
        var $sections = $('#learn-press-course-curriculum'),
            id = $(this).find('a').attr('href');
        $(id).append($sections);

        $.each(['overview', 'bookmarked', 'upsell', 'practice_materials'], function (i, cls) {
            $sections.removeClass('tab-course-' + cls)
        });
        $sections
            .addClass($(this).find('a').attr('href').replace('#', ''));

    }).on('click', '#course-learning2 .nav-tabs li', function () {

        var $sections = $('#learn-press-course-curriculum2'),
            id = $(this).find('a').attr('href');
        $(id).append($sections);

        $.each(['today', 'scheduled'], function (i, cls) {
            $sections.removeClass('tab-course-' + cls)
        });
        $sections
            .addClass($(this).find('a').attr('href').replace('#', ''));

    }).on('click', '.course-item', function (event) {
        var senderElementName = event.target.tagName.toLowerCase();
        if(senderElementName === 'a'){
        var dID = $(this).attr('data-id');
        if($(this).hasClass('course-lesson')){
            $('body').addClass('noscroll');
            $('body').append(Template('curriculum-popup'));
            $('body').append(Template('block-content'));
            $('.thim-box-loading-container').css('visibility','visible');
            $('#learn-press-block-content').show();
            $('.course-item-'+dID).addClass('item-current').siblings('.item-current').removeClass('item-current');
        }else{
            $('.course-item-'+dID).siblings('.item-current').removeClass('item-current');
        }
        
        $('.course-item-'+dID).addClass('current-section').siblings().addClass('current-section');
        $('.course-item-'+dID).siblings(":last").addClass('last-item');


        var $popup = $('#course-curriculum-popup'),
            //$sections = $('#learn-press-course-curriculum').find('.section:visible'),
            $items = $('#learn-press-course-curriculum').find('.current-section:visible'),
            $activeItem = $items.filter('.item-current'),
            currentIndex = $items.index($activeItem),
            $buttonsWrap = $('#popup-footer').find('.buttons');
        $buttonsWrap.removeClass('first-item last-item');
        
        if (currentIndex === 0) {
            $buttonsWrap.addClass('first-item');
        } else if (currentIndex == $items.length - 1) {
            $buttonsWrap.addClass('last-item');
        }

        $popup.find('.item-counter').html((currentIndex + 1) + ' of ' + $items.length);
        
        //Loading Lessons//
        $('#popup-prev-item').prop('disabled', true);
        $('#popup-next-item').prop('disabled', true);
        $("#popup-prev-item").html("Loading");
        $("#popup-next-item").html("Loading");
        prevData = currentIndex -1;
        //console.table($(this).next().find('.lesson-title').attr('data-id'));
        var dataIDPrev = $(this).prev().data("id");
        var dataIDNext = $(this).next().data("id");
        var dataID = $(this).data("id");
        var user = $('#user-id').val();
		var course = $('#course-id').val();
        $('#popup-complete-item').prop('disabled', true);
                $("#popup-complete-item").html("Loading..");
				$.ajax({
                     type: "POST",
                     url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/complete-lesson.php?lesson=' + dataID + '&course=' + course + '&user=' + user + '&type=check',
                     success : function (data) {  
                     // alert('ok');
                    // $('#popup-content-inner').html(data);
                        if(data === '1'){
                            $('#popup-complete-item').prop('disabled', false);
                            $('#popup-complete-item').html('Uncomplete');
                            $('#popup-complete-item').attr('data-complete', 'na');
                        }else if(data === '0'){
                            $('#popup-complete-item').prop('disabled', false);
                            $('#popup-complete-item').html('Complete')
                            $('#popup-complete-item').attr('data-complete', 'complete');
                        }
                    
                    }
                });
        $.ajax({
            type: "POST",
            url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/get-lesson.php?lesson=' + dataID,
            success : function (data) {  
            // alert('ok');
                $("#popup-content-inner").html(data);
                $('#learn-press-block-content').hide();
                $('.back-to-course-button').show();
            }
        }); 
        
        //Load Next Lesson//
        $.ajax({
            type: "POST",
            url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/get-lesson.php?lesson=' + dataIDNext,
            success : function (data) {  
            // alert('ok');
                $('#popup-next-item').prop('disabled', false);
                $("#popup-next-item").html("Next");
                $("#nextlesson").html(data);
            }
        }); 
        
        //Load Previous Lesson//
        if($(this).prev().hasClass('current-section') == false){
            $("#popup-prev-item").hide();
        }else{
		    $.ajax({
                type: "POST",
                url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/get-lesson.php?lesson=' + dataIDPrev,
                success : function (data) {  
                    // alert('ok');
                    $('#popup-prev-item').prop('disabled', false);
                    $("#popup-prev-item").html("Previous");
                    $("#prevlesson").html(data);
                }
            }); 		
        }
        
        
    
        
        }
        
        
        
        
        //onShowPopup();

    }).on('click', '#popup-prev-item', function () {
        
        var $items = $('#learn-press-course-curriculum').find('.current-section:visible').filter(function () {
                return $(this).is(':visible') || $(this).hasClass('item-current')
            }),
            $item = $items.filter('.item-current'),
            currentID = $item.find('.course-item-title').data('id'),
            $prevItem = false,
            $buttonsWrap = $('#popup-footer').find('.buttons'),
            currentIndex = false;

        if ($item.length == 0) {
            $item = $('#learn-press-course-curriculum').find('.course-item.item-current');
            currentID = $item.find('.course-item-title').data('id');
        }
        for (var i = 0; i < $items.length; i++) {
            var id = $($items[i]).find('.course-item-title').data('id');
            if (id == currentID) {
                if (i > 0) {
                    $prevItem = $($items[i - 1]);
                }
                break;
            }
        }

        if ($prevItem) {
            $items.removeClass('item-current');
            if ($prevItem.hasClass('course-quiz')) {
                window.open($prevItem.find('a').attr('href').addQueryVar('content-item-only', 'yes'), 'window', 'toolbar=no, menubar=no, resizable=yes');
            } else {
                $prevItem.addClass('item-current');
				//console.log("Mimul HEE");
                //$nextItem.trigger('click');
                 $('#nextlesson').remove();
                 $('#popup-content-inner').attr('id', 'nextlesson');
                 $('#prevlesson').attr('id', 'popup-content-inner');
                 $('#nextlesson').hide();
                 $('#popup-content-inner').show();
                 var user = $('#user-id').val();
			     var course = $('#course-id').val();
			     var lessonId = $('#popup-content-inner #lesson-id').html();
                 $('#popup-complete-item').prop('disabled', true);
                 $("#popup-complete-item").html("Loading..");
                 $.ajax({
                     type: "POST",
                     url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/complete-lesson.php?lesson=' + lessonId + '&course=' + course + '&user=' + user + '&type=check',
                     success : function (data) {  
                     // alert('ok');
                        if(data === '1'){
                            $('#popup-complete-item').prop('disabled', false);
                            $('#popup-complete-item').html('Uncomplete');
                            $('#popup-complete-item').attr('data-complete', 'na');
                        }else if(data === '0'){
                            $('#popup-complete-item').prop('disabled', false);
                            $('#popup-complete-item').html('Complete')
                            $('#popup-complete-item').attr('data-complete', 'complete');
                        }
                    
                    }
                    });
                 //$('#frame').attr('id', 'frameNext');
                 //$('#framePrev').attr('id', 'frame');
                 //$('#frameNext').hide();
                 //$('#frame').show();
                 unblockPage();
               // blockPage();
                //$prevItem.trigger('click');
                //blockPage();
                $('#popup-prev-item').prop('disabled', true);
                $('#popup-next-item').prop('disabled', true);
                $("#popup-prev-item").html("Loading..");
                $("#popup-next-item").html("Loading..");
                /*setTimeout(function() {
                    $('#popup-prev-item').prop('disabled', false);
                    $('#popup-next-item').prop('disabled', false);
                    $("#popup-prev-item").html("Previous");
                    $("#popup-next-item").html("Next");
                }, 2000); */
            }
            currentIndex = $items.index($prevItem)
            $('.item-counter').html((currentIndex + 1) + ' of ' + $items.length -1);
            var prev = false;
            var indexPrev = currentIndex - 1;
			prev = $items[indexPrev];
            if ($(prev).hasClass('current-section') == false) {
                    $('#popup-prev-item').prop('disabled', false);
                    $('#popup-next-item').prop('disabled', false);
                    $("#popup-prev-item").hide();
                    $("#popup-next-item").html("Next");
                 }else{
				console.log("getPrevItem");
					console.log("prev", prev);
					console.log("prevIframe", $(prev).find('a').attr('href'));
				    if ($(prev).hasClass('course-lesson')) {
				        $('#popup-content-inner').after('<div id="prevlesson"></div>');
				        $('#prevlesson').hide();
					    $.ajax({
                                    type: "POST",
                                    url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/get-lesson.php?lesson=' + $(prev).find('a').attr('data-id'),
                                    success : function (data) {  
                                    // alert('ok');
                                    $('#popup-prev-item').prop('disabled', false);
                                    $('#popup-next-item').prop('disabled', false);
                                    $("#popup-prev-item").html("Previous");
                                    $("#popup-next-item").html("Next");
                                    $("#prevlesson").html(data);
                                    }
                                });
				    }
                 }
        }
        $buttonsWrap.removeClass('first-item last-item close-item');
        if (currentIndex == 0) {
            $buttonsWrap.addClass('first-item');
        } /*else if ($item.hasClass('last-item')) {
            $buttonsWrap.addClass('close-item');
        }*/

        onShowPopup();

    }).on('click', '#popup-bookmark-item', function (e) {
        console.log('triggerSchedule');
        var item = false;
        var today = new Date();
        var dd = String(today.getDate()).padStart(2, '0');
        var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
        var yyyy = today.getFullYear();
        today = mm + '/' + dd + '/' + yyyy;
        var LId = $('#popup-content-inner #lesson-id').html();
        var UId = $('#user-id').val();
        var CId = $('#course-id').val();
        if($('.course-item-'+LId+'.item-current','#learn-press-course-curriculum').length == 1) {
        item = $('#learn-press-course-curriculum').find('.course-item.item-current');
        }else{
        item = $('#learn-press-course-curriculum2').find('.course-item.item-current');
        }
        var SId = item.closest('.section').data('id');
        popmenu({
            items : {
            tomorrow : {
                name : 'Tomorrow', 
                icon : '', 
            },
            iiiDays : {
                name : '3 days', 
                icon : ''
            },
            vDays : {
                name : '5 days', 
                icon : ''
            },
            viiDays : {
                name : '7 days', 
                icon : ''
            },
            xDays : {
                name : '10 days', 
                icon : ''
            },
            xivDays : {
                name : '14 days', 
                icon : '',
                divid : true // shows a divider
            },
            pick : {
                name : 'Pick Date', 
                icon : '',
                divid : true // shows a divider
            },
            remove : {
                name : 'Remove from Schedule', 
                icon : ''
            }
        },
            callback: function(item){
        var id = $(item).attr('id');
            if(id === "tomorrow") {
                $.ajax({
                    type: "POST",
                    url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/bookmark-lesson.php?lesson=' + LId + '&user=' + UId + '&course=' + CId + '&day=1&section=' + SId,
                    success : function (data) {
                         //$.alerts.alert(date, '');
                        $.alerts.alert('This Lesson has been added to your schedule for ' + data, '');
                        $('.item-schedule-' + LId).html('Scheduled Review For -' + data + '<i onclick="changeSchedule(' + LId + ', ' + CId + ', ' + UId + ')" style="padding-left:5px;" class="fa fa-calendar"></i>');
                        if($('.overview-section').hasClass('bookmarked-section')){
                                }else{
                                    $('.overview-section').addClass('bookmarked-section');
                                }
                                $('.course-item-' + LId).attr('data-bookmarked', 'true');
                                if(data == today){
                                   if($('.overview-section').hasClass('scheduled-section')){
                                       $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }else{
                                        $('.overview-section').addClass('scheduled-section');
                                        $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }
                                }else{
                                    if($('.overview-section').hasClass('scheduled-section')){
                                        $('.course-item-' + LId).attr('data-scheduled', '');
                                    }else{
                                    }
                                }
                        setTimeout(function() {
                            //$.alerts._hide(); 
                        },2000);
                    } 
            
                });
            }else if(id === "iiiDays") {
                 $.ajax({
                    type: "POST",
                    url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/bookmark-lesson.php?lesson=' + LId + '&user=' + UId + '&course=' + CId + '&day=3&section=' + SId,
                    success : function (data) {
                         //$.alerts.alert(date, '');
                        $.alerts.alert('This Lesson has been added to your schedule for ' + data, '');
                        $('.item-schedule-' + LId).html('Scheduled Review For -' + data + '<i onclick="changeSchedule(' + LId + ', ' + CId + ', ' + UId + ')" style="padding-left:5px;" class="fa fa-calendar"></i>');
                       if($('.overview-section').hasClass('bookmarked-section')){
                                }else{
                                    $('.overview-section').addClass('bookmarked-section');
                                }
                                $('.course-item-' + LId).attr('data-bookmarked', 'true');
                                if(data == today){
                                   if($('.overview-section').hasClass('scheduled-section')){
                                       $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }else{
                                        $('.overview-section').addClass('scheduled-section');
                                        $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }
                                }else{
                                    if($('.overview-section').hasClass('scheduled-section')){
                                        $('.course-item-' + LId).attr('data-scheduled', '');
                                    }else{
                                    }
                                }
                        setTimeout(function() {
                            //$.alerts._hide(); 
                        },2000);
                    } 
            
                });
            }else if(id ==="vDays") {
                $.ajax({
                    type: "POST",
                    url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/bookmark-lesson.php?lesson=' + LId + '&user=' + UId + '&course=' + CId + '&day=5&section=' + SId,
                    success : function (data) {
                         //$.alerts.alert(date, '');
                        $.alerts.alert('This Lesson has been added to your schedule for ' + data, '');
                        $('.item-schedule-' + LId).html('Scheduled Review For -' + data + '<i onclick="changeSchedule(' + LId + ', ' + CId + ', ' + UId + ')" style="padding-left:5px;" class="fa fa-calendar"></i>');
                       if($('.overview-section').hasClass('bookmarked-section')){
                                }else{
                                    $('.overview-section').addClass('bookmarked-section');
                                }
                                $('.course-item-' + LId).attr('data-bookmarked', 'true');
                                if(data == today){
                                   if($('.overview-section').hasClass('scheduled-section')){
                                       $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }else{
                                        $('.overview-section').addClass('scheduled-section');
                                        $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }
                                }else{
                                    if($('.overview-section').hasClass('scheduled-section')){
                                        $('.course-item-' + LId).attr('data-scheduled', '');
                                    }else{
                                    }
                                }
                        setTimeout(function() {
                            //$.alerts._hide(); 
                        },2000);
                    } 
            
                });
            }else if(id ==="viiDays") {
                $.ajax({
                    type: "POST",
                    url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/bookmark-lesson.php?lesson=' + LId + '&user=' + UId + '&course=' + CId + '&day=6&section=' + SId,
                    success : function (data) {
                         //$.alerts.alert(date, '');
                        $.alerts.alert('This Lesson has been added to your schedule for ' + data, '');
                        $('.item-schedule-' + LId).html('Scheduled Review For -' + data + '<i onclick="changeSchedule(' + LId + ', ' + CId + ', ' + UId + ')" style="padding-left:5px;" class="fa fa-calendar"></i>');
                       if($('.overview-section').hasClass('bookmarked-section')){
                                }else{
                                    $('.overview-section').addClass('bookmarked-section');
                                }
                                $('.course-item-' + LId).attr('data-bookmarked', 'true');
                                if(data == today){
                                   if($('.overview-section').hasClass('scheduled-section')){
                                       $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }else{
                                        $('.overview-section').addClass('scheduled-section');
                                        $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }
                                }else{
                                    if($('.overview-section').hasClass('scheduled-section')){
                                        $('.course-item-' + LId).attr('data-scheduled', '');
                                    }else{
                                    }
                                }
                        setTimeout(function() {
                            //$.alerts._hide(); 
                        },2000);
                    } 
            
                });
            }else if(id ==="xDays") {
                $.ajax({
                    type: "POST",
                    url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/bookmark-lesson.php?lesson=' + LId + '&user=' + UId + '&course=' + CId + '&day=10&section=' + SId,
                    success : function (data) {
                         //$.alerts.alert(date, '');
                        $.alerts.alert('This Lesson has been added to your schedule for ' + data, '');
                        $('.item-schedule-' + LId).html('Scheduled Review For -' + data + '<i onclick="changeSchedule(' + LId + ', ' + CId + ', ' + UId + ')" style="padding-left:5px;" class="fa fa-calendar"></i>');
                       if($('.overview-section').hasClass('bookmarked-section')){
                                }else{
                                    $('.overview-section').addClass('bookmarked-section');
                                }
                                $('.course-item-' + LId).attr('data-bookmarked', 'true');
                                if(data == today){
                                   if($('.overview-section').hasClass('scheduled-section')){
                                       $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }else{
                                        $('.overview-section').addClass('scheduled-section');
                                        $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }
                                }else{
                                    if($('.overview-section').hasClass('scheduled-section')){
                                        $('.course-item-' + LId).attr('data-scheduled', '');
                                    }else{
                                    }
                                }
                        setTimeout(function() {
                            //$.alerts._hide(); 
                        },2000);
                    } 
            
                });
            }else if(id ==="xivDays") {
                $.ajax({
                    type: "POST",
                    url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/bookmark-lesson.php?lesson=' + LId + '&user=' + UId + '&course=' + CId + '&day=14&section=' + SId,
                    success : function (data) {
                         //$.alerts.alert(date, '');
                        $.alerts.alert('This Lesson has been added to your schedule for ' + data, '');
                        $('.item-schedule-' + LId).html('Scheduled Review For -' + data + '<i onclick="changeSchedule(' + LId + ', ' + CId + ', ' + UId + ')" style="padding-left:5px;" class="fa fa-calendar"></i>');
                        if($('.overview-section').hasClass('bookmarked-section')){
                                }else{
                                    $('.overview-section').addClass('bookmarked-section');
                                }
                                $('.course-item-' + LId).attr('data-bookmarked', 'true');
                                if(data == today){
                                   if($('.overview-section').hasClass('scheduled-section')){
                                       $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }else{
                                        $('.overview-section').addClass('scheduled-section');
                                        $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }
                                }else{
                                    if($('.overview-section').hasClass('scheduled-section')){
                                        $('.course-item-' + LId).attr('data-scheduled', '');
                                    }else{
                                    }
                                }
                        setTimeout(function() {
                            //$.alerts._hide(); 
                        },2000);
                    } 
            
                });
            }else if(id ==="pick") {
                duDatepicker('#datepicker',{
                    minDate: 'today'
                });
              $( "#dialog" ).dialog({
                title: 'Schedule Date Picker',
                modal: true,
                buttons: {
                    'Schedule': function () {
                        var day = $('#datepicker').val();
                        if(day === '' || day === null || typeof day === "undefined"){
                            $.alerts.alert('ERROR - You must enter a date', '');
                            setTimeout(function() {
                                    $.alerts._hide(); 
                                 },2000);
                            
                        }else{
                        $.ajax({
                            type: "POST",
                            url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/bookmark-lesson.php?lesson=' + LId + '&user=' + UId + '&course=' + CId + '&day=' + day + '&custom=yes&section=' + SId,
                            success : function (data) {
                                //$.alerts.alert(date, '');
                                $.alerts.alert('This Lesson has been added to your schedule for ' + data, '');
                                $('.item-schedule-' + LId).html('Scheduled Review For -' + data + '<i onclick="changeSchedule(' + LId + ', ' + CId + ', ' + UId + ')" style="padding-left:5px;" class="fa fa-calendar"></i>');
                                if($('.overview-section').hasClass('bookmarked-section')){
                                }else{
                                    $('.overview-section').addClass('bookmarked-section');
                                }
                                $('.course-item-' + LId).attr('data-bookmarked', 'true');
                                if(data == today){
                                   if($('.overview-section').hasClass('scheduled-section')){
                                       $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }else{
                                        $('.overview-section').addClass('scheduled-section');
                                        $('.course-item-' + LId).attr('data-scheduled', 'true');
                                    }
                                }else{
                                    if($('.overview-section').hasClass('scheduled-section')){
                                        $('.course-item-' + LId).attr('data-scheduled', '');
                                    }else{
                                    }
                                }
                                setTimeout(function() {
                                    $.alerts._hide(); 
                                 },2000);
                            }
                        });
                        }
                        $(this).dialog('close');
                    },
                    Cancel: function () {
                        $(this).dialog('close');
                    }
                },
                resizable: false,
                draggable: true,
                stack: true,
                closeOnEscape: true,
                width: 500
                  
              });
              $('#datepicker').trigger("click");
              
              /* $.ajax({
                    type: "POST",
                    url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/bookmark-lesson.php?lesson=' + LId + '&user=' + UId + '&course=' + CId + '&day=' + day + '&custom=yes'),
                    success : function (data) {
                         //$.alerts.alert(date, '');
                        $.alerts.alert('This Lesson has been added to your schedule for ' + data, '');
                        setTimeout(function() {
                            $.alerts._hide(); 
                        },2000);
                    } 
            
                }); */
            }else if(id ==="remove") {
                $.ajax({
                    type: "POST",
                    url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/bookmark-lesson.php?lesson=' + LId + '&user=' + UId + '&course=' + CId + '&remove=yes&section=' + SId,
                    success : function (data) {
                         //$.alerts.alert(date, '');
                        $.alerts.alert('This Lesson has been removed from your schedule', '');
                        $('.item-schedule-' + LId).html('');
                        $('.course-item-' + LId).attr('data-bookmarked', '');
                        $('.course-item-' + LId).attr('data-scheduled', '');
                        setTimeout(function() {
                            //$.alerts._hide(); 
                        },2000);
                    } 
            
                });
            }
        }
        });
        
        
        
        /*$.ajax({
            type: "POST",
            url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/bookmark-lesson.php?lesson=' + LId + '&user=' + UId + '&course=' + CId',
            success : function (data) {
                // alert('ok');
               //$('#popup-content-inner').html(data);
                if(data === '1'){
                $.alerts.alert('This lesson has been completed', '');
                $('.course-item.item-current').addClass('item-completed').find('.item-status').addClass('item-status-passed');
                $('#popup-complete-item').html('Uncomplete');
               }else if(data === '0'){
                $.alerts.alert('This lesson has been unmarked as complete', '');
                $('.course-item.item-current').removeClass('item-completed').find('.item-status').removeClass('item-status-passed');
                $('#popup-complete-item').html('Complete')
               }
                setTimeout(function() {
                   $.alerts._hide(); 
                },2000);
            } 
            
        });*/
        
        /*var $item = $('#learn-press-course-curriculum').find('.course-item.item-current'),
            id = $item.find('.course-item-title').data('id'),
            section_id = $item.closest('.section').data('id');
        var $form = $('#popup-main').find('iframe').contents().find('#form-bookmark-item');
        blockPage();
        $form.submit(); */
    }).on('click', '#popup-complete-item', function () {
        //var $ifr = $('#popup-content-inner').find('iframe');
        var LId = $('#popup-content-inner #lesson-id').html();
        var UId = $('#user-id').val();
        var CId = $('#course-id').val();
        var Submit = $('#popup-complete-item').attr('data-complete');
        //blockPage();
         $.ajax({
            type: "POST",
            url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/complete-lesson.php?lesson=' + LId + '&user=' + UId + '&course=' + CId + '&type=complete&submit=' + Submit,
            success : function (data) {
                // alert('ok');
               //$('#popup-content-inner').html(data);
                if(data === '1'){
                $.alerts.alert('This lesson has been completed', '');
                $('.course-item.item-current').addClass('item-completed').find('.item-status').addClass('item-status-passed');
                $('#popup-complete-item').html('Uncomplete');
                $('#popup-complete-item').attr('data-complete', 'na');
               }else if(data === '0'){
                $.alerts.alert('This lesson has been unmarked as complete', '');
                $('.course-item.item-current').removeClass('item-completed').find('.item-status').removeClass('item-status-passed');
                $('#popup-complete-item').html('Complete');
                $('#popup-complete-item').attr('data-complete', 'complete');
               }
                setTimeout(function() {
                   $.alerts._hide(); 
                },2000);
            } 
            
        });
        //$('#popup-content-inner').contents().find('button.button-complete-item').trigger('click');
        unblockPage();
        /* $ifr
            .load(function () {
                $('.course-item.item-current').addClass('item-completed')
                    .find('.item-status').addClass('item-status-passed');
            })
            .contents().find('button.button-complete-item').trigger('click');
            */
    }).on('click', '#popup-next-item', function () {
		//console.log("hahaha");
		
        var $items = $('#learn-press-course-curriculum').find('.current-section').filter(function () {
                return $(this).is(':visible') || $(this).hasClass('item-current')
            }),
            $item = $items.filter('.item-current'),
            currentID = $item.find('.course-item-title').data('id'),
            $nextItem = false,
            $buttonsWrap = $('#popup-footer').find('.buttons'),
            currentIndex = false;
            
            console.log('Items', $items);
            console.log('Item', $item);
            console.log('currentID '+ currentID);

        if ($item.length == 0) {
            $item = $('#learn-press-course-curriculum').find('.course-item.item-current');
            currentID = $item.find('.course-item-title').data('id');
        }

        for (var i = 0; i < $items.length; i++) {
            var id = $($items[i]).find('.course-item-title').data('id');
            if (id == currentID) {
                if (i < $items.length - 1) {
                    $nextItem = $($items[i + 1]);
                   
                }
                break;
            }
        }
        
        console.log('NextItem', $nextItem);
        console.log('id '+ id);

        if ($nextItem) {
            var next = false;
            currentIndex = $items.index($nextItem);
            var indexNext = currentIndex + 1;
			next = $items[indexNext];
			//console.log("Mimul", $nextItem);
            $items.removeClass('item-current');
            if ($nextItem.hasClass('course-quiz')) {
                window.open($nextItem.find('a').attr('href').addQueryVar('content-item-only', 'yes'), 'window', 'toolbar=no, menubar=no, resizable=yes');
                
                if (next == undefined) {
                    $(".back-to-course-button").trigger('click');
                }else{
                $nextItem.addClass('item-current');
                $('#prevlesson').remove();
                $('#popup-content-inner').attr('id', 'prevlesson');
                $('#prevlesson').hide();
                $('#prevlesson').after('<div id="popup-content-inner" style="text-align:center; color:#03a2e4;"><h1>Click next after finishing your quiz to continue!</h1></div>');
                $('#popup-complete-item').prop('disabled', true);
                $('#popup-complete-item').html('Quiz');
                $('#popup-content-inner').append('<div style="display:none;" id="lesson-id">' + $nextItem.attr('data-id') + '</div>');
                    
                //$('#frame').attr('id', 'framePrev');
                // $('#frameNext').attr('id', 'frame');
                // $('#framePrev').hide();
                // $('#frame').show();
                 //unblockPage();
               // blockPage();
               $("#popup-prev-item").show();
               $('#popup-prev-item').prop('disabled', true);
                $('#popup-next-item').prop('disabled', true);
                $("#popup-prev-item").html("Loading..");
                $("#popup-next-item").html("Loading..");
                /*setTimeout(function() {
                    $('#popup-prev-item').prop('disabled', false);
                    $('#popup-next-item').prop('disabled', false);
                    $("#popup-prev-item").html("Previous");
                    $("#popup-next-item").html("Next");
                }, 2000);*/
                }   
            } else {
                $nextItem.addClass('item-current');
				//console.log("Mimul HEE");
                //$nextItem.trigger('click');
                $('#prevlesson').remove();
                $('#popup-content-inner').attr('id', 'prevlesson');
                $('#nextlesson').attr('id', 'popup-content-inner');
                $('#prevlesson').hide();
                $('#popup-content-inner').show();
                var user = $('#user-id').val();
			    var course = $('#course-id').val();
			    var lessonId = $('#popup-content-inner #lesson-id').html();
                $('#popup-complete-item').prop('disabled', true);
                 $("#popup-complete-item").html("Loading..");
                 $.ajax({
                     type: "POST",
                     url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/complete-lesson.php?lesson=' + lessonId + '&course=' + course + '&user=' + user + '&type=check',
                     success : function (data) {  
                     // alert('ok');
                        if(data === '1'){
                            $('#popup-complete-item').prop('disabled', false);
                            $('#popup-complete-item').html('Uncomplete');
                            $('#popup-complete-item').attr('data-complete', 'na');
                        }else if(data === '0'){
                            $('#popup-complete-item').prop('disabled', false);
                            $('#popup-complete-item').html('Complete')
                            $('#popup-complete-item').attr('data-complete', 'complete');
                        }
                    
                    }
                    });
                //$('#frame').attr('id', 'framePrev');
                // $('#frameNext').attr('id', 'frame');
                // $('#framePrev').hide();
                // $('#frame').show();
                 //unblockPage();
               // blockPage();
               $("#popup-prev-item").show();
               $('#popup-prev-item').prop('disabled', true);
                $('#popup-next-item').prop('disabled', true);
                $("#popup-prev-item").html("Loading..");
                $("#popup-next-item").html("Loading..");
                /*setTimeout(function() {
                    $('#popup-prev-item').prop('disabled', false);
                    $('#popup-next-item').prop('disabled', false);
                    $("#popup-prev-item").html("Previous");
                    $("#popup-next-item").html("Next");
                }, 2000);*/
            }
            
            $('.item-counter').html((currentIndex +1) + ' of ' + $items.length);
            if (currentIndex == $items.length - 1) {
                    $('#popup-prev-item').prop('disabled', false);
                    $('#popup-next-item').prop('disabled', false);
                    $("#popup-prev-item").html("Previous");
                    $("#popup-next-item").html("Next");
                 }
            	
				//console.log("getNextItem");
					
					console.log("next", next);
					//console.log("nextIframe", $(next).find('a').attr('href'));
				    if ($(next).hasClass('course-lesson')) {
					    $('#popup-content-inner').after('<div id="nextlesson"></div>');
					    $('#nextlesson').hide();
					    $.ajax({
                                    type: "POST",
                                    url : window.location.origin + '/wp-content/themes/eduma-child-cw/learnpress-v2/content-lesson/get-lesson.php?lesson=' + $(next).find('a').attr('data-id'),
                                    success : function (data) {  
                                    // alert('ok');
                                     $('#popup-prev-item').prop('disabled', false);
                                    $('#popup-next-item').prop('disabled', false);
                                    $("#popup-prev-item").html("Previous");
                                    $("#popup-next-item").html("Next");
                                    $("#nextlesson").html(data); 
                                    }
                                });
				    }else{
				      $('#popup-prev-item').prop('disabled', false);
                      $('#popup-next-item').prop('disabled', false);
                      $("#popup-prev-item").html("Previous");
                      $("#popup-next-item").html("Next");  
				    }
        }else if ($item.hasClass('last-item')) {
                    $(".back-to-course-button").trigger('click');
        }

        $buttonsWrap.removeClass('first-item last-item');
        if (currentIndex == 0) {
            $buttonsWrap.addClass('first-item');
        } else if ($item.hasClass('last-item')) {
            $buttonsWrap.addClass('close-item');
        }
        //onShowPopup();
    }).on('click', '.thim-survey-form > ul > li', function () {
        var $li = $(this),
            $form = $(this).closest('.thim-survey-form').addClass('disabled'),
            type = $form.data('type'),
            val = $li.parent().children().index($li) + 1,
            itemID = $form.data('item_id'),
            courseID = $form.data('course_id'),
            questionID = $form.data('question_id'),
            nonce = $form.data('nonce');

        $.post({
            url: '',
            data: {
                action: 'thim_ajax_send_feedback',
                item_id: itemID,
                course_id: courseID,
                question_id: questionID,
                val: val,
                type: type,
                nonce: nonce
            },
            success: function (res) {
                var $html = $('<p style="font-size: 18px;">' + res + '</p>');
                if (questionID) {
                    $form.hide().html($html).fadeIn(500, function () {
                        setTimeout(function () {
                            $form.animate({opacity: 0}, 500, function () {
								$(this).hide();
                               // $('#learn-press-cw-question-solution-list').animate({'padding-top': $('#div-01').height() + 30}, 200);
                            });
                        }, 300);
                    });
                } else {
                    $form.html($html);
                }
                $form.addClass('sent');

				updateFeedback();
            }
        });
    });

	function updateFeedback(){
		if(window.opener){
			var $el = window.opener.jQuery('.thim-feedback-count > span.number'),
			number = parseInt($el.text() || 0);
			number++;
			$el.text(number);
		}
	}


	jQuery(function ($) {
        var $el = $('.thim-feedback-count'), top = 0;
		if($el.length == 0){
			return;
		}

		top = $el.offset().top
        $(window).off('scroll').scroll(function () {
            var stop = $(this).scrollTop();
            if (stop < top - 100) {
                $el.css('margin-top', '');
            } else {
                $el.css('margin-top', stop - top + 100);
            }
        })
    });

    $('#course-learning').find('.nav-tabs li.active').trigger('click');
    $('#course-learning').find('.nav-tabs li.active').trigger('click');

    function onShowPopup() {
		console.log("showPopUP start");
        var $popup = $('#course-curriculum-popup');
        $popup.find('iframe').load(function () {
            var popupTitle = $popup.find('.section-header:visible .section-title').html();
            $popup.find('.learn-press-breadcrumb').find('.item-name').html(popupTitle);
            $popup.find('.section-header').show();
            $popup.find('.item-current').closest('.section').find('.section-header').hide();
             
            var $items = $('#learn-press-course-curriculum').find('.course-item').filter(function () {
                return $(this).is(':visible') || $(this).hasClass('item-current')
            })
            if ($items.length < 2) {
                $('#popup-prev-item, #popup-next-item').hide();
            }
            unblockPage();
        });
		console.log("showPopUP end");
    }

    $(document).ready(function () {
        setTimeout(onShowPopup, 200)
    })

    function blockPage() {
        $('#learn-press-block-content').css('display', 'block');
        $('.back-to-course-button').css('display', 'none');
    }

    function unblockPage() {
        $('#learn-press-block-content').css('display', 'none');
        $('.back-to-course-button').css('display', 'block');
    }

    $(document).ready(function () {

        $(document).on('keypress keydown', function (e) {
            if (e.keyCode == 67 && ( e.metaKey || e.ctrlKey)) {
                e.preventDefault();
            }
        }).on('contextmenu', function () {
            return false;
        })

    });
    
 
    $('#review_mode').change(function(){
        if(this.checked) {
            $('#learn-press-cw-question-explanation-1').fadeOut('fast');
            $('#answer_button').fadeIn('fast');
            $('.answer-true').addClass('answer-true-hide');
            $('.answer-true-hide').removeClass('answer-true');
            $('.answer-option-result label').css('color', 'black');
            $('.user-answer-false label').css('color', 'red');
            $('.user-answer-true label').css('color', 'green');
        }else{
            $('#learn-press-cw-question-explanation-1').fadeIn('fast');
            $('#answer_button').fadeOut('fast');
            $('.answer-true-hide').addClass('answer-true');
            $('.answer-true').removeClass('answer-true-hide');
            $('.answer-option-result label').css('color', 'red');
            $('.user-answer-true label').css('color', 'green');
            $('.answer-true label').css('color', 'green');
        }
    });
    
    $( "#answer_button" ).click(function() {
        $('#learn-press-cw-question-explanation-1').fadeIn('fast');
        $('#answer_button').fadeOut('fast');
        $('.answer-true-hide').addClass('answer-true');
        $('.answer-true').removeClass('answer-true-hide');
        $('.answer-option-result label').css('color', 'red');
        $('.user-answer-true label').css('color', 'green');
        $('.answer-true label').css('color', 'green');
    });
    
     $( ".next-button" ).click(function() {
       if ($('#review_mode').is(":checked")) {
        $('#learn-press-cw-question-explanation-1').fadeOut('fast');
        $('#answer_button').fadeIn('fast');
        $('.answer-true').addClass('answer-true-hide');
        $('.answer-true-hide').removeClass('answer-true');
        $('.answer-option-result label').css('color', 'black');
        $('.user-answer-false label').css('color', 'red');
        $('.user-answer-true label').css('color', 'green');
       }
});
       $( ".prev-button" ).click(function() {
       if ($('#review_mode').is(":checked")) {
        $('#learn-press-cw-question-explanation-1').fadeOut('fast');
        $('#answer_button').fadeIn('fast');
        $('.answer-true').addClass('answer-true-hide');
        $('.answer-true-hide').removeClass('answer-true');
        $('.answer-option-result label').css('color', 'black');
        $('.user-answer-false label').css('color', 'red');
        $('.user-answer-true label').css('color', 'green');
       }
});

    
  var todayId = $('.today-section.overview-section').attr('id');
  $(document).on('click', '.back-to-course-button', function () {
 if($(".today-section ul li").length == $(".today-section ul li.item-completed").length) {
     $('.today-section.overview-section .section-header').css('display', 'block');
     $('.today-section.overview-section').next().addClass("today-section");
     $('.overview-section#' + todayId).removeClass('today-section');
     $('body').removeClass('noscroll');
     $('#course-curriculum-popup').remove();
     $('#learn-press-block-content').remove();
     $('.current-section.item-current').removeClass('item-current');
     $('.current-section').removeClass('current-section');
     
 }else {
     $('.today-section.overview-section .section-header').css('display', 'block');
     $('body').removeClass('noscroll');
     $('#course-curriculum-popup').remove();
     $('#learn-press-block-content').remove();
     $('.current-section.item-current').removeClass('item-current');
     $('.current-section').removeClass('current-section');
 }
 
 });
 $(document).on('click', '.last-item', function () {
 if($(".today-section ul li").length == $(".today-section ul li.item-completed").length) {
     $('.today-section.overview-section .section-header').css('display', 'block');
     $('.today-section.overview-section').next().addClass("today-section");
     $('.overview-section#' + todayId).removeClass('today-section');
     
 }else {
     $('.today-section.overview-section .section-header').css('display', 'block');
 }
 
 });
 
 
 $('#noAnalytics').magnificPopup({
    items: [
      {
        src: '#my-popup', // CSS selector of an element on page that should be used as a popup
        type: 'inline'
      }
    ]
});
 
 
 $(document).on('click', '.back-to-course-button2', function(){
    $('body').removeClass('noscroll');
    $('#userAnalytics').hide();
    $('#popup-content').html('');
    $('#popup-content').html(`<main >
            <div class="dashboard1">
                <!-- Left side of page-->
                <div class="topSection flex-container">
                <div class="left_page">
                    <h6 class="chart_title">Total Percentile Rank</h6>
                    <div class="flex-container">
                        <div class="pie_chart">
                            <canvas class="pie"></canvas>
                            <div class="pie_legend"></div>
                        </div>          
                        <div class="pie_chart">
                            <canvas class="pie"></canvas>
                            <div class="pie_legend"></div>
                        </div>
                    </div>
                    
                </div>
                
                <!-- Right side of page -->
                <div class="right_page"> 
                    <div class="line_chart" style="width:62%; margin:0 auto;">
                        <canvas class="pie"></canvas>
                        <div class="line_legend"></div>
                </div>
            </div>
            </div>
        </div>

            <!-- Charts Dashboard -->
            <div class="dashboard2 flex-container">
                <!-- Left side of page-->
                <div class="left_page">
                    <h6 class="chart_title">Biological and Biochemical Foundations of Living Systems</h6>
                    <div class="flex-container">
                        <div class="pie_chart">
                            <canvas class="pie"></canvas>
                            <div class="pie_legend"></div>
                        </div>          
                        <div class="line_chart">
                            <canvas class="pie"></canvas>
                            <div class="line_legend"></div>
                        </div> 
                    </div>
                    <h6 class="chart_title">Chemical and Physical Foundations of Biological Systems</h6>
                    <div class="flex-container">
                        <div class="pie_chart">
                            <canvas class="pie"></canvas>
                            <div class="pie_legend"></div>
                        </div>          
                        <div class="line_chart">
                            <canvas class="pie"></canvas>
                            <div class="line_legend"></div>
                        </div> 
                    </div>
                </div>

                <!-- Right side of page -->
                <div class="right_page"> 
                    <h6 class="chart_title">Psychological, Social, and Biological Foundations of Behavior</h6>
                    <div class="flex-container">
                        <div class="pie_chart">
                            <canvas class="pie"></canvas>
                            <div class="pie_legend"></div>
                        </div>          
                        <div class="line_chart">
                            <canvas class="pie"></canvas>
                            <div class="line_legend"></div>
                        </div> 
                    </div>
                    <h6 class="chart_title">Critical Analysis and Reasoning Skills</h6>
                    <div class="flex-container">
                        <div class="pie_chart">
                            <canvas class="pie"></canvas>
                            <div class="pie_legend"></div>
                        </div>          
                        <div class="line_chart">
                            <canvas class="pie"></canvas>
                            <div class="line_legend"></div>
                        </div> 
                    </div>
                </div>
            </div>
            
            
            <div class="dashboard3 flex-container">
            <div class="bottomSection">
                
                    <div class="pie_chart small">
                        <h6 class="chart_title">Full-Length 1</h6>
                        <canvas class="pie"></canvas>
                        <div class="pie_legend"></div>
                    </div>
                
                    <div class="pie_chart small">
                        <h6 class="chart_title">Full-Length 2</h6>
                        <canvas class="pie"></canvas>
                        <div class="pie_legend"></div>
                    </div>
                    
                    <div class="pie_chart small">
                        <h6 class="chart_title">Full-Length 3</h6>
                        <canvas class="pie"></canvas>
                        <div class="pie_legend"></div>
                    </div>
                    
                    <div class="pie_chart small">
                        <h6 class="chart_title">Full-Length 4</h6>
                        <canvas class="pie"></canvas>
                        <div class="pie_legend"></div>
                    </div>
                        
                    <div class="pie_chart small">
                        <h6 class="chart_title">Sample Test</h6>
                        <canvas class="pie"></canvas>
                        <div class="pie_legend"></div>
                    </div>
                    
                    <div class="pie_chart small">
                        <h6 class="chart_title">Section Bank: CP</h6>
                        <canvas class="pie"></canvas>
                        <div class="pie_legend"></div>
                    </div>
                
                
                <!-- Right side of page -->
                    
                    <div class="pie_chart small">
                        <h6 class="chart_title">Section Bank: BB</h6>
                        <canvas class="pie"></canvas>
                        <div class="pie_legend"></div>
                    </div>
                    
                    <div class="pie_chart small">
                        <h6 class="chart_title">Section Bank: PS</h6>
                        <canvas class="pie"></canvas>
                        <div class="pie_legend"></div>
                    </div>
                    
                    <div class="pie_chart small">
                        <h6 class="chart_title">CARS QPack 1</h6>
                        <canvas class="pie"></canvas>
                        <div class="pie_legend"></div>
                    </div>
                    
                    <div class="pie_chart small">
                        <h6 class="chart_title">CARS QPack 2</h6>
                        <canvas class="pie"></canvas>
                        <div class="pie_legend"></div>
                    </div>
                        
                    <div class="pie_chart small">
                        <h6 class="chart_title">Survey 11</h6>
                        <canvas class="pie"></canvas>
                        <div class="pie_legend"></div>
                    </div>
                    
                    <div class="pie_chart small">
                        <h6 class="chart_title">Survey 12</h6>
                        <canvas class="pie"></canvas>
                        <div class="pie_legend"></div>
                    </div>
                    
                
            </div>
        </div>
            
            <!-- Table -->
            <div class="course_section">
                <nav>
                    <span class="menu_item active">Subjects</span>
                    <!--<span class="menu_item">Systems</span>-->
                    <!--<span class="menu_item">Topics</span>-->
                    <div class="print"><img src="`+window.location.origin+`/wp-content/themes/eduma-child-cw/images/print_icon.png"/>&nbsp;<b>Print</b></div>
                </nav>
                <div class="filters">
                    <div class="dropdown_container" style="float:left">
                        Show:
                        <select id="subjectDropdown">
                            <option>All</option>
                            <option>BB</option>
                            <option>CP</option>
                            <option>PS</option>
                            <option>CARS</option>
                        </select>
                        <select id="subDropdown">
                            <option value="subrow_level0">Foundational Concepts</option>
                            <option value="subrow_level1">Categories</option>
                            <option value="subrow_level2">Topics</option>
                            <option value="subrow_level3">Sub Topics</option>
                        </select>
                    </div>
                    <input id="subjectSearchBar" class="search" type="text" placeholder="Search" /> <img class="search_icon" src="`+window.location.origin+`/wp-content/themes/eduma-child-cw/images/search_icon.png" />
                </div>
                <table id="coursesTable">
                    <thead>
                        <tr>
                            <th width=37></th>
                            <th width=600>NAME</th>
                            <th data-name="correct" data-sort="asc">CORRECT</th>
                            <th>INCORRECT</th>
                            <th>USAGE</th>
                            <!--<th>OMITTED</th>
                            <th>P-RANK</th>-->
                        </tr>
                    </thead>
                    <tbody>
                    </tbody>
                    <tfoot>

                    </tfoot>
                </table>
                <table id="coursesTableClone"></table>
            </div>
        </main>`);
 });
  $(document).on('click', '#userAnalyticsButton', function(){
    $('body').addClass('noscroll');
    $('#userAnalytics').show();
    (function pieCharts() {
    // Array of data for pie charts
    var pie_charts = [
        {
            name: "Total Questions Answered",
            labels : ["Used Questions", "Unused Questions"],
            data: [jQuery('#totalUsed').val(), jQuery('#totalUnused').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "Percentile Rank",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#totalSurvey').val(), jQuery('#totalSurveyN').val()],
            show_total: false,
            show_percent: true
        },
        {
            name: "BB",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#cat1C').val(), jQuery('#cat1N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "CP",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#cat2C').val(), jQuery('#cat2N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "PS",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#cat3C').val(), jQuery('#cat3N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "CARS",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#cat4C').val(), jQuery('#cat4N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "Full-Length 1",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#totalSurvey1C').val(), jQuery('#totalSurvey1N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "Full-Length 2",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#totalSurvey2C').val(), jQuery('#totalSurvey2N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "Full-Length 3",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#totalSurvey3C').val(), jQuery('#totalSurvey3N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "Full-Length 4",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#totalSurvey8C').val(), jQuery('#totalSurvey8N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "Sample Test",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#totalSurvey7C').val(), jQuery('#totalSurvey7N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "Section Bank: CP",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#totalSurvey5C').val(), jQuery('#totalSurvey5N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "Section Bank: BB",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#totalSurvey6C').val(), jQuery('#totalSurvey6N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "Section Bank: PS",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#totalSurvey4C').val(), jQuery('#totalSurvey4N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "CARS QPack 1",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#totalSurvey9C').val(), jQuery('#totalSurvey9N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "CARS QPack 2",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#totalSurvey10C').val(), jQuery('#totalSurvey10N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "Survey 11",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#totalSurvey11C').val(), jQuery('#totalSurvey11N').val()],
            show_total: true,
            show_percent: true
        },
        {
            name: "Survey 12",
            labels : ["Total Correct", "Total Incorrect"],
            data: [jQuery('#totalSurvey12C').val(), jQuery('#totalSurvey12N').val()],
            show_total: true,
            show_percent: true
        },
    ]

    pie_charts.forEach((obj, i) => {
        // Default Values
        if((parseInt(obj.data[0]) === 0 && parseInt(obj.data[1]) === 0) || (obj.data[0] === '0' && obj.data[1] === '0')){
            var data1 = 0;
            var data2 = 0;
            var data1chart = 1;
            var data2chart = 1;
            var data1_perc = 0;
            var data2_perc = 0;
        }else{
            var data1chart = parseInt(obj.data[0]);
            var data2chart = parseInt(obj.data[1]);
            var data1 = parseInt(obj.data[0]);
            var data2 = parseInt(obj.data[1]);
            var data_total = data1 + data2;
            var data1_perc = ((data1 * 100) / data_total).toFixed(1);
            var data2_perc = ((data2 * 100) / data_total).toFixed(1);
        }
        //console.log(data1);
        var label1 = obj.labels[1]
        var label2 = obj.labels[0];
        var pie_chart_data = {
            labels: [label1, label2],
            datasets: [{
                data: [data2chart, data1chart],
                backgroundColor: [
                    '#F05A5B',
                    '#69C869'
                ],
                borderColor: [
                    '#F05A5B',
                    '#69C869'
                ],
                borderWidth: 1,
                borderColor: "white",
            }]
        }
        var pie_chart_options = {
            reverse: true,
            rotation: -0.25 * Math.PI,
            legend: {
                display: false
            },
            legendCallback: function(chart) {
                var label1_color = chart.config.data.datasets[0].backgroundColor[0];
                var label2_color = chart.config.data.datasets[0].backgroundColor[1];
                var html = `
                <ul> 
                    <li> ${label2} 
                        <div class="legend_values">`;
                if (obj.show_percent)
                    html += `<div class="legend_value legend_perc" style="background:${label2_color}">${data1_perc}%</div>`;
                if (obj.show_total)
                    html += `<div class="legend_value legend_total">${data1}</div>`;
                html += `</div> 
                    </li>
                    <li> ${label1} 
                        <div class="legend_values">`;
                if (obj.show_percent)
                    html += `<div class="legend_value legend_perc" style="background:${label1_color}">${data2_perc}%</div>`;
                if (obj.show_total)
                    html += `<div class="legend_value legend_total">${data2}</div>`;
                html+= `</div>
                    </li> 
                </ul>`;
    
                return html;
            },
            plugins: {
                labels: {
                    // render 'label', 'value', 'percentage', 'image' or custom function, default is 'percentage'
                    render: 'percentage',
                    precision: 1,
                    fontColor: '#fff',
                }
            }
        }
        var pie_chart_divs = document.querySelectorAll(".pie_chart");
        var pie_chart_div = pie_chart_divs[i];
        var canvas = pie_chart_div.querySelector('canvas');
        /*if(data1 === 0 && data2 === 0){
            var ctx = canvas.getContext('2d');
            var x = canvas.width / 2;
            ctx.font = '12px Noto Sans';
            ctx.textAlign = 'center';
            ctx.fillText('No data to display', x, 50);
        }else{*/
            var chart = new Chart(canvas, {
                    type: 'pie',
                    data: pie_chart_data,
                    options: pie_chart_options
                });
            canvas.nextSibling.nextSibling.innerHTML = chart.generateLegend();
        //}
    })
})();
(function lineCharts(){
    
    /* =============================
    **
    **     Initialize Variables
    **  
    ** =============================*/

    // Array of data for line/bar charts
    var line_charts = [
        {
            name: "Percentile Rank",
            labels : ["User Score", "Median Score", "User Rank", "Median Rank"],
            data: [jQuery('#totalSurveyP').val(), 66, jQuery('#totalSurveyR').val(), 50]
        },
        {
            name: "Percentile Rank",
            labels : ["User Score", "Median Score", "User Rank", "Median Rank"],
            data: [jQuery('#cat1P').val(), 63, jQuery('#cat1R').val(), 50]
        },
        {
            name: "Percentile Rank",
            labels : ["User Score", "Median Score", "User Rank", "Median Rank"],
            data: [jQuery('#cat2P').val(), 58, jQuery('#cat2R').val(), 50]
        },
        {
            name: "Percentile Rank",
            labels : ["User Score", "Median Score", "User Rank", "Median Rank"],
            data: [jQuery('#cat3P').val(), 70,  jQuery('#cat3R').val(), 50]
        },
        {
            name: "Percentile Rank",
            labels : ["User Score", "Median Score", "User Rank", "Median Rank"],
            data: [jQuery('#cat4P').val(), 69, jQuery('#cat4R').val(), 50]
        },
    ]

    line_charts.forEach((obj, i) => {
        if(parseInt(obj.data[0]) >= 1){
            var user_perc = parseInt(obj.data[0]); // User percent
            var user_rank = obj.data[2];
        }else{
            var user_perc = 0.001;
            var user_rank = 0;  
        }
        var user_label = obj.labels[0];
        var median_perc = obj.data[1];
        var median_rank  = obj.data[3];
        var median_label = obj.labels[1];
        var bar_values = [];
        var bar_labels = [];
        var bar_colors = [];
        var line_values = [];

        // loop through 100 times for x-axis 
        for (let i=0; i<=100; i++){
            if(median_perc == i){
                bar_values.push(10);
                bar_labels.push('Median %');
                bar_colors.push('#F05A5B');
                line_values.push(8);
            }
            else if(user_perc == i){
                bar_values.push(10);
                bar_labels.push('User Score %');
                bar_colors.push('#69C869');
            }
            else{
                bar_values.push(0);
                bar_labels.push(i+1);
                bar_colors.push('#F05A5B');
                if (i == 0 || i == 100){
                    line_values.push(0);
                }
                else{
                    line_values.push(Number.NaN);
                }
            }
        }

        var line_chart_data = {
            labels: bar_labels,
            datasets: [{
                label: '',
                type: 'bar',
                data: bar_values,
                fill: false,
                backgroundColor: bar_colors,
                borderColor: bar_colors,
                
            }, {
            
                type:'line',
                data: line_values,
                fill: false,
                borderWidth: 1.5,
                borderColor: '#0095D8',
                backgroundColor: '#0095D8',
                pointBorderColor: '#0095D8',
                pointBackgroundColor: '#0095D8',
                pointHoverBackgroundColor: '#0095D8',
                pointHoverBorderColor: '#0095D8',
                    
            } ]
        }
        var line_chart_options = {
            legend: {
                display: false
            },
            spanGaps: true,
            elements: {
                point:{
                    radius: 0
                }
            },  
            tooltips: {
                enabled: false
        },
            scales: {
                xAxes: [{
                    barThickness: 1,  // number (pixels) or 'flex'
                    offset: false,
                    gridLines: {
                        display: false,
                    },
                    ticks: {
                        display: false //this will remove only the label
                    }
                },
                ],
                yAxes: [{
                    gridLines: {
                    display: false,
                    drawBorder: false
                    },
                    ticks: {
                        display: false
                    }
                    
                }]
            },
            legendCallback: function(chart) {
                //console.log(chart);
                var label1 = chart.legend.legendItems[0].text;
                var label1_color = chart.config.data.datasets[0].backgroundColor;
                var html = `
                    <div class="user_legend">
                        <div class="line_legend_color" style="background:#69C869"></div>
                        <div class="line_legend_label">${user_label} (${ordinal_suffix_of(user_rank)} rank)</div>
                        <div class="legend_value" style="background:#69C869; color: white; float:right;">${user_perc}%</div>
                    </div>
                    <div class="median_legend">
                        <div class="line_legend_color" style="background:#F05A5B"></div>
                        <div class="line_legend_label">${median_label} (${ordinal_suffix_of(median_rank)} rank)</div>
                        <div class="legend_value" style="float:right;">${median_perc}%</div>
                    </div> 
                `;
        
                return html;
            },
            plugins: {
                labels: {
                    // render 'label', 'value', 'percentage', 'image' or custom function, default is 'percentage'
                    render: 'value',
                    precision: 1,
                    fontColor: 'transparent',
                }
            },
            
        }
        
        var line_chart_divs = document.querySelectorAll(".line_chart");
        var line_chart_div = line_chart_divs[i];
        var line_chart_canvas = line_chart_div.querySelector('canvas');
        //if(user_perc >= 1){
            var line_chart = new Chart(line_chart_canvas, {
                type: 'bar',
                data: line_chart_data,
                options: line_chart_options
            })
            line_chart_canvas.nextSibling.nextSibling.innerHTML = line_chart.generateLegend();
        //}else{
            /* var ctx = line_chart_canvas.getContext('2d');
            var x = line_chart_canvas.width / 2;
            var y = line_chart_canvas.width / 3;
            ctx.font = '12px Noto Sans';
            ctx.textAlign = 'center';
            ctx.fillText('No data to display', x, y); */
        //}

        /* =============================
        **
        **         Functions
        **  
        ** =============================
        **/
        function ordinal_suffix_of(i) {
            var j = i % 10,
                k = i % 100;
            if (j == 1 && k != 11) {
                return i + "st";
            }
            if (j == 2 && k != 12) {
                return i + "nd";
            }
            if (j == 3 && k != 13) {
                return i + "rd";
            }
            return i + "th";
        }
    })
})();
(function courseTable() {
    /* =============================
    **
    **     Initialize Variables
    **  
    ** =============================
    **/

    // Data array of subjects
   /* var subjects = [] */
    var subject_row_counter = 0;
    var sub_row_counter = 0;
    var expand_btns, minus_btns, search_bar, print_btn, subjectDropdown, subDropdown, courseHeaders, subjectsCopy, isMainSubject;

    /* =============================
    **
    **         Control Flow
    **  
    ** =============================
    **/
    appendSubjects(subjects);
    if (!subjectsCopy){
        subjectsCopy = subjects.slice(); // Copies the array without reference
    }
    sortTable('correct', 'asc', subjectsCopy, isMainSubject); 
    search_bar = document.getElementById("subjectSearchBar");
    print_btn  = document.querySelector(".course_section .print");
    subjectDropdown = document.querySelector("#subjectDropdown");
    subDropdown = document.querySelector("#subDropdown");
    courseHeaders = document.querySelectorAll("#coursesTable th");


    /* =============================
    **
    **         Event Listeners
    **  
    ** =============================
    **/
    addRowListeners();
    search_bar.addEventListener("keyup", (e)=>{
        searchSubjects(search_bar.value);
    })
    print_btn.addEventListener("click", ()=>{
        printTable();
    })
    subjectDropdown.addEventListener("change", (e)=>{
        dropdownFilter();
    })
    subDropdown.addEventListener("change", (e)=>{
        dropdownFilter();
    })
    courseHeaders.forEach((th)=>{
        th.addEventListener("click", (e)=>{
            if (!subjectsCopy){
                subjectsCopy = subjects.slice(); // Copies the array without reference
            }
            sortTable(e.target.getAttribute('data-name'), e.target.getAttribute('data-sort'), subjectsCopy, isMainSubject);
        })
    })

    
    /* =============================
    **
    **         Functions
    **  
    ** =============================
    **/

    // Adds subjects to the table
    function appendSubjects(subjectsArr, isMainSubject = true){
        var tbody = document.querySelector("#coursesTable tbody");
        var row;

        subjectsArr.forEach((subject, i)=>{
            var name = subject.name;
            var q_total = subject.usage_total;
            var usage = `${subject.usage}/${subject.usage_total}`;
            var usageTotal = subject.usage;
            if(usageTotal === 0){
                var correct = `${subject.correct} (0%)`;
                var incorrect = `${subject.incorrect} (0%)`;
            }else{
                var correct = `${subject.correct} (${Math.round((subject.correct / subject.usage) * 100)}%)`;
                var incorrect = `${subject.incorrect} (${Math.round((subject.incorrect / subject.usage) * 100)}%)`;
            }
            var omitted = `${subject.omitted} (${Math.round((subject.omitted / q_total) * 100)}%)`;
            var prank = "-";
            //var prank = ordinal_suffix_of(subject.p_rank);
			var plus_icon_visible = (subject.subtopics && subject.subtopics.length) ? `` : 'visibility: hidden';
			var progress_bar = isMainSubject ? `<progress value=${subject.usage} max=${subject.usage_total}></progress>` : '';
            var file_icon = isMainSubject ? `<img class="file_icon" src="`+window.location.origin+`/wp-content/themes/eduma-child-cw/images/file_icon.png" />` : '';

            row = `
                <tr>
                    <td><div class="plus_icon" style="${plus_icon_visible}" data-rowId=${"subjectRow" + subject_row_counter}>+</div><div class="minus_icon" style="display: none" data-rowId=${"subjectRow" + subject_row_counter}>-</div></td>
                    <td class="subject_name">${name}
                        ${file_icon}
                        <br>
                        ${progress_bar}
                    </td>
                    
                    <td class="subject_correct">${correct}</td>
                    <td class="subject_incorrect">${incorrect}</td>
                    <td class="subject_usage">${usage}</td>
                    <!--<td class="subject_omitted">${omitted}</td>-->
                    <!--<td class="subject_prank">${prank}</td>-->
                </tr>
            `;
            var newRow = tbody.insertRow(tbody.rows.length);
            newRow.className = isMainSubject ? "subject_row": "sub_row";
            newRow.id = "subjectRow" + subject_row_counter;
            newRow.setAttribute("data-subject", name);
            subject_row_counter++;
            newRow.innerHTML = row;
            if(subject.subtopics && subject.subtopics.length){
				appendSubTopics(subject.subtopics, newRow.id, newRow.id, 0, 0);
            }
            
            if ((subjectsArr.length - 1) == i){
                // Add event listeners for rows
                addRowListeners();
                // Reset the counter at the end
                subject_row_counter = 0;
                sub_row_counter = 0;
            }
        })

    }

    // Adds subtopics to the table
    function appendSubTopics(subtopics, parentId, parentSubjectId, spacing, level){
        var tbody = document.querySelector("#coursesTable tbody");
        var padding_left = 0;
        var row;
        
        for(i=0; i < spacing; i++){
            padding_left += 5;
        }

        subtopics.forEach((subject)=>{
            var name = subject.name;
            var q_total = subject.usage_total;
            var usage = `${subject.usage}/${subject.usage_total}`;
            var usageTotal = subject.usage;
            if(usageTotal === 0){
                return;
                var correct = `${subject.correct} (0%)`;
                var incorrect = `${subject.incorrect} (0%)`;
            }else{
                var correct = `${subject.correct} (${Math.round((subject.correct / subject.usage) * 100)}%)`;
                var incorrect = `${subject.incorrect} (${Math.round((subject.incorrect / subject.usage) * 100)}%)`;
            }
            var omitted = `${subject.omitted} (${Math.round((subject.omitted / q_total) * 100)}%)`;
            var prank = ordinal_suffix_of(subject.p_rank);
            var prank = "-";
            var plus_icon_visible = (subject.subtopics && subject.subtopics.length) ? `` : 'visibility: hidden';

            row = `
                <tr>
                    <td>&nbsp;</td> 
                    <td class="subject_name" style="padding-left:${padding_left}px"><div class="plus_icon" style="${plus_icon_visible}" data-rowId=${"subRow" + sub_row_counter}>+</div><div class="minus_icon" style="display: none" data-rowId=${"subRow" + sub_row_counter}>-</div>${name}</td>
                    
                    <td class="subject_correct">${correct}</td>
                    <td class="subject_incorrect">${incorrect}</td>
                    <td class="subject_usage">${usage}</td>
                    <!--<td class="subject_omitted">${omitted}</td>-->
                    <!--<td class="subject_prank">${prank}</td>-->
                </tr>
            `;
            var newRow = tbody.insertRow(tbody.rows.length);
            newRow.className = "subrow subrow_level" + level;
            newRow.id = "subRow" + sub_row_counter;
            newRow.setAttribute("data-parentSubjectId", parentSubjectId);
            newRow.setAttribute("data-parentId", parentId);
            newRow.setAttribute("data-subject", name);
            sub_row_counter++;
            newRow.innerHTML = row;
            if(subject.subtopics && subject.subtopics.length){
                appendSubTopics(subject.subtopics, newRow.id, parentSubjectId, spacing + 5, (level + 1));
            }
        })
    }

    // Show subtopics on the table
    function showSubTopics(parentRowId){
        var parent_row = document.getElementById(parentRowId);
        var rows_to_show = document.querySelectorAll(`[data-parentid=${parentRowId}]`);

        parent_row.querySelector(".plus_icon").style.display = "none";
        parent_row.querySelector(".minus_icon").style.display = "inline-block";
        rows_to_show.forEach((subrow)=>{
            subrow.style.display = "table-row";
        })
    }

    // Hide subtopics on the table
    function hideSubTopics(parentRowId){
        var parent_row = document.getElementById(parentRowId);
        var rows_to_hide = document.querySelectorAll(`[data-parentid=${parentRowId}]`);

        parent_row.querySelector(".plus_icon").style.display = "inline-block";
        parent_row.querySelector(".minus_icon").style.display = "none";
        rows_to_hide.forEach((subrow)=>{
            subrow.style.display = "none";
            hideSubTopics(subrow.id);
        })
    }

    // Show parent rows of selected row
    function showParentRows(row){
        var parent_row_id = row.getAttribute("data-parentid");
        while (parent_row_id){
            var parent_row = document.getElementById(parent_row_id);
            parent_row.style.display = "table-row";
            parent_row.querySelector(".plus_icon").style.display = "none";
            parent_row.querySelector(".minus_icon").style.display = "inline-block";
            parent_row_id = parent_row.getAttribute("data-parentid");
        }
    }

    // Search functionality for the table
    function searchSubjects(text){
        var subject_rows = document.querySelectorAll("#coursesTable tr");
        var pattern = new RegExp("\\b" + text, "i");
        //var found = []; // array of matching rows

        subject_rows.forEach((row, i)=>{
            if (i != 0){
                var result = pattern.test(row.getAttribute("data-subject"));

                if (result){
                    row.style.display = "table-row";
                    showParentRows(row);
                }else{
                    row.style.display = "none";
                }
            }
        })

       
    }
    
    // Prints table
    function printTable(){
        var tableToPrint = document.getElementById("coursesTable");
        var tableToPrintClone = document.getElementById("coursesTableClone");
        var styles = `
            #coursesTableClone {
                width: 100%;
                border-collapse: collapse;
                font-family: 'Noto Sans', sans-serif;
                font-size: 12px;
            }
            #coursesTableClone .subject_row {
                background: #f8f8f8;
                border-top: 1px solid #eeeeee;
                border-bottom: 1px solid #eeeeee;
            }
            #coursesTableClone th{
                text-align: left;
                font-weight: normal;
                padding-bottom: 15px;
            }
            #coursesTableClone .plus_icon {
                visibility: hidden;
            }
            #coursesTableClone  .minus_icon {
                display: inline-block;
                font-size: 34px;
                color: lightgray;
                text-align: center;
                vertical-align: bottom;
                cursor: pointer;
            }
            #coursesTableClone .subject_row .minus_icon {
                width: 100%;
                height: 100%;
            }
            #coursesTableClone .subrow .minus_icon{
                width: 12px;
                height: 33px;
                margin-right: 10px;
            }
            #coursesTableClone .subrow{
                display: none;
            }
            #coursesTableClone .file_icon{
                width: 20px;
                vertical-align: bottom;;
            }
        `;
        tableToPrintClone.innerHTML = tableToPrint.innerHTML;
        tableToPrintClone.querySelectorAll("tr").forEach((row, i)=>{
            if("none" == window.getComputedStyle(row).getPropertyValue('display')){
                row.remove();
            }
        });
        printJS({
            printable: 'coursesTableClone',
            type: 'html',
            style: styles
        });
    }

    // Adds (st, nd, rd, th) to the end of a number
    function ordinal_suffix_of(i) {
        var j = i % 10,
            k = i % 100;
        if (j == 1 && k != 11) {
            return i + "st";
        }
        if (j == 2 && k != 12) {
            return i + "nd";
        }
        if (j == 3 && k != 13) {
            return i + "rd";
        }
        return i + "th";
    }

    // Filter for the dropdowns
    function dropdownFilter() {
        var subjectDropdown = document.querySelector("#subjectDropdown").value;
        var subDropdown = document.querySelector("#subDropdown").value;
        var startingArray = [];
        subjectsCopy = []; // Copy of subjects data array
        isMainSubject = false;

        clearTable();

        if (subjectDropdown == 'All'){
            if (subDropdown == 'subrow_level0'){
                // Show the main subjects & subs
                subjects.forEach((subject, i)=>{
                        subjectsCopy.push(subject);
                        isMainSubject = true;
                })
                // Show subs Foundational Concepts and below
                /*
                subjects.forEach((subject, i)=>{
                    subject.subtopics.forEach((sub)=>{
                        subjectsCopy.push(sub);
                    })
                })
                */
            }
            else if (subDropdown == 'subrow_level1'){
                // Show subs Categories and below
                subjects.forEach((subject, i)=>{
                    subject.subtopics.forEach((sub1)=>{
                        if(sub1.subtopics){
                            if(sub1.usage === 0){
                                return;
                            }else{
                                sub1.subtopics.forEach((sub2)=>{
                                    if(sub2.usage === 0){
                                            return;
                                    }else{
                                        subjectsCopy.push(sub2);
                                    }
                                })
                            }
                        }
                    })
                })
            }
            else if (subDropdown == 'subrow_level2'){
                // Show subs Topics and below
                subjects.forEach((subject, i)=>{
                    subject.subtopics.forEach((sub1)=>{
                        if(sub1.subtopics){
                            if(sub1.usage === 0){
                                return;
                            }else{
                                sub1.subtopics.forEach((sub2)=>{
                                    if(sub2.subtopics){
                                        if(sub2.usage === 0){
                                            return;
                                        }else{
                                            sub2.subtopics.forEach((sub3)=>{
                                                if(sub3.usage === 0){
                                                    return;
                                                }else{
                                                    subjectsCopy.push(sub3);
                                                }
                                            })
                                        }
                                    }
                                        
                                })
                            }
                    
                        }
                    })
                })
            }
            // Show subs Sub-topics and below
            else if (subDropdown == 'subrow_level3'){
                subjects.forEach((subject, i)=>{
                    subject.subtopics.forEach((sub1)=>{
                        if(sub1.subtopics){
                            if(sub1.usage === 0){
                                return;
                            }else{
                                sub1.subtopics.forEach((sub2)=>{
                                    if(sub2.subtopics){
                                        if(sub2.usage === 0){
                                            return;
                                        }else{
                                            sub2.subtopics.forEach((sub3)=>{
                                                if(sub3.subtopics){
                                                    if(sub3.usage === 0){
                                                        return;
                                                    }else{
                                                        sub3.subtopics.forEach((sub4)=>{
                                                            if(sub4.usage === 0){
                                                                return;
                                                            }else{
                                                                subjectsCopy.push(sub4);
                                                            }
                                                        })
                                                    }
                                                }
                                            })
                                        }
                                    }
                                })
                            }
                        }
                    })
                })
            } 
        }
        else if (subjectDropdown != 'All'){
            if (subjectDropdown == 'BB'){
                if (subjects[2].hasOwnProperty("subtopics"))
                    startingArray = subjects[2].subtopics;
            }
            else if (subjectDropdown == 'CP'){
                if (subjects[0].hasOwnProperty("subtopics"))
                    startingArray = subjects[0].subtopics;
            }
            else if (subjectDropdown == 'PS'){
                if (subjects[3].hasOwnProperty("subtopics"))
                    startingArray = subjects[3].subtopics;
            }
            else if (subjectDropdown == 'CARS'){
                if (subjects[1].hasOwnProperty("subtopics"))
                    startingArray = subjects[1].subtopics;
            }

            if (subDropdown == 'subrow_level0'){
                startingArray.forEach((sub)=>{
                    if(sub.usage === 0){
                                return;
                    }else{
                        subjectsCopy.push(sub);
                    }
                })
            }
            else if (subDropdown == 'subrow_level1'){
                startingArray.forEach((sub)=>{
                    if(sub.subtopics){
                        sub.subtopics.forEach((sub2)=>{
                            if(sub2.usage === 0){
                                return;
                            }else{
                                subjectsCopy.push(sub2);
                            }
                        })
                    }
                })
            }
            else if (subDropdown == 'subrow_level2'){
                startingArray.forEach((sub)=>{
                    if(sub.subtopics){
                        if(sub.usage === 0){
                                    return;
                        }else{
                            sub.subtopics.forEach((sub2)=>{
                                if(sub2.subtopics){
                                    if(sub2.usage === 0){
                                        return;
                                    }else{
                                        sub2.subtopics.forEach((sub3)=>{
                                            if(sub3.usage === 0){
                                                return;
                                            }else{
                                                subjectsCopy.push(sub3);
                                            }
                                        })
                                    }
                                }
                            })
                        }
                    }
                })
            }
            else if (subDropdown == 'subrow_level3'){
                startingArray.forEach((sub)=>{
                    if(sub.subtopics){
                        if(sub.usage === 0){
                                    return;
                        }else{
                            sub.subtopics.forEach((sub2)=>{
                                if(sub2.subtopics){
                                    if(sub2.usage === 0){
                                        return;
                                    }else{
                                        sub2.subtopics.forEach((sub3)=>{
                                            if(sub3.subtopics){
                                                if(sub3.usage === 0){
                                                    return;
                                                }else{
                                                    sub3.subtopics.forEach((sub4)=>{
                                                        if(sub4.usage === 0){
                                                            return;
                                                        }else{
                                                            subjectsCopy.push(sub4);  
                                                        }
                                                    })
                                                }
                                            }
                                        })
                                    }
                                }
                            })
                        }
                    }
                })
            }
        }
        sortTable("correct", "asc", subjectsCopy, isMainSubject); // Sort by 'Correct'
    }

    function resetTable(){
        var subjectRows = document.getElementsByClassName("subject_row");
        var subrows = document.getElementsByClassName("subrow");

        for (var i = 0; i < subjectRows.length; i++) {
             subjectRows[i].style.display = 'table-row';
             subjectRows[i].querySelector('.minus_icon').style.display ='none';
             subjectRows[i].querySelector('.plus_icon').style.display ='inline-block';
        }
        for (var i = 0; i < subrows.length; i++) {
            subrows[i].style.display = 'none';
            subrows[i].querySelector('.minus_icon').style.display ='none';
            subrows[i].querySelector('.plus_icon').style.display ='inline-block';
       }
    }

    function hideRows(){
        var rows = document.querySelectorAll("#coursesTable tr");
        for (var i = 0; i < rows.length; i++) {
            if (i != 0)
                rows[i].style.display = 'none';
       }
	}
	
	function sortTable(column, current_order, newSubjects, isMainSubject){
        var table = document.getElementById("coursesTable");
        var subjectDropdown = document.querySelector("#subjectDropdown");
        var subDropdown = document.querySelector("#subDropdown");

        if (column == 'correct'){
            column = document.querySelector("#coursesTable th[data-name=correct]");

            clearTable();
            if (current_order == 'asc'){
                newSubjects.sort(function(a, b){
                    var bper = `${Math.round((a.correct / a.usage) * 100)}`;
                    var aper = `${Math.round((b.correct / b.usage) * 100)}`;
                    return bper - aper;
                })
                if (subDropdown.value == 'subrow_level0' && subjectDropdown.value == "All"){
                    newSubjects.forEach((subject)=>{ // Foundational Concepts
                        subject.subtopics.sort(function(a, b){
                            var bpersub = `${Math.round((a.correct / a.usage) * 100)}`;
                            var apersub = `${Math.round((b.correct / b.usage) * 100)}`;
                            return bpersub - apersub;
                        })
                    })
                }
                column.setAttribute('data-sort', 'desc');
                column.classList.remove('sort_desc');
                column.classList.add('sort_asc');
            }else if (current_order == 'desc'){
                newSubjects.sort(function(a, b){
                    var bper = `${Math.round((a.correct / a.usage) * 100)}`;
                    var aper = `${Math.round((b.correct / b.usage) * 100)}`;
                    return aper - bper;
                })
                if (subDropdown.value == 'subrow_level0' && subjectDropdown.value == "All"){
                    newSubjects.forEach((subject)=>{ // Foundational Concepts
                        subject.subtopics.sort(function(a, b){
                            var bpersub = `${Math.round((a.correct / a.usage) * 100)}`;
                            var apersub = `${Math.round((b.correct / b.usage) * 100)}`;
                            return apersub - bpersub;
                        })
                    })
                }
                column.setAttribute('data-sort', 'asc');
                column.classList.remove('sort_asc');
                column.classList.add('sort_desc');
            }

            
            
            appendSubjects(newSubjects, isMainSubject);
            if (isMainSubject){
                document.querySelectorAll('.subject_row').forEach((row)=>{
                    row.querySelector('.minus_icon').style.display ='inline-block';
                    row.querySelector('.plus_icon').style.display ='none';
                })
                document.querySelectorAll('.subrow_level0').forEach((row)=>{
                    row.style.display = "table-row";
                    row.querySelector('.minus_icon').style.display ='none';
                    row.querySelector('.plus_icon').style.display ='inline-block';
                })
            }

        }
    }

    function clearTable(){
        var table = document.getElementById("coursesTable");
        var rows = table.querySelectorAll("tr");

        rows.forEach((row, i)=>{
            if (i != 0){
                row.remove();
            }
        })
    }

    function addRowListeners(){
        expand_btns = document.querySelectorAll(".plus_icon");
        minus_btns = document.querySelectorAll(".minus_icon");

        expand_btns.forEach((btn)=>{
            btn.addEventListener("click", (e)=>{
                showSubTopics(btn.getAttribute('data-rowId'));
            })
        })
        minus_btns.forEach((btn)=>{
            btn.addEventListener("click", (e)=>{
                hideSubTopics(btn.getAttribute('data-rowId'));
            })
        })
    }
})();
 });
    //console.log($._removeData());
    $(document).on('click', function(e) {
      // Show/Hide accordion
      if ($('.curriculum-sections').length) {
        const sections = $('.curriculum-sections .section');
        sections.each(function() {
          if ($(this).has(e.target).length) {
            const toggle = $(this).find('.section-header');
            ( toggle.has(e.target).length || toggle.is(e.target) ) && $(this).toggleClass('closed');
          }
        });
      }
    });
});