var quiz = { currentStep: 0, pending: false, init: function() { quiz.objectSquareTotal = $('#object-square-total'); quiz.getSteps(); }, prevStep: function() { if(quiz.pending) { return 0; } quiz.pending = true; var step =$(quiz.steps)[quiz.currentStep]; quiz.currentStep--; $(step).fadeOut(200, function() { step = $(quiz.steps)[quiz.currentStep]; $(step).fadeIn(200); }); var discount = $('#step-' + (quiz.currentStep + 1)).data('discount'); $('.quiz-block').find('.percent').html(discount); quiz.pending = false; }, nextStep: function() { if (quiz.pending) { return 0; } quiz.pending = true; if (quiz.currentStep + 1 === 2) { var result = quiz.validateSquare(); if (!result) { quiz.pending = false; return 0; } } else if (!$('#step-' + (quiz.currentStep + 1)).find('input:checked').length) { /*alertErr("Выберите значение"); setTimeout(function() { swal.close(); }, 4000);*/ $('.quiz-form').find('label').addClass('error'); quiz.pending = false; return 0; } $('.quiz-form').find('label').removeClass('error'); var step = $(quiz.steps)[quiz.currentStep]; quiz.currentStep++; $(step).fadeOut(200, function() { step = $(quiz.steps)[quiz.currentStep]; $(step).fadeIn(200); }); var discount = $('#step-' + (quiz.currentStep + 1)).data('discount'); $('.quiz-block').find('.percent').html(discount); quiz.pending = false; }, endQuiz: function() { if(quiz.pending) { return 0; } quiz.pending = true; $.ajax({ type: 'post', url: '/submit-quiz', data: $('.quiz-form').serialize(), dataType: 'json', success: function(res) { if(res.result) { quiz.pending = false; location.href = '/spasibo'; } else { //alertErr(res.display); $('.quiz-form').find('.phone').addClass('error'); $('.quiz-form').find('.phone').focus(); quiz.pending = false; } }, error: function() { quiz.pending = false; } }); }, getSteps: function() { quiz.steps = $('.quiz-step'); }, validateSquare: function() { var result = 1; var value = $('#object-square-total').val(); if (!$.isNumeric(value)) { alertErr('Введите число'); result = 0; return 0; } if (value < 1) { alertErr('Значение не может быть меньше 1'); result = 0; return 0; } if (value > 150) { alertErr('Значение не может больше 150'); result = 0; return 0; } if (!result) { return result; } return result; }, validateNumericInput: function(event) { return event.charCode >= 48 && event.charCode <= 57; }, changeSquare: function(el) { $('#object-square').slider('option', 'value', el.value); } }; $(function() { quiz.init(); });