/
home
/
admin
/
web
/
aceassessments.com
/
public_html
/
assets
/
js
/
Upload File
HOME
(function(){ /* globals MediaRecorder */ /*document.onkeydown = function (e) { return false; } $(this).bind("contextmenu", function(e) { e.preventDefault(); });*/ var questions = $.parseJSON($("#questions").html()); var questionCounter = 0; var selections = []; var global_end_timestamp =''; var quiz = $('#quiz'); var final_result = ''; 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++; $("#next").hide(); $("#prev").hide(); 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 = ''; console.log(questions[index].id); $("#current_question_id").val(questions[index].id); var all_languages = JSON.parse(questions[index].language); var formated_languages = all_languages; var language_list = []; for (var i = 0; i < all_languages.length; i++) { $.each(all_languages[i], function(key, value){ language_list[key] = value['question']; }); } var selected_language = $("#language").val(); if(selected_language == 'english'){ question = $('<p class="class_p">').append(questions[index].question); } else { question = $('<p class="class_p">').append(language_list[selected_language]); } var my_buttons = ''; //var recording_box = ''; //recording_box += ''; //var recording_box_area = $('<div class="recording_box_area">').append(recording_box); //var recording_button = $('<div class="video_button_area">').append(my_buttons); qElement.append(question); //qElement.append(recording_box_area); //qElement.append(recording_button); //var steps = createSteps(index,selected_language,language_list[selected_language]); //qElement.append(steps); return qElement; } // Creates a list of the answer choices as radio inputs function createSteps(index,selected_language,selected_language_byuser){ //console.log(selections[index]); var current_id = questions[index].id; var radioList = $('<ul>'); var item = ''; var input = ''; var all_options = ''; var option_label = ['a','b','c','d']; var steps = []; if(typeof selections[index] != 'undefined'){ steps = selections[index].steps; } if(selected_language == 'english') { for (var i = 0; i < questions[index].steps.length; i++) { item = '<div class="row">'; item +='<div class="col-md-8">'; item +='<strong>Step'+(i+1)+')</strong> '; var current_step_value = "0"; if(typeof steps[i] != 'undefined'){ current_step_value = steps[i]; //console.log(current_step_value); } var current_option = 'option'+option_label[i]; item +='<label for="'+questions[index].steps[i]+'">'+questions[index].steps[i].step+'</label></div>'; item += '<div class="col-md-4">'; item += '<select class="selectclass" id="step_'+current_id+'_'+(i+1)+'" name="step['+current_id+']['+(i+1)+']">'; if(current_step_value == "0"){ item += '<option value="0" selected>No Answer</option>'; } else { item += '<option value="0">No Answer</option>'; } if(current_step_value == "30"){ item += '<option value="30" selected>Poor</option>'; } else { item += '<option value="30">Poor</option>'; } if(current_step_value == "50"){ item += '<option value="50" selected>Average</option>'; } else { item += '<option value="50">Average</option>'; } if(current_step_value == "70"){ item += '<option value="70" selected>Good</option>'; } else { item += '<option value="70">Good</option>'; } if(current_step_value == "85"){ item += '<option value="85" selected>Very Good</option>'; } else { item += '<option value="85">Very Good</option>'; } if(current_step_value == "100"){ item += '<option value="100" selected>Excellent</option>'; } else { item += '<option value="100">Excellent</option>'; } item += '</select>'; item += '</div>'; item += '</div>'; all_options +=item; } } else { for (var i = 0; i < questions[index].steps.length; i++) { var step_all_languages = JSON.parse(questions[index].steps[i].language); var step_language_list = []; for (var j = 0; j < step_all_languages.length; j++) { $.each(step_all_languages[j], function(key, value){ step_language_list[key] = value['step']; }); } var current_step_value = "0"; if(typeof steps[i] != 'undefined'){ current_step_value = steps[i]; //console.log(current_step_value); } var item = ''; item = '<div class="row">'; item += '<div class="col-md-8">'; item += '<strong>Step'+(i+1)+')</strong> '; item += '<label for="'+step_language_list[selected_language]+'">'+step_language_list[selected_language]+'</label>'; item += '</div>'; item += '<div class="col-md-4">'; item += '<select class="selectclass" id="step_'+current_id+'_'+(i+1)+'" name="step['+current_id+']['+(i+1)+']">'; if(current_step_value == "0"){ item += '<option value="0" selected>No Answer</option>'; } else { item += '<option value="0">No Answer</option>'; } if(current_step_value == "25"){ item += '<option value="25" selected>Poor</option>'; } else { item += '<option value="25">Poor</option>'; } if(current_step_value == "50"){ item += '<option value="50" selected>Good</option>'; } else { item += '<option value="50">Good</option>'; } if(current_step_value == "75"){ item += '<option value="75" selected>Very Good</option>'; } else { item += '<option value="75">Very Good</option>'; } if(current_step_value == "100"){ item += '<option value="100" selected>Excellent</option>'; } else { item += '<option value="100">Excellent</option>'; } item += '</select>'; item += '</div>'; item += '</div>'; all_options +=item; //console.log(step_language_list[selected_language]); } } return all_options; } function choose() { var current_id = questions[questionCounter].id; // console.log(current_id); var marks = questions[questionCounter].marks; var steps = questions[questionCounter].steps; var total_no_of_steps = steps.length; var each_step_marks = marks / total_no_of_steps; var obtained_marks = 0; var k =0; var steps_selected = []; $('select[name^="step"]').filter( function(){ var step_obtained_marks = (this.value * each_step_marks) / 100; steps_selected[k] = this.value; obtained_marks = obtained_marks + step_obtained_marks; k++; }); var index_array = []; index_array['question_id'] = current_id; index_array['steps'] = steps_selected; index_array['marks'] = marks; index_array['obtained_marks'] = obtained_marks; selections[questionCounter] = index_array; //console.log(index_array); } // Displays next requested element function displayNext() { $("#canvas").removeAttr('src'); global_end_timestamp = ''; quiz.fadeOut(function() { $('#question').remove(); if(questionCounter < questions.length){ var nextQuestion = createQuestionElement(questionCounter); quiz.append(nextQuestion).fadeIn(); if(questionCounter === 1){ //$('#prev').show(); $('#prev').hide(); // $('#next a').text('Next'); //$('#next').show(); } else if(questionCounter === 0){ $('#prev').hide(); //$('#next a').text('Next'); //$('#next').show(); } else if(questionCounter == (questions.length-1)){ $('#next a').text('Summary'); } $('#final_submit_button').hide(); } else { var result_list_all_items = displayScore(); //$('#question1').html("Your all data submitted successfully"); $('#question1').show(); $('#next').hide(); $('#prev').hide(); $('#myvideosection').hide(); } }); } function displayScore() { 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 start_timestamp = $("#start_time").val(); var aadhar_pic = $("#aadhar_pic").val(); var profile_pic = $("#profile_pic").val(); //console.log(selections.length); //console.log(selections); var student_code = $("#student_code").val(); final_result = '['; final_result +='[{"start_timestamp":"'+start_timestamp+'","end_timestamp":"'+global_end_timestamp+'","aadhar_pic":"'+aadhar_pic+'","profile_pic":"'+profile_pic+'"}],'; final_result += '['; for (var i = 0; i < selections.length; i++) { result_list += '<tr>'; result_list += '<td style="padding-left:10px;">'+(i+1)+'</td>'; var system_question_id = selections[i]['question_id']; var system_marks = selections[i]['marks']; var system_obtained_marks = selections[i]['obtained_marks']; //console.log(selections[i]); ///console.log(system_question_id); if(selected_language == 'english'){ //console.log(questions); if(typeof questions[i] != 'undefined'){ result_list += '<td style="padding-left:10px;">'+questions[i].question+'</td>'; } else { result_list += '<td style="padding-left:10px;"></td>'; } } else { var all_languages = JSON.parse(questions[i].language); var language_list = []; for (var zebra = 0; zebra < all_languages.length; zebra++) { $.each(all_languages[zebra], function(key, value){ language_list[key] = value['question']; }); } result_list += '<td>'+language_list[selected_language]+'</td>'; } result_list += '<td style="text-align:center">test</td>'; result_list += '</tr>'; if(i == selections.length -1){ var each_question = '{"question_id":"'+system_question_id+'","marks":"'+system_marks+'","obtained_marks":"'+system_obtained_marks+'"}'; } else{ var each_question = '{"question_id":"'+system_question_id+'","marks":"'+system_marks+'","obtained_marks":"'+system_obtained_marks+'"},'; } final_result +=each_question; } final_result +=']'; final_result +=']'; console.log(final_result); result_list += '</table>'; $("#final_submit_button").show(); return result_list; } $("#final_button").click(function(){ //console.log(final_result); var student_code = $("#student_code").val(); //console.log(selections); 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: '/students/ajaxcontroller/savevivafinalresult/'+$('#event_id').val(), type: "POST", method: "POST", data: {student_viava_question_array:final_result,student_code:student_code}, beforeSend: function(x) { //console.log(final_result); }, success: function(result) { //console.log(result); } }); swal("Submitted!", "Your test has been submitted successfully.", "success"); window.location.href = "/students/login/"+$('#event_id').val(); } else { swal("Cancelled", "Your test is safe :)", "error"); } } ); }); })();