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.