(function ($, root, undefined) {

'use strict';

$.fn.extend({
  animateToggle: function (animationName, baseClass) {
    var animationEnd = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';
    $(this).removeClass().addClass(baseClass);
    $(this).addClass(animationName).one(animationEnd, function() {
      $(this).removeClass(animationName);
    });
  }
});

$(function () {
  // Nav Toggle
  $('.header__toggleButton').click(function() {
    var toggleIcon = $('.header__toggleIcon');

    if (toggleIcon.hasClass('header__toggleIcon--navOpen')) {
      toggleIcon.animateToggle('header__toggleIcon--closing', 'header__toggleIcon');
    } else {
      toggleIcon.addClass('header__toggleIcon--navOpen');
    }

    $('.header').toggleClass('header--navOpen');
    $('body').toggleClass('navOpen');
  });
});

})(jQuery, this);