window.waitEvent('scripts_document', function() {

  window.initAviseme = function (){

      $(".js-btn-aviseme").on('click', function(){
          var
              data = {},
              $this = $(this);

          data['product_id']   = $this.data('product-id');
          data['product_name'] = $this.data('product-name');

          $.ajax({
              url: 'index.php?route=product/avise_me&display=true',
              dataType: 'html',
              type: 'get',
              data: data,
              beforeSend: function() {
                  $this.addClass("btn-loading");
              },
              complete: function() {
                  $this.removeClass("btn-loading");
              },
              success: function(html) {
                  $('.js-content-aviseme').append(html);
                  $('.overlay, .js-aviseme-cancel').on('click', function(event) {
                      event.preventDefault();
                      $('.js-content-aviseme > *').remove();
                  });
              }
          });
      });

      $('body').on('click','.js-btn-aviseme-send', function(){
          $('.js-error').remove();
          $('.js-field-entry').removeClass('border-error');

          var data = {};
          data['product_id'] = $('.js-btn-aviseme-send').data('product-id');
          data['name']       = $("input[type=text][name=name]").val();
          data['email']      = $("input[type=text][name=email]").val();
          data['captcha']    = (typeof $("input[type=text][name=captcha]").val() == "undefined") ? false : $("input[type=text][name=captcha]").val();
          data['g-recaptcha-response'] = ($('.g-recaptcha').length > 0) ? grecaptcha.getResponse() : false ;

          $.ajax({
              url: 'index.php?route=product/avise_me/send',
              dataType: 'json',
              type: 'post',
              data: data,
              beforeSend: function() {
                  $('.js-btn-aviseme-send').addClass("btn-loading");
              },
              complete: function() {
                  $('.js-btn-aviseme-send').removeClass("btn-loading");
              },
              success: function(json) {
                  if(json['error']){
                      $.each(json['error'], function(index, value){
                          $("input[name="+index+"]").addClass('border-error').after('<span class="text-error text-small visible-block top-margin-small js-error">'+value+'</span>');
                      });
                      if(json['error']['google_recaptcha']){
                          $('#g-recaptcha').after('<span class="text-error text-small visible-block top-margin-small js-error">' + json['error']['google_recaptcha'] + '</span>');
                      }
                  }
                  if(json['success']){
                      $('.js-aviseme-container').height($('.js-aviseme-container').height());
                      $('.js-aviseme-form').animate({
                          'margin-top': '-100%',
                      }, 300, function(){
                          $('.js-aviseme-form').remove();
                          $('.js-aviseme-container').append('<div class="row middle-xs full-height text-center"><div class="col-xs-12"><div class="content-box"><i class="fas fa-thumbs-up text-success bigger-text-large visible-block"></i><span class="text-x-large text-gray visible-block vertical-padding-large">' + json['success'] + '</span><button class="btn-default btn-large js-aviseme-continue"><span>Concluir</span></button></div></div></div>');
                          $('.js-aviseme-continue, .js-aviseme-cancel').on('click', function(event) {
                              event.preventDefault();
                              $('.js-content-aviseme > *').remove();
                          });
                      });
                  }
              }
          });
      });

  }


  initAviseme();

});
