PageSourceSearch

https://pootergeek.com/wp-content/plugins/quiz-maker/public/js/quiz-maker-public-ajax.js?ver=1790296368

js pootergeek.com collected 2026-09-25 00:33:10 UTC 102,809 bytes, 1,876 lines download raw bytes

1(function ($) {
2    'use strict';
3    $.fn.serializeFormJSON = function () {
4        var o = {},
5            a = this.serializeArray();
6        $.each(a, function () {
7            if (o[this.name]) {
8                if (!o[this.name].push) {
9                    o[this.name] = [o[this.name]];
10                }
11                o[this.name].push(this.value || '');
12            } else {
13                o[this.name] = this.value || '';
14            }
15        });
16        return o;
17    };    
18    if (!String.prototype.trim) {
19        (function() {
20            String.prototype.trim = function() {
21                return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
22            };
23        })();
24    }
25    $(document).ready(function () {
26        var current_fs, next_fs, previous_fs; //fieldsets
27        var left, opacity, scale; //fieldset properties which we will animate
28        var animating; //flag to prevent quick multi-click glitches
29        var form, ays_quiz_container, ays_quiz_container_id;
30        if(!$.fn.goTo){
31            $.fn.goTo = function(myOptions) {
32                var QuizAnimationTop = (myOptions.quiz_animation_top && myOptions.quiz_animation_top != 0) ? parseInt(myOptions.quiz_animation_top) : 100;
33                myOptions.quiz_enable_animation_top = myOptions.quiz_enable_animation_top ? myOptions.quiz_enable_animation_top : 'on';
34                var EnableQuizAnimationTop = ( myOptions.quiz_enable_animation_top && myOptions.quiz_enable_animation_top == 'on' ) ? true : false;
35                if( EnableQuizAnimationTop ){
36                    $('html, body').animate({
37                        scrollTop: $(this).offset().top - QuizAnimationTop + 'px'
38                    }, 'slow');
39                }
40                return this; // for chaining...
41            }
42        }
43        if (!String.prototype.trim) {
44            (function() {
45                String.prototype.trim = function() {
46                    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
47                };
48            })();
49        }
50        $(document).find(".ays-quiz-container .information_form").each(function(e){
51            var $this = $(this);
52            var cont = $(document).find(".ays-quiz-container");
53            var thisCont = $this.parents('.ays-quiz-container');
54            var quizId = thisCont.find('input[name="ays_quiz_id"]').val();
55            var myOptions = JSON.parse(window.atob(window.aysQuizOptions[quizId]));
56            if(myOptions.autofill_user_data && myOptions.autofill_user_data == "on"){
57                var userData = {};
58                userData.action = 'ays_get_user_information';
59                $.ajax({
60                    url: quiz_maker_ajax_public.ajax_url,
61                    method: 'post',
62                    dataType: 'json',
63                    data: userData,
64                    success: function (response) {
65                        if(response !== null){
66                            $this.find("input[name='ays_user_name']").val(response.data.display_name);
67                            $this.find("input[name='ays_user_email']").val(response.data.user_email);
68                        }
69                    }
70                });
71            }
72        });
73
74        $(document).find('.ays-quiz-rate-link-box .ays-quiz-rate-link').on('click', function (e) {
75            e.preventDefault();
76            var _this  = $(this);
77            var parent = _this.parents('.ays-quiz-container');
78            var quizId = parent.find('input[name="ays_quiz_id"]').val();
79            var form   = parent.find('form');
80
81            var action = 'ays_get_rate_last_reviews';
82            $.ajax({
83                url: quiz_maker_ajax_public.ajax_url,
84                method: 'post',
85                dataType: 'json',
86                data: {
87                    quiz_id: quizId,
88                    action: action
89                },
90                success: function(response){
91                    if(response.status === true){
92                        form.find('.quiz_rate_reasons_body').html(response.quiz_rate_html);
93                        form.find('.lds-spinner2').addClass('lds-spinner2-none').removeClass('lds-spinner2');
94                        form.find('.quiz_rate_reasons_container').slideDown(500);
95
96                        _this.slideUp(500);
97
98                        form.find('button.ays_load_more_review').on('click', function(e){
99                            form.find('.quiz_rate_load_more [data-role="loader"]').addClass(form.find('.quiz_rate_load_more .ays-loader').data('class')).removeClass('ays-loader');
100                            var startFrom = parseInt($(e.target).attr('startfrom'));
101                            var zuyga = parseInt($(e.target).attr('zuyga'));
102                            $.ajax({
103                                url: quiz_maker_ajax_public.ajax_url,
104                                method: 'post',
105                                data:{
106                                    action: 'ays_load_more_reviews',
107                                    quiz_id: quizId,
108                                    start_from: startFrom,
109                                    zuyga: zuyga
110                                },
111                                success: function(resp){
112                                    if(zuyga == 0){
113                                        zuyga = 1;
114                                    }else{
115                                        zuyga = 0;
116                                    }
117                                    
118                                    form.find('.quiz_rate_load_more [data-role="loader"]').addClass('ays-loader').removeClass(form.find('.quiz_rate_load_more .ays-loader').data('class'));
119                                    form.find('.quiz_rate_reasons_container').append(resp);
120                                    form.find('.quiz_rate_more_review:last-of-type').slideDown(500);
121                                    $(e.target).attr('startfrom', startFrom + 5 );
122                                    $(e.target).attr('zuyga', zuyga);
123                                    if(form.find('.quiz_rate_reasons_container p.ays_no_more').length > 0){
124                                        $(e.target).remove();
125                                    }
126                                }
127                            });
128                        });
129                    } else {
130                        swal.fire({
131                            type: 'info',
132                            html: "<h2>"+ quizLangObj.loadResource +"</h2><br><h6>"+ quizLangObj.somethingWentWrong +"</h6>"
133                        });
134                    }
135                },
136                error: function(){
137                    swal.fire({
138                        type: 'info',
139                        html: "<h2>"+ quizLangObj.loadResource +"</h2><br><h6>"+ quizLangObj.somethingWentWrong +"</h6>"
140                    });
141                }
142            });
143        });
144
145        $(document).find('input.ays_finish').on('click', function (e) {
146            e.preventDefault();
147            ays_quiz_container_id = $(this).parents(".ays-quiz-container").attr("id");
148            ays_quiz_container = $('#'+ays_quiz_container_id);
149            if(ays_quiz_container.find('.ays_music_sound').length !== 0){
150                ays_quiz_container.find('.ays_music_sound').fadeOut();
151                setTimeout(function() {
152                    audioVolumeOut(ays_quiz_container.find('.ays_quiz_music').get(0));
153                },4000);
154                setTimeout(function() {
155                    ays_quiz_container.find('.ays_quiz_music').get(0).pause();
156                },6000);
157            }
158            if(ays_quiz_container.find('audio').length > 0){
159                ays_quiz_container.find('audio').each(function(e, el){
160                    el.pause();
161                });
162            }
163            if(ays_quiz_container.find('video').length > 0){
164                ays_quiz_container.find('video').each(function(e, el){
165                    el.pause();
166                });
167            }
168            ays_quiz_container.find('.ays-live-bar-wrap').addClass('bounceOut');            
169            setTimeout(function () {
170                ays_quiz_container.find('.ays-live-bar-wrap').css('display','none');
171            },300);
172            var quizId = ays_quiz_container.find('input[name="ays_quiz_id"]').val();
173            var myOptions = JSON.parse(window.atob(window.aysQuizOptions[quizId]));
174            var quizOptionsName = 'quizOptions_'+quizId;
175            var myQuizOptions = [];            
176            
177            if(typeof window[quizOptionsName] !== 'undefined'){
178                for(var i in window[quizOptionsName]){
179                    if(window[quizOptionsName].hasOwnProperty(i)){
180                         myQuizOptions[i] = (JSON.parse(window.atob(window[quizOptionsName][i])));
181                    }
182                }
183            }
184
185            if( ! $(this).hasClass('ays-quiz-after-timer-end') ){
186                var confirm = true;
187                myOptions.enable_see_result_confirm_box = ! myOptions.enable_see_result_confirm_box ? 'off' : myOptions.enable_see_result_confirm_box;
188                var enable_see_result_confirm_box = (myOptions.enable_see_result_confirm_box && myOptions.enable_see_result_confirm_box == 'on') ? true : false;
189                if (enable_see_result_confirm_box) {
190                    if ( ! window.aysEarlyFinishConfirmBox[ quizId ] ) {
191                        confirm = window.confirm(quizLangObj.areYouSure);
192                        window.aysSeeResultConfirmBox[ quizId ] = false;
193                    }
194                }
195
196                if ( ! confirm && window.aysTimerIntervalFlag == null ) {
197                    window.aysSeeResultConfirmBox[ quizId ] = true;
198                    return false;
199                }
200            }
201
202            if($(document).scrollTop() >= $(this).parents('.ays-questions-container').offset().top){
203                ays_quiz_container.goTo(myOptions);
204            }
205
206            var emailValivatePattern = /^[a-zA-Z0-9\._+-]+@[a-zA-Z0-9\._-]+\.\w{2,}$/;
207
208            if (!($(this).hasClass('start_button'))) {
209                if ($(this).parents('.step').find('input[required]').length !== 0) {
210                    var empty_inputs = 0;
211                    var required_inputs = $(this).parents('.step').find('input[required]');
212                    $(this).parents('.step').find('.ays_red_border').removeClass('ays_red_border');
213                    $(this).parents('.step').find('.ays_green_border').removeClass('ays_green_border');
214                    for (var i = 0; i < required_inputs.length; i++) {
215                        
216                        switch(required_inputs.eq(i).attr('name')){
217                            case "ays_user_phone": {
218                                if (!validatePhoneNumber(required_inputs.eq(i).get(0))) {
219                                    required_inputs.eq(i).addClass('ays_red_border');
220                                    required_inputs.eq(i).addClass('shake');
221                                    empty_inputs++;
222                                }
223                                break;
224                            }
225                            case "ays_user_email": {
226                                if (!(emailValivatePattern.test(required_inputs.eq(i).val().trim()))) {
227                                    required_inputs.eq(i).addClass('ays_red_border');
228                                    required_inputs.eq(i).addClass('shake');
229                                    empty_inputs++;
230                                }
231                                break;
232                            }
233                            default:{
234                                if (required_inputs.eq(i).val() === '' &&
235                                    required_inputs.eq(i).attr('type') !== 'hidden') {
236                                    required_inputs.eq(i).addClass('ays_red_border');
237                                    required_inputs.eq(i).addClass('shake');
238                                    empty_inputs++;
239                                }
240                                break;
241                            }
242                        }
243                    }
244                    var empty_inputs2 = 0;
245                    var phoneInput = $(this).parents('.step').find('input[name="ays_user_phone"]');
246                    var emailInput = $(this).parents('.step').find('input[name="ays_user_email"]');
247                    if(phoneInput.val() != ''){
248                        phoneInput.removeClass('ays_red_border');
249                        phoneInput.removeClass('ays_green_border');
250                        if (!validatePhoneNumber(phoneInput.get(0))) {
251                            if (phoneInput.attr('type') !== 'hidden') {
252                                phoneInput.addClass('ays_red_border');
253                                phoneInput.addClass('shake');
254                                empty_inputs2++;
255                            }
256                        }else{
257                            phoneInput.addClass('ays_green_border');
258                        }
259                    }
260                    if(emailInput.val() != ''){
261                        emailInput.removeClass('ays_red_border');
262                        emailInput.removeClass('ays_green_border');
263                        if (!(emailValivatePattern.test(emailInput.val().trim()))) {
264                            if (emailInput.attr('type') !== 'hidden') {
265                                emailInput.addClass('ays_red_border');
266                                emailInput.addClass('shake');
267                                empty_inputs2++;
268                            }
269                        }else{
270                            emailInput.addClass('ays_green_border');
271                        }
272                    }
273                    var errorFields = $(this).parents('.step').find('.ays_red_border');
274                    if (empty_inputs2 !== 0 || empty_inputs !== 0) {
275                        setTimeout(function(){
276                            errorFields.each(function(){
277                                $(this).removeClass('shake');
278                            });
279                        }, 500);
280                        setTimeout(function(){
281                            required_inputs.each(function(){
282                                $(this).removeClass('shake');
283                            });
284                        }, 500);
285                        return false;
286                    }
287                }else{
288                    if($(this).parents('.step').find('.information_form').length !== 0 ){
289                        var empty_inputs = 0;
290                        var phoneInput = $(this).parents('.step').find('input[name="ays_user_phone"]');
291                        var emailInput = $(this).parents('.step').find('input[name="ays_user_email"]');
292                        if(phoneInput.val() != ''){
293                            phoneInput.removeClass('ays_red_border');
294                            phoneInput.removeClass('ays_green_border');
295                            if (!validatePhoneNumber(phoneInput.get(0))){
296                                if (phoneInput.attr('type') !== 'hidden') {
297                                    phoneInput.addClass('ays_red_border');
298                                    phoneInput.addClass('shake');
299                                    empty_inputs++;
300                                }
301                            }else{
302                                phoneInput.addClass('ays_green_border');
303                            }
304                        }
305                        if(emailInput.val() != ''){
306                            emailInput.removeClass('ays_red_border');
307                            emailInput.removeClass('ays_green_border');
308                            if (!(emailValivatePattern.test(emailInput.val().trim()))) {
309                                if (emailInput.attr('type') !== 'hidden') {
310                                    emailInput.addClass('ays_red_border');
311                                    emailInput.addClass('shake');
312                                    empty_inputs++;
313                                }
314                            }else{
315                                emailInput.addClass('ays_green_border');
316                            }
317                        }
318                        var errorFields = $(this).parents('.step').find('.ays_red_border');
319                        if (empty_inputs !== 0) {
320                            setTimeout(function(){
321                                errorFields.each(function(){
322                                    $(this).removeClass('shake');
323                                });
324                            }, 500);
325                            return false;
326                        }
327                    }
328                }
329            }
330
331            var next_sibilings_count = $(this).parents('form').find('.ays_question_count_per_page').val();
332            $(e.target).parents().eq(3).find('input[name^="ays_questions"]').attr('disabled', false);
333            $(e.target).parents().eq(3).find('div.ays-quiz-timer').slideUp(500);
334            if($(e.target).parents().eq(3).find('div.ays-quiz-after-timer').hasClass('empty_after_timer_text')){
335                $(e.target).parents().eq(3).find('div.ays-quiz-timer').parent().slideUp(500);
336            }
337            // setTimeout(function () {
338            //     $(e.target).parents().eq(3).find('div.ays-quiz-timer').parent().hide();
339            // },500);
340
341            next_fs = $(this).parents('.step').next();
342            current_fs = $(this).parents('.step');
343            next_fs.addClass('active-step');
344            current_fs.removeClass('active-step');
345            form = ays_quiz_container.find('form');
346
347            if (!($(this).hasClass('start_button')) && window.aysTimerIntervalFlag == null && ! window.aysEarlyFinishConfirmBox[ quizId ]) {
348                var minSelHasError = 0;
349                var buttonsDiv = current_fs.find('.ays_buttons_div');
350                var enableArrows = $(this).parents(".ays-questions-container").find(".ays_qm_enable_arrows").val();
351                if( ays_quiz_container.find('.step[data-question-id] .enable_min_selection_number').length > 0 ){
352                    ays_quiz_container.find('.step[data-question-id] .enable_min_selection_number').each(function(){
353                        var MinSelQuestion = $(this).parents('.step[data-question-id]');
354                        var checkedMinSelCount = aysCheckMinimumCountCheckbox( MinSelQuestion, myQuizOptions );
355                        if( ays_quiz_is_question_min_count( MinSelQuestion, !checkedMinSelCount ) === true ){
356                            if( checkedMinSelCount == true ){
357                                if(enableArrows){
358                                    buttonsDiv.find('i.ays_next_arrow').removeAttr('disabled');
359                                    buttonsDiv.find('i.ays_next_arrow').prop('disabled', false);
360                                }else{
361                                    buttonsDiv.find('input.ays_next').removeAttr('disabled');
362                                    buttonsDiv.find('input.ays_next').prop('disabled', false);
363                                }
364                            }else{
365                                if(enableArrows){
366                                    buttonsDiv.find('i.ays_next_arrow').attr('disabled', 'disabled');
367                                    buttonsDiv.find('i.ays_next_arrow').prop('disabled', true);
368                                    buttonsDiv.find('i.ays_next_arrow').removeClass('ays_display_none');
369                                }else{
370                                    buttonsDiv.find('input.ays_next').attr('disabled', 'disabled');
371                                    buttonsDiv.find('input.ays_next').prop('disabled', true);
372                                    buttonsDiv.find('input.ays_next').removeClass('ays_display_none');
373                                }
374                                minSelHasError++;
375                            }
376                        }else{
377                            if(enableArrows){
378                                buttonsDiv.find('i.ays_next_arrow').attr('disabled', 'disabled');
379                                buttonsDiv.find('i.ays_next_arrow').prop('disabled', true);
380                                buttonsDiv.find('i.ays_next_arrow').removeClass('ays_display_none');
381                            }else{
382                                buttonsDiv.find('input.ays_next').attr('disabled', 'disabled');
383                                buttonsDiv.find('input.ays_next').prop('disabled', true);
384                                buttonsDiv.find('input.ays_next').removeClass('ays_display_none');
385                            }
386                            minSelHasError++;
387                        }
388                    });
389                }
390                if( minSelHasError > 0 ){
391                    return false;
392                }
393            }
394            
395            var textAnswers = form.find('div.ays-text-field textarea.ays-text-input');            
396            for(var i=0; i < textAnswers.length; i++){
397                var userAnsweredText = textAnswers.eq(i).val().trim();
398                var questionId = textAnswers.eq(i).parents('.step').data('questionId');
399                
400                var trueAnswered = false;
401
402                // Enable case sensitive text
403                var enable_case_sensitive_text = (myQuizOptions[questionId].enable_case_sensitive_text && myQuizOptions[questionId].enable_case_sensitive_text != "") ? myQuizOptions[questionId].enable_case_sensitive_text : false;
404                
405                var thisQuestionCorrectAnswer = myQuizOptions[questionId].question_answer == '' ? "" : myQuizOptions[questionId].question_answer;
406                var thisQuestionAnswer = thisQuestionCorrectAnswer.toLowerCase();
407
408                if ( enable_case_sensitive_text ) {
409                    thisQuestionAnswer = thisQuestionCorrectAnswer;
410                }
411
412                thisQuestionAnswer = thisQuestionAnswer.split('%%%');
413                for(var i_answer = 0; i_answer < thisQuestionAnswer.length; i_answer++){
414                    if ( enable_case_sensitive_text ) {
415                        if(userAnsweredText == thisQuestionAnswer[i_answer].trim()){
416                            trueAnswered = true;
417                            break;
418                        }
419                    } else {
420                        if(userAnsweredText.toLowerCase() == thisQuestionAnswer[i_answer].trim()){
421                            trueAnswered = true;
422                            break;
423                        }
424                    }
425                }
426                
427                if(trueAnswered){
428                    textAnswers.eq(i).next().val(1);
429                }else{
430                    textAnswers.eq(i).next().val(0);
431                    if(thisQuestionCorrectAnswer == ''){
432                        textAnswers.eq(i).attr('chishtpatasxan', '-');
433                    }else{
434                        textAnswers.eq(i).attr('chishtpatasxan', thisQuestionCorrectAnswer);
435                    }
436                }
437                textAnswers.eq(i).removeAttr('disabled');
438            }
439            
440            var numberAnswers = form.find('div.ays-text-field input[type="number"].ays-text-input');            
441            for(var i=0; i < numberAnswers.length; i++){
442                var userAnsweredText = numberAnswers.eq(i).val().trim();
443                var questionId = numberAnswers.eq(i).parents('.step').data('questionId');
444                if(userAnsweredText.toLowerCase().replace(/\.([^0]+)0+$/,".$1") === myQuizOptions[questionId].question_answer.toLowerCase().replace(/\.([^0]+)0+$/,".$1")){
445                    numberAnswers.eq(i).next().val(1);
446                }else{
447                    numberAnswers.eq(i).next().val(0);
448                    numberAnswers.eq(i).attr('chishtpatasxan', myQuizOptions[questionId].question_answer);                    
449                }
450                numberAnswers.eq(i).removeAttr('disabled')
451            }
452            
453            var shortTextAnswers = form.find('div.ays-text-field input[type="text"].ays-text-input');            
454            for(var i=0; i < shortTextAnswers.length; i++){
455                var userAnsweredText = shortTextAnswers.eq(i).val().trim();
456                var questionId = shortTextAnswers.eq(i).parents('.step').data('questionId');
457                
458                var trueAnswered = false;
459
460                // Enable case sensitive text
461                var enable_case_sensitive_text = (myQuizOptions[questionId].enable_case_sensitive_text && myQuizOptions[questionId].enable_case_sensitive_text != "") ? myQuizOptions[questionId].enable_case_sensitive_text : false;
462                
463                var thisQuestionCorrectAnswer = myQuizOptions[questionId].question_answer == '' ? "" : myQuizOptions[questionId].question_answer;
464                var thisQuestionAnswer = thisQuestionCorrectAnswer.toLowerCase();
465
466                if ( enable_case_sensitive_text ) {
467                    thisQuestionAnswer = thisQuestionCorrectAnswer;
468                }
469
470                thisQuestionAnswer = thisQuestionAnswer.split('%%%');
471                for(var i_answer = 0; i_answer < thisQuestionAnswer.length; i_answer++){
472                    if ( enable_case_sensitive_text ) {
473                        if(userAnsweredText == thisQuestionAnswer[i_answer].trim()){
474                            trueAnswered = true;
475                            break;
476                        }
477                    } else {
478                        if(userAnsweredText.toLowerCase() == thisQuestionAnswer[i_answer].trim()){
479                            trueAnswered = true;
480                            break;
481                        }
482                    }
483                }
484                
485                if(trueAnswered){
486                    shortTextAnswers.eq(i).next().val(1);
487                }else{
488                    shortTextAnswers.eq(i).next().val(0);
489                    if(thisQuestionCorrectAnswer == ''){
490                        shortTextAnswers.eq(i).attr('chishtpatasxan', '-');
491                    }else{
492                        shortTextAnswers.eq(i).attr('chishtpatasxan', thisQuestionCorrectAnswer);
493                    }
494                }
495                
496                shortTextAnswers.eq(i).removeAttr('disabled')
497            }
498            
499            var dateAnswers = form.find('div.ays-text-field input[type="date"].ays-text-input');
500            for(var i=0; i < dateAnswers.length; i++){
501                var userAnsweredText = dateAnswers.eq(i).val();
502                var questionId = dateAnswers.eq(i).parents('.step').data('questionId');
503                var thisQuestionCorrectAnswer = myQuizOptions[questionId].question_answer == '' ? "" : myQuizOptions[questionId].question_answer;
504                
505                var trueAnswered = false;
506                var correctDate = new Date(thisQuestionCorrectAnswer),
507                    correctDateYear = correctDate.getFullYear(),
508                    correctDateMonth = correctDate.getMonth(),
509                    correctDateDay = correctDate.getDate();
510                var userDate = new Date(userAnsweredText),
511                    userDateYear = userDate.getFullYear(),
512                    userDateMonth = userDate.getMonth(),
513                    userDateDay = userDate.getDate();
514
515                if(correctDateYear == userDateYear && correctDateMonth == userDateMonth && correctDateDay == userDateDay){
516                    trueAnswered = true;
517                }
518                
519                if(trueAnswered){
520                    dateAnswers.eq(i).next().val(1);
521                }else{
522                    dateAnswers.eq(i).next().val(0);
523                    if(thisQuestionCorrectAnswer == ''){
524                        dateAnswers.eq(i).attr('chishtpatasxan', '-');
525                    }else{
526                        dateAnswers.eq(i).attr('chishtpatasxan', thisQuestionCorrectAnswer);
527                    }
528                }
529                
530                dateAnswers.eq(i).removeAttr('disabled')
531            }
532            
533            var data = form.serializeFormJSON();
534
535            var questionsIds = data.ays_quiz_questions.split(',');
536            for(var i = 0; i < questionsIds.length; i++){
537                if(! isNaN(parseInt(questionsIds[i]))){
538                    if(! data['ays_questions[ays-question-'+questionsIds[i]+']']){
539                        data['ays_questions[ays-question-'+questionsIds[i]+']'] = "";
540                    }
541                }
542            }
543
544            var checked_inputs_arr = ays_quiz_container.find(".step .ays-field input[id*='ays-answer-']:checked");
545            if ( checked_inputs_arr.length > 0 ) {
546                checked_inputs_arr.each(function () {
547                    var checked_input = $(this);
548                    var parent = checked_input.parents('.step');
549                    var checked_input_name  = checked_input.attr('name');
550                    var checked_input_value = checked_input.attr('value');
551
552                    var questionId = parent.attr('data-question-id');
553                    var answerId = checked_input.val();
554
555                    if( typeof questionId != "undefined" && questionId !== null ){
556
557                        var thisQuestionCorrectAnswer = myQuizOptions[questionId].question_answer.length <= 0 ? new Array() : myQuizOptions[questionId].question_answer;
558                        var ifCorrectAnswer = thisQuestionCorrectAnswer[answerId] == '' ? '' : thisQuestionCorrectAnswer[answerId];
559                        if( typeof ifCorrectAnswer != "undefined" ){
560                            checked_input.parents('.ays-field').find('input[name="ays_answer_correct[]"]').val(ifCorrectAnswer);
561                        }
562
563                        if (checked_input_name != "" && checked_input_value != "") {
564                            if ( data[checked_input_name] !== undefined && data[checked_input_name] == "") {
565                                data[checked_input_name] = checked_input_value;
566                            }
567                        }
568                    }
569                });
570
571                var newData = form.serializeFormJSON();
572                var ays_answer_correct_data = typeof newData["ays_answer_correct[]"] != "undefined" ? newData["ays_answer_correct[]"] : new Array();
573                if(typeof ays_answer_correct_data != "undefined" && ays_answer_correct_data.length > 0){
574                    data['ays_answer_correct[]'] = ays_answer_correct_data;
575                }
576            }
577
578            var selected_options_arr = ays_quiz_container.find(".step .ays-field select");
579            if ( selected_options_arr.length > 0 ) {
580                selected_options_arr.each(function (element, item) {
581                    var selected_options = $(this);
582                    var selectOptions = $(item).children("option[data-chisht]");
583
584                    var parent = selected_options.parents('.step');
585                    var fieldParent = parent.find('.ays-field');
586                    var fieldParentInput = fieldParent.find('input.ays-select-field-value');
587                    var checked_input_name  = fieldParentInput.attr('name');
588                    var checked_input_value = fieldParentInput.attr('value');
589
590                    var questionId = parent.attr('data-question-id');
591                    for(var j = 0; j < selectOptions.length; j++){
592                        var currnetSelectOption = $(selectOptions[j]);
593                        var answerId = currnetSelectOption.val();
594
595                        if( typeof questionId != "undefined" && questionId !== null ){
596
597                            var thisQuestionCorrectAnswer = myQuizOptions[questionId].question_answer.length <= 0 ? new Array() : myQuizOptions[questionId].question_answer;
598                            var ifCorrectAnswer = thisQuestionCorrectAnswer[answerId] == '' ? '' : thisQuestionCorrectAnswer[answerId];
599                            if( typeof ifCorrectAnswer != "undefined" ){
600                                fieldParent.find('input[data-id="'+ answerId +'"][name="ays_answer_
600correct[]"]').val(ifCorrectAnswer);
601                                currnetSelectOption.attr('data-chisht', ifCorrectAnswer);
602                            }
603                        }
604
605                    }
606
607                    if( typeof questionId != "undefined" && questionId !== null ){
608
609                        if (checked_input_name != "" && checked_input_value != "") {
610                            if ( data[checked_input_name] !== undefined && data[checked_input_name] == "") {
611                                data[checked_input_name] = checked_input_value;
612                            }
613                        }
614                    }
615                });
616
617                var newData = form.serializeFormJSON();
618                var ays_answer_correct_data = typeof newData["ays_answer_correct[]"] != "undefined" ? newData["ays_answer_correct[]"] : new Array();
619                if(typeof ays_answer_correct_data != "undefined" && ays_answer_correct_data.length > 0){
620                    data['ays_answer_correct[]'] = ays_answer_correct_data;
621                }
622            }
623
624            data.action = 'ays_finish_quiz';
625            data.end_date = GetFullDateTime();
626            
627            var aysQuizLoader = form.find('div[data-role="loader"]');
628            aysQuizLoader.addClass(aysQuizLoader.data('class'));
629            aysQuizLoader.removeClass('ays-loader');
630
631            var animationOptions = {
632                scale: scale,
633                left: left,
634                opacity: opacity,
635                animating: animating
636            }
637            
638            setTimeout(function () {
639                sendQuizData(data, form, myOptions, myQuizOptions, animationOptions, $(e.target));
640            },2000);
641
642            if (parseInt(next_sibilings_count) > 0 && ($(this).parents('.step').attr('data-question-id') || $(this).parents('.step').next().attr('data-question-id'))) {
643                current_fs = $(this).parents('form').find('div[data-question-id]');
644            }
645            
646            // aysAnimateStep(ays_quiz_container.data('questEffect'), current_fs, next_fs);
647        });
648
649        $(document).find('.ays_next.start_button').on('click',function(e){
650            var $this    = $(this);
651            var thisCont = $this.parents('.ays-quiz-container');
652            var quizId   = thisCont.find('input[name="ays_quiz_id"]').val();
653
654            if ( window.aysQuizOptions[quizId] ) {
655                var myOptions = JSON.parse(window.atob(window.aysQuizOptions[quizId]));
656                
657                if(myOptions.enable_password && myOptions.enable_password == 'on'){
658                    var checkQuizGeneratedPassword = checkQuizPassword(e, myOptions, false);
659                }
660            }
661        });
662    });
663    
664    function sendQuizData(data, form, myOptions, myQuizOptions, options, element){
665        if(typeof sendQuizData.counter == 'undefined'){
666            sendQuizData.counter = 0;
667        }
668        if(window.navigator.onLine){
669            sendQuizData.counter++;
670            $.ajax({
671                url: window.quiz_maker_ajax_public.ajax_url,
672                method: 'post',
673                dataType: 'json',
674                data: data,
675                success: function(response){
676                    if(response.status === true){
677                        doQuizResult(response, form, myOptions, myQuizOptions);
678                        aysQuizSetCustomEvent();
679                        var quizSubmitEvent = new CustomEvent('finishQuiz', {
680                            detail: {
681                                data: response
682                            }
683                        });
684                        document.dispatchEvent(quizSubmitEvent);
685                    }else if( response.status === false && typeof response.flag !== 'undefined' && response.flag === false ){
686                        var aysQuizContainer = element.parents('.ays-quiz-container');
687                        var lastPageContent = '';
688
689                        lastPageContent += '<p>';
690                            lastPageContent += response.text;
691                        lastPageContent += '</p>';
692
693                        aysQuizContainer.find('.ays_thank_you_fs').html( lastPageContent );
694                    }else{
695                        if(sendQuizData.counter >= 5){
696                            swal.fire({
697                                type: 'error',
698                                html: "Sorry.<br>We are unable to store your data."
699                            });
700                            goQuizFinishPage(form, options, element, myOptions);
701                        }else{
702                            if(window.navigator.onLine){
703                                setTimeout(function(){
704                                    sendQuizData(data, form, myOptions, myQuizOptions, options, element);
705                                },3000);
706                            }else{
707                                sendQuizData(data, form, myOptions, myQuizOptions, options, element);
708                            }
709                        }
710                    }
711                },
712                error: function(jqXHR, textStatus, errorThrown) {
713                    if(sendQuizData.counter >= 5){
714                        swal.fire({
715                            type: 'error',
716                            html: "Sorry.<br>We are unable to store your data."
717                        });
718                        goQuizFinishPage(form, options, element, myOptions);
719                    }else{
720                        setTimeout(function(){
721                            sendQuizData(data, form, myOptions, myQuizOptions, options, element);
722                        },3000);
723                    }
724                }
725            });
726        }else{
727            swal.fire({
728                type: 'warning',
729                html: "Connection is lost.<br>Please check your connection and try again."
730            });
731            sendQuizData.counter = 0;
732            goQuizFinishPage(form, options, element, myOptions);
733            var aysQuizContainer = element.parents('.ays-quiz-container');
734            aysQuizContainer.find('.step').hide();
735            aysQuizContainer.find('.ays_thank_you_fs').prev().removeAttr('style').css({
736                'display':'flex',
737                'position':'static',
738                'transform':'scale(1)',
739                'opacity': 1,
740                'pointer-events': 'auto'
741            });
742            var show_result_button = element.parents('form').find('div[data-question-id] input[name="ays_finish_quiz"]');
743            if (show_result_button.hasClass('ays_display_none')) {
744                show_result_button.removeClass('ays_display_none');
745            }
746        }
747    }
748    
749    function goQuizFinishPage(form, options, element, myOptions){        
750        var currentFS = form.find('.step.active-step');        
751        var next_sibilings_count = form.find('.ays_question_count_per_page').val();
752        if (parseInt(next_sibilings_count) > 0 &&
753            (element.parents('.step').attr('data-question-id') ||
754             element.parents('.step').next().attr('data-question-id'))) {
755            currentFS = form.find('div[data-question-id]');
756        }
757        currentFS.prev().css('display', 'flex');
758        currentFS.animate({opacity: 0}, {
759            step: function(now, mx) {
760                options.scale = 1 - (1 - now) * 0.2;
761                options.left = (now * 50)+"%";
762                options.opacity = 1 - now;
763                currentFS.css({
764                    'transform': 'scale('+options.scale+')',
765                    'position': '',
766                    'pointer-events': 'none'
767                });
768                currentFS.prev().css({
769                    'left': options.left,
770                    'opacity': options.opacity,
771                    'pointer-events': 'none'
772                });
773            },
774            duration: 800,
775            complete: function(){
776                currentFS.hide();
777                currentFS.css({
778                    'pointer-events': 'auto',
779                    'opacity': '1',
780                });
781                currentFS.prev().css({
782                    'transform': 'scale(1)',
783                    'position': 'relative',
784                    'opacity': '1',
785                    'pointer-events': 'auto'
786                });
787                options.animating = false;
788            },
789            easing: 'easeInOutBack'
790        });
791        if(myOptions.enable_correction == 'on'){
792            if(currentFS.prev().find('input:checked').length > 0){
793                currentFS.prev().find('.ays-field input').attr('disabled', 'disabled');
794                currentFS.prev().find('.ays-field input').on('click', function(){
795                    return false;
796                });
797                currentFS.prev().find('.ays-field input').on('change', function(){
798                    return false;
799                });
800            }
801            if(currentFS.prev().find('option:checked').length > 0){
802                currentFS.prev().find('.ays-field select').attr('disabled', 'disabled');
803                currentFS.prev().find('.ays-field select').on('click', function(){
804                    return false;
805                });
806                currentFS.prev().find('.ays-field select').on('change', function(){
807                    return false;
808                });
809            }
810            if(currentFS.prev().find('textarea').length > 0){
811                if(currentFS.prev().find('textarea').val() !== ''){
812                    currentFS.prev().find('.ays-field textarea').attr('disabled', 'disabled');
813                    currentFS.prev().find('.ays-field textarea').on('click', function(){
814                        return false;
815                    });
816                    currentFS.prev().find('.ays-field textarea').on('change', function(){
817                        return false;
818                    });
819                }
820            }
821        }
822    }
823    
824    function doQuizResult(response, form, myOptions, myQuizOptions){
825		var hideQuizBGImage = form.parents('.ays-quiz-container').data('hideBgImage');
826		var QuizBGGragient = form.parents('.ays-quiz-container').data('bgGradient');
827        var quizId = form.parents('.ays-quiz-container').find('input[name="ays_quiz_id"]').val();
828		if(hideQuizBGImage){
829			form.parents('.ays-quiz-container').css('background-image', 'none');
830			if(typeof QuizBGGragient != 'undefined'){
831				form.parents('.ays-quiz-container').css('background-image', QuizBGGragient);
832			}
833		}
834        form.find('div.ays_message').css('display', 'none');
835        form.find('.ays_average').css({'display': 'block'});
836        var quizScore = '';
837        switch(response.displayScore){
838            case 'by_percantage':
839                quizScore = parseInt(response.score);
840            break;
841            case 'by_correctness':
842                quizScore = response.score.split('/');
843            break;
844        }
845
846        if ( form.parents('.ays-quiz-container').hasClass('ays_quiz_hide_bg_during_quiz') ) {
847            form.parents('.ays-quiz-container').removeClass('ays_quiz_hide_bg_during_quiz');
848        }
849
850        if (myOptions.redirect_after_submit && myOptions.redirect_after_submit == 'on') {            
851            var ays_block_element = form.parents('.ays-quiz-container');
852            var quizId = form.parents('.ays-quiz-container').find('input[name="ays_quiz_id"]').val();
853            var redirectUrl = myOptions.submit_redirect_after ? myOptions.submit_redirect_after : '';
854            var submitRedirectUrl = myOptions.submit_redirect_url ? myOptions.submit_redirect_url : '';
855            if(redirectUrl == '' && submitRedirectUrl == ''){
856                return false;
857            }
858            var timer = parseInt(myOptions.submit_redirect_delay);
859            if(timer === NaN){
860                timer = 0;
861            }
862
863            if( timer == 0 && submitRedirectUrl != "" ){
864                if (window.location != window.parent.location) {
865                    window.parent.location = submitRedirectUrl;
866                } else {
867                    window.location = submitRedirectUrl;
868                }
869                return false;
870            }
871
872            var tabTitle = document.title;
873            var timerText = $('<section class="ays_quiz_redirection_timer_container">'+
874                '<div class="ays-quiz-redirection-timer">'+
875                'Redirecting after ' + redirectUrl + 
876                '</div><hr></section>');
877            ays_block_element.prepend(timerText);
878            ays_block_element.find('.ays_quiz_redirection_timer_container').css({
879                height: 'auto'
880            });
881            setTimeout(function(){
882                if (timer !== NaN) {
883                    timer += 2;
884                    if (timer !== undefined) {
885                        var countDownDate = new Date().getTime() + (timer * 1000);
886                        ays_block_element.find('div.ays-quiz-redirection-timer').slideUp(500);
887
888                        // Message before redirect timer
889                        var quiz_message_before_redirect_timer = (myOptions.quiz_message_before_redirect_timer && myOptions.quiz_message_before_redirect_timer != "") ? ( myOptions.quiz_message_before_redirect_timer ) : '';
890
891                        if ( quiz_message_before_redirect_timer != '' ) {
892                            quiz_message_before_redirect_timer = quiz_message_before_redirect_timer.replace(/(["'])/g, "\\$1") + " ";
893
894                            $(document).find('html > head').append('<style> #ays-quiz-container-'+ quizId +' div.ays-quiz-redirection-timer:before{content: "'+ quiz_message_before_redirect_timer +'"; }</style>');
895                        }
896
897                        var x = setInterval(function () {
898                            var now = new Date().getTime();
899                            var distance = countDownDate - Math.ceil(now/1000)*1000;
900                            var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
901                            var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
902                            var seconds = Math.floor((distance % (1000 * 60)) / 1000);
903                            var timeForShow = "";
904                            if(hours <= 0){
905                                hours = null;
906                            }else if (hours < 10) {
907                                hours = '0' + hours;
908                            }
909                            if (minutes < 10) {
910                                minutes = '0' + minutes;
911                            }
912                            if (seconds < 10) {
913                                seconds = '0' + seconds;
914                            }
915                            timeForShow =  ((hours==null)? "" : (hours + ":")) + minutes + ":" + seconds;
916                            if(distance <=1000){
917                                timeForShow = ((hours==null) ? "" : "00:") + "00:00";
918                                ays_block_element.find('div.ays-quiz-redirection-timer').html(timeForShow);
919                                document.title = timeForShow + " - " + tabTitle;
920                            }else{
921                                ays_block_element.find('div.ays-quiz-redirection-timer').html(timeForShow);
922                                document.title = timeForShow + " - " + tabTitle;
923                            }
924                            ays_block_element.find('div.ays-quiz-redirection-timer').slideDown(500);
925                            var ays_block_element_redirect_url = myOptions.submit_redirect_url;
926                            if (distance <= 1000) {
927                                clearInterval(x);
928                                window.location = ays_block_element_redirect_url;
929                            }
930                        }, 1000);
931                    }
932                }
933            }, 2000);
934        }
935        
936        if (response.hide_result) {
937            form.find('div.ays_message').html(response.text);
938        }
939        else {
940            form.find('div.ays_message').html(response.text);
941            form.find('p.ays_score').removeClass('ays_score_display_none');
942            form.find('p.ays_score').html(form.find('p.ays_score').text()+'<span class="ays_score_percent animated"> ' + response.score + '</span>');
943        }
944
945        if( response.socialHeading ){
946            form.find(".ays-quiz-social-shares-heading").html(response.socialHeading);
947        }
948
949        if( response.socialLinksHeading && response.socialLinksHeading != "" ){
950            form.find(".ays-quiz-social-links-heading").html(response.socialLinksHeading);
951        }
952
953        form.find('div.ays_message').fadeIn(500);
954        setTimeout(function () {
955            form.find('p.ays_score').addClass('tada');
956        }, 500);
957        var numberOfPercent = 0;
958        var percentAnimate = setInterval(function(){
959            if(typeof quizScore == 'number'){
960                form.find('.ays-progress-value').text(numberOfPercent + "%");
961                if(numberOfPercent == quizScore){
962                    clearInterval(percentAnimate);
963                }
964                numberOfPercent++;
965            }else{
966                var total = quizScore[1];
967                var count = quizScore[0];
968                total = parseInt(total.trim());
969                count = parseInt(count.trim());
970                form.find('.ays-progress-value').text(numberOfPercent + " / " + total);
971                if(numberOfPercent == count){
972                    clearInterval(percentAnimate);
973                }
974                numberOfPercent++;
975            }
976        }, 20);
977        var score = quizScore;
978        if(response.displayScore == 'by_correctness'){
979            var total = parseInt(quizScore[1].trim());
980            var count = parseInt(quizScore[0].trim());
981            score = (count / total) * 100;
982        }
983        if(response.scoreMessage){
984            form.find('div.ays_score_message').html(response.scoreMessage);
985        }
986
987        var last_result_id = null;
988        if(response.result_id && response.result_id != ''){
989            last_result_id = parseInt( response.result_id );
990        }
991
992        aysQuizSetCustomEvent();
993        var trackUsersEvent = new CustomEvent('getResultId', {
994            detail: {
995              resultId: last_result_id
996            }
997        });
998        form.get(0).dispatchEvent(trackUsersEvent);
999
1000        // Make responses anonymous
1001        myOptions.quiz_make_responses_anonymous = ( myOptions.quiz_make_responses_anonymous ) ? myOptions.quiz_make_responses_anonymous : 'off';
1002        var quiz_make_responses_anonymous = (myOptions.quiz_make_responses_anonymous && myOptions.quiz_make_responses_anonymous == "on") ? true : false;
1003
1004        // Enable Keyboard Navigation
1005        myOptions.quiz_enable_keyboard_navigation = ! myOptions.quiz_enable_keyboard_navigation ? 'off' : myOptions.quiz_enable_keyboard_navigation;
1006        var quiz_enable_keyboard_navigation = (myOptions.quiz_enable_keyboard_navigation && myOptions.quiz_enable_keyboard_navigation == 'on') ? true : false;
1007
1008        // Make responses anonymous
1009        myOptions.quiz_enable_user_cÕ°oosing_anonymous_assessment = ( myOptions.quiz_enable_user_cÕ°oosing_anonymous_assessment ) ? myOptions.quiz_enable_user_cÕ°oosing_anonymous_assessment : 'off';
1010        var quiz_enable_user_cÕ°oosing_anonymous_assessment = (myOptions.quiz_enable_user_cÕ°oosing_anonymous_assessment && myOptions.quiz_enable_user_cÕ°oosing_anonymous_assessment == "on") ? true : false;
1011
1012        // Enable restart button
1013        myOptions.enable_restart_button = ! myOptions.enable_restart_button ? 'off' : myOptions.enable_restart_button;
1014        var enable_restart_button = (myOptions.enable_restart_button && myOptions.enable_restart_button == 'on') ? true : false;
1015
1016        // Show Restart button on quiz fail
1017        myOptions.quiz_show_restart_button_on_quiz_fail = ! myOptions.quiz_show_restart_button_on_quiz_fail ? 'off' : myOptions.quiz_show_restart_button_on_quiz_fail;
1018        var quiz_show_restart_button_on_quiz_fail = (myOptions.quiz_show_restart_button_on_quiz_fail && myOptions.quiz_show_restart_button_on_quiz_fail == 'on') ? true : false;
1019
1020        // DataTable function exists in jQuery
1021        if (typeof $.fn.DataTable !== 'undefined') {
1022            form.find('#ays-quiz-all-result-score-page, .ays-individual-quiz-all-result-score-page').DataTable({ 
1023                "destroy": true, //use for reinitialize datatable
1024            }); 
1025        }
1026
1027        var class_for_keyboard = '';
1028        var attributes_for_keyboard = '';
1029
1030        if( quiz_enable_keyboard_navigation ){
1031            class_for_keyboard = "ays-quiz-keyboard-active";
1032            attributes_for_keyboard = "tabindex='0'";
1033        }
1034
1035        if(score > 0){
1036            form.find('.ays-progress-bar').css('padding-right', '7px');
1037            var progressBarStyle = myOptions.progress_bar_style ? myOptions.progress_bar_style : 'first';
1038            if(progressBarStyle == 'first' || progressBarStyle == 'second'){
1039                form.find('.ays-progress-value').css('width', 0);
1040                form.find('.ays-progress-value').css('transition', 'width ' + score*25 + 'ms linear');
1041                setTimeout(function(){
1042                    form.find('.ays-progress-value').css('width', score+'%');
1043                }, 1);
1044            }
1045            form.find('.ays-progress-bar').css('transition', 'width ' + score*25 + 'ms linear');
1046            setTimeout(function(){
1047                form.find('.ays-progress-bar').css('width', score+'%');
1048            }, 1);
1049        }
1050
1051        if ( score == 0 ) {
1052            // Quiz background Color
1053            var quiz_make_bg_color = (myOptions.bg_color && myOptions.bg_color != "") ? myOptions.bg_color : '#fff';
1054
1055            form.find('.ays-progress-value').css('color', quiz_make_bg_color);
1056        }
1057
1058        form.append($("<div class='ays_quiz_results'></div>"));
1059        var formResults = form.find('.ays_quiz_results');
1060        formResults.css('padding-bottom', '20px');
1061        if (form.hasClass('enable_questions_result')) {
1062
1063            // Enable the Show/Hide toggle
1064            myOptions.quiz_enable_results_toggle = ! myOptions.quiz_enable_results_toggle ? 'off' : myOptions.quiz_enable_results_toggle;
1065            var quiz_enable_results_toggle = (myOptions.quiz_enable_results_toggle && myOptions.quiz_enable_results_toggle == 'on') ? true : false;
1066
1067            // Enable the Show/Hide toggle
1068            myOptions.quiz_enable_default_hide_results_toggle = ! myOptions.quiz_enable_default_hide_results_toggle ? 'off' : myOptions.quiz_enable_default_hide_results_toggle;
1069            var quiz_enable_default_hide_results_toggle = (myOptions.quiz_enable_default_hide_results_toggle && myOptions.quiz_enable_default_hide_results_toggle == 'on') ? true : false;
1070
1071            var hide_result_toggle_checked = "checked";
1072            if( quiz_enable_default_hide_results_toggle ){
1073                hide_result_toggle_checked = "";
1074            }
1075
1076            var resultToggleHTML = "";
1077
1078            resultToggleHTML += '<div class="ays-quiz-results-toggle-block">';
1079                resultToggleHTML += '<span class="ays-show-res-toggle ays-res-toggle-show">'+ quizLangObj.show +'</span>';
1080                resultToggleHTML += '<input type="checkbox" class="ays_toggle ays_toggle_slide ays-quiz-res-toggle-checkbox" id="ays-quiz-show-results-toggle-'+ quizId +'" '+ hide_result_toggle_checked +'>';
1081                resultToggleHTML += '<label for="ays-quiz-show-results-toggle-'+ quizId +'" class="ays_switch_toggle '+ class_for_keyboard +'" '+ attributes_for_keyboard +'>Toggle</label>';
1082                resultToggleHTML += '<span class="ays-show-res-toggle ays-res-toggle-hide quest-toggle-failed">'+ quizLangObj.hide +'</span>';
1083            resultToggleHTML += '</div>';
1084
1085            if ( quiz_enable_results_toggle ) {
1086                formResults.append(resultToggleHTML);
1087            }
1088
1089            var questions = form.find('div[data-question-id]');
1090            var answerIsRightArr = new Array();
1091            for (var z = 0; z < questions.length; z++) {
1092                
1093                if(questions.eq(z).hasClass('not_influence_to_score')){
1094                    continue;
1095                }
1096                var question = questions.eq(z).clone(true, true);
1097                var questionId = question.attr('data-question-id');
1098                var questionType = question.attr('data-type');
1099                var question_original_html = questions.eq(z).find('.ays_quiz_question');
1100
1101                var ays_quiz_question_html      = questions.eq(z).find('.ays_quiz_question');
1102                var ays_quiz_question_img_html  = questions.eq(z).find('.ays-image-question-img');
1103                var question_explanation_html   = questions.eq(z).find('.ays_questtion_explanation');
1104                var wrong_answer_text_html      = questions.eq(z).find('.wrong_answer_text');
1105                var right_answer_text_html      = questions.eq(z).find('.right_answer_text');
1106                var note_message_box_html       = questions.eq(z).find('.ays-quiz-question-note-message-box');
1107
1108                var question_parts_arr = new Array(
1109                    note_message_box_html,
1110                    question_explanation_html,
1111                    wrong_answer_text_html,
1112                    right_answer_text_html,
1113                );
1114
1115                question.find('.ays_quiz_question').remove();
1116                question.find('.ays-abs-fs').prepend( questions.eq(z).find('.ays_quiz_question') );
1117
1118                question.find('.ays_questtion_explanation').remove();
1119                question.find('.ays-abs-fs').append( questions.eq(z).find('.ays_questtion_explanation') );
1120
1121                question.find('.wrong_answer_text').remove();
1122                question.find('.ays-abs-fs').append( questions.eq(z).find('.wrong_answer_text') );
1123
1124                question.find('.right_answer_text').remove();
1125                question.find('.ays-abs-fs').append( questions.eq(z).find('.right_answer_text') );
1126
1127                question.find('input[type="button"]').remove();
1128                question.find('input[type="submit"]').remove();
1129                question.find('.ays_arrow').remove();
1130
1131                question.find('.ays-quiz-category-description-box').addClass('ays_display_none');
1132
1133                question.addClass('ays_question_result');
1134                var checked_inputs = question.find('input:checked');
1135                var text_answer = question.find('textarea.ays-text-input');
1136                var number_answer = question.find('input[type="number"].ays-text-input');
1137                var short_text_answer = question.find('input[type="text"].ays-text-input');
1138                var date_answer = question.find('input[type="date"].ays-text-input');
1139                var selected_options = question.find('select');
1140                var answerIsRight = false;  
1141
1142                var fieldset_html = "<fieldset class='ays_fieldset'>" + "<legend>" + quizLangObj.notAnsweredText + "</legend>" + "</fieldset>";
1143                var question_html = question.find('.ays-abs-fs > *:not(.ays_quiz_question)').clone(true, true);
1144
1145                if( questionType == "radio" || questionType == "checkbox"){
1146                    var parentStep = question;
1147                    var questionID = questionId;
1148                    var radioInputData = question.find('.ays-quiz-answers .ays-field input[name*="ays_questions"]');
1149
1150                    for (var i = 0; i < radioInputData.length; i++) {
1151                        var currentAnswer = $( radioInputData[i] );
1152                        var currentAnswerID = currentAnswer.val();
1153                        
1154                        if( typeof questionID != "undefined" && questionID !== null ){
1155
1156                            var thisQuestionCorrectAnswer = myQuizOptions[questionID].question_answer.length <= 0 ? array() : myQuizOptions[questionID].question_answer;
1157                            var ifCorrectAnswer = thisQuestionCorrectAnswer[currentAnswerID] == '' ? '' : thisQuestionCorrectAnswer[currentAnswerID];
1158                            if( typeof ifCorrectAnswer != "undefined" ){
1159                                question.find('input[name="ays_answer_correct[]"]').val(ifCorrectAnswer);
1160
1161                                for (var question_answer_ID in thisQuestionCorrectAnswer) {
1162                                    var UserAnswered_true_or_false = thisQuestionCorrectAnswer[question_answer_ID];
1163                                    question.find('.ays-quiz-answers .ays-field input[value="'+ question_answer_ID +'"]').prev().val(UserAnswered_true_or_false);
1164                                }
1165                            }
1166                        }
1167                    }
1168                }
1169                
1170                question.find('input[name="ays_answer_correct[]"][value="1"]').parent().find('label').addClass('correct answered');
1171                question.find('input[name="ays_answer_correct[]"][value="1"]').parents('div.ays-field').addClass('correct_div');
1172                
1173                if(checked_inputs.length === 0){
1174                    var emptyAnswer = false;
1175                    if(question.find('input[type="radio"]').length !== 0 ||
1176                       question.find('input[type="checkbox"]').length !== 0){
1177                        emptyAnswer = true;
1178                    }
1179                    if(emptyAnswer){
1180
1181                        var q_answer_text_html = question.find('.ays-abs-fs .ays-quiz-answers');
1182                        question.find('.ays-abs-fs').html(fieldset_html);
1183                        question.find('.ays-abs-fs .ays_fieldset').append(ays_quiz_question_html);
1184                        question.find('.ays-abs-fs .ays_fieldset').append(ays_quiz_question_img_html);
1185                        question.find('.ays-abs-fs .ays_fieldset').append(q_answer_text_html );
1186
1187                        for (var i = 0; i < question_parts_arr.length; i++) {
1188                            question.find('.ays-abs-fs .ays_fieldset').append( question_parts_arr[i] );
1189                        }
1190
1191                        question.find('.ays-abs-fs').css({
1192                            'padding': '7px',
1193                            'width': '100%'
1194                        });
1195                    }
1196                }
1197
1198                var aysAudio = $(document).find('.ays_question_result audio');
1199                if(aysAudio.length > 0){
1200                    aysAudio.each(function(e, el){
1201                        el.pause();
1202                    });
1203                }
1204
1205                selected_options.each(function(element, item){
1206                    var selectOptions = $(item).children("option[data-chisht]");
1207                    var answerClass, answerDivClass, attrChecked, answerClassForSelected, answerClass_tpel, answerViewClass, attrCheckedStyle = "";
1208                    var correctAnswersDiv = '', rectAnswerBefore = "";
1209                    
1210                    
1211                    answerViewClass = form.find('.answer_view_class').val();
1212                    answerViewClass = "ays_"+form.find('.answer_view_class').val()+"_view_item";
1213                    for(var j = 0; j < selectOptions.length; j++){
1214                        if($(selectOptions[j]).attr("value") == '' ||
1215                           $(selectOptions[j]).attr("value") == undefined ||
1216                           $(selectOptions[j]).attr("value") == null){
1217                            continue;
1218                        }
1219                        if($(selectOptions[j]).prop('selected') == true){
1220                            if(parseInt($(selectOptions[j]).data("chisht")) === 1){
1221                                answerClassForSelected = " correct answered";
1222                                answerDivClass = "correct_div";
1223                                attrChecked = "checked='checked'";
1224                                answerIsRight = true;
1225                            }else{
1226                                answerClassForSelected = " wrong wrong_div answered";
1227                                attrChecked = "checked='checked'";
1228                                answerDivClass = "";
1229                            }
1230                        }else{
1231                            if(parseInt($(selectOptions[j]).data("chisht")) === 1){
1232                                answerClassForSelected = " correct answered";
1233                                answerDivClass = "correct_div";
1234                                attrChecked = "";
1235                            }else{
1236                                answerClassForSelected = "";
1237                                attrChecked = "";
1238                                answerDivClass = "";
1239                            }
1240                        }
1241                        if(form.parents('.ays-quiz-container').hasClass('ays_quiz_elegant_dark') ||
1242                           form.parents('.ays-quiz-container').hasClass('ays_quiz_elegant_light')){
1243                            if($(selectOptions[j]).prop('selected') == true){
1244                                if(parseInt($(selectOptions[j]).data("chisht")) === 1){
1245                                    answerDivClass = "correct_div checked_answer_div";
1246                                    attrCheckedStyle = "style='padding: 0!important;'";
1247                                }else{
1248                                    answerDivClass = "wrong_div checked_answer_div";
1249                                    attrCheckedStyle = "style='padding: 0!important;'";
1250                                }
1251                            }else{
1252                                if(parseInt($(selectOptions[j]).data("chisht")) === 1){
1253                                    answerDivClass = "correct_div";
1254                                }else{
1255                                    answerDivClass = "";
1256                                }
1257                                attrCheckedStyle = "";
1258                            }
1259                        }
1260                        if(form.parents('.ays-quiz-container').hasClass('ays_quiz_rect_dark') ||
1261                           form.parents('.ays-quiz-container').hasClass('ays_quiz_rect_light')){
1262                            if($(selectOptions[j]).prop('selected') == true){
1263                                if(parseInt($(selectOptions[j]).data("chisht")) === 1){
1264                                    answerDivClass = "correct_div checked_answer_div";
1265                                }else{
1266                                    answerDivClass = "wrong_div checked_answer_div";
1267                                }
1268                                rectAnswerBefore = "rect_answer_correct_before";
1269                            }else{
1270                                if(parseInt($(selectOptions[j]).data("chisht")) === 1){
1271                                    answerDivClass = "correct_div";
1272                                }else{
1273                                    answerDivClass = "";
1274                                }
1275                                rectAnswerBefore = "rect_answer_wrong_before";
1276                            }
1277                        }
1278                        correctAnswersDiv += '<div class="ays-field '+answerViewClass+' '+answerDivClass+'" '+attrCheckedStyle+'>'+
1279                                '<input type="radio" value="'+$(selectOptions[j]).attr("value")+'" name="'+$(item).parent().find('.ays-select-field-value').attr('name')+'" disabled="disabled" '+attrChecked+'>'+
1280                                '<label class="'+rectAnswerBefore+" "+answerClassForSelected+'" for="ays-answer-'+$(selectOptions[j]).attr("value")+'">'+aysEscapeHtml($(selectOptions[j]).text())+'</label>'+
1281                            '</div>';
1282                    }
1283                    $(item).parent().parent().find('.ays-text-right-answer').remove();
1284                    $(item).parent().parent().append(correctAnswersDiv);
1285                    $(item).parent().hide();
1286                    if($(item).find('option[data-chisht]:selected').length === 0){
1287                        var _parent_item = $(item).parents('.ays-abs-fs');
1288
1289                        _parent_item.html(fieldset_html);
1290                        _parent_item.find('.ays_fieldset').append(ays_quiz_question_html);
1291                        _parent_item.find('.ays_fieldset').append(ays_quiz_question_img_html);
1292                        _parent_item.find('.ays_fieldset').append($(item).parents('.ays-quiz-answers'));
1293
1294                        for (var i = 0; i < question_parts_arr.length; i++) {
1295                            _parent_item.find('.ays_fieldset').append( question_parts_arr[i] );
1296                        }
1297                        
1298                        $(item).css({
1299                            'padding': '7px'
1300                        })
1301                    }
1302                    $(item).parents('.ays-abs-fs').find('.ays_buttons_div').remove();
1303                    $(item).parent().remove();
1304                });
1305
1306                text_answer.next().next().remove();
1307                text_answer.css('width', '100%');
1308                text_answer.attr('disabled', 'disabled');
1309                number_answer.next().next().remove();
1310                number_answer.css('width', '100%');
1311                number_answer.attr('disabled', 'disabled');
1312                short_text_answer.next().next().remove();
1313                short_text_answer.css('width', '100%');
1314                short_text_answer.attr('disabled', 'disabled');
1315                date_answer.next().next().remove();
1316                date_answer.css('width', '100%');
1317                date_answer.attr('disabled', 'disabled');
1318                if(text_answer.val() == ''){
1319                    var rightAnswerText = '<div class="ays-text-right-answer">';
1320                    var thisQuestionAnswer = text_answer.attr('chishtpatasxan');
1321                    if(typeof thisQuestionAnswer != 'undefined'){
1322                        thisQuestionAnswer = thisQuestionAnswer.split('%%%');
1323                    }else{
1324                        thisQuestionAnswer = [''];
1325                    }
1326                    rightAnswerText += thisQuestionAnswer[0].trim();
1327                    
1328                    rightAnswerText += '</div>';
1329                    if(text_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').length == 0){
1330                        text_answer.parents('.ays-quiz-answers').append(rightAnswerText);
1331                    }
1332                    text_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').css({
1333                        'display': 'block'
1334                    });
1335                    text_answer.css('background-color', 'rgba(243,134,129,0.4)');
1336
1337                    var _text_answer_parent = text_answer.parents('.ays-abs-fs');
1338
1339                    _text_answer_parent.html(fieldset_html);
1340                    _text_answer_parent.find('.ays_fieldset').append(ays_quiz_question_html);
1341                    _text_answer_parent.find('.ays_fieldset').append(ays_quiz_question_img_html);
1342                    _text_answer_parent.find('.ays_fieldset').append(text_answer.parents('.ays-quiz-answers'));
1343
1344                    for (var i = 0; i < question_parts_arr.length; i++) {
1345                        _text_answer_parent.find('.ays_fieldset').append( question_parts_arr[i] );
1346                    }
1347                    text_answer.parents('.ays-abs-fs').css({
1348                        'padding': '7px'
1349                    });
1350                }else{
1351                    if(parseInt(text_answer.next().val()) == 1){
1352                        text_answer.css('background-color', 'rgba(39,174,96,0.5)');
1353                        answerIsRight = true;
1354                    }else{
1355                        text_answer.css('background-color', 'rgba(243,134,129,0.4)');
1356                        var rightAnswerText = '<div class="ays-text-right-answer">';
1357                        var thisQuestionAnswer = text_answer.attr('chishtpatasxan');
1358                        if(typeof thisQuestionAnswer != 'undefined'){
1359                            thisQuestionAnswer = thisQuestionAnswer.split('%%%');
1360                        }else{
1361                            thisQuestionAnswer = [''];
1362                        }
1363                        rightAnswerText += thisQuestionAnswer[0].trim();
1364
1365                        rightAnswerText += '</div>';                            
1366                        if(text_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').length == 0){
1367                            text_answer.parents('.ays-quiz-answers').append(rightAnswerText);
1368                        }
1369                        text_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').css({
1370                            'display': 'block'
1371                        });
1372                        text_answer.parents('.ays-abs-fs').find('.ays_quiz_question_text_conteiner').addClass('ays_display_none');
1373                    }
1374                }
1375                if(number_answer.val() == ''){
1376                    var rightAnswerText = '<div class="ays-text-right-answer">'+
1377                        number_answer.attr('chishtpatasxan')+
1378                    '</div>';
1379                    if(number_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').length == 0){
1380                        number_answer.parents('.ays-quiz-answers').append(rightAnswerText);
1381                    }
1382                    number_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').css({
1383                        'display': 'block'
1384                    });
1385                    number_answer.css('background-color', 'rgba(243,134,129,0.8)');
1386                    number_answer.parents('.ays-abs-fs').find('.ays-quiz-number-error-message').addClass('ays_display_none');
1387
1388                    var _number_answer_parent = number_answer.parents('.ays-abs-fs');
1389
1390                    _number_answer_parent.html(fieldset_html);
1391                    _number_answer_parent.find('.ays_fieldset').append(ays_quiz_question_html);
1392                    _number_answer_parent.find('.ays_fieldset').append(ays_quiz_question_img_html);
1393                    _number_answer_parent.find('.ays_fieldset').append(number_answer.parents('.ays-quiz-answers'));
1394                    
1395                    for (var i = 0; i < question_parts_arr.length; i++) {
1396                        _number_answer_parent.find('.ays_fieldset').append( question_parts_arr[i] );
1397                    }
1398
1399                    number_answer.parents('.ays-abs-fs').css({
1400                        'padding': '7px'
1401                    });
1402                }else{
1403                    if(parseInt(number_answer.next().val()) == 1){
1404                        number_answer.css('background-color', 'rgba(39,174,96,0.5)');
1405                        answerIsRight = true;
1406                    }else{
1407                        number_answer.css('background-color', 'rgba(243,134,129,0.4)');
1408                        var rightAnswerText = '<div class="ays-text-right-answer">'+
1409                            number_answer.attr('chishtpatasxan')+
1410                            '</div>';
1411                        if(number_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').length == 0){
1412                            number_answer.parents('.ays-quiz-answers').append(rightAnswerText);
1413                        }
1414                        number_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').css({
1415                            'display': 'block'
1416                        });
1417                        number_answer.parents('.ays-abs-fs').find('.ays-quiz-number-error-message').addClass('ays_display_none');
1418                    }
1419                }
1420                if(short_text_answer.val() == ''){
1421                    var rightAnswerText = '<div class="ays-text-right-answer">';
1422                    var thisQuestionAnswer = short_text_answer.attr('chishtpatasxan');
1423                    if(typeof thisQuestionAnswer != 'undefined'){
1424                        thisQuestionAnswer = thisQuestionAnswer.split('%%%');
1425                    }else{
1426                        thisQuestionAnswer = [''];
1427                    }
1428                    rightAnswerText += thisQuestionAnswer[0].trim();
1429                    
1430                    rightAnswerText += '</div>';
1431                    if(short_text_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').length == 0){
1432                        short_text_answer.parents('.ays-quiz-answers').append(rightAnswerText);
1433                    }
1434                    short_text_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').css({
1435                        'display': 'block'
1436                    });
1437                    short_text_answer.css('background-color', 'rgba(243,134,129,0.8)');
1438                    short_text_answer.parents('.ays-abs-fs').find('.ays_quiz_question_text_conteiner').addClass('ays_display_none');
1439
1440                    var _short_text_parent = short_text_answer.parents('.ays-abs-fs');
1441
1442                    _short_text_parent.html(fieldset_html);
1443                    _short_text_parent.find('.ays_fieldset').append(ays_quiz_question_html);
1444                    _short_text_parent.find('.ays_fieldset').append(ays_quiz_question_img_html);
1445                    _short_text_parent.find('.ays_fieldset').append(short_text_answer.parents('.ays-quiz-answers'));
1446                    
1447                    for (var i = 0; i < question_parts_arr.length; i++) {
1448                        _short_text_parent.find('.ays_fieldset').append( question_parts_arr[i] );
1449                    }
1450
1451                    short_text_answer.parents('.ays-abs-fs').css({
1452                        'padding': '7px'
1453                    });
1454                }else{
1455                    if(parseInt(short_text_answer.next().val()) == 1){
1456                        short_text_answer.css('background-color', 'rgba(39,174,96,0.5)');
1457                        answerIsRight = true;
1458                    }else{
1459                        short_text_answer.css('background-color', 'rgba(243,134,129,0.4)');
1460                        var rightAnswerText = '<div class="ays-text-right-answer">';
1461                        var thisQuestionAnswer = short_text_answer.attr('chishtpatasxan');
1462                        if(typeof thisQuestionAnswer != 'undefined'){
1463                            thisQuestionAnswer = thisQuestionAnswer.split('%%%');
1464                        }else{
1465                            thisQuestionAnswer = [''];
1466                        }
1467                        rightAnswerText += thisQuestionAnswer[0].trim();
1468                        
1469                        rightAnswerText += '</div>';
1470                        if(short_text_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').length == 0){
1471                            short_text_answer.parents('.ays-quiz-answers').append(rightAnswerText);
1472                        }
1473                        short_text_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').css({
1474                            'display': 'block'
1475                        });
1476                        short_text_answer.parents('.ays-abs-fs').find('.ays_quiz_question_text_conteiner').addClass('ays_display_none');
1477                    }
1478                }
1479                if(date_answer.val() == ''){
1480                    var rightAnswerText = '<div class="ays-text-right-answer">';
1481                    var thisQuestionAnswer = date_answer.attr('chishtpatasxan');
1482
1483                    var correctDate = new Date(thisQuestionAnswer),
1484                        correctDateYear = correctDate.getUTCFullYear(),
1485                        correctDateMonth = (correctDate.getUTCMonth() + 1) < 10 ? "0"+(correctDate.getUTCMonth() + 1) : (correctDate.getUTCMonth() + 1),
1486                        correctDateDay = (correctDate.getUTCDate() < 10) ? "0"+correctDate.getUTCDate() : correctDate.getUTCDate();
1487                    rightAnswerText += [correctDateMonth, correctDateDay, correctDateYear].join('/');
1488                    
1489                    rightAnswerText += '</div>';
1490                    if(date_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').length == 0){
1491                        date_answer.parents('.ays-quiz-answers').append(rightAnswerText);
1492                    }
1493                    date_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').css({
1494                        'display': 'block'
1495                    });
1496                    date_answer.css('background-color', 'rgba(243,134,129,0.8)');
1497
1498                    var _date_answer_parent = date_answer.parents('.ays-abs-fs');
1499
1500                    _date_answer_parent.html(fieldset_html);
1501                    _date_answer_parent.find('.ays_fieldset').append(ays_quiz_question_html);
1502                    _date_answer_parent.find('.ays_fieldset').append(ays_quiz_question_img_html);
1503                    _date_answer_parent.find('.ays_fieldset').append(date_answer.parents('.ays-quiz-answers'));
1504                    
1505                    for (var i = 0; i < question_parts_arr.length; i++) {
1506                        _date_answer_parent.find('.ays_fieldset').append( question_parts_arr[i] );
1507                    }
1508
1509                    date_answer.parents('.ays-abs-fs').css({
1510                        'padding': '7px'
1511                    });
1512                }else{
1513                    if(parseInt(date_answer.next().val()) == 1){
1514                        date_answer.css('background-color', 'rgba(39,174,96,0.5)');
1515                        answerIsRight = true;
1516                    }else{
1517                        date_answer.css('background-color', 'rgba(243,134,129,0.4)');
1518                        var rightAnswerText = '<div class="ays-text-right-answer">';
1519                        var thisQuestionAnswer = date_answer.attr('chishtpatasxan');
1520                        var correctDate = new Date(thisQuestionAnswer),
1521                            correctDateYear = correctDate.getUTCFullYear(),
1522                            correctDateMonth = (correctDate.getUTCMonth() + 1) < 10 ? "0"+(correctDate.getUTCMonth() + 1) : (correctDate.getUTCMonth() + 1),
1523                            correctDateDay = (correctDate.getUTCDate() < 10) ? "0"+correctDate.getUTCDate() : correctDate.getUTCDate();
1524                        rightAnswerText += [correctDateMonth, correctDateDay, correctDateYear].join('/');
1525                        
1526                        rightAnswerText += '</div>';
1527                        if(date_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').length == 0){
1528                            date_answer.parents('.ays-quiz-answers').append(rightAnswerText);
1529                        }
1530                        date_answer.parents('.ays-quiz-answers').find('.ays-text-right-answer').css({
1531                            'display': 'block'
1532                        });
1533                    }
1534                }
1535
1536                checked_inputs.each(function (element, item) {
1537                    if (checked_inputs.length === 1) {
1538                        if(parseInt(checked_inputs.prev().val()) === 1){
1539                            checked_inputs.next().addClass('correct answered');
1540                            answerIsRight = true;
1541                        }else{
1542                            checked_inputs.next().addClass('wrong wrong_div answered');
1543                        }
1544                        $( checked_inputs).parents().eq(3).find('input[name^="ays_questions"]').attr('disabled', true);
1545
1546                    }else if(checked_inputs.length > 1){
1547                        var checked_right = 0;
1548                        checked_in
1548puts.map(function() {
1549                            if(parseInt($(this).prev().val()) === 1){
1550                                $(this).next().addClass('correct answered');
1551                            } else {
1552                                $(this).next().addClass('wrong wrong_div answered');
1553                                checked_right++;
1554                            }
1555                            $(this).parents().eq(3).find('input[name^="ays_questions"]').attr('disabled', true);
1556                        });
1557                        if(checked_right == 0){
1558                            answerIsRight = true;
1559                        }
1560                    }
1561
1562                });
1563
1564                myOptions.hide_correct_answers = (myOptions.hide_correct_answers) ? myOptions.hide_correct_answers : 'off';
1565                var hideRightAnswers =(myOptions.hide_correct_answers && myOptions.hide_correct_answers == 'on') ? true : false;
1566                if (hideRightAnswers) {
1567                    question.find('.ays-text-right-answer').addClass("ays_quiz_display_none_important");
1568                    var aysFieldsets = question.find('fieldset.ays_fieldset');
1569                    if (aysFieldsets.length > 0) {
1570                        var aysFieldsetsField = aysFieldsets.find('.ays-field');
1571                        if (aysFieldsetsField.hasClass('correct_div')) {
1572                            aysFieldsetsField.removeClass('correct_div');
1573                        }
1574                        if (aysFieldsetsField.hasClass('checked_answer_div')) {
1575                            aysFieldsetsField.removeClass('checked_answer_div');
1576                        }
1577                        if (aysFieldsetsField.find('label').hasClass('correct')) {
1578                            aysFieldsetsField.find('label').removeClass('correct');
1579                        }
1580                    }
1581                    var answers_box = question.find('.ays-quiz-answers');
1582                    if (answers_box.length > 0) {
1583                        answers_box.each(function () {
1584                           var userWrongAnswered = $(this).find('.ays-field');
1585                           var userWrongAnsweredLabel = userWrongAnswered.find('label');
1586                           var questionTypeCheckbox = userWrongAnswered.find('input[type="checkbox"]');
1587                           if (userWrongAnsweredLabel.hasClass('wrong') || questionTypeCheckbox.length > 0) {
1588                                if (userWrongAnsweredLabel.hasClass('correct') && userWrongAnsweredLabel.hasClass('answered')) {
1589                                    var eachAnswers = userWrongAnswered.find('input[name^="ays_questions"]');
1590                                    if (eachAnswers.length > 0) {
1591                                        eachAnswers.each(function () {
1592                                            var parentBox = $(this).parents('.ays-field');
1593                                            if (! $(this).prop("checked")) {
1594                                                $(this).next().removeClass('correct');
1595                                                if (parentBox.hasClass('correct_div')) {
1596                                                    parentBox.removeClass('correct_div');
1597                                                }
1598                                                if (parentBox.hasClass('checked_answer_div')) {
1599                                                    parentBox.removeClass('checked_answer_div');
1600                                                }
1601                                            }
1602                                        });
1603                                    }
1604                                }
1605                           }
1606                        });
1607                    }
1608                }
1609
1610                answerIsRightArr[ 'questionId_' + questionId ] = answerIsRight;
1611
1612                if(myOptions.answers_rw_texts && (myOptions.answers_rw_texts == 'on_results_page' || myOptions.answers_rw_texts == 'on_both')){
1613                    if(answerIsRight){
1614                        question.find('.right_answer_text').css("display", "block");
1615                    }else{
1616                        question.find('.wrong_answer_text').css("display", "block");
1617                    }
1618                }else{
1619                    question.find('.right_answer_text').css("display", "none");
1620                    question.find('.wrong_answer_text').css("display", "none");
1621                }
1622                var showExplanationOn = (myOptions.show_questions_explanation && myOptions.show_questions_explanation != "") ? myOptions.show_questions_explanation : "on_results_page";
1623                if(showExplanationOn == 'on_results_page' || showExplanationOn == 'on_both'){
1624                    if(! question.hasClass('not_influence_to_score')){
1625                        question.find('.ays_questtion_explanation').css("display", "block");
1626                    }
1627                }else{
1628                    question.find('.ays_questtion_explanation').css("display", "none");
1629                }
1630                
1631                question.find('.ays_user_explanation').css("display", "none");
1632                question.css("pointer-events", "auto");
1633                question.find('.ays-quiz-answers').css("pointer-events", "none");
1634
1635                question.find('.ays-quiz-answers .ays-field input').removeAttr("name").removeAttr("id");
1636
1637                formResults.append(question);
1638            }
1639
1640            myOptions.quiz_show_wrong_answers_first = ! myOptions.quiz_show_wrong_answers_first ? 'off' : myOptions.quiz_show_wrong_answers_first;
1641            var quiz_show_wrong_answers_first = (myOptions.quiz_show_wrong_answers_first && myOptions.quiz_show_wrong_answers_first == 'on') ? true : false;
1642
1643            myOptions.quiz_show_only_wrong_answers = ! myOptions.quiz_show_only_wrong_answers ? 'off' : myOptions.quiz_show_only_wrong_answers;
1644            var quiz_show_only_wrong_answers = (myOptions.quiz_show_only_wrong_answers && myOptions.quiz_show_only_wrong_answers == 'on') ? true : false;
1645
1646            if ( quiz_show_wrong_answers_first || quiz_show_only_wrong_answers ) {
1647                var UserAnswered_true_arr  = new Array();
1648                var UserAnswered_false_arr = new Array();
1649                for (var question_ID in answerIsRightArr) {
1650
1651                    var question_ID_arr = question_ID.split("_");
1652                    var questionDataID  = question_ID_arr[1];
1653
1654                    var UserAnswered_true_or_false = answerIsRightArr[question_ID];
1655                    var questionHTML = form.find('.ays_quiz_results div.ays_question_result[data-question-id="'+ questionDataID +'"]').clone();
1656
1657                    if ( UserAnswered_true_or_false ) {
1658                        UserAnswered_true_arr.push( questionHTML );
1659                    } else {
1660                        UserAnswered_false_arr.push( questionHTML );
1661                    }
1662                }
1663
1664                if ( quiz_show_only_wrong_answers ) {
1665                    UserAnswered_true_arr = new Array();
1666                }
1667
1668                var allQuestionHTML = UserAnswered_false_arr.concat( UserAnswered_true_arr );
1669
1670                formResults.html('');
1671
1672                if ( quiz_enable_results_toggle ) {
1673                    formResults.append(resultToggleHTML);
1674                }
1675
1676                for (var ii = 0; ii < allQuestionHTML.length; ii++) {
1677                    formResults.append( allQuestionHTML[ii] );
1678                }
1679            }
1680        }
1681
1682        if( enable_restart_button ){
1683            if(quiz_show_restart_button_on_quiz_fail && response.pass_score_flag){
1684                form.find('.ays_quiz_results_page .ays_restart_button_p').addClass('ays_display_none');
1685            }
1686        }
1687
1688        var show_quiz_results_toggle_flag = true;
1689        if ( quiz_enable_results_toggle ) {
1690            if( quiz_enable_default_hide_results_toggle ){
1691                show_quiz_results_toggle_flag = false;
1692            }
1693        }
1694
1695        if ( show_quiz_results_toggle_flag === false ) {
1696            form.find('.ays_quiz_results .ays_question_result').addClass('ays_display_none');
1697        }
1698        
1699        form.find('.ays_quiz_results').slideDown(1000);
1700        form.find('.ays_quiz_rete').fadeIn(250);
1701        form.find('.for_quiz_rate').rating({
1702            onRate: function(res){
1703                // $(this).rating('disable');
1704                $(this).parent().find('.for_quiz_rate_reason').slideDown(500);
1705                $(this).parents('.ays_quiz_rete').attr('data-rate_score', res);
1706            }
1707        });
1708
1709        if( quiz_enable_keyboard_navigation ){
1710            form.find('.for_quiz_rate > i').addClass('ays-quiz-keyboard-active');
1711            form.find('.for_quiz_rate > i').attr('tabindex', '0');
1712        }
1713
1714        var aysQuizLoader = form.find('div[data-role="loader"]');
1715        aysQuizLoader.addClass('ays-loader');
1716        aysQuizLoader.removeClass(aysQuizLoader.data('class'));
1717        aysQuizLoader.find('.ays-loader-content').css('display','none');
1718        form.find('.ays_quiz_results_page').css({'display':'block'});
1719        form.css({'display':'block'});
1720        form.find('.ays_quiz_rete .for_quiz_rate_reason .action-button').on('click', function(){
1721            var _this = $(this);
1722            var _parent = _this.parents('.for_quiz_rate_reason');
1723            
1724            if(myOptions.quiz_make_review_required == 'on' && myOptions.quiz_make_review_required == 'on'){
1725
1726                var _el = _parent.find('.quiz_rate_reason[data-required="true"]');
1727
1728                if ( ! _this.hasClass('start_button') ) {
1729                    if ( _el.length !== 0 ) {
1730                        var empty_inputs = 0;
1731
1732                        if ( _el.val().trim() === '' &&
1733                            _el.attr('type') !== 'hidden') {
1734                            _el.addClass('ays_red_border');
1735                            _el.addClass('ays_animated_x5ms');
1736                            _el.addClass('shake');
1737                            empty_inputs++;
1738                        }
1739
1740                        var errorFields = _parent.find('.ays_red_border');
1741                        if ( empty_inputs !== 0 ) {
1742                            setTimeout(function(){
1743                                errorFields.each(function(){
1744                                    $(this).removeClass('shake');
1745                                });
1746                            }, 500);
1747                            return false;
1748                        }
1749                    }
1750                }
1751            }
1752
1753            $(this).parents('.ays_quiz_rete').find('.lds-spinner-none').addClass('lds-spinner').removeClass('lds-spinner-none');
1754            if(myOptions.enable_quiz_rate == 'on' && myOptions.enable_rate_comments == 'on'){
1755                $(this).parents('.ays_quiz_rete').find('.lds-spinner2-none').addClass('lds-spinner2').removeClass('lds-spinner2-none');
1756            }
1757            var data = {};
1758            var quizId = form.parents('.ays-quiz-container').find('input[name="ays_quiz_id"]').val();
1759            var quizCusrrentPageLink = form.parents('.ays-quiz-container').find('input[name="ays_quiz_curent_page_link"]').val();
1760            var enableUserCÕ°oosingCheckbox = form.parents('.ays-quiz-container').find('.ays-quiz-user-cÕ°oosing-anonymous-assessment .ays-quiz-user-cÕ°oosing-anonymous-assessment:checked');
1761            
1762            var enableUserCÕ°oosingCheckboxFlag = false;
1763            if( enableUserCÕ°oosingCheckbox.length > 0 ){
1764            var enableUserCÕ°oosingCheckboxFlag = true;
1765            }
1766
1767            data.action = 'ays_rate_the_quiz';
1768            data.rate_reason = $(this).parents('.for_quiz_rate_reason').find('.quiz_rate_reason').val();
1769            data.rate_score = $(this).parents('.ays_quiz_rete').data('rate_score');
1770            data.rate_date = GetFullDateTime();
1771            data.quiz_id = quizId;
1772            data.last_result_id = last_result_id;
1773            data.quiz_make_responses_anonymous = quiz_make_responses_anonymous;
1774            data.quiz_current_page_link = quizCusrrentPageLink;
1775            data.quiz_enable_user_cÕ°oosing_anonymous_assessment = quiz_enable_user_cÕ°oosing_anonymous_assessment;
1776            data.quiz_enable_user_cÕ°oosing_anonymous_assessment_checkbox_flag = enableUserCÕ°oosingCheckboxFlag;
1777            $.ajax({
1778                url: quiz_maker_ajax_public.ajax_url,
1779                method: 'post',
1780                dataType: 'json',
1781                data: data,
1782                success: function(response){
1783                    if(response.status === true){
1784                        form.find('.for_quiz_rate_reason').slideUp(800);
1785                        setTimeout(function(){
1786                            form.find('.ays_quiz_rete').find('.for_quiz_rate').attr('data-rating', response.score);
1787                            form.find('.ays_quiz_rete').find('.for_quiz_rate').rating({
1788                                initialRating: response.score
1789                            });
1790                            form.find('.ays_quiz_rete').find('.for_quiz_rate').rating('disable');
1791                            form.find('.ays_quiz_rete').find('.ays-quiz-user-cÕ°oosing-anonymous-assessment').hide();
1792                            form.find('.lds-spinner').addClass('lds-spinner-none').removeClass('lds-spinner');
1793                            form.find('.for_quiz_rate_reason').html('<p>'+response.rates_count + ' votes, '+response.avg_score + ' avg </p>');
1794                            form.find('.for_quiz_rate_reason').fadeIn(250);
1795
1796                            var review_ty_message = form.find('.ays-quiz-review-thank-you-message');
1797                            if ( review_ty_message.length > 0 ) {
1798                                if ( review_ty_message.hasClass('ays_display_none') ) {
1799                                    review_ty_message.removeClass('ays_display_none');
1800                                }
1801                            }
1802
1803                            if(myOptions.enable_quiz_rate == 'on' && myOptions.enable_rate_comments == 'on'){
1804                                var data = {};
1805                                data.action = 'ays_get_rate_last_reviews';
1806                                data.quiz_id = response.quiz_id;
1807                                $.ajax({
1808                                    url: quiz_maker_ajax_public.ajax_url,
1809                                    method: 'post',
1810                                    data: data,
1811                                    success: function(response){
1812                                        var response_arr = JSON.parse(response);
1813                                        var responseHTML = (response_arr.quiz_rate_html && response_arr.quiz_rate_html != '') ? response_arr.quiz_rate_html : '';
1814
1815                                        form.find('.quiz_rate_reasons_body').html(responseHTML);
1816                                        form.find('.lds-spinner2').addClass('lds-spinner2-none').removeClass('lds-spinner2');
1817                                        form.find('.quiz_rate_reasons_container').slideDown(500);
1818                                        form.find('.ays-quiz-rate-link-box .ays-quiz-rate-link').slide
1818Up(500);
1819                                        form.find('button.ays_load_more_review').on('click', function(e){
1820                                            form.find('.quiz_rate_load_more [data-role="loader"]').addClass(form.find('.quiz_rate_load_more .ays-loader').data('class')).removeClass('ays-loader');
1821                                            var startFrom = parseInt($(e.target).attr('startfrom'));
1822                                            var zuyga = parseInt($(e.target).attr('zuyga'));
1823                                            $.ajax({
1824                                                url: quiz_maker_ajax_public.ajax_url,
1825                                                method: 'post',
1826                                                data:{
1827                                                    action: 'ays_load_more_reviews',
1828                                                    quiz_id: quizId,
1829                                                    start_from: startFrom,
1830                                                    zuyga: zuyga
1831                                                },
1832                                                success: function(resp){
1833                                                    if(zuyga == 0){
1834                                                        zuyga = 1;
1835                                                    }else{
1836                                                        zuyga = 0;
1837                                                    }
1838                                                    
1839                                                    form.find('.quiz_rate_load_more [data-role="loader"]').addClass('ays-loader').removeClass(form.find('.quiz_rate_load_more .ays-loader').data('class'));
1840                                                    form.find('.quiz_rate_reasons_container').append(resp);
1841                                                    form.find('.quiz_rate_more_review:last-of-type').slideDown(500);
1842                                                    $(e.target).attr('startfrom', startFrom + 5 );
1843                                                    $(e.target).attr('zuyga', zuyga);
1844                                                    if(form.find('.quiz_rate_reasons_container p.ays_no_more').length > 0){
1845                                                        $(e.target).remove();
1846                                                    }
1847                                                }
1848                                            });
1849                                        });
1850                                    },
1851                                    error: function(jqXHR, textStatus, errorThrown) {}
1852                                });
1853                            }
1854                        },1000);
1855                    }
1856                }
1857            });
1858        });
1859    }
1860
1861    function aysQuizSetCustomEvent() {
1862        if ( typeof window.CustomEvent === "function" ) return false; //If not IE
1863    
1864        function CustomEvent ( event, params ) {
1865            params = params || { bubbles: false, cancelable: false, detail: undefined };
1866            var evt = document.createEvent( 'CustomEvent' );
1867            evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
1868            return evt;
1869        }
1870    
1871        CustomEvent.prototype = window.Event.prototype;
1872    
1873        window.CustomEvent = CustomEvent;
1874    }
1875    
1876})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.