/
home
/
admin
/
web
/
aceassessments.com
/
public_html
/
assets
/
js
/
Upload File
HOME
(function(){ document.onkeydown = function (e) { return false; } $(this).bind("contextmenu", function(e) { e.preventDefault(); }); var questions = $.parseJSON($("#questions").html()); var k,l,temparray,chunk = 5; var question_plate = ''; var visited = []; var system_question_id = []; var final_result = ''; var start_time = new Date(); var start_timestamp = $("#start_time").val();//start_time.getTime(); var duration = $("#duration").val(); var end_timestamp = start_time.setMinutes(start_time.getMinutes() + parseInt(duration)); var global_end_timestamp =''; var b = 1; var h = 0; for (k=0,l=questions.length; k<l; k+=chunk){ question_plate += '<div class="btn-group" role="group" aria-label="Third group">'; temparray = questions.slice(k,k+chunk); $(temparray).each(function(item_index,item_value){ system_question_id[h] = item_value.system_question_id; visited[h] = false; question_plate +='<a href="javascript:void(0);" class="btn btn-secondary my_question_btn" data-value="'+b+'" id="list_item_'+b+'">'+b+'</a>'; b++; h++; }); question_plate +='</div>'; } $("#student_question_plate").html(question_plate); var questionCounter = 0; //Tracks question number var selections = []; var reviews = []; var quiz = $('#quiz'); //Quiz div object // Display initial question displayNext(); $("#language").change(function(){ displayNext(); }); // Click handler for the 'next' button $('#next').on('click', function (e) { e.preventDefault(); // Suspend click listener during fade animation if(quiz.is(':animated')) { return false; } choose(); questionCounter++; displayNext(); }); // Click handler for the 'prev' button $('#prev').on('click', function (e) { e.preventDefault(); if(quiz.is(':animated')) { return false; } choose(); questionCounter--; displayNext(); }); // Animates buttons on hover $('.button').on('mouseenter', function () { $(this).addClass('active'); }); $('.button').on('mouseleave', function () { $(this).removeClass('active'); }); // Creates and returns the div that contains the questions and // the answer selections function createQuestionElement(index) { var qElement = $('<div>', { id: 'question' }); var header = $('<h2 style="text-align:center">Question ' + (index + 1)+':</h2>'); qElement.append(header); var question_photo =''; if(questions[index].question_photo !=''){ question_photo = '<img src="/assets/images/questions/question_photo/'+questions[index].question_photo+'" style="width:100px;margin-bottom:20px;">'; } var all_languages = questions[index].languages; var selected_language = $("#language").val(); var question = ''; if(selected_language == 'english'){ question = $('<p class="class_p">').append(questions[index].question); } else{ question = $('<p class="class_p">').append(all_languages[selected_language].question); } qElement.append(question); qElement.append(question_photo); var radioButtons = createRadios(index,selected_language,all_languages[selected_language]); qElement.append(radioButtons); return qElement; } // Creates a list of the answer choices as radio inputs function createRadios(index,selected_language,selected_language_byuser){ var radioList = $('<ul>'); var item; var input = ''; var all_options = ''; var option_label = ['a','b','c','d']; if(selected_language == 'english'){ for (var i = 0; i < questions[index].choices.length; i++) { item = '<div class="row">'; item +='<div class="col-md-8">'; item +='<strong>'+option_label[i]+')</strong> '; var current_option = 'option'+option_label[i]; item += '<input type="radio" id="' + current_option + '" name="answer" value="' + current_option + '" />'; item +='<label for="'+questions[index].choices[i]+'">'+questions[index].choices[i]+'</label></div>'; item +='<div class="col-md-4">'; if(questions[index].option_photos[i] !=''){ item +='<img src="/assets/images/questions/option'+option_label[i]+'_photo/'+questions[index].option_photos[i]+'" style="width:100px;margin-bottom:20px;">'; } item += '</div>'; item += '</div>'; all_options +=item; } } else{ for (var i = 0; i < questions[index].choices.length; i++) { item = '<div class="row">'; item +='<div class="col-md-8">'; item +='<strong>'+option_label[i]+')</strong> '; var current_option = 'option'+option_label[i]; item += '<input type="radio" id="' + current_option + '" name="answer" value="' + current_option + '" />'; item +='<label for="'+selected_language_byuser[current_option]+'">'+selected_language_byuser[current_option]+'</label></div>'; item +='<div class="col-md-4">'; if(questions[index].option_photos[i] !=''){ item +='<img src="/assets/images/questions/option'+option_label[i]+'_photo/'+questions[index].option_photos[i]+'" style="width:100px;margin-bottom:20px;">'; } item += '</div>'; item += '</div>'; all_options +=item; } } return all_options; } function choose(){ selections[questionCounter] = $('input[name="answer"]:checked').val(); reviews[questionCounter] = $('#student_review').is(":checked"); var next = questionCounter + 1; if(next != 0){ var current_list_item_id = "#list_item_"+next; var vistied_flag = true; var reviewed_flag = $('#student_review').is(":checked"); var answered_flag = false; if(typeof $('input[name="answer"]:checked').val() != 'undefined'){ answered_flag = true; } else { answered_flag = false; } var class1 = $(current_list_item_id); var postfix_class = getRequiredClass(vistied_flag,answered_flag,reviewed_flag); var new_class = 'btn btn-secondary my_question_btn '+postfix_class; $(current_list_item_id).removeClass(class1.attr('class')).addClass(new_class); } $("#student_review").prop("checked", false); } $("#student_question_plate a").click(function() { $('#question1').hide(); var question_id = (parseInt($(this).data("value")) - 1); visited[question_id] = true; quiz.fadeOut(function() { $('#question').remove(); if(question_id < questions.length){ if(reviews[question_id] && typeof reviews[question_id] != 'undefined'){ $("#student_review").prop("checked", true); reviews[question_id] = true; } else{ $("#student_review").prop("checked", false); reviews[question_id] = false; } var nextQuestion = createQuestionElement(question_id); quiz.append(nextQuestion).fadeIn(); $('input[value='+selections[question_id]+']').prop('checked', true); // Controls display of 'prev' button if(question_id === 1){ $('#prev').show(); $('#next a').text('Next'); $('#next').show(); } else if(question_id === 0){ $('#prev').hide(); $('#next a').text('Next'); $('#next').show(); } else if(question_id != 0 && question_id != 1){ $('#prev').show(); if(question_id == (questions.length-1)){ $('#next').show(); $('#next a').text('Summary'); } else{ $('#next').show(); $('#next a').text('Next'); } } }else { var result_list_all_items = displayScore(); $('#question1').html(result_list_all_items); $('#question1').show(); $('#next').show(); $('#prev').hide(); } }); $('#final_submit_button').hide(); questionCounter = question_id }); // Displays next requested element function displayNext() { quiz.fadeOut(function() { $('#question').remove(); visited[questionCounter] = true; global_end_timestamp = getendtime(); console.log(global_end_timestamp); if(questionCounter < questions.length){ if(reviews[questionCounter] && typeof reviews[questionCounter] != 'undefined'){ $("#student_review").prop("checked", true); reviews[questionCounter] = true; }else{ $("#student_review").prop("checked", false); reviews[questionCounter] = false; } var nextQuestion = createQuestionElement(questionCounter); quiz.append(nextQuestion).fadeIn(); $('input[value='+selections[questionCounter]+']').prop('checked', true); if(questionCounter === 1){ $('#prev').show(); $('#next a').text('Next'); $('#next').show(); //$('#summary').hide(); } else if(questionCounter === 0){ $('#prev').hide(); $('#next a').text('Next'); $('#next').show(); //$('#summary').hide(); } else if(questionCounter == (questions.length-1)){ //$('#next').hide(); $('#next a').text('Summary'); } $('#final_submit_button').hide(); }else { var result_list_all_items = displayScore(); //quiz.html(scoreElem).fadeIn(); $('#question1').html(result_list_all_items); $('#question1').show(); //$('#final_submit_button').show(); $('#next').hide(); $('#prev').hide(); } }); } function displayScore() { //var score = $('<table class="table-responsive">',{id: 'question'}); //$("#student_review").hide(); var numCorrect = 0; var result_list = '<table style="width:100%;padding:10px;" border="1">'; result_list += '<tr>'; result_list += '<th>ID</th><th>Question</th><th>Answer</th>'; result_list += '</tr>'; var result_list_quest =''; var selected_language = $("#language").val(); var student_end_time = new Date(); var student_end_timestamp = student_end_time.getTime(); final_result = '['; final_result +='[{"start_timestamp":"'+start_timestamp+'","end_timestamp":"'+global_end_timestamp+'"'+'}],'; final_result += '['; for (var i = 0; i < selections.length; i++) { var student_choosed = ''; if(typeof selections[i] !='undefined'){ student_choosed = selections[i]; $("#final_submit_button").show(); } else { $("#final_submit_button").hide(); //$.noConflict(); $('#myModal').modal('show'); //alert("Please Answer All Questions"); break; } //reviews[questionCounter] = false; var student_reviewed = ''; if(typeof reviews[i] !='undefined'){ student_reviewed = reviews[i]; } else { student_reviewed = ''; } result_list += '<tr>'; result_list += '<td style="padding-left:10px;">'+(i+1)+'</td>'; if(selected_language == 'english'){ result_list += '<td style="padding-left:10px;">'+questions[i].question+'</td>'; } else { var all_languages = questions[i].languages; result_list += '<td>'+all_languages[selected_language].question+'</td>'; } result_list += '<td style="text-align:center">'+student_choosed+'</td>'; result_list += '</tr>'; //result_list += 'Question'+i+"..."+student_choosed; if(i == selections.length -1){ question_answer = '{"question_id":"'+system_question_id[i]+'","answer":"'+student_choosed+'","reviewed":"'+student_reviewed+'"}'; } else { question_answer = '{"question_id":"'+system_question_id[i]+'","answer":"'+student_choosed+'","reviewed":"'+student_reviewed+'"},'; } final_result += question_answer; } result_list += '</table>'; final_result += ']'; final_result += ']'; return result_list; } $("#final_button").click(function(){ console.log(final_result); var student_code = $("#student_code").val(); swal({ title: "Are you sure?", text: "Your will not be able to recover this test!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "Yes, submit it!", cancelButtonText: "No, cancel plx!", closeOnConfirm: false, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { $.ajax({ url: '/ajaxcontroller/savefinalresult/'+$('#event_id').val(), type: "POST", data: {student_question_array:final_result,student_code:student_code}, dataType: "json", beforeSend: function(x) { // console.log(final_result); }, success: function(result) { } }); swal("Submitted!", "Your test has been submitted successfully.", "success"); window.location.href = "/thankyou/"+$('#event_id').val(); } else { swal("Cancelled", "Your test is safe :)", "error"); } }); }); window.setInterval(function(){ var current_time = new Date(); var current_timestamp = current_time.getTime(); // console.log('current_time:'+current_timestamp); if(current_timestamp>end_timestamp){ console.log(final_result); if(final_result == ''){ global_end_timestamp = getendtime(); final_result = '['; final_result +='[{"start_timestamp":"'+start_timestamp+'","end_timestamp":"'+global_end_timestamp+'"'+'}],'; final_result += '['; for (var i = 0; i < selections.length; i++) { var student_choosed = ''; if(typeof selections[i] !='undefined'){ student_choosed = selections[i]; } var student_reviewed = ''; if(typeof reviews[i] !='undefined'){ student_reviewed = reviews[i]; } else { student_reviewed = ''; } if(i == selections.length -1){ question_answer = '{"question_id":"'+system_question_id[i]+'","answer":"'+student_choosed+'","reviewed":"'+student_reviewed+'"}'; } else { question_answer = '{"question_id":"'+system_question_id[i]+'","answer":"'+student_choosed+'","reviewed":"'+student_reviewed+'"},'; } final_result += question_answer; } final_result += ']'; final_result += ']'; } console.log('if empty :'+final_result); var student_code = $("#student_code").val(); $.ajax({ url: '/ajaxcontroller/savefinalresult/'+$('#event_id').val(), type: "POST", data: {student_question_array:final_result,student_code:student_code}, dataType: "json", beforeSend: function(x) { }, success: function(result) { } }); window.location.href = "/thankyou/"+$('#event_id').val(); } else{ var diff = end_timestamp - current_timestamp; var diffMins = Math.round(((diff % 86400000) % 3600000) / 60000); // minutes console.log(diffMins); if(diffMins<=5){ $('.time_div').css("color", "red"); $('.time_warning').show(); //alert('Only '+diffMins+' Minutes Remaining'); } } }, 5000); })(); function getendtime(){ $.ajax({ url: '/ajaxcontroller/getendtime/', type: "POST", success: function(result) { console.log(result); $('#end_time').val(result); return result; } }); } /* $(window).bind('beforeunload', function(){ return "Do you want to exit this page?"; });*/